linux下对符合条件的文件大小做汇总【转】

使用du命令查看一个目录下符合匹配条件的文件占用的磁盘空间

  1. du-c -h*log

e.g:

有一个目录test有存放有一年的xml文件

是以test_user_company_yyyyMMDD.xml方式命名进行存放。。。

要统计2012年1月产生的文件大小,命令如下:

定位到test目录:

du -c -h *_201201*.csv

或者

du -ch *_201201*.csv

1M      test_user_company_20120101.xml

1M      test_user_company_20120102.xml

1M      test_user_company_20120103.xml

1M      test_user_company_20120104.xml

1M      test_user_company_20120105.xml

....

....

1M      test_user_company_20120131.xml

31M    total

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

test

  |__subdir1

  |__subdir2

  |__test_user_company_20120101.xml

  |....

  |__test_user_company_20120131.xml

定位到当前目录,命令如下:

du -sh *

0M    subdir1

0Msubdir2

1Mtest_user_company_20120101.xml

...

...

1Mtest_user_company_20120131.xml

31M    total

要显示如上汇总统计total的值,命令如下:

du -sch *

或使用awk做汇总

  1. du*log|awknoBEGIN{count=0;size=0;}\
  2. {count = count + 1; size = size +$1/1024;}\
  3. END{print “Toting count ” count;\
  4. print “Toting size “size/1024 ” GB” ;\
  5. print “Avg size “size / count “MB”}no

或者查找大于某个大小

  1. find.-size+100k -execls-l{}\;|awknoBEGIN{count=0;size=0;}\
  2. {count = count + 1; size = size +$5/1024/1024;}\
  3. END{print “Toting count ” count;\
  4. print “Toting Size “size/1024 ” GB” ;\
  5. print “Avg Size “size / count “MB”;\
  6. print”—”}no

find命令的文件大小选项含义

-size n[bckw] 查找文件长度为n块的文件,带有c时表示文件长度以字节计,k为kb

查找在什么时间之后的文件

  1. #对之前一天的文件做查找
  2. find.-mtime-1-execls-l{}\;|awknoBEGIN{count=0;size=0;}\
  3. {count = count + 1; size = size +$5/1024/1024;}\
  4. END{print “Toting count ” count;\
  5. print “Toting Size “size/1024 ” GB” ;\
  6. print “Avg Size “size / count “MB”;\
  7. print”—”}no

find命令的时间相关条件含义

-newer file1 !file2查找更改时间比文件file1新但比文件file2旧的文件。-mtime -n +n按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内, +n表示文件更改时间距现在n天以前。vps服务器是什么
。还有-atime和-ctime选项 -atime 为接见文件的时间,学会linux vps 配置
。 -ctime 为改变文件形态的时间, -mtime 为修改文件内容的时间同时对应下面三个选项还有将time变为min的选项,他们的时间单位为分钟。   -in the morningin n查找系统中末了N分钟接见的文件-atime n查找系统中末了n*24小时接见的文件-cmin n查找系统中末了N分钟被改变文件形态的文件-ctime n查找系统中末了n*24小时被改变文件形态的文件  -mmin n查找系统中末了N分钟被改变文件数据的文件-mtime n查找系统中末了n*24小时被改变文件数据的文件

不妨始末 find 命令配合 awk 命令对符合条件的文件做汇总统计。http://www.weizhanqun.com/archives/180.html

统计某文件夹下文件的个数

ls -l |grep “^-”|wc -l

统计某文件夹下目录的个数

ls -l |grep “^d”|wc -l

统计文件夹下文件的个数,包括子文件夹里的

ls -lR|grep “^-”|wc -l

如统计/home/han目录(包罗子目录)下的所有js文件则:

ls -lR /home/han|grep js|wc -l 或 ls -l “/home/han”|grep “js”|wc-l

统计文件夹下目录的个数,包括子文件夹里的

ls -lR|grep “^d”|wc -l

  

ls -lR

长列表输入该目录下文件信息(R代表子目录注意这里的文件,http://www.weizhanqun.com。不同于一般的文件,可能是目录、链接、设备文件等)

grep “^-”

这里将长列表输入信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

wc -l

统计输入信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数.

相关推荐