Linux教程

009 Linux 文件大小统计与排序( du于df和sort)

本文主要是介绍009 Linux 文件大小统计与排序( du于df和sort),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 01 du 与 df 作用与区别?
    • du(disk usage)
    • df(disk free)
  • 02 du 常用命令示例
  • 03 sort 常用参数
  • 04 常用组合 du + sort + head
  • 05 如何删除文件,如大的日志文件?
    • 方案一:
    • 方案二:
  • 06 小结

file

01 du 与 df 作用与区别?

Linux 最有用最常用的统计文件大小命令是什么?无疑就是 du 和 df 了。

du(disk usage)

du 能看到的文件只是一些当前存在的,没有被删除的。

df(disk free)

df 主要用于 Linux 系统上的文件系统磁盘使用情况统计。
当我们删除一个文件的时候,这个文件不是马上就在文件系统当中消失,而是暂时消失,当所有程序都不用时,才会根据 OS 的规则释放掉已经删除的文件,df 记录的是通过文件系统获取到的文件的大小,它比 du 强的地方就是能够看到已经删除的文件。
df 和 du 不一致情况就是是否可看到被删除的文件,这也是 df 统计可能比 du 统计大的原因。

02 du 常用命令示例

  • du -h # 显示当前目录下所有文件及目录(包含子目录下内容)大小,-h 会换算成 K、M、G 等人类易读结果;

  • du -b # 或-bytes 显示目录或文件大小时,以byte为单位;

  • du -k # 或--kilobytes,以1024 bytes为单位;

  • du -m #或--megabytes 以1MB为单位

  • du -a #  显示当前目录下所有文件所占空间(含隐藏文件,包含目录,文件,层级目录下文件);
    file

  • du -s # 显示当前目录总大小(不会列出层级子目录);
    file

  • du -s * # 显示当前目录下每个文件夹和文件的大小(最常用)
    file

  • du -s [文件夹1] [或文件1] #  显示指定目录或文件大小;
    file

  • du --max-depth=1 [目录] # 只显示指定目录下第一层目录(不单个含文件)的大小;

  • du --max-depth=2 [目录] # 只显示指定目录第一和二层目录(不含单个文件)的大小;
    file

03 sort 常用参数

(sort 作用是将文件内容排序,以行为单位)

  • -n  # 依照数值的大小排序;
  • -r  # 以相反的顺序来排序;
  • -o <输出文件>  # 将排序后的结果存入制定的文件;
  • -b  # 忽略每行前面开始出的空格字符;
  • -c  # 检查文件是否已经按照顺序排序;
  • -f  # 排序时,将小写字母视为大写字母;
  • -m  # 将几个排序号的文件进行合并;

这篇关于009 Linux 文件大小统计与排序( du于df和sort)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!