当前位置:首页 >> 脚本专栏

Linux中的搜索文件命令

文件搜索命令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.      *  匹配任意内容;

Eg:find /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 命令 {} \  对搜索结果执行操作;

以上所述是小编给大家介绍的Linux中的搜索文件命令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!