极北之地,兴安之雪,老骥伏枥转战Linux运维,今天试着写一下常用的查找指令,主要是find、locate、grep,which,whereis等指令。
系统:CentOS 7
身份:管理员:root,一般用户satman、szp
本文没有使用sudo命令,大牛勿喷!
在linux学习过程中,查找指令不可或缺,频率极高,但什么时候,该用那个指令去查找,用对了事半功倍,否则,查的怀疑人生。下面逐个讲一下查找指令。
一、find:文件或命令查找。
On Unix-like operating systems, the find command searches for files and directories in a file system.
也就是说,find,主要用于查找文件和目录的指令,这里文件包含二进制文件,也就是运行的外部命令,例如cat、ls等,bash自带命令无法查找,例如ulimit等。可能一会有添加其他参数,但以我的能力,目前无法查找。
格式:find [path...] [expression]
find的指令的选项实在是太多,指令功能实在是太强大,重点介绍几个参数:
-name:find [path] -name filename
按照文件名在指定的目录中去查找同名的文件或文件,如果不加任何通配符,则是精确查找:fliename区分大小写,如果要忽略大小写,参数name改为iname。例如,在/tmp目录查找last文件或目录:
通过示例可以看出含有string为last的文件不止一个,但查找结果只有/tmp/last,所谓精准查找,就是与pattern逐位对比,只有一一对应才算成功,如果说查找含有string的文件或者目,就需要用通配符“*”和“?”,具体用法如下:
位置 | 意义 | 示例 |
---|---|---|
*string | 表示以string结尾的文件或者目录,*的数值{0-(255-string)} | find /home -name *last |