linux - una - ¿Cómo puedo listar(ls) los últimos 5 archivos modificados en un directorio?
recuperar archivos modificados linux (4)
Sé que va a listar todos los archivos por tiempo modificado. Pero, ¿cómo puedo limitar estos resultados a solo los últimos n archivos?
Intenta usar la cabeza o la cola. Si quieres los 5 archivos modificados más recientemente:
ls -1t | head -5
El -1 (que es uno) dice un archivo por línea y el jefe dice que tome las primeras 5 entradas.
Si quieres los últimos 5 intenta
ls -1t | tail -5
La respuesta aceptada solo muestra los nombres de los archivos, pero para obtener los 5 primeros también se puede usar:
ls -lht | head -6
dónde:
-l
salidas en un formato de lista
-h
hace que la salida sea legible (es decir, los tamaños de archivo aparecen en kb, mb, etc.)
-t
resultado colocando primero el archivo modificado más reciente
head -6
mostrará 5 archivos porque ls
imprime el tamaño del bloque en la primera línea de salida.
Creo que este es un enfoque un poco más elegante y posiblemente más útil.
Ejemplo de salida:
total 26960312 -rw-r--r--@ 1 user staff 1.2K 11 Jan 11:22 phone2.7.py -rw-r--r--@ 1 user staff 2.7M 10 Jan 15:26 03-cookies-1.pdf -rw-r--r--@ 1 user staff 9.2M 9 Jan 16:21 Wk1_sem.pdf -rw-r--r--@ 1 user staff 502K 8 Jan 10:20 lab-01.pdf -rw-rw-rw-@ 1 user staff 2.0M 5 Jan 22:06 0410-1.wmv
Use el comando de tail
:
ls -t | tail -n 5
ls -t
lista los archivos por hora de creación, no la hora de la última modificación. Use ls -ltc
si desea listar los archivos por última hora modificada de último a primero (de arriba a abajo). Por lo tanto, para listar el último n: ls -ltc | head ${n}
ls -ltc | head ${n}