Recherche de site Web

Comment rechercher et trier des fichiers en fonction de la date et de l'heure de modification sous Linux


Habituellement, nous avons l’habitude de sauvegarder beaucoup d’informations sous forme de fichiers sur notre système. Certains fichiers sont cachés, certains sont conservés dans un dossier séparé créé pour notre facilité de compréhension, tandis que d'autres sont tels quels. Mais tout cela remplit nos répertoires ; généralement un ordinateur de bureau, ce qui donne l'impression d'être en désordre. Mais le problème se pose 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 sous forme de liste longue, ce qui permet de déterminer facilement ce que nous voulions, mais les utilisateurs ayant l'habitude des écrans noirs, ou même toute personne travaillant sur des serveurs dépourvus d'interface graphique. veulent une commande simple ou un ensemble de commandes qui pourraient faciliter leur recherche.

La vraie beauté de Linux apparaît ici, car Linux possède 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 en fonction de leur nom, de leur date de modification, de leur heure de création ou même de tout autre élément. filtre que 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 sous Linux

Certains utilitaires de ligne de commande Linux de base qui sont juste suffisants pour trier un répertoire en fonction de la Date et de l'Heure sont :

commande ls

ls – Répertoriant le contenu du répertoire, cet utilitaire peut répertorier les fichiers et les répertoires et peut même répertorier toutes les informations d'état les concernant, notamment : la date et l'heure de modification ou d'accès, les autorisations, la taille, le propriétaire, le groupe, etc. .

Nous avons déjà couvert de nombreux articles sur la commande ls et la commande sort de Linux, vous pouvez les trouver ci-dessous :

  1. Apprenez la commande ls avec 15 exemples de base
  2. Apprenez 7 commandes Advance ls avec des exemples
  3. 15 questions d'entretien utiles sur la commande ls sous Linux

commande de tri

trier – Cette commande peut être utilisée pour trier le résultat de n'importe quelle recherche uniquement en fonction de n'importe quel champ ou de n'importe quelle colonne particulière du champ.

Nous avons déjà couvert deux articles sur la commande de tri Linux, vous pouvez les trouver ci-dessous :

  1. 14 exemples de commandes Linux « trier » – Partie 1
  2. 7 exemples de commandes Linux utiles « trier » – 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 gérer beaucoup de fichiers, juste pour obtenir celui que vous voulez.

Quelques façons de trier les fichiers en utilisant la date et l'heure

Vous trouverez ci-dessous la liste des commandes à trier en fonction de la date et de l'heure.

1. Répertorier les fichiers en fonction de l'heure de modification

La commande ci-dessous répertorie les fichiers sous forme de liste longue et trie les fichiers en fonction de l'heure de modification, en commençant par le plus récent. Pour trier dans l'ordre inverse, utilisez le commutateur '-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. Répertorier les fichiers en fonction de l'heure du dernier accès

Liste des fichiers dans le répertoire en fonction de l'heure du dernier accès, c'est-à-dire en fonction de l'heure du dernier accès au fichier, 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. Répertorier les fichiers en fonction de l'heure de la dernière modification

Liste des fichiers dans le répertoire en fonction de l'heure de la dernière modification des informations d'état du fichier, ou du 'ctime'. Cette commande répertorierait en premier le fichier dont les informations d'état telles que : propriétaire, groupe, autorisations, taille, etc. ont été récemment modifiées.

# 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 le commutateur '-a' est utilisé avec les commandes ci-dessus, ils peuvent lister et trier même les fichiers cachés dans le répertoire actuel, et le commutateur '-r' répertorie la sortie en sens inverse. commande.

Pour un tri plus approfondi, comme le tri sur la Sortie de la commande find, cependant ls peut également être utilisé, mais il y a 'sort ' s'avère plus utile car la sortie peut contenir non seulement le nom du fichier, mais également tous les champs souhaités par l'utilisateur.

Les commandes ci-dessous montrent l'utilisation de 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 commande « find » sous Linux

4. Tri des fichiers en fonction du mois

Ici, nous utilisons la commande find pour rechercher tous les fichiers dans le répertoire racine ('/'), puis imprimons le résultat sous la forme : Mois dans quel fichier a été consulté, puis le nom du fichier. De ce résultat complet, nous répertorions ici les 11 entrées les plus importantes.

# 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 le mois comme spécifié par 'M' devant lui.

# 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 en fonction de la date

Ici encore, nous utilisons la commande find pour rechercher tous les fichiers dans le répertoire racine, mais maintenant nous allons imprimer le résultat comme : dernière date à laquelle le fichier a été consulté, dernière heure à laquelle le fichier a été consulté, puis le nom du fichier. De cela, nous retirons les 11 meilleures 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 sur la base du dernier chiffre de l'année, puis trie sur la base du dernier chiffre du mois dans l'ordre inverse et enfin trie sur la base du premier champ. Ici, '1.8' signifie la 8ème colonne du premier champ et 'n' devant signifie un tri numérique, tandis que 'r' indique l'ordre inverse. tri.

# 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 en fonction du temps

Ici, encore une fois, nous utilisons la commande find pour répertorier les 11 principaux fichiers du répertoire racine et imprimer le résultat au format : la dernière fois que le fichier a été consulté, puis le nom du 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 ci-dessous 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 6ème champ par mois, puis en fonction du 7ème champ qui est la date, 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 ayant une certaine connaissance de la commande sort, vous pouvez trier presque n'importe quelle liste en fonction de n'importe quel champ et même de n'importe quelle colonne de votre choix. Voici quelques astuces pour vous aider à trier les fichiers en fonction de la date ou de l'heure. Vous pouvez créer vos propres astuces sur cette base. Cependant, si vous avez une autre astuce intéressante, vous pouvez toujours la mentionner dans vos commentaires.