Pliki większe niż 1 GB i starsze niż 6 miesięcy


Odpowiedzi:


37

Użyj find:

find /path -mtime +180 -size +1G

-mtimeoznacza wyszukiwanie czasów modyfikacji dłuższych niż 180 dni (+180). I -sizeparametr wyszukuje pliki większe niż 1 GB.


2
Należy zauważyć, że w findimplementacjach, w których ten Gsufiks jest obsługiwany, oznacza to GiB (1073741824 bajtów), a nie GB (1000000000). Przenośny, użyłbyśfind /path -mtime +180 -size +1073741824c
Stéphane Chazelas

1
jeśli chcesz uniknąć błędów między listą plików takich jak te: find: a.txt :Permission deniedSugeruję dodanie tego 2>/dev/nullinspirowanego tym komentarzem: unix.stackexchange.com/questions/42841/…
gmansour 10'18

Możesz także xargs ls -lhSfind /path -mtime +180 -size +1G | xargs ls -lhS
potokować

@ user553965 Twoje polecenie nie będzie działać. Co jest rzeczywiście potrzebne do sortowania według wielkości jest: find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS. Uwaga dla początkujących: Przekierowanie po 2>/dev/nullprostu pozbywa się permission deniedbłędów, które nieuchronnie pojawią się podczas wyszukiwania z katalogu głównego. Aby posortować według daty ostatniej modyfikacji, użyj ls -lhtzamiast tego i dodaj rdo lspoleceń, np. ls -lhSrSpowoduje odwrócenie wyników (od najmniejszej do największej / od najstarszej do najnowszej).
Mattst

6

find / -size +1G -mtime +180 -type f -print

Oto wyjaśnienie opcji polecenia według opcji: Począwszy od katalogu głównego, znajduje wszystkie pliki większe niż 1 Gb, zmodyfikowane ponad 180 dni temu, które są typu „plik”, i drukuje ich ścieżkę.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.