查找并删除文件
我们可以使用下面的命令来查找并删除文件:
find [directory] [patern] [action]
其中,
directory:指定要查找的目录
patern: 指定要查找的模式比如:*.jpg
action: 指定对查找的文件执行什么操作
为了删除多个文件名包含*.jpg 文件,使用下面的命令
find . -name "*.jpg" -exec rm -rf {} \;
或者
find . -type f -name "*.jpg" -exec rm -f {} \;
上面的两个命令唯一的区别是第一个命令可以删除目录,而第二命令只能删除文件。
其中,
-name: 文件名匹配
-exec rm -rf {} \;: 删除所有匹配到模式的文件
-type f: 只匹配普通文件(不包括目录文件)
find命令实例:
1.查找当前目录下所有的包含*.bak的文件并删除它们
# find . -type f -name “*.bak” -exec rm -f {}\;
2.查找根目录下所有core文件并删除
# find / -name core -exec rm -f {} \;
3.查找当前目录下的所有包含*.bak的文件并删除所有查找到文件,删除是需要用户确认
#find . -type f -name “*.bak” -exec rm -i {} \;
命令输出:
[root@devops test]# find . -type f -name "*.bak" -exec rm -i {} \;
rm:是否删除普通空文件 "./t1.bak"?y
rm:是否删除普通空文件 "./t4.bak"?y
rm:是否删除普通空文件 "./t6.bak"?y
我们可以使用下面的命令来查找并删除文件:
find [directory] [patern] [action]
其中,
directory:指定要查找的目录
patern: 指定要查找的模式比如:*.jpg
action: 指定对查找的文件执行什么操作
为了删除多个文件名包含*.jpg 文件,使用下面的命令
find . -name "*.jpg" -exec rm -rf {} \;
或者
find . -type f -name "*.jpg" -exec rm -f {} \;
上面的两个命令唯一的区别是第一个命令可以删除目录,而第二命令只能删除文件。
其中,
-name: 文件名匹配
-exec rm -rf {} \;: 删除所有匹配到模式的文件
-type f: 只匹配普通文件(不包括目录文件)
find命令实例:
1.查找当前目录下所有的包含*.bak的文件并删除它们
# find . -type f -name “*.bak” -exec rm -f {}\;
2.查找根目录下所有core文件并删除
# find / -name core -exec rm -f {} \;
3.查找当前目录下的所有包含*.bak的文件并删除所有查找到文件,删除是需要用户确认
#find . -type f -name “*.bak” -exec rm -i {} \;
命令输出:
[root@devops test]# find . -type f -name "*.bak" -exec rm -i {} \;
rm:是否删除普通空文件 "./t1.bak"?y
rm:是否删除普通空文件 "./t4.bak"?y
rm:是否删除普通空文件 "./t6.bak"?y