![磁盘空间利用文件](https://linux22.com/image/1257668/%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E5%88%A9%E7%94%A8%E6%96%87%E4%BB%B6.png)
Linux 命令查找磁盘空间占用最大的文件。我需要按大小顺序列出所有文件
答案1
du -k | sort -rn | head -n 50
在哪里:
这
du
实用程序显示每个文件参数和每个目录参数中的文件层次结构中每个目录的文件系统块使用情况。如果未指定文件,则显示当前目录中的层次结构的块使用情况。-k
将以 1024 字节 (1 KB) 块为单位显示块计数。sort
是不言自明的。-r
反转比较结果,将最高值放在列表顶部。-n
根据字符串数值进行比较。head
只显示顶部n
行。在本例中为 50。
答案2
始终将类似这样的内容藏在某个别名中:
find / -type f | xargs ls -s | sort -rn | awk '{size=$1/1024; printf("%dMb %s\n", size,$2);}' | head
答案3
干得好。
对于 / 设备(并且仅适用于该设备),这将打印 500 个最大的文件及其大小(以兆字节为单位)。省略“head -n 500”将打印所有文件及其大小,按最大文件优先排序。
find / -xdev -type f -printf "%s %h/%f\n" | sort -rn -k1 | head -n 500 | awk '{ print $1/1048576 "MB" " " $2}'