Odpowiedzi:
Przede wszystkim zauważ, że usuwanie pustych katalogów zwykle nie jest konieczne. Niektóre usługi lub aplikacje mogą nawet wymagać istnienia pewnych katalogów. Uważaj na to, co robisz.
Możesz wyświetlić listę pustych folderów find
przy uruchomieniu z Terminal.app:
find . -type d -empty
Domyślnie find
wyświetla listę plików i folderów, ale tutaj -type d
ogranicza je do katalogów, a -empty
opcja pokazuje tylko puste katalogi. Spowoduje to rekurencję wszystkich folderów malejących z katalogu domowego ( lub krótkich ). Aby rozwinąć to do całego systemu plików, użyj:/Users/your-username/
~
find / -type d -empty
Tutaj /
oznacza katalog główny systemu plików Mac OS X. Możesz oczywiście użyć dowolnego innego punktu początkowego, na przykład dysku zewnętrznego zamontowanego pod ;/Volumes/your-disk-name
find /Volumes/your-disk-name -type d -empty
Teraz, jeśli chcesz usunąć dowolne dane find
wyjściowe, po prostu dołącz -delete
:
find . -type d -empty -delete
Uwaga: nie poprosi o potwierdzenie . Spowoduje to usunięcie wszystkich katalogów, które można, tj. Tych, w których masz uprawnienia do usunięcia. Nie zostaną przeniesieni do kosza, ale znikną na zawsze. Jeśli chcesz zostać zapytany przed usunięciem, zmień polecenie na coś takiego:
find . -type d -empty -exec rm -ri '{}' \;
illegal option -- t
type
i empty
wydaje się, że nie jestem w stanie rozpoznać.
find
wymaga ścieżki, więc spróbuj ponownie find . -type d
, a nie find -type d
(ta ostatnia działa dla GNU find
).
find
w podobny sposób jak powyżej), a następnie użyj sugerowanego polecenia, aby usunąć pozostałe puste katalogi.
Stworzyłem mały i darmowy program, który rozwiązuje to lepiej:
http://www.macupdate.com/app/mac/52551/find-empty-folders
Zaletą tego programu jest to, że znajduje również foldery, które są najwyraźniej puste, ale zawierają niewidoczny plik „.DS_Store”.
Pozwala także od razu przenieść znalezione przedmioty do Kosza.
find ~/Documents -type f -name 'Icon?' -print -delete;
Aby kontynuować ten wysiłek:
Stworzyłem skrypt, którego od czasu do czasu używam do czyszczenia folderu dokumentów, ponieważ jestem już na drodze do OCD i mam dość przeciążania aplikacji i lubię prostotę.
Zrobiłem to w celu ulepszenia i zapewnienia alternatywnego rozwiązania.
Na koniec, w przypadku pliku ikon @ kenche, plik ten nie wydaje się istnieć na moim komputerze Mac, ponieważ nie zmodyfikowałem ikon folderów, ale możesz to zrobić w Inspektorze. Po przeciągnięciu obrazu w lewym górnym rogu utworzy Icon^M
plik w tym katalogu.
Aby je znaleźć, możesz uruchomić:
(Czy powinieneś być paranoikiem, jeśli znajdziesz fałszywie dodatni, użyj: ctrl+ v ctrl+ mzamiast?)
find ~/Documents -type f -name 'Icon?' -print;
# and to remove
find ~/Documents -type f -name 'Icon?' -print -delete;
Proszę, jak podano powyżej @slhck: Niektóre usługi lub aplikacje mogą nawet wymagać istnienia pewnych katalogów. Dotyczy to również plików DS_Store & Icon, PROSZĘ Bądź świadomy tego, co robisz. Uwaga: ten skrypt nie prosi o potwierdzenie. Spowoduje to usunięcie wszystkich katalogów, które można. tzn. te, w których masz uprawnienia do usunięcia. Nie zostaną przeniesieni do kosza, ale znikną na zawsze.
#!/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;
Koniec skryptu.
Skrypt można zobaczyć tutaj na GitHub
Informacje o ikonach reprezentujących pliki na komputerze Mac
Jakikolwiek sposób, aby usunąć wszystkie foldery, które zawierają tylko .DS_Store rekurencyjnie?
Znajdź foldery i podfoldery zawierające tylko „.DS_Store”
Jak znaleźć wszystkie pliki zero-bajtowe w katalogu, w tym w podkatalogach