which
语法:which [指令文件...]
说明:查找指令。会在环境变量$PATH设置的目录里查找符合条件的文件。
例一:查找ls的路径
$ which ls
whereis
语 法:whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...] 补充说明:在特定目录中查找符合条件的文件。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。 参 数: -b 只查找二进制文件。 -B<目录> 只在设置的目录下查找二进制文件。 -f 不显示文件名前的路径名称。 -m 只查找说明文件。 -M<目录> 只在设置的目录下查找说明文件。 -s 只查找原始代码文件。 -S<目录> 只在设置的目录下查找原始代码文件。 -u 查找不包含指定类型的文件。
locate
语法:locate [-q] [-d ] [--database=]
locate [-r ]
locate [-qv] [-o ] [--output=]
locate [-e ] [-f ] <[-l ] [-c]
<[-U ] [-u]>
locate [-Vh] [--version] [--help]
说明:快速查找文件。
原理: 通过定时任务定时生成文件名相关的数据文件(一般会存放在【/var/lib/mlocate/mlocate.db】),当然定时任务不会很实时,这个会导致刚刚安装的软件找不到,这时候大家需要使用(updatedb)来更新locate数据文件。
参数:
-r 可用正则表达式
-l <num> 显示数量
find
语法:find [路径] [参数] 说明: 实际搜寻硬盘查询文件名称 参数: 1. 时间: -atime n :将n*24小时内被存取过的文件列出来 -ctime n :将n*24小时内被改变、新增的文件或目录列出来 -mtime n :将n*24小时内被修改过的文件列出来 -newer file :把比file还要新的文件列出来 2. 使用名称: -gid n :寻找群组ID为n的文件 -group name :寻找群组名称为name的文件 -uid n :寻找拥有者ID为n的文件 -user name :寻找用户名称为name的文件 -name file :寻找文件名为file的文件名称(可以使用通配符) -type type :寻找文件属性为type的文件,type包含了b, c, d, p, l, s, 这些与前一章的属性相同。例如l为Link而d为目录 范例:
例一:寻找文件名为testing $ find / -name testing例二:寻找文件名包含test的 $ find / -name 'test*'
例三:寻找当前目录下一天内新增的目录或文件$ find . -ctime 1
例四:寻找/home/test目录下比.bashrc还要新的文件 $ find /home/test –newer .bashrc
例五:寻找/dev目录下文件属性为b的文件
$ find /dev -type b
例六:寻找/home下拥有者为test的文件
$ find /home -user test