web-dev-qa-db-fra.com

Comment puis-je trier la sortie de 'ls' par date de dernière modification?

Comment puis-je trier la sortie de ls par date de dernière modification?

1318
nearly_lunchtime
ls -t

ou (pour l'inverse, le plus récent en bas):

ls -tr

La page de manuel ls décrit cette opération plus en détail et répertorie d'autres options.

1580
Adnan

Essayez ceci: ls -ltr. Il vous donnera le récent à la fin de la liste

145
Rana

Pour une réponse complète, voici ce que j'utilise: ls -lrth

Mettez ceci dans votre script de démarrage /etc/bashrc et attribuez un alias comme celui-ci: alias l='ls -lrth' Redémarrez votre terminal. Vous devriez pouvoir taper l et voir une longue liste de fichiers.

42
Dejan

J'utilise parfois ceci:

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -tr

ou

find . -type f -mmin -5 -print0 | xargs -0 /bin/ls -ltr

regarder récursivement à propos des fichiers modifiés au cours des 5 dernières minutes.

... ou maintenant, avec la version récente de GNU find :

find . -type f -mmin -5 -exec ls -ltr {} +

... et même pour ne pas limiter les fichiers :

find . -mmin -5 -exec ls -ltrd {} +

(notez que -d est passé à ls pour ne pas afficher le contenu des répertoires)

28
F. Hauri

Ajouter:

alias lt='ls -Alhtr'

dans $homedir/.bashrc

20
Layer8

Trouvez tous les fichiers du système de fichiers qui ont été modifiés au maximum il y a 3 * 24 heures (3 jours) jusqu'à maintenant:

find / -ctime 3
12
pbies

Mnémonique

Pour ne pas ignorer les entrées commençant par . et trier par date (le plus récent en premier):

ls -at

Pour ne pas ignorer les entrées commençant par . et inverser le tri par date (le plus ancien en premier):

ls -art

Pour ne pas ignorer les entrées commençant par ., utilisez un format de liste long et triez par date (le plus récent en premier):

ls -alt

Pour les formats d'impression lisibles par l'homme, n'ignorez pas les entrées commençant par ., utilisez un format de liste long et triez par date (le plus récent en premier) (@EvgeniSergeev note):

ls -halt

mais soyez prudent avec le dernier , car un simple type d'erreur peut provoquer un crash du serveur ... (@Isaac note)

10
simhumileco

Pour afficher les 10 derniers triés par date, j'utilise quelque chose comme ceci:

ls -t ~/Downloads | head -10

ou pour montrer le plus vieux

ls -tr ~/Downloads | tail -10
9
lfender6445

En utilisant uniquement des commandes Unix très basiques:

ls -nl | sort -k 8,8n -k 6,6M

Cela a fonctionné sous Linux; la colonne 8 est "n" (numérique), la colonne 6 est "M", mois.

Je suis nouveau à sort, donc cette réponse pourrait probablement être améliorée. Sans oublier, il faut des options supplémentaires à ls et sort pour utiliser des horodatages exacts, mais tout le monde n’en aura pas besoin.

7
bbarker