GNU/Linux >> Tutoriels Linux >  >> Linux

Comment trouver le fichier le plus ancien dans une arborescence de répertoires sous Linux

L'autre jour, un autre utilisateur de Linux m'a demandé comment trouver le fichier le plus ancien d'un répertoire à partir de la ligne de commande sous Linux. Nous pourrions identifier le fichier le plus ancien d'un répertoire en utilisant les horodatages en mode graphique. Mais, je ne sais pas comment le trouver à partir de la ligne de commande. Heureusement, j'ai trouvé cette solution après quelques recherches sur Google. Si vous vous êtes déjà demandé comment trouver le fichier le plus ancien dans un répertoire ou dans l'ensemble du système de fichiers, lisez la suite. Ce n'est pas si difficile.

Rechercher le fichier le plus ancien dans une arborescence de répertoires sous Linux

Pour trouver le fichier le plus ancien dans un répertoire, par exemple /home/sk/ostechnix/ , exécutez :

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 1

Décomposons cette commande et voyons ce que fait chaque argument de ligne de commande.

Ici,

  • trouver - Rechercher des fichiers dans une hiérarchie de répertoires.
  • /home/sk/ostechnix/ - Localisation de la recherche.
  • tapez -f - Recherche uniquement les fichiers normaux.
  • -printf '%T+ %p\n' - Imprime la date et l'heure de la dernière modification du fichier séparées par + symbole. (Ex. 2015-07-22+13:42:40.0000000000). Ici, %p indique le nom du fichier. \n indique une nouvelle ligne.
  • trier | tête -n 1 - Le tri la commande trie la sortie et envoie la sortie à head commande pour afficher le fichier le plus ancien. Ici, -n 1 indique un seul fichier, c'est-à-dire le fichier le plus ancien.

Comme vous le savez peut-être déjà, Explainshell vous aide à trouver ce que fait chaque partie d'une commande Linux.

La commande ci-dessus a renvoyé le résultat suivant :

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf

Comme vous le voyez dans la sortie ci-dessus, Absolute FreeBSD_ 2nd Edition.pdf est le fichier le plus ancien dans /home/sk/ostechnix/ répertoire.

Veuillez noter que Linux ne trouve pas le fichier le plus ancien en utilisant la date de création du fichier. Au lieu de cela, il utilise la date de modification du fichier pour le trouver.

Télécharger - Cheat Sheet gratuit :"Linux Command Line Cheat Sheet"

De même, pour trouver les cinq fichiers les plus anciens d'un répertoire donné, exécutez simplement :

$ find /home/sk/ostechnix/ -type f -printf '%T+ %p\n' | sort | head -n 5

Exemple de résultat :

2015-07-22+13:42:40.0000000000 /home/sk/ostechnix/Absolute FreeBSD_ 2nd Edition.pdf
2016-11-28+21:03:05.0000000000 /home/sk/ostechnix/Etcher-linux-x64.AppImage
2016-12-14+18:28:20.5162190000 /home/sk/ostechnix/ubuntu.jpg
2016-12-18+18:14:46.5931480000 /home/sk/ostechnix/Marconi Union - Sleepless.mp3
2017-03-17+19:28:27.8193330000 /home/sk/ostechnix/The Devops toolkit.pdf

Le fichier le plus ancien sera affiché en premier.

Pour trouver le fichier le plus ancien dans tout le système de fichiers racine (/), exécutez :

$ sudo find / -type f -printf '%T+ %p\n' | sort | head -n 1

Mise à jour :

Un autre utilisateur de Linux a indiqué comment trouver les fichiers les plus anciens ou les plus récents dans un répertoire dans la section des commentaires ci-dessous. C'est beaucoup plus simple que ma méthode.

Pour trouver le fichier le plus ancien d'un répertoire, accédez à ce répertoire et exécutez :

$ ls -lt | tail -1

Pour connaître le fichier le plus récent d'un répertoire :

$ ls -ltr | tail -1

J'espère que cela vous a été utile.


Linux
  1. Comment trouver un fichier sous Linux

  2. Comment trouver un fichier sous Linux dans tous les répertoires de manière récursive

  3. Linux - Comment inspecter les informations de structure de répertoire d'un fichier Unix/linux ?

  4. Comment diriger les résultats de 'find' vers mv sous Linux

  5. Comment trouver le gestionnaire de fichiers par défaut ?

Comment trouver une chaîne dans un fichier sous Linux

Comment trouver la taille d'un répertoire sous Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

Comment limiter la profondeur de la liste récursive des fichiers sous Linux

Comment trouver la taille totale d'un répertoire sous Linux

La commande Linux find Directory :Explication