Réponses:
Vous pouvez utiliser:
ls -Rt
où -R
signifie récursif (inclure les sous-répertoires) et -t
signifie "trier par date de dernière modification".
Pour voir une liste de fichiers triés par date de modification, utilisez:
ls -l -Rt
Un alias peut également être créé pour y parvenir:
alias lt='ls -lht'
lt
Où -h
donne une sortie plus lisible.
ls -lrt[RhA]
. le -r
inverse l'ordre de tri, laissant les éléments récemment modifiés au bas de la liste ...
-ila
vous donne à peu près toutes les informations dont vous auriez besoin.$ ls -ilaRt
ll -Rt
était la solution parfaite pour moi car j'avais besoin de voir les fichiers par date les plus récemment modifiés. Cela pourrait être utile aux autres.
ll
n'existe pas et n'est pas une commande. C'est principalement un alias dans le shell bash, mais pas défini dans la plupart des / certains /? distributions Linux. Certains le définissent comme un alias ll='ls -l'
dans /etc/bash.bashrc ou /etc/.bashrc. Ainsi, cela peut ne pas fonctionner et il peut ne pas exister sur le système OP. Utilisez ls -l -Rt
au moins, comme ls
c'est une commande standard telle que définie par posix. Ou spécifiez que vous vouliez dire alias ll='ls -l'; ll -Rt
.
Si vous souhaitez une liste principale dans laquelle tous les fichiers sont triés ensemble par date de modification, montrant le répertoire dans lequel ils se trouvent, mais pas regroupés par répertoire , vous pouvez utiliser ceci:
find . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
Le résultat ressemble beaucoup à ls -l
:
-rw-r - r-- 1 racine racine 3892 08/11/2009 11:03:36 /usr/share/man/man1/xmllint.1.gz -rw-r - r-- 1 racine racine 22946 13/08/2009 11:59:20 /usr/share/man/man1/curl.1.gz -rw-r - r-- 1 racine racine 728 17/08/2009 12:06:33 /usr/share/man/man1/thunderbird.1.gz -rw-r - r-- 1 racine racine 873 18/08/2009 10:52:47 /usr/share/man/man1/libgnutls-config.1.gz -rw-r - r-- 1 racine racine 2552 19/08/2009 02:00:34 /usr/share/man/man3/Purple.3pm.gz -rw-r - r-- 1 racine racine 9546 19/08/2009 02:02:00 /usr/share/man/man1/pidgin.1.gz -rw-r - r-- 1 racine racine 2201 19/08/2009 02:02:46 /usr/share/man/man3/Pidgin.3pm.gz -rw-r - r-- 1 racine racine 926 19/08/2009 02:03:05 /usr/share/man/man1/purple-remote.1.gz -rw-r - r-- 1 racine racine 18052 19/08/2009 04:11:47 /usr/share/man/man1/mono.1.gz -rw-r - r-- 1 racine racine 1845 19/08/2009 04:11:47 /usr/share/man/man5/mono-config.5.gz
Pour ceux d'entre vous qui utilisent Mac OS X, l'option -printf n'est pas disponible sur BSD find (vous obtiendrez cette erreur :)find: -printf: unknown primary or operator
. Heureusement, vous pouvez installer GNU find via Homebrew (il devrait également y avoir une option pour Fink et Macports ):
brew install findutils
Après l'avoir installé, la recherche GNU devrait être disponible en tant que gfind
. Donc, tout ce que vous avez à faire est de changer la ligne ci-dessus en:
gfind . -type f -printf "%-.22T+ %M %n %-8u %-8g %8s %Tx %.8TX %p\n" | sort | cut -f 2- -d ' '
find
que l'auteur, ces arguments -printf
sont des directives de format qui peuvent être trouvées dans man find
(recherchez la cinquième instance de printf
dans cette page).
find . -type f -print0 | xargs -0 stat -f "%m %Sp %l %-8Su %-8Sg %8z %Sm %N" | sort | cut -f 2- -d' '
vous donnera à peu près la même sortie sur MacOS en utilisant uniquement les utilitaires
sort -r
pour inverser le tri et avoir les fichiers les plus récemment modifiés en haut.
MAC OSX 2019
Si vous ne vous souciez pas de l'heure à laquelle il a été créé mais que vous voulez que votre liste soit triée, utilisez cette commande
==> ls -t
Si vous souhaitez commander et voir la date et les informations utilisateur, utilisez cette commande
===> ls -lt
Pour les zsh
utilisateurs, vous pouvez également utiliser des qualificatifs glob (également documentés sur man zshexpn
):
echo *(om)
Où o
représente l' ordre de tri, vers le haut et m
représente l'heure de la dernière modification .
Cela peut être utile lorsqu'il est utilisé dans une boucle for ou une autre commande:
for file in *(^om); do
[ -e "$file" ] || continue
# do something with file orderer from least recently modified to last modified
done
Ou enchaîné avec un autre qualificatif global:
last_modified_file=(*(om[1]))