Answers:
使用“ 查找”命令可按大小查找文件,并将文件名打印到标准输出。
find . -type f -size 0b -print
替代-print与-delete删除的文件,而不是将它们打印在屏幕上。
find . -type f -size 0b -delete
-empty代替-size 0b。
                    您也可以直接在外壳中执行此操作。如果您不想删除空的隐藏文件(名称以开头的文件),这可能会很有用.。尽管您也可以做到这find一点,但是另一种方法是使用外壳程序本身:
shopt -s globstar
for file in **/*; do [ ! -s "$file" ] && [ -f "$file" ] && rm "$file"; done
shopt -s globstar:打开bash的globstar选项,使**匹配一个或多个子目录。**/*将匹配当前目录及其所有子目录中的所有文件和目录。for file in **/*; do ...; done :遍历找到的所有文件和目录;[ ! -s "$file" ]:[ -s "$file" ]如果文件存在且不为空,则为true。因此,如果文件不存在或为空,则[ ! -s "$file" ](与!测试相反)为true。[ -f "$file" ]:如果文件是常规文件,则为true。不是目录,设备文件或符号链接等。rm "$file" :删除文件。在&&确保如果前一个是成功的所以这只能删除空,普通文件的下一个命令只运行。