Answers:
首先请注意,通常不需要删除空目录。某些服务或应用程序甚至可能需要某些目录才能存在。要知道你在做什么。
find
从Terminal.app运行时,您可以使用列出空文件夹:
find . -type d -empty
默认情况下,find
列出文件和文件夹,但此处-type d
将其限制为目录,并且该-empty
选项仅显示空目录。这将递归所有从您的主目录(或简称)导出的文件夹。要将其扩展到整个文件系统,请使用:/Users/your-username/
~
find / -type d -empty
在这里,/
表示Mac OS X文件系统的根。当然,您也可以使用其他任何起点,例如,安装在; 下的外部磁盘。/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
现在,如果要删除任何find
输出,只需添加-delete
,如下所示:
find . -type d -empty -delete
注意:这不会要求您确认。它将删除所有可能的目录,即您有权删除的目录。它们不会被移到垃圾桶,而是会永远消失。如果要在删除之前询问您,请将命令更改为以下内容:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
并且empty
似乎无法识别。
find
需要一个路径,因此请尝试使用find . -type d
,而不是find -type d
(后者适用于GNU find
)。
find
与上述类似的方法来完成),然后使用建议的命令删除剩余的空目录。
我制作了一个小型免费程序,可以更好地解决此问题:
http://www.macupdate.com/app/mac/52551/find-empty-folders
该程序的优点在于,它还可以查找显然是空的但包含不可见的“ .DS_Store”文件的文件夹。
它还可以让您立即将找到的项目移至“已删除邮件”。
find ~/Documents -type f -name 'Icon?' -print -delete;
为了进一步努力:
我创建了一个脚本,该脚本用于不时清理我的文档文件夹,因为我很容易使用OCD,并且厌倦了APP重载和简单性。
我这样做是为了改进并提供替代解决方案。
最后,对于@kenche的图标文件,由于我尚未修改文件夹图标,因此Mac上似乎不存在该文件,但是您可以在检查器中。将图片拖到左上方时,它将Icon^M
在该目录上创建文件。
要找到那些,您可以运行:
(如果发现误报,您应该抱有幻想,然后使用:ctrl+ v ctrl+ m代替?)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
请按上述@slhck所述:某些服务或应用程序甚至可能需要某些目录才能存在。这也适用于DS_Store和Icon文件,请注意您在做什么。另请注意:此脚本不会要求您确认。它将删除所有可以的目录。即您有权删除的那些。它们不会被移到垃圾桶,而是会永远消失。
#!/bin/bash
# =============================================================================
# MAC OSX HIGH SIERRA 10.13.4 (17E199)
# Terminal: Version: 2.8.2 64-Bit (Intel): Yes
# Terminal Location: /Applications/Utilities/Terminal.app
# =============================================================================
# Terminal CLEAN UP YOUR DOCUMENTS FOLDER.
# =============================================================================
# START WHAT IS BELIEVED TO BE EMPTY NOW.
# =============================================================================
echo 'Searching Documents for empty folders...'
find ~/Documents -type d -empty;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS DS_Store FILES
# =============================================================================
echo 'Searching Documents for DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print;
echo 'Removing DS_Store files...'
find ~/Documents -type f -name ".DS_Store" -print -delete;
# =============================================================================
# SHOW & THEN REMOVE ALL MAC OS ZERO SIZED FILES
# =============================================================================
echo 'Searching Documents for ZERO file sized files...'
find ~/Documents -type f -empty;
echo 'Removing ZERO file sized files...'
find ~/Documents -type f -empty -delete;
# =============================================================================
# SHOW & THEN REMOVE Icon^M FILES
# USE THE ? MARK FOR EASE OF USE YOU CAN ALSO SUB 'CTRL + V & CTRL + M' FOR ^M
# =============================================================================
echo 'Searching Documents for Icon files...'
find ~/Documents -type f -name 'Icon?' -print;
echo 'Removing Icon files from Documents...'
find ~/Documents -type f -name 'Icon?' -print -delete;
# SEEMINGLY THE SAME AS
# find ~/Documents -type f -size 0 -print
# find ~/Documents -type f -size 0 -print -delete
# =============================================================================
# SHOWCASE NEW FOUND EMPTY FOLDERS
# =============================================================================
echo 'Showcasing new result of existing and new found empty folders...'
find ~/Documents -type d -empty;
echo 'Deleting result of empty folders...'
find ~/Documents -type d -empty -delete;
echo 'Showcasing the removal of said, 'empty folders'...'
find ~/Documents -type d -empty;
脚本结尾。