位置:海鸟网 > IT > linux/Unix >

Linux操作系统下查找文件的命令的使用

Linux 下的查找命令有好几个,我比较常用的就 whereis 和 find,这里和大家分享一下。

  whereis

  其中 whereis 主要用来查找命令文件、源代码和 man 帮助文件,使用也很简单,比如

//查找帮助文件

[wyg@server]# whereis -m php php: /usr/share/man/man1/php.1

//查找二进制文件,除了帮助文件外全列出来了

[wyg@server]# whereis -b php php: /usr/bin/php /etc/php.d /etc/php.ini /usr/include/php

//查找源代码,啥都找不到~~

[wyg@server]#  whereis -s php

php:

  就这些就够多了,够用了。

  find
  find 命令功能比他更强,主要是他定制性强,可以配合其他命令执行就无敌了,在服务器管理方面主要还是来针对特定的日志文件操作特别爽。
用法:

find 要查找的目录 限定条件 -exec 要执行的命令 {} \;

  限定条件挺多的,可以组合使用,下面是一些常用的
  mtime +90  表示 90 天前修改过的(数字前面的+表示那天之前,-表示那天之后,没有符号表示正好那一天当天)
  atime +90  表示 90 天前读过的
  type f     表示是普通文件
  type d     表示是目录
  perm 744   表示文件权限为 744
  size   +512k 表示文件大于512k

  要执行的命令就看你的了,比如列出这个目录常用 ls -l -h 那就直接用上,这个和平时是一样,注意那个{}会被替换成找到的文件名,因此如果你要执行的命令对文件名的位置有讲究的话,调整下位置。
另外,那个-exec替换成-ok之后的话,要进行的操作需要确认,这对删除文件比较好,删错了问题就大了,你说对吧。
不多说了,后面附上几个例子,供大家参考联系。遇到问题,直接在命令行调用”男人(man)”就可以了。Linux真有意义,连男人命苦,必须啥都知道这件事情都规定好了啊。真苦,运行个命令:

[wyg@server]# man woman

No manual entry for woman

  示例:
  1、查找修改时间超过90天的文件

  # find /data/data/users -mtime +90

  2、查找90天以前的文件,并用LS列出全名

   # find /data/data/users -mtime +90 -type f -exec ls -l -h {} \;

  3、查找修改时间超过90天,并且不包含click_15和click_16目录的文件

  # find /data/data/users -mtime +90 ( -path /data/data/users/click_15 -o -path /data/data/users/click_16 ) -prune -o -print

  4、查找修改时间超过90天,并需确认删除

  # find /data/data/users -mtime +90 -ok rm -R {} \。