find
作用 搜素指定文件
语法 find [路径] [参数] [条件]
参数
-name name,-iname name 文件名称符合name的文件。iname会忽略大小写
-perm 匹配权限(mode为完全匹配,-mode为包含即可)
-user 匹配所有者
-group 匹配所有组
-mtime -n +n匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n匹配访问文件的时间(-n指n天以内,+n指n天以前)
-ctime -n+n匹配修改文件权限的时间(-n指n天以内,+n指n天以前)
-nouser匹配无所有者的文件
-nogroup 匹配无所有组的文件
-newer f1 !f2 匹配比文件f1新但比f2旧的文件
-type b/d/c/p/l/f匹配文件类型(后面的字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件)
-prune 忽略某个目录
-exec ....{}\; 后面可跟用于进一步处理搜索结果的命令
案例
find / -name *.conf 全盘搜索系统中所有以.conf结尾的文件
find /etc -size +1k 在/etc目录中搜索所有大约1k大小的文件
find /home -user username 在/home目录中搜索所有属于指定用户的文件
find . -type f 搜索当前目录下所有的文件
find . -perm 664 -exec ls -l {}\; 搜索当前目录下所有权限为664的文件,并列出来
find. 列出当前工作目录中的所有文件、目录以及子文件信息
find . -iname “*.txt” 在当前目录下搜索所有指定后缀的文件,后缀不需要大小写
find . !-name “*.txt” 在当前目录下搜索所有后缀不是.txt的文件
find . -mtime -7 -exec rm -i {} \; 搜索当前工作目录中的所有7天内被修改过的文件,并删除
which
作用 查找命令文件所在位置
语法 which[-a] filename...
案例 查找文件所在位置
which bash
which Is
which fdisk
whereis
作用 查找命令的二进制程序、源代码文件和man手册页等相关文件的路径
语法 whereis [options] [-BMS directory...-f] name...
参数
-b 查找二进制程序或命令
-B从指定目录下查找二进制程序或命令
-m查找man手册文件
-M从指定目录下查找man手册文件
-s 只查找源代码文件
-S从指定目录下查找源代码文件
案例
whereis Is 查找ls命令的程序路径和man手册页位置
whereis -b ls 查找ls命令的二进程程序路径
whereis -m ls 查找Is命令的man手册页路径
locate
作用 快速查找文件或目录
语法 locate[参数][文件]
参数 -i忽略大小写
案例
locate file.txt 查找系统中所有file.txt文件
locate /etc/sh 搜索路径中包含/etc/sh的文件
locate whereis 查找和whereis相关的所有文件
locate -i locate/f 查找/home/user/commands/locate/目录下所有以f开头的文件,不区分大小写