Linux下 删除所有以.开头的所有文件,删除所有隐藏文件的bash命令

it2024-04-21  61

这里用find命令比较好

格式:find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

语句如下

find . -type f -name .\* -exec rm {} \;

 

假如要删除所有以.abc开头的所有文件,如图

执行命令如下

find . -type f -name .abc\* -exec rm {} \;

结果:

如果要删除某个目录下,所有的以点开头的隐藏文件:

find 目录名 -type f -name .\* -exec rm {} \;

如果要删除某个目录及其子目录(find默认就是递归的)下,所有以html结尾的命令

find . -type f -name "*.html" -exec rm {} \;

 

如果找到所有文件名内包含“res”的文件,并统计符合所有带res字符串的文件个数(468为标准答案)

find . -type f -name '*res*' | wc -l

源目录结构如图:

总共936,带res的占一半

执行命令后,结果如果为468则命令准确

 

 

扩展:如果要找到后批量移动怎么办?

find . -type f -name '*res*' -exec mv {} ../imgRes \;

找到匹配的文件后,批量移动到../imgRes 下面,上一级目录的imgRes下面

最新回复(0)