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

文件搜索命令

命令名称:which
命令路径:/usr/bin/which
执行权限:所有用户
功能描述:显示系统命令所在目录
语法:while [命令名称]
Ex:    which   ls
相似命令:whereis [文件名]

命令名称:find
命令路径:/usr/bin/find
执行权限:所有用户
功能描述:查找文件或目录
语法:find  [搜索路径] [搜寻关键字]
PS:尽量不要在根路径下搜索
选项:  -name  查找名称
          -size  按照文件大小搜索   
          -user 按照拥有者搜索
          -type 按照文件类型查询
     按天查询: ctime,atime,mtime
     按分钟查询: cmin,amin,mmin
      c:change  文件属性被改变,比如权限,修改时间,拥有者
      a:access  文件被访问
      m:modify  文件内容被修改
eg:find / -mmin -120 :查找两小时内被修改过的文件  
通配符: *表示0或多个字符
占位符: ?
文件块: 一个块,512个字节=0.5KB.
             100M      102400*2
正负号: -102400  小于 50M
             +204800  大于 100M
连接符:
       -a  相当于  and
       -o  相当于  or
练习:在 /home/michael 搜索大于3m 并且文件类型是f
    find /home/michael -size +6144 -a -type f
        -exec  ls  -l {} \;
        -exec [命令] [选项] {} \;
练习:查找两小时内被访问过的文件,并显示详情信息
          find /home/michael -amin -120 -exec ls -l {} \; 
         查找/home/michael里大于50M的文件,并删除
          find /home/michael -size +102400 -exec rm {} \;
在做查找并删除时,为了防止删除重要文件。可以使用-ok 代替-exec 来进行询问

命令名称:locate
命令原意:list files in databases
命令路径:/usr/bin/locate
执行权限:所有用户
功能描述:寻找文件和目录
语法:locate [搜索关键字]
Ex:    locate  file
         列出所有跟file相关的文件
ps:locate在系统维护的文件系统数据库查询,速度快。
linux系统里维护了一个文件系统结构的数据库
locate是在数据库中查询文件。速度比find快 

命令名称:updatedb
命令原意:update the slocate databases
命令路径:/usr/bin/updatedb
执行权限:root
功能描述:建立整个系统目录文件的数据库
语法:updatedb
Ex:  updatedb

命令名称:grep
命令路径:/bin/grep
执行权限:所有用户
功能描述:在文件中搜寻字串匹配的行并输出
语法:grep [指定字符] [源文件]
Ex:    grep ftp  /etc/services 

猜你喜欢

转载自blog.csdn.net/Betty_betty_betty/article/details/82916131