linux的文件搜索命令

时间:2022-01-07 16:30:51

文件搜索命令locate:搜索快,新建文件无法搜索;

命令格式: locate 文件名  //在后台数据库中按文件名搜索,搜索速度快;

/var/lib/mlocate : locate命令所搜索的后台数据库

命令:updatedb // 更新数据库,默认是一天自动更新;

 

/etc/uodatedb.conf 配置文件中:

1.      PRUNE_BIND_MOUNTS = “yes”

开启搜索限制

2.      PRINEFS =

搜索时,不搜索的文件系统;

3.      PRUNEFNAMES =

搜索时,不搜索的文件类型;

4.      PRUNEFATHS =

搜索时,不搜索的路径;

命令的搜索命令:

命令格式whereis 文件名  //搜索命令所在的路径和帮助文档所在位置;

         选项:

                   -b: 只查找可执行文件

                   -m: 只查找帮助文档

命令格式:which 文件名 //搜索命令所在路径和别名

 

PATH环境变量:定义的是系统搜索命令的路径;

root@sd-ThinkCentre-XXXX:/#echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

 

命令:whoami :当前用户是谁?

命令:whatis ls :这个命令是干啥的

 

文件搜索命令find

一个扇区的大小为512K

find命令: find [搜索范围][搜索条件]文件名  //搜索文件;

 

eg :find  /  -nameinstall.log

注:皮面大范围搜索,会非常的耗费系统资源

         Find在系统中搜索符合条件的文件名、如果需要匹配,使用通配符。通配符是完全匹配;

 

Linux中的通配符:

1.      *  匹配任意内容;

Egfind /root –name ana*  // 意思就是匹配以“ana”开头的文件;

           find /root –name*    //意思就是找出/root 下的所有文件

2.       匹配任意一个字符;

find  /root –name ab?   //匹配以ab开头的三个字符的文件;

3.      []  匹配人任意一个中括号内的字符;

find/root –name ab[cd] //匹配以ab开头的且包含【cd】其中一个的三个字符的文件;

 

命令find /root –iname install.log   //不用区分文件名字的大小写

 

命令find /root –user root   //按照文件的所有者搜索文件

 

命令find /root –nouser   //查找没有所有者的文件

 

命令 find /var/log/ -mtime +10   //查找10天前修改的文件

1.      -10  10天内修改的文件

2.      10   10天当天修改的文件

3.      +10  10天以前修改的文件

4.      atime 文件访问时间

5.      ctime  改变文件属性

6.      mtime 修改文件内容

命令find /etc  -size 25k  //查找文件大小是25k的文件

1.      -25k  小于25k的文件

2.      25k 等于25k的文件

3.      +25M 大于25M的文件

 

命令find /etc –inum 130958  //查找i节点是140958的文件

 

命令find /etc –size +20k –a –size -50k //查找/etc/目录下,大于20kb并且小于50kb的文件

1.      -a  and 逻辑与,两个条件都满足;

2.      –o or 逻辑或, 两个条件满足一个即可;

 

命令find/etc –size +20k –a –size -15k –exec ls –lh {}\ //查找/etc/ 目录下,大于20kb并且小于50kb的文件,并且显示详细信息;

// -exec 命令 {} \  对搜索结果执行操作;