D’habitude, nous avons l’habitude de sauvegarder beaucoup d’informations sous forme de fichiers sur notre système. Certains fichiers sont cachés, d’autres sont conservés dans un dossier séparé créé pour notre compréhension, tandis que d’autres le sont tels quels. Mais, tout cela remplit nos répertoires, généralement le bureau, ce qui le rend désordonné. Mais le problème survient lorsque nous devons rechercher un fichier particulier modifié à une date et une heure particulières dans cette immense collection.

Les personnes à l’aise avec les interfaces graphiques peuvent le trouver en utilisant le gestionnaire de fichiers, qui répertorie les fichiers dans un format de liste longue, ce qui facilite la compréhension de ce que nous voulions, mais les utilisateurs habitués aux écrans noirs, ou même quiconque travaillant sur des serveurs dépourvus d’interfaces graphiques voudrait une commande simple ou un ensemble de commandes qui pourraient faciliter leur recherche.
La véritable beauté de Linux se manifeste ici, car Linux dispose d’une collection de commandes qui, si elles sont utilisées séparément ou ensemble, peuvent aider à rechercher un fichier, ou à trier une collection de fichiers selon leur nom, leur date de modification, leur heure de création, ou même tout filtre auquel vous pourriez penser à appliquer pour obtenir votre résultat.
Ici, nous dévoilerons la véritable force de Linux en examinant un ensemble de commandes qui peuvent aider à trier un fichier ou même une liste de fichiers par Date et Heure.
Utilitaires Linux pour trier les fichiers dans Linux
Quelques utilitaires de ligne de commande Linux de base qui sont suffisants pour trier un répertoire en fonction de Date et Heure sont :
la commande ls
ls – Afficher le contenu du dossier, cette utilité peut lister les fichiers et dossiers et peut même afficher toutes les informations de statut concernant eux, y compris : la date et l’heure de modification ou d’accès, les permissions, la taille, le propriétaire, le groupe, etc.
Nous avons déjà couvert beaucoup d’articles sur Linux commande ls et commande sort, vous pouvez les trouver ci-dessous :
- Apprenez la commande ls avec 15 exemples de base
- Apprenez 7 commandes avancées ls avec exemples
- 15 questions d’entretien utiles sur la commande ls dans Linux
commande sort
sort – Cette commande peut être utilisée pour trier l’affichage de n’importe quelle recherche en fonction de n’importe lequel champ ou n’importe laquelle colonne du champ.
Nous avons déjà couvert deux articles sur Linux commande sort, vous pouvez les trouver ci-dessous :
- 14 exemples de la commande ‘sort’ de Linux – Partie 1
- 7 exemples utiles de la commande ‘sort’ de Linux – Partie 2
Ces commandes sont en elles-mêmes des commandes très puissantes à maîtriser si vous travaillez sur des écrans noirs et devez traiter de nombreux fichiers, juste pour obtenir celui que vous voulez.
Quelques façons de trier les fichiers par date et heure
Voici la liste des commandes pour trier les fichiers en fonction de la date et de l’heure.
1. Liste des fichiers basée sur l’heure de modification
La commande ci-dessous liste les fichiers au format de liste longue et trie les fichiers en fonction de l’heure de modification, les plus récents en premier. Pour trier dans l’ordre inverse, utilisez l’option '-r'
avec cette commande.
# ls -lt total 673768 -rwxr----- 1 tecmint tecmint 3312130 Jan 19 15:24 When You Are Gone.MP3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony-1.mp3 -rwxr----- 1 tecmint tecmint 4177212 Jan 19 15:24 When I Dream At Night - Marc Anthony.mp3 -rwxr----- 1 tecmint tecmint 6629090 Jan 19 15:24 Westlife_Tonight.MP3 -rwxr----- 1 tecmint tecmint 3448832 Jan 19 15:24 We Are The World by USA For Africa (Michael Jackson).mp3 -rwxr----- 1 tecmint tecmint 8580934 Jan 19 15:24 This Love.mp3 -rwxr----- 1 tecmint tecmint 2194832 Jan 19 15:24 The Cross Of Changes.mp3 -rwxr----- 1 tecmint tecmint 5087527 Jan 19 15:24 T.N.T. For The Brain 5.18.mp3 -rwxr----- 1 tecmint tecmint 3437100 Jan 19 15:24 Summer Of '69.MP3 -rwxr----- 1 tecmint tecmint 4360278 Jan 19 15:24 Smell Of Desire.4.32.mp3 -rwxr----- 1 tecmint tecmint 4582632 Jan 19 15:24 Silence Must Be Heard 4.46.mp3 -rwxr----- 1 tecmint tecmint 4147119 Jan 19 15:24 Shadows In Silence 4.19.mp3 -rwxr----- 1 tecmint tecmint 4189654 Jan 19 15:24 Sarah Brightman & Enigma - Eden (remix).mp3 -rwxr----- 1 tecmint tecmint 4124421 Jan 19 15:24 Sade - Smooth Operator.mp3 -rwxr----- 1 tecmint tecmint 4771840 Jan 19 15:24 Sade - And I Miss You.mp3 -rwxr----- 1 tecmint tecmint 3749477 Jan 19 15:24 Run To You.MP3 -rwxr----- 1 tecmint tecmint 7573679 Jan 19 15:24 Roger Sanchez_Another Chance_Full_Mix.mp3 -rwxr----- 1 tecmint tecmint 3018211 Jan 19 15:24 Principal Of Lust.3.08.mp3 -rwxr----- 1 tecmint tecmint 5688390 Jan 19 15:24 Please Forgive Me.MP3 -rwxr----- 1 tecmint tecmint 3381827 Jan 19 15:24 Obvious.mp3 -rwxr----- 1 tecmint tecmint 5499073 Jan 19 15:24 Namstey-London-Viraaniya.mp3 -rwxr----- 1 tecmint tecmint 3129210 Jan 19 15:24 MOS-Enya - Only Time (Pop Radio mix).m
2. Liste des fichiers basée sur l’heure du dernier accès
Liste des fichiers dans un répertoire en fonction de l’heure du dernier accès, c’est-à-dire en fonction de l’heure à laquelle le fichier a été consulté pour la dernière fois, et non modifié.
# ls -ltu total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Linux-ISO drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Music-Player drwx------ 3 tecmint tecmint 4096 Jan 19 15:22 tor-browser_en-US drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 bin drwxr-xr-x 11 tecmint tecmint 4096 Jan 19 15:22 Android Games drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Songs drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 renamefiles drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 katoolin-master drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 Tricks drwxr-xr-x 3 tecmint tecmint 4096 Jan 19 15:22 Linux-Tricks drwxr-xr-x 6 tecmint tecmint 4096 Jan 19 15:22 tuptime drwxr-xr-x 4 tecmint tecmint 4096 Jan 19 15:22 xdm drwxr-xr-x 2 tecmint tecmint 20480 Jan 19 15:22 ffmpeg usage drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:22 xdm-helper
3. Liste des fichiers basée sur l’heure de la dernière modification
Liste des fichiers dans un répertoire en fonction de l’heure de la dernière modification des informations d’état du fichier, ou du 'ctime'
. Cette commande liste d’abord le fichier dont les informations d’état telles que le propriétaire, le groupe, les permissions, la taille, etc. ont été modifiées récemment.
# ls -ltc total 3084272 drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 15:24 Music drwxr-xr-x 2 tecmint tecmint 4096 Jan 19 13:05 img -rw------- 1 tecmint tecmint 262191 Jan 19 12:15 tecmint.jpeg drwxr-xr-x 5 tecmint tecmint 4096 Jan 19 10:57 Desktop drwxr-xr-x 7 tecmint tecmint 12288 Jan 18 16:00 Downloads drwxr-xr-x 13 tecmint tecmint 4096 Jan 18 15:36 VirtualBox VMs -rwxr-xr-x 1 tecmint tecmint 691 Jan 13 14:57 special.sh -rw-r--r-- 1 tecmint tecmint 654325 Jan 4 16:55 powertop-2.7.tar.gz.save -rw-r--r-- 1 tecmint tecmint 654329 Jan 4 11:17 filename.tar.gz drwxr-xr-x 3 tecmint tecmint 4096 Jan 4 11:04 powertop-2.7 -rw-r--r-- 1 tecmint tecmint 447795 Dec 31 14:22 Happy-New-Year-2016.jpg -rw-r--r-- 1 tecmint tecmint 12 Dec 18 18:46 ravi -rw-r--r-- 1 tecmint tecmint 1823 Dec 16 12:45 setuid.txt ...
Si l’option '-a'
est utilisée avec les commandes ci-dessus, elles peuvent également lister et trier les fichiers cachés dans le répertoire actuel, et l’option '-r'
liste la sortie dans l’ordre inverse.
Pour un tri plus approfondi, comme le tri selon la Sortie de la commande find, cependant ls
peut également être utilisé, mais là 'sort'
s’avère plus utile car la sortie peut ne pas contenir uniquement le nom du fichier mais n’importe quel champ souhaité par l’utilisateur.
Les commandes ci-dessous montrent l’utilisation de la commande sort
avec la commande find
pour trier la liste des fichiers en fonction de la Date et de l’Heure.
Pour en savoir plus sur la commande find, suivez ce lien : 35 exemples pratiques de la commande ‘find’ sous Linux
4. Tri des fichiers par mois
Ici, nous utilisons la commande find
pour trouver tous les fichiers dans le répertoire racine ('/')
et afficher le résultat sous la forme : Mois dans lequel le fichier a été accédé, suivi du nom du fichier. Parmi ce résultat complet, voici les 11 premières entrées.
# find / -type f -printf "\n%Ab %p" | head -n 11 Dec /usr/lib/nvidia/pre-install Dec /usr/lib/libcpufreq.so.0.0.0 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libcdr-0.0.so.0.0.15 Dec /usr/lib/msttcorefonts/update-ms-fonts Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn
La commande ci-dessous trie la sortie en utilisant la clé comme premier champ, spécifié par '-k1'
, puis elle trie par mois comme spécifié par 'M'
devant.
# find / -type f -printf "\n%Ab %p" | head -n 11 | sort -k1M Apr /usr/lib/libcdr-0.0.so.0.0.15 Apr /usr/lib/libchromeXvMCPro.so.1.0.0 Apr /usr/lib/libchromeXvMC.so.1.0.0 Apr /usr/lib/libt1.so.5.1.2 Nov /usr/lib/ldscripts/elf32_x86_64.xr Nov /usr/lib/ldscripts/elf_i386.xbn Nov /usr/lib/ldscripts/i386linux.xn Dec /usr/lib/libcpufreq.so.0.0.0 Dec /usr/lib/msttcorefonts/update-ms-fonts Dec /usr/lib/nvidia/pre-install
5. Trier les fichiers par date
Ici, nous utilisons à nouveau la commande find
pour trouver tous les fichiers dans le répertoire racine, mais cette fois nous afficherons le résultat sous la forme : dernière date à laquelle le fichier a été accédé, dernière heure à laquelle le fichier a été accédé, suivi du nom du fichier. Parmi cela, nous sélectionnons les 11 premières entrées.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
La commande de tri ci-dessous trie d’abord en fonction du dernier chiffre de l’année, puis en fonction du dernier chiffre du mois dans l’ordre inverse et enfin en fonction du premier champ. Ici, ‘1.8‘ signifie 8ème colonne du premier champ et ‘n‘ signifie un tri numérique, tandis que ‘r‘ indique un tri par ordre inverse.
# find / -type f -printf "\n%AD %AT %p" | head -n 11 | sort -k1.8n -k1.1nr -k1 12/07/15 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 12/08/15 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12/18/15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 11/12/15 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn 04/11/15 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 04/11/15 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 04/11/15 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 04/11/15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0
6. Tri des fichiers par heure
Ici, nous utilisons de nouveau la commande find
pour lister les 11 fichiers les plus importants dans le dossier racine et afficher le résultat sous la forme : date de dernière consultation et nom de fichier.
# find / -type f -printf "\n%AT %p" | head -n 11 11:30:38.0000000000 /usr/lib/nvidia/pre-install 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
La commande suivante trie la sortie en fonction de la première colonne du premier champ de la sortie, qui est le premier chiffre de l’heure.
# find / -type f -printf "\n%AT %p" | head -n 11 | sort -k1.1n 06:08:34.9819910430 /usr/lib/libchromeXvMCPro.so.1.0.0 06:08:34.9939910430 /usr/lib/libt1.so.5.1.2 06:08:35.0099910420 /usr/lib/libcdr-0.0.so.0.0.15 06:08:35.0099910420 /usr/lib/libchromeXvMC.so.1.0.0 10:34:45.2694776230 /usr/lib/libcpufreq.so.0.0.0 11:19:25.2656728990 /usr/lib/msttcorefonts/update-ms-fonts 11:30:38.0000000000 /usr/lib/nvidia/pre-install 12:56:34.0000000000 /usr/lib/ldscripts/elf32_x86_64.xr 12:56:34.0000000000 /usr/lib/ldscripts/elf_i386.xbn 12:56:34.0000000000 /usr/lib/ldscripts/i386linux.xn
7. Tri de la sortie de ls -l en fonction de la date
Cette commande trie la sortie de la commande 'ls -l'
en fonction du 6e champ, du mois, puis en fonction du 7e champ, qui est le jour, numériquement.
# ls -l | sort -k6M -k7n total 116 -rw-r--r-- 1 root root 0 Oct 1 19:51 backup.tgz drwxr-xr-x 2 root root 4096 Oct 7 15:27 Desktop -rw-r--r-- 1 root root 15853 Oct 7 15:19 powertop_report.csv -rw-r--r-- 1 root root 79112 Oct 7 15:25 powertop.html -rw-r--r-- 1 root root 0 Oct 16 15:26 file3 -rw-r--r-- 1 root root 13 Oct 16 15:17 B -rw-r--r-- 1 root root 21 Oct 16 15:16 A -rw-r--r-- 1 root root 64 Oct 16 15:38 C
Conclusion
De même, en possédant quelques connaissances sur la commande sort, vous pouvez trier presque n’importe quelle liste en fonction de n’importe quel champ et même sa colonne souhaitée. Ces sont quelques astuces pour vous aider à trier des fichiers en fonction de la date ou de l’heure. Vous pouvez mettre en œuvre vos propres astuces basées sur celles-ci. Cependant, si vous avez une autre astuce intéressante, vous pouvez toujours l’ mentionner dans vos commentaires.
Source:
https://www.tecmint.com/find-and-sort-files-modification-date-and-time-in-linux/