Linux之find命令用于统计信息

1. 计算当前目录中的文件数:

[root@localhost tmp]# find . -type f | wc -l

2. 查找/etc目录中最新的和最旧的文件,以文件时间排序并按年-月-日的格式显示:

#查找最旧的文件
[root@localhost tmp]# find /etc/ -type f -printf "%T+ %p\n" | sort -n | head -n
--+::47.0000000000 /etc/lsb-release.d/graphics-4.0-ia32 #查找最新的文件
[root@localhost tmp]# find . -type f -printf "%T+ \t%p\n" | sort -n | tail -n
--+::14.4790036700 ./student.txt

注:printf命令输出中,%T表示文件的日期和时间,%p表示带路径的文件名

3.  查看家目录中不以"."开头的最新的文件:

[root@localhost tmp]# find /home/ -type f -printf "%T+ \t%p\n" | grep -v "ws/\."| sort -n | tail -n
--+::22.4699979720 /home/file

4. 查找目录中的最大文件,%s参数表示文件大小,%f参数表示包含文件名

[root@localhost tmp]# find . -type f -printf "%s \t %f\n" | sort -n | uniq | tail -n
.crontab.vf6XP3.swp

5. 统计文件的所有者,使用%u参数,并且统计属于同一个所有者的文件数目(可通过uniq -c实现):

[root@localhost tmp]# find . -type f -printf "%u\n" | grep -v "\./\." | sort | uniq -c
root
ws

6. 查看文件的访问日期,使用%a参数:

[root@localhost tmp]# find . -type f -printf "%a+%p\n" | sort
Fri Jul ::36.0720998929 +./sh/variable.sh
Mon Aug ::49.0879000520 +./.viminfo
Mon Jul ::37.0189000083 +./sh/if1.sh
Mon Jul ::30.0823998314 +./sh/readtest.sh
Mon Jul ::52.0296995712 +./sh/readtest,sh
Mon Jul ::46.0718997111 +./sh/if2.sh

7. 运行命令前,临时清空环境变量,可以使用env -i 命令,表示修改环境变量(忽略环境变量),开始一个shell,新shell中没有多余的环境变量

[root@localhost sh]# env | wc -l

[root@localhost sh]# env -i env | wc -l
上一篇:解决Ckeditor编辑器不显示html实体,自动过滤html的问题


下一篇:VBS基础篇 - class