请关注本头条号,每晚坚持更新原创干货技术文章。
如需学习视频,请在陌陌搜索公众号“智传网优”直接开始自助视频学习
1.序言
本文主要介绍Linux系统下有什么全局搜索命令,并讲解相关命令的使用方式与日常使用案例。
我们先来了解一下Linux下主要的5个全局搜索的命令工具。她们分别是find,locate,grep,which,whereis
其中,find是一个强悍实时搜索工具,Linux支持的文件类型它都可以搜索到,locate通常是搜索文件linux命令速查手册 pdf,grep通常是搜索文本文件,which和whereis通常是用于搜索程序相关的文件内容。
linux全局搜索命令
2.Linux使用find命令全局搜索文件
find命令在某个目录下查找。
通常使用格式:
find
-pathname:所要查找的目录及其所有子目录(默认递归查找)。默认为当前目录。
-option:指定参数。
-filetype:想要查找的文件类型。
-action:对查找结果进行的处理。
在linux的日常管理中,使用find命令全局搜索文件的使用频度很高,熟练把握以及灵活运用对提升工作效率很有帮助。
find的句型比较简单,常用参数的就这么几个,例如-name、-type、-ctime等。本文只是介绍其中一些常用的使用案例linux系统装win7,假若须要更多的帮助,请参考find的使用指南。
2.1Linux使用`find`命令依照文件名全局搜索文件
搜索当前目录下名子为mypic.png的文件
[root@zcwyou ~]# find . -name "mypic.png"
搜索当前目录下所有的jpg文件
[root@zcwyou ~]# find . -name "*.jpg"
搜索当前目录下的jpg文件和png文件
[root@zcwyou ~]# find . -name "*.jpg" -o -name "*.png"
搜索当前目录下不是以png结尾的文件
[root@zcwyou ~]# find . ! -name "*.png"
2.2使用`find`命令按照正则表达式全局查找文件
搜索当前目录下,文件名以数字+png后缀结尾的文件。
[root@zcwyou ~]# find . -regex "./*[0-9]+.png"
2.3使用`find`命令和指定的目录路径查找文件
搜索当前目录下linux查看进程,路径中包含folder的文件/路径。
[root@zcwyou ~]# find . -path "*folder*"
2.4使用`find`命令按照文件类型查找
通过-type进行文件类型的过滤。
例如,搜索当前目录下linux命令速查手册 pdf,路径中包含zcwyou的文件
[root@zcwyou ~]# find . -type f -path "*zcwyou*"
2.5Linux按照搜索深度查找文件
搜索当前目录下所有以txt后缀结尾的文件,不包括子目录。
[root@zcwyou ~]# find . -maxdepth 1 -name "*.txt"
相对应的,也是mindepth选项。
[root@zcwyou ~]# find . -mindepth 2 -maxdepth 2 -name "*.png"
2.6Linux使用`find`命令按照文件大小搜索文件
通过-size来过滤文件规格。支持的文件大小单元如下
-b表示块(512字节)
-c表示字节
-w表示字(2字节)
-k表示千字节
-M表示兆字节
-G表示吉字节
例如,使用find命令搜索当前目录下文件大小超过100M的文件
[root@zcwyou ~]# find . -type f -size +100M
2.7按照文件的访问、修改、变化时间全局搜索文件
支持下边的时间类型。
全局查找的案例1:搜索1天内被更改过的文件
[root@zcwyou ~]# find . -type f -mtime -1
全局查找的案例2:搜索近来1周内被访问过的文件
[root@zcwyou ~]# find . -type f -atime -7
将日志目录里超过一周的日志文件,联通到/tmp/log里。
[root@zcwyou ~]# find . -type f -mtime +7 -name "*.log" -exec mv {} /tmp/log ;
注意:{}用于与-exec选项结合使用来匹配所有文件,之后会被替换为相应的文件名。
另外,;拿来表示命令结束,假如没有加,则会有如下提示
find:-exec:noterminating”;”or”+”