Pytanie:
Jak znaleźć wszystkie pliki większe niż 1 GB na komputerze Mac HD?
nonopolarity
2012-06-06 12:32:16 UTC
view on stackexchange narkive permalink

Wygląda na to, że można użyć jednego z tych poleceń:

  sudo find / -size + 1Gsudo find / -type f -size + 1G  

Ale kiedy dotrze do / Volumes , w rzeczywistości przegląda wszystkie pliki kopii zapasowej przez Time Machine na zewnętrznym dysku twardym. (i kolejny dysk twardy na dane).

Miałem przejść do / Volumes / Macintosh HD i rozpocząć tam find używając find. zamiast find / , ale potem wykonałem ls i znowu jest Volumes .

Czy jest jakaś opcja użycia również Findera (GUI)?

Inną zagadką jest to, że żadna ze stron podręcznika find w systemie Mac OS Lion ani na sieć wspomniała o + 1G ... jedyne, o czym wspominali, to format 1G dla dokładnego dopasowania.

Pięć odpowiedzi:
Matteo
2012-06-06 13:42:46 UTC
view on stackexchange narkive permalink

Możesz użyć -x , aby uniknąć przechodzenia przez zamontowane dyski:

  -x Zapobiegaj schodzeniu funkcji wyszukiwania do katalogów, które mają numer urządzenia inny niż numer plik, od którego zaczęło się zejście.  

Poleceniem powinno być

  $ sudo find -x / -type f -size + 1G  

Odnośnie faktu brakującej dokumentacji: nie brakuje jej po prostu nie jest łatwe do znalezienia. Na końcu sekcji PRIMARIES strony podręcznika

Wszystkie prawybory, które przyjmują argument numeryczny, pozwalają na poprzedzenie liczby znakiem plus („+”) lub znak minus („-”). Poprzedni znak plus oznacza „więcej niż n”, poprzedzający znak minus oznacza „mniej niż n” i żaden z nich nie oznacza „dokładnie n”.

Mike Meyers
2012-06-06 21:53:46 UTC
view on stackexchange narkive permalink

Prawdopodobnie przyniesie to nieco inne wyniki niż znalezione, ale możesz użyć funkcji Spotlight. Ta metoda jest znacznie szybsza niż przechodzenie przez każdy plik na dysku za pomocą find

W oknie Findera rozpocznij wyszukiwanie Spotlight i wybierz Rozmiar pliku, a także pliki systemowe z listy rozwijanej menu. (poszukaj znaku + pod polem wyszukiwania w prawym górnym rogu) enter image description here

Jeśli chcesz to zrobić w wierszu poleceń, możesz użyć:

  mdfind "kMDItemFSSize > $ [1024 * 1024 * 1024]"  

W teście na moim komputerze wyszukiwanie Spotlight nie znalazło kilku dużych plików które były w koszu lub jeden lub dwa pliki systemowe (np. sleepimage). Ponadto traktował pakiety (takie jak aplikacje i niektóre obrazy maszyn wirtualnych) inaczej niż find . Z drugiej strony mdutil działał niemal natychmiastowo, zamiast potrzebować kilku minut, zanim polecenie find przeszukało mój dysk.

marcusx
2012-06-06 13:52:11 UTC
view on stackexchange narkive permalink

Jeśli chcesz skorzystać z narzędzia GUI, używam

http://www.whatsizemac.com/ lub http: //www.omnigroup .com / products / omnidisksweeper /

Whatsize może również znaleźć duplikaty i ma kilka dodatkowych funkcji.

enl8enmentnow
2017-01-06 00:33:09 UTC
view on stackexchange narkive permalink

Spowoduje to również znalezienie folderów, co jest przydatne, gdy jest mało miejsca na dysku i decydujesz, co usunąć.

du -h 2> / dev / null |grep "G \ t"

ha, ciekawe rozwiązanie ... a co jeśli znajdziemy wszystkie pliki większe niż 500MB?
Byłoby to bardziej skomplikowane, ponieważ zależy to od wyjścia Gigabit z użycia dysku „du”
Michiel
2012-06-06 13:21:04 UTC
view on stackexchange narkive permalink

A co z tym poleceniem:

  find / -type f -size + 1G  
masz na myśli po prostu usunąć „sudo”? Ale chcę również znaleźć każdy plik systemowy, który ma więcej niż 1 GB ... (taki jak „.dmg” pobrany z App Store)
I to i tak nie rozwiązuje problemu, ponieważ dyski zamontowane w `/ Volumes` są zwykle czytelne bez sudo.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...