Linux 文件系统原理:

  • 文件系统一开始就会将磁盘按照固定数据块(block)大小进行分隔切块,一般每一个固定块的大小为 4096bytes,即4kb
  • 一个数据块中最多存放一个文件的内容,当没存满时,剩下的空间不得被其他文件使用
  • 当一个文件的内容较大时,则可以存储到多个数据块中

du -sh [path]:计算当前文件夹的总磁盘占用量

  • -s:计算总和
  • -h:以合适的单位K、M、G进行展示
  • -c:计算输出的每个对象来计算其磁盘占用量总和
  • —max-depth:指定计算深度
    • —max-depth=0:相当于-s
    • —max-depth=1:显示了第一级文件夹的大小
  • -a:输出文件夹和文件在内的完整统计信息
  • —exclude:排除某些文件 ```bash [root@iZwz9de6ypp03mqjv3cshhZ]~# du -ch . 8.0K ./.pip 4.0K ./.pki/nssdb …..省略….. 4.0K ./.ssh 432K . 432K total

[root@iZwz9de6ypp03mqjv3cshhZ]~# du —max-depth=1 -h . 8.0K ./.pip 8.0K ./.pki 340K ./.cache 4.0K ./.ssh 432K .

[root@iZwz9de6ypp03mqjv3cshhZ]~# du -ah —exclude=”/.“ . #统计当前文件夹下非隐藏文件的总大小 4.0K ./1.txt 4.0K ./file.txt 0 ./read.link.sh 4.0K ./2.txt 4.0K ./read.sh 20K .

统计当前文件夹和其子文件夹下的大排序

[root@iZwz9de6ypp03mqjv3cshhZ]~# du -ah —exclude=”/.“ . |sort -hr 20K . 4.0K ./read.sh 4.0K ./file.txt 4.0K ./2.txt 4.0K ./1.txt 0 ./read.link.sh ```

du 和 ls 计算的区别:

  • du:展示磁盘空间占用量
  • ls:展示文件内容的大小

sort:

  • -h:先比较单位,再比较数值
  • -n:只比较数值