链接:https://www.cnblogs.com/Sunzz/p/6842407.html

文件查找(find)

Linux文件查找利器:用find命令快速定位你的文件!_正则表达式

1 find

简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。

用法:find [查找路径] [查找条件] [找到后进行的动作]

eg. find /etc/ -name "ipsec.conf" -print

2 常用查找方式

-name 按文件名称查找,可以使用通配符,如* ? [ ] [^ ]

-iname 忽略文件名称大小写。

-regex 使用正则表达式的方式匹配文件名

3,根据文件属主、属组查找

-user username属主为username 的文件。

-group groupname 查找属组为groupname的文件。

-uid user ID 查找属主为指定UID号的文件。

-gid group ID 查找属组为指定GID号的文件。

-nouser 查找没有属主的文件。

-nogroup 查找没有属组的文件。

4,根据文件类型查找

-type type

-f 查找普通文件

-d 查找目录

-l 查找符号链接文件

-s 查找套接字文件

-b 查找块设备文件

-c 查找字符设备文件

-p 查找管道文件

5,根据文件大小查找

-size [ + | - ] unit

eg. find /etc -size +1M 查找/etc目录下大于1M 的文件

Linux文件查找利器:用find命令快速定位你的文件!_文件名_02

6 根据时间来查找

-atime 访问时间

-ctime 改变状态的时间

-mtime修改的时间

(1)以天为单位

-mtime +n 查找n天以前修改过的文件,从n+1天开始算起

-mtime -n 查找当前时间之前的n天,n天以内的修改过的文件

-mtime n 查找当前时间往前推第n 天修改过的文件

(2)以分钟为单位

用法与依天为单位类似

eg.查找/etc 目录下7天以内访问过的文件

find /etc/ -atime -7

Linux文件查找利器:用find命令快速定位你的文件!_正则表达式_03

7 根据权限查找

-perm [ + | - ] MODE

+ MODE 任意一个权限满足都可以。

- MODE 必须包含全部MODE权限的文件才可以。

MODE 精确匹配权限为MODE的文件。

eg. find /etc/ -perm -222 查找/etc权限必须包含全部222权限的文件

Linux文件查找利器:用find命令快速定位你的文件!_文件名_04

Linux文件查找利器:用find命令快速定位你的文件!_find_05

8 查找到文件后的处理动作

- exec COMMAND { } \; 找到文件后对文件执行COMMAND命令。

-OK COMMAND { } \;找到文件后询问是否对文件执行COMMAND命令。

- print 输出到屏幕(默认操作)。

- ls 打印到屏幕上,类似于ls -l

- delete 删除操作,只能删除文件。

-fls filename 查找到的内容保存至filename文件中。

Xargs 将前面结果分批次给后面的命令作为执行的参数。

复制/etc 目录下所有以.conf结尾的文件到/shell

Linux文件查找利器:用find命令快速定位你的文件!_linux_06

分批对/etc 目录下所有以.conf结尾的文件执行 ls 命令

Linux文件查找利器:用find命令快速定位你的文件!_删除文件_07

关注 工 仲 好:IT运维大本营获取60个G的《网工系统大礼包》+1000页Linux学习笔记