linux统计多个文件大小总和

linux统计多个文件大小总和

首先:查看当前文件夹大小的命令是:

  1. [root@host1 test]# du sh
  2. 39M .

  查看当前文件夹下所有文件的大小:

  1. [root@host1 test]# du sh *
  2. 108K config2.6.32573.el6.x86_64
  3. 264K efi
  4. 284K grub
  5. 27M initramfs2.6.32573.el6.x86_64.img
  6. 4.4M initrd2.6.32573.el6.x86_64kdump.img
  7. 4.0K lost+found
  8. 204K symvers2.6.32573.el6.x86_64.gz
  9. 2.5M System.map2.6.32573.el6.x86_64
  10. 8.0K test_123
  11. 8.0K test_abc
  12. 12K testlog
  13. 8.0K test_xyz
  14. 4.1M vmlinuz2.6.32573.el6.x86_64

  查看当前文件夹下所有文件的大小并按照大小来排序:

  1. [root@host1 test]# du sk * | sort n
  2. 4 lost+found
  3. 8 test_123
  4. 8 test_abc
  5. 8 test_xyz
  6. 12 testlog
  7. 108 config2.6.32573.el6.x86_64
  8. 204 symvers2.6.32573.el6.x86_64.gz
  9. 264 efi
  10. 284 grub
  11. 2528 System.map2.6.32573.el6.x86_64
  12. 4124 vmlinuz2.6.32573.el6.x86_64
  13. 4492 initrd2.6.32573.el6.x86_64kdump.img
  14. 27308 initramfs2.6.32573.el6.x86_64.img

  由于du -sh命令显示出来的单位不统一,所以我们用du -sk命令使单位统一以进行排序

  查找以".img"结尾的所有文件的大小的总和:

  1. [root@host1 test]# find . name "*.img" | xargs du cm
  2. 5 ./initrd2.6.32573.el6.x86_64kdump.img
  3. 27 ./initramfs2.6.32573.el6.x86_64.img
  4. 32 总用量

  查找60天以前所修改的文件的大小总和:

  1. [root@host1 test]# find . mtime +60 | xargs du cm
  2. 1 ./grub/splash.xpm.gz
  3. 1 ./config2.6.32573.el6.x86_64
  4. 1 ./symvers2.6.32573.el6.x86_64.gz
  5. 1 ./efi/EFI/redhat/grub.efi
  6. 5 ./vmlinuz2.6.32573.el6.x86_64
  7. 3 ./System.map2.6.32573.el6.x86_64
  8. 1 ./.vmlinuz2.6.32573.el6.x86_64.hmac
  9. 8 总用量

  如果我们把所有需要统计的文件的名字列入到一个表格里,我们还可以这么用:

  1. [root@host1 test]# cat list.txt | xargs du cm
  2. 27 initramfs2.6.32573.el6.x86_64.img
  3. 5 initrd2.6.32573.el6.x86_64kdump.img
  4. 1 config2.6.32573.el6.x86_64
  5. 32 总用量
  6. 当然,这条命令等同于:
  7. [root@host1 test]# du cm `cat list.txt `
  8. 27 initramfs2.6.32573.el6.x86_64.img
  9. 5 initrd2.6.32573.el6.x86_64kdump.img
  10. 1 config2.6.32573.el6.x86_64
  11. 32 总用量

  总的来说需要运用xargs命令,这个命令主要是把接收到的数据重新格式化,再将其作为参数提供给其他命令,下一篇主要讲下xargs命令的运用。

发表回复

*您的电子邮件地址不会被公开。必填项已标记为 。

*
*