目录标题
- whereis命令——通过环境变量查找所有文件(包括可执行文件)
- which命令——查找系统命令文件
- 与whereis命令区别
- locate命令——全局搜索
- find命令(全盘搜索)
- find命令中的参数及作用
- 按照文件名搜索
- 按照文件大小搜索
- 按照修改时间搜索
- 按照权限搜索
- 按照所有者或者所属组搜索
- 按照文件类型搜索
- 逻辑运算符
- 其他选项
命令 | 说明 | 示例 |
---|---|---|
whereis | 可以搜索系统命令的可执行文件路径和说明文档 | whereis ls |
which | which是搜索系统命令的可执行文件 | which ls |
locate | 按照数据库所搜,搜索速度快,消耗资源小。 | locate ls |
find | 可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 | find[path…][expression] |
whereis命令——通过环境变量查找所有文件(包括可执行文件)
whereis命令不能搜索普通文件,只能搜索系统命令。
例子:分别查找出ls和pwd命令位置
which命令——查找系统命令文件
which是搜索系统命令
列出命令的所在路径
例子:
与whereis命令区别
- whereis命令可以在查找二进制命令的同时,查找到帮助文档的位置;
- which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
locate命令——全局搜索
基于数据文件进行查找,所以每次查找前需要通过updatedb更新数据库文件进行查找
locate命令才是可以按照文件名搜索普通文件的命令。
例子:
find命令(全盘搜索)
find命令用于按照指定条件来查找文件
格式:
find [查找路径] 寻找条件 操作
find命令中的参数及作用
参数 | 作用 |
---|---|
-name | 按文件名搜索 |
-perm 644 | 匹配权限(mode为完全,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-4指小于等于4天内的文件名;+4指大于等于5天前的文件名;4指4~5那一天的文件) |
-atime -n +n | 匹配访问文件的时间 |
-ctime -n +n | 匹配修改文件权限的时间 |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
–type b/d/c/p/l/f | 匹配文件类型(后面的字母参数一次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …{} \; | 后面跟用于进一步处理搜索结果的命令 |
按照文件名搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum:按照inode号搜索
例子:查找etc目录下所有的以host开头的文件列表
按照文件大小搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-size [+|-]大小: 按照指定大小搜索文件
这里的“+”的意思是搜索比指定大小还要大的文件, “-”的意思是搜索比指定大小还要小的文件
按照修改时间搜索
linux中文件有访问时间(atime)、数据修改时间(mtime)、状态修改时间(ctime)这三个时间,我们也可以按照时间来搜索文件。
例子:
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改时间搜索
按照权限搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索
选项:
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
-perm -权限模式: 查找文件权限全部包含“权限模式”的文件
-perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限
按照所有者或者所属组搜索
…
[root@localhost ~]# find 搜索路径 [选项] 搜索
选项:
-uid 用户 ID: 按照用户 ID 查找所有者是指定 ID 的文件
-gid 组 ID: 按照用户组 ID 查找所属组是指定 ID 的文件
-user 用户名: 按照用户名查找所有者是指定用户的文件
-group 组名: 按照组名查找所属组是指定用户组的文件
-nouser: 查找没有所有者
按照文件类型搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
逻辑运算符
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-a:and 逻辑与
-o:or 逻辑或
-not:not 逻辑非
其他选项
动作 | 说明 |
---|---|
默认动作,将搜索结果写入到标准输出 | |
-fprint file | 与-print相同,但是将搜索结果写入到文件file |
-ls | 以详细格式(长格式)显示搜索结果 |
-fls file | 同ls,但是将搜索结果写入到文件file |
-delete | 将搜索到的文件删除 |
-exec command {}\; | 查找并执行命令,{}表示搜索到的文件名 |
-ok command {}\; | 查找并执行命令,但是需要用户确认 |