有些文件夹的文件数量过多,那么就不好统计这个目录中到底有多少文件和文件夹,就需要用到一些小的技巧。
1、find /path -type f|wc –l
说明:type的参数:f为文件,d为目录
例:
[root@znuelhtbak udump]# find /oracle/admin/znueldb/ -type f|wc -l53367
[root@znuelhtbak udump]# find /oracle/admin/znueldb/ -type d|wc –l
6
2、ls -a |wc –w
说明:可以在参数前面加上路径值。这样得到的结果需要减2,因为ls -a会把 . 和 ..都算作一个结果。
例:
[root@znuelhtbak znueldb]# ls /oracle/admin/znueldb/udump/ -a |wc –w
32252
[root@znuelhtbak znueldb]#
3、ls -al |grep ^d |wc –l
说明:grep ^d的意思是,ls -al返回结果中的每行的头一个字母是d,也就是目录。如果需要查文件数量,需要grep ^-rw
ls –al的返回行例子,第一行为目录,第二行为文件
drwxrwxr-x 2 oracle dba 4096 Dec 6 18:13 .
-rw-rw-r-- 1 oracle dba 2406 Dec 6 18:12 init.ora.1162006181346
例:
[root@znuelhtbak pfile]# cd ../udump/
[root@znuelhtbak udump]# ls -al |grep ^d |wc –l
2
[root@znuelhtbak udump]# ls -al |grep ^-rw |wc –l
32250
4、du -hs `ls -al |grep ^d|awk '{print $9}'`
解释:统计文件夹下面的目录大小例:
[root@znuelhtbak znueldb]# du /oracle/admin/znueldb/ -hs `ls -al |grep ^d|awk '{print $9}'`
6.4G /oracle/admin/znueldb/
6.4G .
6.4G ..
1.9G bdump
4.0K cdump
32K create
8.0K pfile
4.6G udump
5、find /path -type d -exec du -hs {} ;
解释:和第4个命令作用差不多,只是写法不同
例:
[root@znuelhtbak znueldb]# find /oracle/admin/znueldb -type d -exec du -h {} ;
8.0K /oracle/admin/znueldb/pfile
32K /oracle/admin/znueldb/create
4.6G /oracle/admin/znueldb/udump
4.0K /oracle/admin/znueldb/cdump
1.9G /oracle/admin/znueldb/bdump
6.4G /oracle/admin/znueldb
8.0K /oracle/admin/znueldb/pfile
32K /oracle/admin/znueldb/create
4.6G /oracle/admin/znueldb/udump
4.0K /oracle/admin/znueldb/cdump
1.9G /oracle/admin/znueldb/bdump
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/73481/viewspace-995854/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/73481/viewspace-995854/