Respuestas:
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 como alias 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. Utilice ls -l -Rt
al menos, como ls
es un comando estándar según lo definido por posix. O especifique lo que quiso decir alias 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:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
El resultado se parece mucho a ls -l
:
-rw-r - r-- 1 raíz raíz 3892 11/08/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 raíz raíz 22946 13/08/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 raíz raíz 728 17/08/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 raíz raíz 873 18/08/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 raíz raíz 2552 19/08/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 raíz raíz 9546 19/08/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 raíz raíz 2201 19/08/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 raíz raíz 926 19/08/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 raíz raíz 18052 19/08/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 raíz raíz 1845 19/08/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
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 ):
brew install findutils
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:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
find
como el autor, esos argumentos -printf
son directivas de formato que se pueden encontrar en man find
(busque la quinta instancia de printf
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 utilidades
sort -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
Para los zsh
usuarios, también puede usar calificadores glob (también documentados en man zshexpn
):
echo *(om)
Donde o
significa orden de clasificación, arriba y m
significa hora de última modificación .
Esto puede ser útil cuando se usa en un bucle for u otro comando:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
O encadenado con otro calificador glob:
last_modified_file=(*(om[1]))