find是一个强大的命令,它能够迅速在指定范围内查找文件。find语法规则如下:
find [option] [path...] [expression]
例如:
find需要一个路径作为查找范围,这里是指定 /user/bin。find会深入到这个路径的每一个子目录中去寻找,如果指定“/”,那就回查找整个文件系统。
-name :指定文件名,这里是指定zip文件
也可以用通配符来指定文件名
find ~/ -name *.c -print #列出用户主目录下所有c程序文件
-print:将结果输出到标准输出
find命令还可以指定文件的类型 ,可以使用-type选项来定位特殊文件类型
-type选项可供使用的参数
还可以通过指定时间来指导find命令查找文件
-atime n : 用来查找最后一次使用在n天前的文件
-mtime n : 用来查找最后一次修改在n天前的文件
但在使用过程中,很少能确定n的大小,就可以使用“+”或者“-”。 +n表示大于n,-n表示小于n
例如在/user/bin 目录下查找近10天没有用到过的命令:
find /user/bin -type f -atime +10 -print
locate命令应用场景:尽管find的功能已经特别强大,但对于大批量搜索,特别是当用户完全不记得自己的文件放在哪里的时候,这时候使用locate是一个不错的选择。
locate *.doc #查找所有doc文件
locate没有进入子目录搜索,通过检索文件名数据库来确定文件的位置。locate命令自动建立整个文件名数据库。