|
|
51CTO旗下网站
|
|
移动端

1.2.3 快速条件搜索

《跟老韩学Linux运维》第1章Linux应用运维指令概述,本书完全按照实际的Linux应用运维中的工作命令来讲解并加以实践,力求让读者看完此书后,能掌握运维工作中使用频率比较高的实战类型的运维指令。本节为大家介绍快速条件搜索。

作者:韩艳威来源:人民邮电出版社|2018-11-10 17:03

1.2.3  快速条件搜索

快速条件搜索在Windows操作系统中通常需要经历下面3个步骤。

打开搜索界面。

输入各种过滤条件。

进行搜索。

Windows操作系统本身的搜索能力有限,主要体现在搜索条件的匹配及搜索速度方面,如果需要更为强大的搜索功能,可能需要借助图1-5所示的第三方搜索软件。

图1-5所示的软件功能很强大,例如搜索当前计算机中的所有以CentOS开头,中间是任意字符结尾是ISO镜像文件(*.iso为正则表达式的描述方法),如图1-6所示。

而在Linux中,功能强大的find命令可以支持各种形式的搜索,其中包含尤其强大的正则表达式。

  1. find /root -name [文件名]  根据文件名搜索(严格匹配)  
  2. find /root -iname [文件名] 不区分大小写  
  3. find /root -user [所有者名] 根据所有者来搜索  
  4. find /root -size +100M  根据大小搜索  
  5. find /root -size +100k -a -size -50M 范围搜索  
  6. find /root -size +100k -a -size -50M -exec ls -lh {} \; 

上述代码中,使用find命令可以针对文件名、文件所有者、权限、文件大小等进行快速搜索,可见命令行功能之强大。

通过一条find命令就可以达到搜索的目的,不仅快捷,而且功能比图形界面更加强大。

这样的例子其实还有很多,从开发的角度来说,命令行为Linux应用运维或者高级运维带来了不少好处。下面以3个实例来说明命令行在速度及便捷性方面的优势。

【实例1-11】查找根目录下名为passwd的文件,不区分大小写

  1. find/-iname?passwd 

查找当前系统中根目录下,不区分大小写,名称为passwd的文件。

  1. [root@linux_command ~]# find / -iname passwd  
  2. /sys/fs/selinux/class/passwd  
  3. /sys/fs/selinux/class/passwd/perms/passwd  
  4. /etc/passwd  
  5. /etc/pam.d/passwd  
  6. /tmp/passwd  
  7. /tmp/PASSWD  
  8. /usr/bin/passwd 

上述代码中,“-iname”选项表示不区分大小写。

【实例1-12】查找根目录下名为passwd的文件

  1. find/-iname?passwd 

查找当前系统中根目录下,名称为passwd的文件。

  1. [root@linux_command ~]# find / -name passwd  
  2. /sys/fs/selinux/class/passwd  
  3. /sys/fs/selinux/class/passwd/perms/passwd  
  4. /etc/passwd  
  5. /etc/pam.d/passwd  
  6. /tmp/passwd  
  7. /usr/bin/passwd 

上述代码中,“-name”选项代表查找根目录下名为passwd的文件。

【实例1-13】查找/data目录下,以“*.log”作为结尾并且是20天以前的所有文件。

  1. find?/data/?-type?f?–name?"*.log"?–mtime?+20 

查找当前系统中/data/目录下,名称为“*.log”结尾,时间是20天以前的文件。

  1. [root@linux_command ~]# find /data/ -type f -name "*.log" -mtime +20  
  2. /data/sh/shell/grep.log  
  3. /data/1.log  
  4. /data/2.log  
  5. /data/3.log  
  6. /data/4.log  
  7. /data/5.log  
  8. /data/6.log  
  9. /data/7.log  
  10. /data/8.log  
  11. /data/9.log 

上述代码中有以下几个条件。

/data/代表查找路径。

-type f代表查找的类型为文件。

-name“*.log”代表查找前面是任意字符,后面以log结尾。

-mtime +20代表查找日期为20天以前。


喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络工程师教程(第2版)

本书是全国计算机技术与软件专业技术资格(水平)考试的指定用书。按照新的网络工程师考试大纲的规定,本书包含了数据通信基础知识、网络体...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊