分别解释locate,find,which,whereis,grep 五大linux搜索命令
locate
解释:由man手册可以看出,locate查找就是根据文件名进行查找,只是依赖于updatedb命令。该命令更新linux中的查找数据库/var/lib/locatedb
这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用
locate之前,先使用updatedb命令,手动更新数据库。
find
解释:find命令在文件系统中根据给定的约束条件进行查找,返回搜索结果
与时间有关的选项:-atime。 -ctime 。-mtime 。
-mtime -n +n 按文件更改时间来查找文件,-n指n天以内,+n指n 天以前
-atime -n +n 按文件访问时间来查找文件,-n指n天以内,+n指n 天以前
-ctime -n +n 按文件创建时间来查找文件,-n指n天以内,+n指n 天以前
例:
-newer file :file 为一个存在的档案,列出比 file 还要新的档案档名
-amin -n 查找系统中最后N分钟访问的文件
-atime -n 查找系统中最后n*24小时访问的文件
-cmin -n 查找系统中最后N分钟被改变文件状态的文件
-ctime -n 查找系统中最后n*24小时被改变文件状态的文件
-mmin -n 查找系统中最后N分钟被改变文件数据的文件
-mtime -n 查找系查找系统中最后n*24小时被改变文件数据的文件
总结:min是分钟,time是小时,a访问,c改变状态,m改变数据。
-name 按照文件名查找文件
-perm 按照文件权限来查找文件
-user 按照文件属主来查找文件
-group 按照文件所属的组来查找文件。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/ etc/groups中不存在
-nouser 查找无有效属主的文件,即该文件的属主在/etc/ passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文 件file2旧的文件。
-type 查找某一类型的文件