Linux常用搜索命令

时间:2022-01-15 09:22:20

文件搜索

文件搜索

  • find

    • 作用:功能非常强大的搜索命令,可以搜索任意文件

    • 格式:find [目录] [条件]

    • 选项:

    -name:指定名字 # find . -name install.log\*
    -type:指定类型(b/c/l/d/f/s) # find /etc/ -type d
    -size:指定大小,单位有:k/m/g,+表示大于,-表示小于 # find . -size +5k
    -mtime/atime/ctime:指定修改/访问/创建时间,单位为天,+表示几天前,-表示几天内
    -mmin/amin/cmin:指定修改/访问/创建时间,单位为分,用法同上
    -user:指定用户
    -group:指定所属组
    -maxdepth:指定搜索深度(目录层级)
    • 说明
    1.find的效率不是特别高,适用于普通文件的查找
    2.如果找命令等特殊文件,有更好的命令替代:whereis/which
  • whereis

    • 作用:专门用户搜索应用程序

    • 格式:whereis grep

    • 结果:

    grep: /bin/grep /usr/share/man/man1/grep.1.gz
    名称 路径 帮助文档路径
  • which

    • 作用:在$PATH环境变量中,查找系统命令,能够明确的指明使用的是哪一个
    • 例子:which ls
  • grep

    • 作用:正则表达式搜索

    • 格式:grep [选项] pattern [文件名]

    • 选项:

    -i:忽略大小写
    -n:显示行号
    • 说明:
    1.pattern是正则表达式
    2.要想用好grep,熟练使用正则
    • 实例
    grep ftp /etc/passwd -n     #在/etc/passwd文件中查找包好tfp的行,并显示行号
    grep 'abc' *.txt -i #在所有的txt文件中忽略大小写的查找包含abc的行
    ls /bin | grep '^m' #查找/bin目录下以m开头的文件