当我们要清理linux系统上的一些不要的文件时,往往需要查找到这些文件并删掉。这时候,find命令就可以发挥作用了。
1. 查找到文件并删除
使用find
命令可以查找指定路径下符合特定条件的文件,结合-exec
选项可以把操作作用到每一个找到的文件上。比如,我们要查找路径"/home/user"下的名字以".bak"结尾的文件并删除,命令如下:
find /home/user -name "*.bak" -type f -exec rm {} \;
这条命令的意思是查找目录"/home/user"下所有名字以".bak"结尾的文件,并把它们传递给rm
命令删除。
可以看出,-name
选项指定了文件名的匹配模式,".bak"表示以".bak"结尾的文件名。-type
选项指定了文件类型,"f"表示文件。-exec
选项紧跟着一条要执行的命令,它的结尾是一个分号和一个反斜杠,可以理解为一个命令语句的结尾。{}
表示查找到的文件列表,rm
命令作用于这个文件列表。
如果要查找并删除目录,可以把-type
选项的参数改为"d",表示查找目录类型的文件。如下:
find /home/user -name "download" -type d -exec rm -r {} \;
这条命令的意思是查找目录"/home/user"下所有名字为"download"的子目录,-exec
选项后面的rm -r
意为删除目录,-r
选项表示递归删除目录下的所有内容。
2. 防止意外删除
find
命令的-delete
选项可以直接删除所有找到的文件,但需要小心使用,如果恰好找到了不希望被删除的文件,后果将不堪设想。为了防止意外删除,可以先使用-print
选项观察查找到的文件列表,再决定是否要删除它们。例如:
find /home/user -name *.bak -type f -print
这条命令只是打印出名字以".bak"结尾的文件列表,不会删除它们。
适当地使用find
命令,可以轻松地查找到要删除的文件,并把它们批量删除。上述两个示例说明了如何使用find
命令找到和删除文件和目录。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux find命令将查找到的文件批量删除方法 - Python技术站