一天一linux命令(12) which whereis locate find 查找文件和目录

来源:互联网 发布:食品经营许可网络平台 编辑:程序博客网 时间:2024/05/16 13:59

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 
原创粉丝点击