Linux学习笔记--搜索命令

时间:2021-06-27 17:02:40

#whereis  [选项]  [命令名]

功能:搜索命令所在路径及其帮助文档位置

选项:-b  只获取命令位置;  -m  只获取帮助文档位置

Linux学习笔记--搜索命令


#which  [命令名]

功能:搜索命令所在路径及别名

Linux学习笔记--搜索命令


#locate  [文件名]

功能:在后台数据库“/var/lib/mlocate”中,按照文件名搜索

注意:1、locate为包含匹配;

          2、对应的后台数据库不是实时更新的,所以最近生成的文件无法搜索到;

          3、#updatedb命令可以实时更新数据库

Linux学习笔记--搜索命令


whereis  which  locate  这三个命令,遵循配置文件 /etc/updatedb.conf 指定的搜索规则:

Linux学习笔记--搜索命令


#find  [搜索范围]  [搜索条件]

功能:在指定范围内,搜索符合指定条件的文件

选项: -name  按照文件名搜索(完全匹配);

           -iname  按照文件名搜索(完全匹配),不区分大小写;

           -user  按照文件所有者搜索;

           -nouser  搜索没有所有者的文件

           #find  /var/log/  -mtime  +10    搜索log目录下10天前最后修改内容的文件

           #find  /var/log/  -ctime  -10    搜索log目录下10天内最后改变属性的文件

           #find  /var/log/  -atime  10    搜索log目录下10天当天最后发生访问的文件

           #find  /var/log/  -size  25k    搜索log目录下文件大小等于25k的文件

           #find  /var/log/  -size  +25M    搜索log目录下文件大小大于25M的文件

           #find  /var/log/  -size  -25k    搜索log目录下文件大小小于25k的文件    ----k小写,M大写,默认单位为数据块(512字节)

           #find  .  -inum  262422    搜索当前目录下 i节点 是 262422 的文件

           #find  /var/log/  \(  -size  +5k  -a  -size  -100k  \)    

                                                 搜索log目录下文件大小大于5k小于100k的文件

           #find  /var/log/  \(  -name  "*.log"  -a  \(  -mtime  -1  -o  -mtime  +5  \)  \)    ----   -a  "and"  ;   -o  "or"

                                                 搜索log目录下文件名以".log"结尾,且最后修改时间不在1至5天范围内的文件

           #find  ..  -name  "file*"  -exec  ls  -ilh  {}  \;   

                                                 搜索上一级目录下文件名以"file"开头的文件,并显示文件的详细信息

           #find  /var/log/  -name  "an*"  -o  -name  "*.log"  -ok  rm  -rf {}  \;

                                           搜索log目录下以"an"开头或者以".log"结尾的文件,对其执行删除操作,并在删除前询问


#grep  [选项]  [字符串]  [文件名]

功能:在指定文件中搜索指定的字符串,并打印包含该字符串的行(包含匹配)

选项:-i  忽略大小写;    -v  排除指定字符串

Linux学习笔记--搜索命令