您的位置:首页 > 运维架构 > Linux

Linux find 命令使用示例

2014-05-06 17:43 288 查看
按名字查询
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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: