Linux 查找命令之 find 详解
强大的查找命令,可以在 Linux
中查找你说需要的内容并对内容执行一些特定操作。
实验平台:CentOS 7.7.1908
一、参数详解
1.用法
find [查找目录] [搜索条件] [具体操作] {} \;
2.参数
-搜索条件
-name file #查找文件名中包含所给字符串的所有文件
-iname file #与 -name 差不多,这个是忽略大小写
-user user #查找指定用户的文件
-nouser #查找无有效属主的文件,即该文件的属主在 /etc/passwd 中不存在
-group group #查找指定用户组的文件
-nogroup #查找无有效所属组的文件,即该文件所属的组在 /etc/groups 中不存在
-amin ±n #在过去 n 分钟内被读取过
-cmin ±n #在过去 n 分钟内被修改过
-ctime ±n #在过去 n 天内状态被修改过的文件
-atime ±n #在过去 n 天内被访问过的文件
-mtime ±n #在过去 n 天内被修改过的文件
-anewer file #比文件 file 更晚被读取过的文件
-cnewer file #比文件 file 更新的文件
-perm 755 #按照 755 的文件权限来查找文件
-prune #使用这一选项可以使 find 命令不在当前指定的目录中查找,如果同时使用 -depth 选项,那么 -prune 将被 find 命令忽略
-mount #要查找文件时不跨越文件系统 mount 点
-follow #如果 find 命令遇到符号链接文件,就跟踪到链接所指向的文件
-not #非,取反
-a #并且关系
-o #或者关系
-type b #查找类型为 b 的文件
类型包括:
b(块设备文件)
c(字符设备文件)
d(目录文件)
p(命名管道文件
f(普通文件)
l(符号链接文件)
s(socket文件)
-newer file1 ! file2 #查找更改时间比文件 file1 晚但比文件 file2 早的文件
-size n #文件大小, n 为单位
c(字节)
k(Kb)
M(Mb)
G(Gb)
b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组
-可执行操作
-exec 命令名 {} \; #不需确认执行命令。注意: "{}"代表找到的文件名,"}"与""之间有空格
-print #标准输出
二、使用案例
1.在当前目录及其子目录下查找含有 abc
的文件
$ find ./ -name "abc"
2.在当前目录及其子目录下查找用户组是 www
,并且用户组为 root
的文件
$ find ./ -user www -a -group root
3.以 大小
在当前目录及其子目录下查找文件
$ find ./ -size +10M
#查找当前目录及其子目录下大于 10Mb 的文件
$ find ./ -size -10M
#查找当前目录及其子目录下小于 10Mb 的文件
$ find ./ -size 10M
#查找当前目录及其子目录下大约是 10Mb 的文件
$ find ./ -size +10M -size -100M
#查找当前目录及其子目录下大于 10Mb 的文件且小于 100Mb 的文件
4.在当前目录及其子目录下查找文件类型是 块设备
的文件
$ find ./ -type b
5.在当前目录及其子目录下查找大于 2M
的文件并删除他们
$ find ./ -size +2M -exec rm -rf {} \;
#谨防删根,莫带 -rf
6.在当前目录及其子目录下删除不是 js
的文件
$ find ./ -not -name "*.js" -exec rm -r {} \;
7.查找 /var/log
目录中更改时间在7日以前的普通文件,并在删除之前询问它们
$ find /var/log -type f -mtime +7 -ok rm {} \;
8.在当前目录及其子目录下查找系统中的每一个普通文件,然后使用 xargs
命令来测试它们分别属于哪类文件
$ find . -type f -print | xargs file
9.在当前目录及其子目录下删除文件大小为 零
的文件
$ find ./ -size 0 | xargs rm
$ find ./ -size 0 -exec rm {} \;
$ find ./ -type f -empty | xargs rm
10.在当前目录及其子目录下查找没有 777
权限的文件
$ find -type f ! -perm 777
11.在当前目录及其子目录下查找后缀为 .mp3
的文件,且不包含目录
$ find ./ -name "*.mp3" -type f
12.在当前目录及其子目录下查找所有可执行文件
$ find ./ -perm /a=x -type f
Over ~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1148 0 2020-10-14
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353827 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...