4.4.1 linux文件管理 : 文件综合:查找find

本文深入讲解了Linux下find命令的使用方法,包括如何通过find查找符合特定条件的文件,如按名称、权限、用户、时间等进行搜索。此外,还介绍了find命令结合-exec和-ok选项执行批量操作的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.4.1 linux文件管理 : 文件综合:查找find

作用:
       找到符合规则的文件
       对这些文件依次执行某种命令
例如:
   批量重命名
   批量删除
   批量备份
格式:
find pathname -options [-print -exec -ok ...]

pathname 路径 . | /root
-print   把匹配到的文件输出到标准输出
-exec    对匹配的文件执行shell命令,格式为 ‘cmd’{} \; 注意{} \;之间的空格
-ok      和-exec类似,就是每一次命令之前都会需要确认
参数:
-name 按照name查询
-perm 按照权限
-user 按照文件属主
-group 按照文件属组
-mtime -n +n 按照文件的更改时间,-n 是更改时间距离现在n天内,+n距离n天以前
-type  按照类型 b d c p l f
-nogroup / -nouser 没有组合属于用户
-prune 不在当前目录寻找
-depth 先查当前目录再查子目录
-maxdepth n 指定便利深度
-size n [c] 查找文件长度为n块的文件,有c表示字节 [注意+n n -n]

举例

按照名字:

##find . -name "*.txt" -print  //包含子文件夹
./dev.txt
./22.txt
./.cache/tracker/db-locale.txt

按照权限:

##find . -perm  777
./Desktop/Parallels Shared Folders
./Desktop/redis_start.sh
./.parallels/user-dirs.dirs
./.parallels/gtk-bookmarks
./test.sh
##find . -type  l
./Desktop/Parallels Shared Folders
./.parallels/user-dirs.dirs
./.parallels/gtk-bookmarks

按照大小:

##find . -size -2M  小于2M的  
##find . -size 2M   等于2M的
##find . -size +2M  大于2M的

按照用户:

##find . -user root
./Desktop/Parallels Shared Folders

指定便利深度:

##find .  -maxdepth 1 -name "*.o"
./3.o
./1.o
./2.o
./6.o
./4.o
./5.o

执行命令 -exec:

##find .  -maxdepth 1 -name "*.o.txt" -exec  echo {}   \;
./4.o.txt
./6.o.txt
./2.o.txt
./3.o.txt
./5.o.txt
./1.o.txt

执行命令 -exec [批量复制]:

##mkdir dir
##find .  -maxdepth 1 -name "*.o.txt" -exec  cp  {} dir   \;
##cd dir
##ls
1.o.txt  2.o.txt  3.o.txt  4.o.txt  5.o.txt  6.o.txt

执行命令 -exec [批量删除]:

##find .  -maxdepth 1 -name "*.o.txt" -ok rm  {}    \;
< rm ... ./4.o.txt > ?

执行命令 -ok 需要确定:

##find .  -maxdepth 1 -name "*.o.txt" -ok cp  {} X   \;
< cp ... ./4.o.txt > ? y
< cp ... ./6.o.txt > ? y
< cp ... ./2.o.txt > ?

时间:

按照时间,分为三类,访问文件时间,修改文件状态时间,修改文件内容时间

??-amin n  查找最后N分钟访问 access
-atime n 查找最后N天访问
??-cmin n  查找最后N分钟改变状态 change
-ctime n 查找最后N天改变状态
??-mmin n 查找最后N分钟改变数据 modify
-mtime n 查找最后N天改变数据   

##find ~ -atime 1 -print
/home/sgx/.local/share/keyrings/login.keyring
/home/sgx/.local/share/keyrings/user.keystore
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值