Linux find 命令使用示例

按名字查询

1. 查找home目录及其子目录的 *.txt 文件

find ~ -name "*.txt" -print

2. 查找当前目录及其子目录的 *.txt 文件

find . -name "*.txt" -print

3. 查找以大写字母开头的文件

find . -name "[A-Z]*" -print

按文件权限相位查询
1. 查询权限为755的文件

find . -perm 755 -print

忽略某个文件夹
忽略“APD-CORE" 目录并且name是按.txt 文件结尾
find . -path "./APD-CORE" -prune -o -name "*.txt" -print
-prune 是指忽略的意思 -o是or的意思,不解释 -o ,知道这样用好了,讲的太复杂也没啥意思。
按用户/用户组来查询
1. 查找是用户root 创建的文件
find . -user "root" -print
2. 查找文件属主账号已被从系统删除,之前创建的文件
find . -nouser  -print
把user换成group 就是针对组而且,不再赘述。
按时间查询
1. 查找修改时间在5日之内的文件
find . -mtime -5 -print
2. 查找修改时间在5日之前的文件
find . -mtime +5 -print
按某个文件时间查询
1 .查找比config.ini 新的文件
find . -newer config.ini  -exec ls -l {} \;
2. 查找比config.ini 老的文件
find . -newer config.ini  -exec ls -l {} \;
3. 查找比config.ini, 比ex 老的文件
find . -newer config.ini ! -newer ex -print
按文件大小查询
1. 查找文件在165个字节以内的文件
find . -size -165c -print
2. 查找文件大于165个字节的文件
find . -size +165c -print
按文件深度查询
1. 只在当前文件下,非递归(不进入子目录)查询
find . -name "*.txt" -maxdepth 1 -print 
对查找出来的文件进行操作
find . -name "*.txt" -maxdepth 1 -exec ls -lrt {} \;
find . -name "*.txt" -maxdepth 1 -ok ls -lrt {} \; 
< ls ... ./temp/coreinsights_old/hd/user/data/testcal/dw_calendar.txt > ?  ; 会询问是否要进行操作y/n
Xargs 替代exec
find . -name "*.txt" -maxdepth 1 | xargs ls -lrt
发布了40 篇原创文章 · 获赞 2 · 访问量 6万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章