如何在 Linux 中查找占用磁盘 space 的文件
How to find files taking up disk space in Linux
我正在尝试在我的 25GB Linux 服务器上找到最大的文件,该服务器一直 运行 超出 space,现在已满 99.5%。我假设它是日志文件,因为我没有对网站做任何事情,而且数据库大小很小而且是静态的。
日志文件有 100MB 左右,没什么大不了的。
我已经尝试使用此处找到的命令 (https://www.cyberciti.biz/faq/linux-find-largest-file-in-directory-recursively-using-find-du/) 递归查找最大的文件,但它没有给我任何有用的信息:
root@127:~# du -a / | sort -n -r | head -n 20
du: cannot access '/proc/12377/task/12377/fd/4': No such file or directory
du: cannot access '/proc/12377/task/12377/fdinfo/4': No such file or directory
du: cannot access '/proc/12377/fd/3': No such file or directory
du: cannot access '/proc/12377/fdinfo/3': No such file or directory
sort: write failed: /tmp/sortnI7YzR: No space left on device
我是 Linux 新手,非常感谢任何帮助。
尝试 du -a *| sort -n -r | head -n 20
如果我们使用您自己的文件排序方法。
在读取内存输出方面,还有其他方法可以使其更具可读性。你也可以 du -sh *| sort -hr | head -n20
。
补充一下,如果您在 space 中有 运行,并且您想查看每个文件使用的 space 的数量,df
命令真的很有用。查看它的手册页并尝试 df -h
查看可用磁盘 space 以及哪些文件用得最多。
您不需要在 /proc 和 /dev 中搜索,因为它们是 'virtual' 文件,因此在那里查找没有任何用处(只是浪费大量时间)
由于您似乎在寻找标准 文件,我建议使用 find
find / \( -path /proc -prune -a -path /dev -prune \) -o -type f -size +100M -exec ls -s1 {} \; 2>/dev/null| sort -n -r | head -n 20
在这里你可能会看到我使用选项 -size +100M
告诉 find 查找大于 100M 的文件,假设你正在寻找 big 文件。您可以删除此选项,但它会更长。
我正在尝试在我的 25GB Linux 服务器上找到最大的文件,该服务器一直 运行 超出 space,现在已满 99.5%。我假设它是日志文件,因为我没有对网站做任何事情,而且数据库大小很小而且是静态的。
日志文件有 100MB 左右,没什么大不了的。
我已经尝试使用此处找到的命令 (https://www.cyberciti.biz/faq/linux-find-largest-file-in-directory-recursively-using-find-du/) 递归查找最大的文件,但它没有给我任何有用的信息:
root@127:~# du -a / | sort -n -r | head -n 20
du: cannot access '/proc/12377/task/12377/fd/4': No such file or directory
du: cannot access '/proc/12377/task/12377/fdinfo/4': No such file or directory
du: cannot access '/proc/12377/fd/3': No such file or directory
du: cannot access '/proc/12377/fdinfo/3': No such file or directory
sort: write failed: /tmp/sortnI7YzR: No space left on device
我是 Linux 新手,非常感谢任何帮助。
尝试 du -a *| sort -n -r | head -n 20
如果我们使用您自己的文件排序方法。
在读取内存输出方面,还有其他方法可以使其更具可读性。你也可以 du -sh *| sort -hr | head -n20
。
补充一下,如果您在 space 中有 运行,并且您想查看每个文件使用的 space 的数量,df
命令真的很有用。查看它的手册页并尝试 df -h
查看可用磁盘 space 以及哪些文件用得最多。
您不需要在 /proc 和 /dev 中搜索,因为它们是 'virtual' 文件,因此在那里查找没有任何用处(只是浪费大量时间)
由于您似乎在寻找标准 文件,我建议使用 find
find / \( -path /proc -prune -a -path /dev -prune \) -o -type f -size +100M -exec ls -s1 {} \; 2>/dev/null| sort -n -r | head -n 20
在这里你可能会看到我使用选项 -size +100M
告诉 find 查找大于 100M 的文件,假设你正在寻找 big 文件。您可以删除此选项,但它会更长。