本文主要是介绍回忆录之find 命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
以名字为搜索条件
1.我只记得文件名字,但忘记放到当前目录哪里了
find . -name 要找的文件.txt
注:如果是找英文名字的文件最好使用 -iname
2.记得目录的名字, 想找到这个目录下的文件
find . -type d -name dirname
3.记得它有某个后缀名,比如备份了一个sql
find . -type f -name “*.sql”
以权限来搜索文件
- 找到一些测试时,留下的777权限的文件
find . -type f -perm 0777 -print
2.找到一些特权的文件 SGID SUID Sticky Bit, 比如有的命令有SGID权限,可以通过它进行提权
find / -type f -perm -04000
find / -perm /u=s
这里可以找到一些提权的命令:
http://www.cnblogs.com/mujj/articles/2021746.html
3.找只能读权限的文件
find / -perm /u=r
4.查找到777文件权限,并将其修改成644
find / -type f -perm 0777 -print -exec chmod 644 {} \;
注: {} 是find找到的文件, \;是代表find命令结束的地方
5.找空文件
find /tmp -type f -empty
6.找空目录
find /tmp -type d -empty
7.找隐藏文件
find /tmp -type f -name “.*”
以用户来搜索文件
1.找tomcat 用户的servlet.xml
find /home -user tomcat -name servlet.xml
2.找属于某个组的文件
find /home -group developer
以日期时间来搜索文件
1.我想找两天前,我修改过的文件,内容被修改
find . -mtime 2
2.找一小时内访问过的文件
find / -amin -60
3.找到2到5内时间段动过的文件,状态被修改,比如权限被修改了
find / -ctime +2 –ctime -5
可以看这篇博文:
http://blog.csdn.net/abcdef0966/article/details/7607545
以文件大小来搜索文件
1.我想找到大于100m的文件,并将其删除
find / -size +100M -exec rm -rf {} \;
2.我想找某个大小范围内的文件
find / -size +50M -size -100M
结合使用
1.找大于10m的mp3文件,并删除
find / -type f -name *.mp3 -size +10M -exec rm {} \;
2.找60天以前修改过的文件,并将其打包,并以当前日期命名
find /home -type f -mtime +60 | xargs tar -cvf /tmpdate '+%d%m%Y'_archive.tar
参考地址
这篇关于回忆录之find 命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!