Featured image of post 查询命令-find

查询命令-find

1635 words

find

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

具体命令如下:

find 查找目录 查找参数 查找内容

常用查找参数如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
-amin<+|-分钟>:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-atime<+|-24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-cmin<+|-分钟>:查找在指定时间之时被更改过的文件或目录;
-ctime<+|-24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-mmin<+|-分钟>:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;
-mtime<+|-24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-depth:从指定目录下最深层的子目录开始查找;
-exec<执行指令>:假设find指令的回传值为True,就执行该指令;
-follow:排除符号连接;
-gid<群组识别码>:查找符合指定群组识别码的文件或目录;
-group<群组名称>:查找符合指定群组名称的文件或目录;
-uid<用户识别码>:查找符合指定的用户识别码的文件或目录;
-user<拥有者名称>:查找符和指定的拥有者名称的文件或目录;
-name<范本样式>:指定字符串作为寻找文件或目录的范本样式;
-iname<范本样式>:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-inum<inode编号>:查找符合指定的inode编号的文件或目录;
-newer<参考文件或目录>:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;
-size<+|-|=文件大小>:查找符合指定的文件大小的文件;
-type<文件类型>:只寻找符合指定的文件类型的文件;
-a:是前后条件都要满足;
-o :是满足一个条件就好;
1
2
3
+:表示大于设置值的文件;
- :表示小于设置值的文件;
= :表示等于设置值的文件;

注意:通常使用find命令的时候使用root权限,这样就有权限查找任何目录下的内容,本平台默认权限是root权限,所有在本平台上执行find命令时不需要加sudo。

案例演示1:

查找/etc目录下以my开头以.conf结尾的文件或目录,具体使用如下命令:

sudo find /etc -name “my*.conf”

图片

*表示任意字母。

案例演示2:

查找/etc目录下在超过7天前被访问的文件或目录,具体使用如下命令:

sudo find /etc -atime +7

图片

案例演示3:

查找/etc目录下恰好在7天前被访问的文件或目录,具体使用如下命令:

sudo find /etc -atime 7

图片

案例演示4:

查找/etc目录下在5分钟内被访问的文件或目录,具体使用如下命令:

sudo find /etc -amin -5

图片

-type 文件类型 使用方法 常见文件类型:

1
2
3
4
5
6
7
f:普通文件
l:符号链接
d:目录
c:字符设备
b:块设备
s:套接字
p:Fifo

案例演示:

查找/etc目录下以my开头的目录,具体使用如下命令:

sudo find /etc -name “my*” -a -type d

图片

size <+|-|=文件大小> 使用方法

常见文件大小单位:

1
2
3
4
5
6
b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节

案例演示:

查找/etc目录下大于1M的文件,具体使用如下命令:

sudo find /etc -size +1M

图片

-exec 使用方法

具体使用方法如下:

find … -exec 要执行的命令 {} ;

-exec选项后面跟随着所要执行的命令或脚本,然后是一个空格一对儿{}一个空格和一个;。

注意:要执行的命令和{之间以及}与;之间的空格是不能省略的。

案例演示:

查找/etc目录下大于1M的文件/目录的详细信息,具体使用如下命令:

sudo find /etc -size 1M -exec ls -l {} ;

图片

使用 Hugo 构建
主题 StackJimmy 设计