it-swarm-es.com

¿Cómo puedo ordenar la salida de 'ls' por fecha de última modificación?

¿Cómo puedo ordenar la salida de ls por fecha de última modificación?

1338
nearly_lunchtime
ls -t

o (para el reverso, el más reciente en la parte inferior):

ls -tr

La ls página de manual describe esto con más detalles y enumera otras opciones.

1602
Adnan

Intenta esto: ls -ltr. Te dará lo último hasta el final de la lista.

146
Rana

Para una respuesta completa aquí es lo que uso: ls -lrth

Ponga esto en su script de inicio /etc/bashrc y asigne un alias como este: alias l='ls -lrth' Reinicie su terminal y debería poder escribir l y ver una larga lista de archivos.

42
Dejan

Yo uso alguna vez esto:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

o

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

para buscar recursivamente sobre qué archivos se modificaron en los últimos 5 minutos.

... o ahora, con la versión reciente de GNU find :

find . -type f -mmin -5 -exec ls -ltr {} +

... e incluso para no limitar a archivos :

find . -mmin -5 -exec ls -ltrd {} +

(tenga en cuenta que el -d cambia a ls para no mostrar el contenido de los directorios)

28
F. Hauri

Añadir:

alias lt='ls -Alhtr'

en $homedir/.bashrc

20
Layer8

Encuentre todos los archivos en el sistema de archivos que se modificaron como máximo 3 * 24 horas (3 días) hasta ahora:

find / -ctime 3
13
pbies

Mnemotécnico

Para no ignorar las entradas que comienzan con . y ordenar por fecha (las más nuevas primero):

ls -at

Para no ignorar las entradas que comienzan con . y invertir ordenando por fecha (el más antiguo primero):

ls -art

Para no ignorar las entradas que comienzan con ., use un formato de listado largo y ordenar por fecha (el más nuevo primero):

ls -alt

Para imprimir tamaños legibles por humanos, no ignore las entradas que comienzan con ., use un formato de listado largo y ordenar por fecha (primero el más nuevo) (@EvgeniSergeev note):

ls -halt

pero tenga cuidado con el último , porque un simple error puede causar una caída del servidor ... (@Isaac note)

11
simhumileco

Para mostrar los 10 más recientes ordenados por fecha, uso algo como esto:

ls -t ~/Downloads | head -10

o para mostrar más antiguo

ls -tr ~/Downloads | tail -10
9
lfender6445

Usando solo comandos Unix muy básicos:

ls -nl | sort -k 8,8n -k 6,6M

Esto funcionó en Linux; la columna 8 es "n" (numérica), la columna 6 es "M", mes.

Soy nuevo en sort, por lo que esta respuesta probablemente podría mejorarse. Sin mencionar que necesita opciones adicionales para ls y sort para usar las marcas de tiempo exactas, pero no todos lo necesitarán.

8
bbarker