¿Cómo puedo ordenar la salida de 'ls' por la última fecha modificada?
¿Cómo puedo ordenar la salida de ls
por la última fecha modificada?
ls -t
o (para el reverso, el más reciente al final):
ls -tr
La ls
man page describe esto con más detalles, y enumera otras opciones.
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr
o
find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr
para mirar recursivamente sobre qué archivos fueron modificados en los últimos 5 minutos.
… o ahora, con la reciente versión de GNU find:
find . -type f -mmin -5 -exec ls -ltr {} +
… e incluso para no limitarse a los archivos:
find . -mmin -5 -exec ls -ltrd {} +
(note el cambio de -d
a ls
por no mostrar el contenido de los directorios)
Eche un vistazo a mi respuesta a encontrar y ordenar por fecha de modificación
Para no ignorar las entradas que comienzan con .
y clasificar por fecha (las más nuevas primero):
ls -at
Para no ignorar las entradas que comienzan con .
y clasificar por fecha (las más antiguas primero):
ls -art
Para no ignorar las entradas que comienzan con .
, usa un formato de lista larga y clasificar por fecha (las más nuevas primero):
ls -alt
Para imprimir tamaños legibles para humanos, no ignore las entradas que empiezan con .
, use un formato de lista larga y clasificar por fecha (la más reciente primero) (@Nota de EvgeniSergeev):
ls -halt
pero tenga cuidado con la última , porque un simple error de escritura puede causar una caída del servidor. .. (@Nota de Isaac)
Para mostrar los 10 más recientes ordenados por fecha, uso algo como esto:
ls -t ~/Downloads | head -10
o para mostrar los más antiguos
ls -tr ~/Downloads | tail -10
Usando sólo comandos muy básicos de Unix:
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
, así que esta respuesta probablemente podría ser mejorada. Sin mencionar que necesita opciones adicionales a ls
y sort
para usar marcas de tiempo exactas, pero no todos necesitarán esto.
Una posible forma de mostrar por ejemplo los últimos 10 archivos modificados es el siguiente comando:
ls -lrth | tail -n 10
Descripción del comando anterior:
ls - list
argumentos:
l - long
r - reverse
t - sort by time
h - human readable
entonces se canaliza al comando tail
, que muestra sólo 10 líneas recientes, definidas por el parámetro n (número de líneas)…