Linux上查最⼤⽂件的3种⽅法Linux上查最⼤⽂件的3种⽅法
第⼀种:ls
最简单的⽅法就是借助ls命令,因为ls命令本⾝输出是带⽂件⼤⼩信息的。
⽐如,我要列出/data/log/⽬录中的20个最⼤⽂件,可以:
ls -lSh /data/log/ | head -20
第⼆种:find
find本⾝就是查命令,可以递归查⼀个⽬录的⼦⽬录,所以⽤它是⾃然的。
⽐如,查/etc⽬录下最⼤的5个⽂件:
find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slhfind查命令的使用
查当前⽤户名下最⼤的10个⽂件
find $HOME -type f -printf “%s\t%p\n” | sort -nr | head -10 | xargs ls -Slh
查询⼤于200M的⽂件
find / -type f -size +200M | xargs ls -Slh
查询100M和200M之间的⽂件
find / -type f -size +100M -size +200M | xargs ls -Slh
查询root⽬录下最⼤的5个⽂件
find /root -type f -exec ls -s {} ; | sort -n | tail -n5 | xargs ls -Slh
查询/⽬录下10天以前最⼤的5个⽂件
find / -type f -mtime +10 -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh
第三种:du
du命令可以查看磁盘空间的使⽤情况,⾃然也可以⽤来查看磁盘上占⽤空间较多的⽂件和⽂件夹。
查/root下5个最⼤的⽂件
du -ah /root | sort -nr | head -n5
查当前⽬录下最⼤的5个⽬录
du -ah | sort -nr | head -n5
查根⽬录下最⼤⽬录/⽂件(包括⼦⽂件夹)
du -Sh / | sort -rh | head -n10
只看⼤⼩在 GB 范围内的所有⽂件
du -ah / | grep “[0-9]G\b”
涉及到的命令参数:
find:
-exec<;执⾏指令>:假设find指令的回传值为True,就执⾏该指令;
-mtime n 查系统中最后n天被改变⽂件数据的⽂件 +⼤于 -⼩于
-
type 查某⼀类型的⽂件
b -块设备⽂件;
c -字符设备⽂件;
d -⽬录;
p -管道⽂件;
f -普通⽂件;
l -符号链接⽂件;
s -socket⽂件;
-printf<;输出格式>:假设find指令的回传值为Ture,就将⽂件或⽬录名称列出到标准输出。格式可以⾃⾏指定;sort:
-n 依照数值的⼤⼩排序;
-r 以相反的顺序来排序;
xargs:传递参数
ls -Slh
-Sl 从⼤到⼩显⽰详情
-Slr 从⼩到⼤显⽰详情
-h humans 以⼈类易读的⽅式显⽰(正常情况下显⽰为bit,加上-h后显⽰的为KB MB GB TB等)du:
-a 显⽰所有⽬录或⽂件的⼤⼩
-h 以K,M,G为单位,提⾼信息可读性
-S 显⽰⽬录的⼤⼩,但不含⼦⽬录⼤⼩

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。