Pregunta ¿Cómo puedo ordenar el resultado de 'ls' en la fecha de la última modificación?


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


1249


origen


Relacionado (no necesariamente un duplicado): Unix / Linux buscar y ordenar por fecha modificada - Peter Mortensen


Respuestas:


ls -t

o (para el reverso, más reciente en el fondo):

ls -tr

los ls página man describe esto en más detalles y enumera otras opciones.


1501



ls -halt es para human readable, show hidden, print details, sort by date. - Evgeni Sergeev
En caso de que alguien se pregunte, tanto el -t y -r los argumentos se especifican en la sección sobre ls en el estándar POSIX, por lo que debería ser compatible en Unices. - Mark Amery
ls -llt para mostrar la fecha y hora junto con la clasificación - Harshul Pandav
¿Es posible simplemente mostrar el nombre y la fecha del archivo para cada uno? - android developer
Sí, es posible - Ashraf.Shk786


Prueba esto: ls -ltr. Te dará el último al final de la lista


134





Para una respuesta completa, aquí está lo que uso: ls -lrth

Pon esto en tu script de inicio /etc/bashrc y asigne un alias como este: alias l='ls -lrth' Reinicia tu terminal y deberías poder tipear l y mira una larga lista de archivos.


40



También puedes llamar source /etc/bashrc si desea agregarlo a su repertorio mientras se ejecuta. - cwallenpoole
También puede agregarlo en ~/.bash_aliases solo para su usuario (uno puede crear el archivo si no existe ya - Dinei


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

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

... o ahora, con la versión más reciente de GNU encuentra:

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

... e incluso para no limitar a los archivos:

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

(nota la -d cambiar a ls por no mostrar el contenido de los directorios)


27



Recursivamente te refieres a que enumera todos los archivos en subdirectorios, ¿ya no tiene un interruptor para hacerlo? - jiggunjer
@jiggunjer ls -Rltr ordenará por dir, luego por fechas, find -type f -mmin -5 -exec ls -ltr {} + simplemente imprimirá los archivos modificados en los últimos 5 minutos, ordenados por fecha, ¡independientemente del árbol de directorios! - F. Hauri


Añadir:

alias lt='ls -Alhtr'

en $homedir/.bashrc


20





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

find / -ctime 3

12





Para mostrar los 10 últimos ordenados por fecha, uso algo como esto:

ls -t ~/Downloads | head -10

o para mostrar el más antiguo

ls -tr ~/Downloads | tail -10

9



dals -t head -2 y ls -tr | tail -2 da el mismo resultado, la opción (-t / -tr) se debe mantener fija y se modifica la cola / cabeza o viceversa, modificar ambos es como modyfing nada - DDS


Mnemotécnico

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

ls -at

Para no ignorar las entradas que comienzan con . y clasificación inversa por fecha (los más viejos primero):

ls -art

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

ls -alt

Para imprimir tamaños de lectura humana, no ignore las entradas que comiencen por ., use un formato de listado largo y ordenar por fecha (el más nuevo primero) (nota de @EvgeniSergeev):

ls -halt

pero tenga cuidado con el último, porque un simple "mistype" puede causar un bloqueo del servidor ... (@Isaac note)


8