Archivos de más de 1 GB y más de 6 meses

Respuestas:

37

Uso find:

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

-mtimesignifica buscar tiempos de modificación superiores a 180 días (+180). Y el -sizeparámetro busca archivos de más de 1 GB.

caos
fuente
2
Tenga en cuenta que en las findimplementaciones donde Gse admite ese sufijo, significa GiB (1073741824 bytes), no GB (1000000000). Portablemente, usaríasfind /path -mtime +180 -size +1073741824c
Stéphane Chazelas
1
si desea evitar ver errores entre la lista de archivos como estos: find: a.txt :Permission deniedsugiero agregar esto 2>/dev/nullinspirado en este comentario: unix.stackexchange.com/questions/42841/…
gmansour
También puede canalizar los resultados xargs ls -lhSpara ordenarlos por tamaño: find /path -mtime +180 -size +1G | xargs ls -lhS
user553965
@ user553965 Su comando no funcionará. Lo que realmente se necesita para ordenar por tamaño es: find / -size +1G -mtime +180 -print0 2>/dev/null | xargs -0 ls -lhS. Nota para los novatos: la redirección de 2>/dev/nullsimplemente elimina los permission deniederrores que inevitablemente aparecerán al buscar desde la raíz. Para ordenar por fecha de última modificación, use ls -lhten su lugar y agregue ra los lscomandos, por ejemplo ls -lhSr, revertirá los resultados (más pequeño a más grande / más antiguo a más nuevo).
mattst
6

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

Aquí está la explicación del comando opción por opción: a partir del directorio raíz, encuentra todos los archivos de más de 1 Gb, modificados hace más de 180 días, que son del tipo "archivo" e imprime su ruta.

dr01
fuente