J'ai un annuaire: /home/user/
Comment puis-je lister tous les fichiers de ce répertoire (y compris ceux des sous-répertoires) et les classer par date de dernière modification?
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 unalias 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. Utilisezls -l -Rt
au moins, commels
c'est une commande standard telle que définie par posix. Ou spécifiez que vous vouliez direalias 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:
Le résultat ressemble beaucoup à
ls -l
:Mac OS X
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 ):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:la source
find
que l'auteur, ces arguments-printf
sont des directives de format qui peuvent être trouvées dansman find
(recherchez la cinquième instance deprintf
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 utilitairessort -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
la source
Pour les
zsh
utilisateurs, vous pouvez également utiliser des qualificatifs glob (également documentés surman zshexpn
):Où
o
représente l' ordre de tri, vers le haut etm
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:
Ou enchaîné avec un autre qualificatif global:
la source