Linux常用命令——文件搜索命令

文件搜索命令

1find             /usr/bin/find #查找文件或目录,任何文件皆可,如图片,压缩包等

语法:find [搜索路径] [搜索选项] filename


a  find /etc -name  文件名           //-name 最常见的选项 按文件名搜索

eg:find /etc -name init // 在目录/etc中查找文件init文件

注意:

1-尽量缩小查找范围,不要在根目录下查找,不然:查找速度非常慢;占用大量系统资源.

2-占用系统资源越少越好,而且尽量在服务器压力较小时用find进行查找.

3-  find /etc -name  文件名   查找结果与Windows不同,如:Windows会把所有包含init关键词的文件全都列出来而Linux则只会匹配init关键词

4-使用通配符:

          *用于匹配任意字符

find /etc -name init*   //查找所有以init开头的文件  *匹配任意字符

find /etc -name *init*   //init左右都没有空格,用于查找所有包含init关键词的文件

  ?:用于匹配单个字符

find /etc -name init???   //这个文件会有七个字符,?匹配单个字符

find /etc -name ?init??  //   

                       find /etc  -iname ?init??  //   搜索时不区分大小写

 

bfind /etc -size 文件大小    

//以数据块为单位的! 1数据块=512字节= 0.5KB,        1K = 2Blocks

100M=blocks

100M = 102400K = 102400*2blocks

E.g

find /etc -size +163840 -a -size -204800   在/etc下查找大于80MB小于100MB的文件

find /etc -size -204800 #在/etc下查找大于80MB小于100MB的文件

find /etc -size 204800 #在/etc下查找等于100MB的文件,不常用!

 

cfind /etc -user username    更具所有者查找

d)通过时间属性查找:

1、以天为单位: ctimeatimemtime

2、以分钟为单位: cminaminmmin  //更为常用

c-change 改变:表示文件的属性被修改过,比如:所有者,所属组,权限

a-access 访问:文件被浏览过

m-modify 修改:文件内容被修改过

-多长时间之内,+超过多少时间

E.g.

find /etc -mtime -1   

find /etc -amin -60        //60分钟内被访问过的

find /home -cmin -120

 

efind /etc -type 文件类型     //根据文件类型查找

f 二进制文件

l 软链接文件

d 目录

   eg: find /etc -name init* -a -type f


f-inum      //根据i节点进行查找

      新建的文件不好删除可以通过删除i节点

E.g.

touch -- -abc #删除:rm -- -abc

touch “a b” #删除:rm “a b”

                ls  -i 

find . -inum 159341                                  / /注意点表示当前目录

find . -inum 159341 -exec rm -f {} \;        //i节点为159341的文件,并删除它

 

附-find连接符:

1、 -aand 逻辑与

-oor 逻辑或

E.g.

find /etc -size +163840 -a -size 204800 #查找>80M,<100M的文件

find /etc -name init* -a -type f #查找名为init并且为二进制的文件,并不包含目录

 

2find ….. -exec 命令 {} \; #固定格式,只能这样来写

{}   :find的查询结果

\    :转义符-使得符号命令使用本身的含义

;   :语句结束

 

e.g.

find /etc -name inittab -exec ls -l {} \;              // /etc下查找inittab文件并显示其详细信息

find /home -user sax -exec rm -rf {} \;              //删除用户sax所有的文件

find /home -user sax -ok  ls -l {} \;             //-ok连接符,  所有的目录,每一条都需要确认

find /etc -name init* -ok rm -rf {} \;          //删除时询问  

                find /etc -name init* -ok rm -f {} \;          //删除时询问  

 

 

2、locate[list file in databases]: /usr/bin/locate     在文件资料库中查找文件

格式:locate [搜索关键字

说明:

#是Linux所特有的命令,寻找文件或目录最好用于快速定位系统命令,配置文件等

#虽然搜索速度很快,但有时候会找不到

#locate是在文件数据库中查找的,所以速度会很快

#但是如果数据库没有及时更新,他就会找不到,

 更新资料库

updatedb [update a database for mlocate]:   /usr/bin/updatedb

注意:tmp中文件是不在文件资料库,locate区分大小写   locate -i name 不区分大小写

注意:其执行权限为:root!!!

 

3which /usr/bin/which        //显示系统命令所在目录,绝对目录,不能查找文件

格式:which [系统命令]   //还可以看到别名

e.g. which ls

 

附-whereis:也可以查找到命令的绝对路径

whereis不同,which会列出这个命令的别名记录,whereis还会显示出这个命令的帮助文档所在位置  /usr/share


4grep: /bin/grep             //在文件中搜寻字串匹配的行并输出

格式: grep [指定字串] [源文件]  //区分大小写  

        grep -i  [指定字串] [源文件 //不区分大小写

        grep -v  ^# [源文件    //    -v 排除以关键字开始的行,这里是以#开始的行

E.g. grep ftp  /etc/services 

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值