Yanıtlar:
Öncelikle, boş dizinlerin silinmesinin genellikle gerekli olmadığını unutmayın. Bazı hizmetlerin veya uygulamaların var olması için belirli dizinlere ihtiyaç duyabilir. Ne yaptığınızın farkında olun.
find
Terminal.app ile çalıştırıldığında boş klasörleri listeleyebilirsiniz :
find . -type d -empty
Varsayılan olarak find
, dosya ve klasörleri listeler, ancak burada, -type d
dizinlerle kısıtlar ve -empty
seçenek yalnızca boş dizinleri gösterir. Bu, ana dizininizden ( veya kısa ) azalan tüm klasörleri geri alır . Bunu tüm dosya sisteminize genişletmek için şunu kullanın:/Users/your-username/
~
find / -type d -empty
Burada, /
Mac OS X dosya sisteminizin kökünü belirtir. Elbette başka bir başlangıç noktası da kullanabilirsiniz, örneğin harici diskiniz ;/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
Şimdi, find
çıktıları silmek istiyorsanız , şunu ekleyin -delete
:
find . -type d -empty -delete
Not: Bu onay istemez . Silinebileceği tüm dizinleri, yani silme izniniz olanları silecektir. Çöp kutusuna taşınmayacaklar ama sonsuza dek gidecekler. Kaldırma işleminden önce sorulmasını istiyorsanız, komutu aşağıdaki gibi değiştirin:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
ve empty
tanıyamıyor gibi görünüyor.
find
bir yol gerektirir, bu nedenle tekrar deneyin find . -type d
, değil find -type d
(ikincisi GNU için çalışır find
).
find
yukarıdakiyle aynı şekilde yapılabilir ) ve ardından kalan boş dizinleri kaldırmak için önerilen komutu kullanın.
Bunu daha iyi çözen küçük ve ücretsiz bir program yaptım:
http://www.macupdate.com/app/mac/52551/find-empty-folders
Bu programın avantajı, görünüşte boş olan ancak görünmez ".DS_Store" dosyasını içeren klasörleri de bulmasıdır.
Ayrıca, bulunan öğeleri hemen Çöp Kutusu'na taşımanıza da olanak tanır.
find ~/Documents -type f -name 'Icon?' -print -delete;
Bu çabayı ilerletmek için:
OCD'ye yol açtığım ve APP Aşırı Yüklendi ve basitlik gibi olmaktan yorulduğum için belgelerimi zaman zaman temizlemek için kullandığım bir komut dosyası oluşturdum.
Bunu alternatif bir çözüm geliştirmek ve sağlamak için yaptım.
Son olarak, @ kenche'nin Simge Dosyası için, klasör simgelerimi değiştirmediğim için mac'umda görünmüyor, ancak denetçide yapabilirsiniz. Bir resmi sol üst köşeye sürüklediğinizde Icon^M
, o dizinde dosya oluşturulur .
Bunları da bulmak için şunları yapabilirsiniz:
(Yanlış pozitif bulma konusunda paranoyak olmanız gerekir mi? Yerine ctrl+ v ctrl+ mkullanın:)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
Lütfen yukarıda belirtildiği gibi: Bazı hizmetlerin veya uygulamaların var olması için belirli dizinlere ihtiyacı olabilir. Bu aynı zamanda DS_Store & Icon dosyaları için de geçerlidir, LÜTFEN Ne yaptığınızın farkında olun. Ayrıca Not: Bu komut dosyası olmayacak onay ister. Tüm dizinleri siler. yani silme izniniz olan kişiler. Çöp kutusuna taşınmayacaklar ama sonsuza dek gidecekler.
#!/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;
Komut dosyasının sonu.
Komut dosyası GitHub'da görülebilir
Mac'inizdeki dosyaları temsil eden simgeler hakkında
Yalnızca .DS_Store içeren tüm klasörleri özyinelemeli olarak kaldırmanın herhangi bir yolu var mı?
Yalnızca ".DS_Store" içeren klasörleri ve alt klasörleri bulun
Alt dizinler de dahil olmak üzere bir dizindeki tüm sıfır bayt dosyaları nasıl bulunur