1625 votes

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 ?

1 votes

Liés (pas nécessairement un doublon) : Unix/Linux find and sort by date modified

23voto

simhumileco Points 627

Mnémonique

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

ls -at

Pour ne pas ignorer les entrées commençant par . et trier en sens inverse par date (les plus anciens en premier):

ls -art

Pour ne pas ignorer les entrées commençant par ., utiliser un format de liste longue et trier par date (les plus récents en premier):

ls -alt

Pour afficher des tailles lisibles par des humains, ne pas ignorer les entrées commençant par ., utiliser un format de liste longue et trier par date (les plus récents en premier) (note de @EvgeniSergeev):

ls -halt

mais soyez prudent avec le dernier, car une simple erreur de frappe peut causer un crash du serveur... (note de @Isaac)

17voto

pbies Points 2111

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

find / -ctime 3

13voto

lfender6445 Points 333

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

ls -t ~/Téléchargements | head -10

ou pour afficher les plus anciens

ls -tr ~/Téléchargements | tail -10

1 votes

Il donne ls -t head -2 et ls -tr | tail -2 donne le même résultat, l'option (-t/-tr) devrait être conservée fixe et modifiée la queue/tête ou vice versa, modifier les deux revient à ne rien modifier

1 votes

Avez-vous vu le commentaire ci-dessus? En effet, on devrait utiliser head dans les deux commandes (pour changer l'ordre de tri également), ou utiliser ls -t dans les deux commandes (qui trierait toujours par date décroissante).

10voto

bbarker Points 306

Utilisation uniquement de commandes Unix très basiques :

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

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

Je débute avec sort, donc cette réponse pourrait probablement être améliorée. Sans parler du fait qu'il faut ajouter des options supplémentaires à ls et sort pour utiliser des horodatages exacts, mais tout le monde n'en aura pas besoin.

6 votes

Je soupçonne que votre réponse n'a pas reçu de votes positifs car elle interprète la sortie de ls - consultez l'argument canonique contre le faire et cette question sur le fait de ne pas interpréter ls

2voto

Aleksandar Pavić Points 579

Une façon possible d'afficher par exemple les 10 derniers fichiers modifiés est la commande suivante :

ls -lrth | tail -n 10

Description de la commande ci-dessus :

ls - liste

arguments :

l - long
r - inverse
t - trier par heure
h - lisible par l'homme

ensuite, il est envoyé à la commande tail, qui affiche seulement les 10 dernières lignes, définies par le paramètre n (nombre de lignes)...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X