你的位置:首页 > 操作系统

[操作系统]linux五大搜索命令学习


五大搜索命令学习

分别解释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  查找某?一类型的?文件

示例:

1.查找当前目录下文件名为code的目录 
find . -name code -print
./code
2.在目录中查找更改时间在5日以前的文件并删除它们: 
find -atime +5 -exec rm {} \; 
3.查找当前所有目录并排序
find / -type d |sort
4.查找所有目录名称中按照”.log”结尾的目录
find / -type d -name "*.log"
5.查找系统中最近5天访问的文件
find -atime -5
6.查找系统中最近5分钟访问的目录
find -amin -5
7. 查找当前目录下所有权限为755的文件,并设置成777 
find . -perm 755 -exec chmod 777 {} \; 

grep

解释:grep 从文件中查找包含匹配字符的串,可用正则

grep [选项]  [文件]

eg  : grep "test*"  ./test.txt

whersis

解释:查找可执行程序,二进制文件等的路径

eg whereis ls 

which

解释:查找一个可执行命令的路径

eg  : which  ls