现在的位置: 首页 > 综合 > 正文

shell查找命令大全

2018年05月10日 ⁄ 综合 ⁄ 共 1492字 ⁄ 字号 评论关闭

1.whereis 文件名
  特点:快速,但是是模糊查找,例如 找 #whereis mysql 它会把mysql,mysql.ini,mysql.*所在的目录都找出来.一般的查找都用这条命令.

2.find / -name 文件名
  特点:准确,但速度慢,消耗资源大,例如我想找到php.ini的准确位置,就需要用
  #find / -name php.ini

3.locate 文件名
  强力推荐的方法,最快,最好的方法.
  注意:第一次使用该命令,可能需要更新数据库,按照提示的命令执行一下就好了.

4.slocate命令
   slocate提供了一种安全的方法为系统的文件建立索引,同时用户可以通过slocate快速搜索到系统中的文件.它使用了与locate类似的增量 编码方法来压缩它的数据库,极大提高了它的搜索速度,它同时包含了文件的许可权和所有关系,使得用户看不到他们无权访问的文件

  slocate提供两个功能:
  (1)创建文件索引数据库。它会定时或者手工刷新索引数据库。
  (2)在数据库中搜索指定文件。存在索引数据库,因此它的检索速度非常快,能够满足对所有文件系统快速检索文件的需要。
  slocate的常用参数:
-u        从根目录开始建立索引数据库(会花费一定时间,依赖于用户系统性能和需建立索引的文件数量)
-U dir        从指定的目录dir建立索引数据库
-e dirlist        排除指定的目录列表,以逗号分隔
-f filesystemlist        排除指定的文件系统列表,以逗号分隔
  示例:
  slocate -e /usr,/etc -u       从根目录创建索引,但排除/usr,/etc目录
  slocate mysql

more
分页显示一个文件或任何输出结果.其实more不是用来寻找文件的,但是一般人却十有八九是在找文件时把它派上用场。例子:
shell>ls /etc |more
shell>more /etc/X11/XF86Config


less(这个命令目前只在
Linux 系统可以使用,其他 UNIX 家族尚无)

less与more相似,它的优点就是可以随时回头,最简单的用【PgUp】键就可以向上翻。
shell>ls /etc |less
shell>less /etc/X11/XF86Config


Find命令详解

  find 是高级的寻找文件工具,但也因为它太高级了,复杂到很多人用不熟练。我们尽量只举简单的例子。

  最简单的格式如下:find / -name my* -print

  这个意思是请它从最底层的主目录开始找,找出文件名是 my 开头的文件,把它显示出来。-print 选项是显示,您可把它当做固定要加上的项目。

  但它还可以用时间来找,例如:

  会从 /usr 目录开始往下找,找最近3分钟之内存取过的文件:find /usr -amin 3 –print

  会从 /usr 目录开始往下找,找最近5天之内修改过的文件:find /usr -ctime 5 -print

  会从 /doc 目录开始往下找,找属于用户jacky 的、文件名开头是 j的文件:find /doc -user jacky -name 'j*' –print

  会从 /doc 目录开始往下找,找寻文件名是 ja 开头或者 ma开头的文件:find /doc \( -name 'ja*' -o- -name 'ma*' \) –print

  会从 /doc 目录开始往下找,找到凡是文件名结尾为 bak的文件,把它删除掉。-exec 选项是执行的意思,rm 是删除命令,{ } 表示文件名,“\;”是规定的命令结尾:find /doc -name
'*bak' -exec rm {} \;

抱歉!评论已关闭.