linxu文本处理4剑客之find
find 主要是针对文本文件的查找。
命令格式
find [目录] [条件1] [-a|-o] [条件2]…
常用条件表示:
-type 类型(f d l)
-name “文档名”
-size + | -文件大小(K M G)
-user 用户名
find /etc/ -type d #查看/etc/ 所有的目录
find /etc/ -type f #查看/etc/ 所有的文件(包含隐藏文件)
find /etc/ -type l #查看/etc/ 下的所有快捷方式
find /etc/ -name “tab” #查找包含tab 的所有目录
ls /etc/.conf
ls /etc/.conf 与 find /etc/ -name “.conf" 的区别主要在于find 会去子目录查找,ls 只在当前目录查找
find 同时匹配两个条件
find /root/ -name "nsd” -type d #查找root下包含nsd的所有文件和目录同时还要满足是目录的条件。
根据大小查找
find /boot/ -size +10M #查找大于10M的文件
find /boot/ -size +10k #查找小于10k的文件
根据用户查找
find /home/ -user student
根据组名查找
find /home/ -group student
find /etc/ -size +1M -exec cp {} /opt/ ; #查找etc目录下大于1M的文件,并拷贝到/opt目录下
find /root/ -name “nsd*” -type f -exec cp {} /opt ;
忽略大小写查找文件
find /etc/ -iname “PASSWD”
限制目录查找深度
find /etc/ -maxdepth 1 -name “.conf" #(一层深度)
find /etc/ -maxdepth 2 -name ".conf” #(二层深度)
根据时间过滤
-atime n: 查找n天以前被访问过的所有文件。
-ctime n: 查找n天以前文件状态被修改过的所有文件。
-mtime n: 查找n天以前文件内容被修改过的所有文件。
find /etc/ -mtime -3 #
查找三天内修改过的文件
find /etc/ -mtime +3
查找三天前修改过的文件
find /etc/ -atime 3
查找三天内查看过的文件