Tengo un directorio: /home/user/
¿Cómo puedo enumerar todos los archivos de este directorio (incluidos los de los subdirectorios) y ordenarlos por la fecha en que se modificaron por última vez?
Puedes usar:
ls -Rt
donde -R
significa recursivo (incluye subdirectorios) y -t
significa "ordenar por fecha de última modificación".
Para ver una lista de archivos ordenados por fecha de modificación, use:
ls -l -Rt
También se puede crear un alias para lograr esto:
alias lt='ls -lht'
lt
Donde -h
da una salida más legible.
ls -lrt[RhA]
. la-r
invierte el orden de clasificación, dejando material recientemente editado en la parte inferior de la lista ...-ila
le brinda prácticamente toda la información que necesitaría.$ ls -ilaRt
ll -Rt
fue la solución perfecta para mí, ya que necesitaba ver los archivos por fecha de modificación más reciente. Esto podría ser útil para otros.ll
no existe y no es un comando. Es principalmente un alias en el shell bash, pero no está definido en la mayoría de / some /? distribuciones de linux. Algunos lo definen comoalias ll='ls -l'
en /etc/bash.bashrc o /etc/.bashrc. Por lo tanto, es posible que no funcione y que no exista en el sistema OP. Utilicels -l -Rt
al menos, comols
es un comando estándar según lo definido por posix. O especifique lo que quiso deciralias ll='ls -l'; ll -Rt
.Si desea una lista maestra en la que todos los archivos estén ordenados juntos por fecha de modificación, mostrando el directorio en el que están, pero no agrupados por directorio , puede usar esto:
El resultado se parece mucho a
ls -l
:Mac OS X
Para aquellos de ustedes que usan Mac OS X, la opción -printf no está disponible en BSD find (obtendrá este error :)
find: -printf: unknown primary or operator
. Afortunadamente, puede instalar GNU find a través de Homebrew (también debería haber una opción para Fink y Macports ):Después de instalarlo, GNU find debería estar disponible como
gfind
. Entonces, todo lo que necesita hacer es cambiar la línea de arriba a:fuente
find
como el autor, esos argumentos-printf
son directivas de formato que se pueden encontrar enman find
(busque la quinta instancia deprintf
en esa página).find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' '
le dará aproximadamente el mismo resultado en MacOS usando solo utilidadessort -r
para invertir la clasificación y tener los archivos modificados más recientemente en la parte superior.MAC OSX 2019
Si no le importa a qué hora se creó, pero desea que su lista esté ordenada, use este comando
==>
ls -t
Si desea hacer un pedido y ver la fecha y la información del usuario, use este comando
===>
ls -lt
fuente
Para los
zsh
usuarios, también puede usar calificadores glob (también documentados enman zshexpn
):Donde
o
significa orden de clasificación, arriba ym
significa hora de última modificación .Esto puede ser útil cuando se usa en un bucle for u otro comando:
O encadenado con otro calificador glob:
fuente