转载

Linux查找命令

Linux查找命令

  • which

    • 用法

      which [-a] command

    • 解释

      根据PATH所规范的路径去查询“执行文件”的路径

      不同用户查找相同的命令输出结果可能不同,局限于PATH

      -a 将所有由PATH目录中可以找到的命令均列出,而不只是第一个被找到的命令名称

    • 例子

      [learn@First ~]$ which ifconfig
      /sbin/ifconfig
      
  • whereis

    • 用法

      whereis [-bmsu] 文件或者目录名

    • 解释

      查找文件或者目录
      -b: 只找二进制文件
      -m: 只找在说明文件manual路径下的文件
      -s: 只找source源文件
      -u: 查找不在上述三个选项的其他文件
      
    • 例子

      [zy@zy-pc ~]$ whereis eclipse
      eclipse: /usr/bin/eclipse /usr/lib/eclipse
      
  • locate

    • 用法

      locate [-ir] keyword

    • 解释

      查找关键字文件名
      #下面两个命令待考究
      -i:忽略大小写差异
      -r:后面可以接正则表达式的显示方式
      
    • 例子

      [zy@zy-pc ~]$ locate *-css.xsl
      /usr/share/yelp-xsl/xslt/docbook/html/db2html-css.xsl
      
    • 注意有些centos版本可以没有locate命令,可以通过执行以下两步,使用locate命令

      1. yum -y install mlocate 安装mlocate包
      2. updatedb 更新数据库
  • find

    find的命令具体有点复杂,下面只是举几个常用的例子,详细的可以阅读鸟哥的私房菜

    • 根据时间查询

      #在根目录下,查询24小时内改动的文件
      find / -mtime 0
      
      #在/etc目录下,查询文件日期比/etc/passwd新的文件
      find /etc -newer /etc/passwd
      
    • 根据用户,用户组查询

      #在/home目录下查询属于learn用户的文件
      find /home -user learn
      
      #在/目录下查询不属于任何人的文件
      find / -nouser
      
    • 根据名字查询

      #在根目录下查询文件名为passwd的文件
      find / -name passwd
      
      #在/etc目录下查询文件名以httpd开头的文件
      find /etc -name 'httpd*'
      
    • 根据文件大小查询

      #在系统中找出大于1MB的文件
      find / -size +1000k
      
正文到此结束
本文目录