Linux命令学习七:find、whereis、which、locate
查找文件或目录:find
????find
命令将从指定的目录开始向下递归查找各个子目录,将满足条件的结果输出 到终端。
基本语法
find [指定目录] [参数]
参数说明
参数 | 说明 |
---|---|
-name | 按照指定的文件名进行查找 |
-user | 查找属于某个用户的文件 |
-size | 按照指定的文件大小进行查找。 |
实例
# 从根目录开始查找,列出root用户所有文件大小大于5G的文件
$ find / -user root -size +20G
# 查找当前目录下,所有文件后缀为 .cfg 的文件
$ find . -name "*.cfg"
快速定位文件路径:locate
????locate
命令维护了一个本地的数据库,每次进行搜索的时候,都会从locate的数据库中查找并返回匹配的结果。但是这个数据库并不会自动更新,就是说,磁盘中新添加了文件,这个数据库并不会自动加入这些新增加的文件。locate
命令的数据库需要手工维护,每次进行搜索前可以手工先进行数据库的升级。
安装locate
????locate
在最小化安装的系统中并没有安装,可以通过yum
或者dnf
命令进行安装。
yum install -y locate
????由于locate命令是基于数据库查询,所以在查询 前,最好都先更新一下数据库
$ updatedb
基本语法
locate 文件名/目录名
实例
????查找文件名包含了passwd的文件
$ locate passwd
/usr/share/man/zh_CN/man1/gpasswd.1.gz
/usr/share/man/zh_CN/man8/chgpasswd.8.gz
/usr/share/man/zh_CN/man8/chpasswd.8.gz
/usr/share/man/zh_TW/man8/chpasswd.8.gz
/var/lib/sss/mc/passwd
文件查找命令:which
????跟find
命令不一样,which
命令是在环境变量$PATH
中进行查找符合条件的文件
基本语法
which [选项] 文件名
参数选项
参数 | 说明 |
---|---|
-a | 显示所有匹配的可执行的路径 |
实例
????查找passwd
的路径
$ which passwd
/usr/bin/passwd
文件查找命令:whereis
????whereis
用于查找命令的存放位置,该 命令只能用于查找二进制文件、源代码文件和man手册页
基本用法
whereis [参数] 文件名
参数说明
参数 | 说明 |
---|---|
-b | 只查找二进制文件 |
-f | 不显示文件名前的路径名称 |
-m | 只查找说明文件 |
-s | 只查找原始代码文件 |
实例
# 查找 whereis 命令的存放位置
$ whereis whereis
whereis: /usr/bin/whereis /usr/share/man/man1/whereis.1.gz