欢迎大家来到IT世界,在知识的湖畔探索吧!
有时候我们突然想找一个文件,但是只记住大概文件文件名好像是…或者只记住文件里面有个关键字。这个时候,可利用linux的查找命令查找。
最开始接触Linux的时候,不会使用find,只知道grep,文件里内容、文件名都可以grep,grep确实蛮好的用的,但是如果在大量文件目录找目标文件效率很低,有可能几分钟都找不出结果,对于目前效率来说,几分钟的时间不应该容忍。使用find在十几秒就会找出结果。
需要删除某个目录下的一些文件,但是改目录下的文件很多,有上万个,多到这个时候用ls命令都要等几分钟才会刷完,并且这个时候使用rm -rf删除文件很有可能删除不了,报错删除内容太多了。那该怎么办?当然还是使用find命令,配合命令参数部分就可以删除。
可以说find命令是一个很强大命令,也是一个很有用的命令。
命令格式:find path -option [ -print ] [ -exec -ok command ] {} \;
欢迎大家来到IT世界,在知识的湖畔探索吧!
主要参数:(比较多)
path 为路径,如果不设置默认是当前路径
–name name 指定要寻找的文件名或者目录,对于文件支持通配符
-print 将符合条件的文件或目录打印出来
–size n 寻找占用n个blok文件
–type x 以文件类型寻找,x的值如下
d目录
f文件
b块
c字符
p管道
-user user 寻找user的所有文件,可以为uid
-group group 寻找用户组为group的文件,可以为gid
-links n 寻找连接数为n的文件
-atime n 寻找n之前存取的文件
–mtime n 寻找n天前被修改的文件
–ctime n 寻找n天前被改变的文件
最长常用的几个参数已加粗
-exec command {} \; 寻找的文件作为command的对象{}里面的command需要的参数,其中command命令可以有很多,就如上面要删除,可以将commond 替换成rm -rf。
欢迎大家来到IT世界,在知识的湖畔探索吧!find /home/log/ -name "auto*" ! -ctime -7 -exec rm {} \; 删除/home/log/ 目录下以auto开头,并删除7天内没有被修改文件
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/21940.html