find 命令:
目的:查找符合指定条件的文件
格式:find 目录名 选项 查找条件
举例1:
说明:
/Users/lanjingui/Desktop/
指明了find命令所查找的目录路径-name
表明以文件名来查找文件"test.c"
指明了要查找名为test.c的文件
举例2:
说明:
a)查找指定目录下面所有以.c结尾的文件,其中*是通配符。
举例3:
说明:
a)查找指定目录下是否存在test这个目录,test是目录名。
注意:
1)如果没有指定查找目录,则为当前目录。
find . -name "*.c"
其中.
代表当前路径
find "test.c"
没加路径,默认是当前路径下查找
2)find还有一些高级的用法,如查找最近几天(几个小时)之内(之前)有变动的文件
find /home -mtime -2 #查找/home目录下两天内有变动的文件find /home -mmin -2 #查找/home目录下最近2分钟里有变动的文件find /home/ -size +1M #查找/home下大于1M的文件find . -size +1M -and -mmin -2 #支持复合条件 -andfind . -size +1M -or -mmin -2 #支持复合条件 -or/usr/bin/find /home -mtime -2 -exec rm -rf {} \; #找到匹配文件之后将它们删除/usr/bin/find /home -mtime -2 -ok rm -rf {} \; #-ok选项跟-exec的作用相同,只不过在操作前要询问用户
-mtime:按文件更改时间来查找文件,-n指n天以内,+n指n天以前。
-exec:find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
更多高级的用法, 大家可以通过man find命令查看find的帮助手册。