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 -Rtdonde -Rsignifica recursivo (incluye subdirectorios) y -tsignifica "ordenar por fecha de última modificación".
Para ver una lista de archivos ordenados por fecha de modificación, use:
ls -l -RtTambién se puede crear un alias para lograr esto:
alias lt='ls -lht'
lt
Donde -hda una salida más legible.
ls -lrt[RhA]. la-rinvierte el orden de clasificación, dejando material recientemente editado en la parte inferior de la lista ...-ilale brinda prácticamente toda la información que necesitaría.$ ls -ilaRtll -Rtfue 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.llno 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 -Rtal menos, comolses 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
findcomo el autor, esos argumentos-printfson directivas de formato que se pueden encontrar enman find(busque la quinta instancia deprintfen 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 -rpara 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 -tSi desea hacer un pedido y ver la fecha y la información del usuario, use este comando
===>
ls -ltfuente
Para los
zshusuarios, también puede usar calificadores glob (también documentados enman zshexpn):Donde
osignifica orden de clasificación, arriba ymsignifica 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