11 façons de lister et de trier les fichiers sous Linux

Il existe de nombreuses façons de lister les fichiers et d’afficher des informations à leur sujet sur les systèmes Linux. Cet article passe en revue un certain nombre de commandes qui fournissent des détails sur les fichiers et fournit des options pour personnaliser vos listes de fichiers pour répondre à vos besoins.

La plupart des commandes répertorient les fichiers dans des répertoires individuels tandis que d’autres pénètrent aussi profondément dans un système de fichiers que vous le souhaitez.

La commande principale pour lister les fichiers est, bien sûr, ls. Cette commande, cependant, dispose d’un grand nombre d’options pour trouver et répertorier uniquement les fichiers que vous souhaitez voir. De plus, il y a toujours trouver pour aider avec des recherches de fichiers très spécifiques.

Liste des fichiers par nom

Le moyen le plus simple de lister les fichiers par nom est simplement de les lister à l’aide de la commande ls. La liste des fichiers par nom (ordre alphanumérique) est, après tout, la valeur par défaut. Vous pouvez choisir le ls (pas de détails) ou le ls-l (beaucoup de détails) pour déterminer votre vue.

$ ls | head -68pgs.pdfAesthetics_Thank_You.pdfalien.pdfAnnual_Meeting_Agenda-20190602.pdfbigfile.bz2bin$ ls -l | head -6-rw-rw-r-- 1 shs shs 10886 Mar 22 2019 8pgs.pdf-rw-rw-r-- 1 shs shs 284003 May 11 2019 Aesthetics_Thank_You.pdf-rw-rw-r-- 1 shs shs 38282 Jan 24 2019 alien.pdf-rw-rw-r-- 1 shs shs 97358 May 19 2019 Annual_Meeting_20190602.pdf-rw-rw-r-- 1 shs shs 18115234 Apr 16 17:36 bigfile.bz2drwxrwxr-x 4 shs shs 8052736 Jul 10 13:17 bin

Dirigez la sortie de ls vers la commande more si vous souhaitez revoir votre liste un écran à la fois.

Liste des fichiers dans l’ordre inverse du nom

Pour inverser la liste des fichiers par nom, ajoutez l’option -r (inverse). Ce sera comme renverser la liste normale.

$ ls -r$ ls -lr

Liste des fichiers par extension de fichier

La commande ls n’analyse pas les types de fichiers par contenu, mais fonctionne avec les noms de fichiers. Il existe cependant une option de commande qui peut lister les fichiers par extension. Si vous ajoutez l’option -X, ls triera les fichiers par nom dans chaque catégorie d’extension. Par exemple, il listera d’abord les fichiers sans extensions (dans l’ordre alphanumérique), puis les fichiers avec des extensions comme.1, . bz2, .c et ainsi de suite.

Liste des répertoires uniquement

Par défaut, la commande ls affichera à la fois les fichiers et les répertoires. Si vous souhaitez répertorier uniquement les répertoires, vous pouvez utiliser l’option -d. Vous obtiendrez une liste comme celle-ci:

$ ls -d */1/ backups/ modules/ projects/ templates/2/ html/ patches/ public/ videos/bin/ new/ private/ save/

Liste des fichiers par taille

Si vous souhaitez lister les fichiers par ordre de taille, ajoutez l’option -S. Notez cependant que cela ne vous montrera pas réellement les tailles (avec d’autres détails de fichier) sauf si vous ajoutez également l’option -l (liste longue). Lors de la liste des fichiers par taille, il est généralement utile de voir que la commande fait ce que vous avez demandé. Notez que la valeur par défaut est d’afficher les fichiers les plus volumineux en premier. Ajoutez l’option -r pour inverser cela (c.-à-d., ls-lSr).

$ ls -lStotal 959492-rw-rw-r-- 1 shs shs 357679381 Sep 19 2019 sav-linux-free-9.tgz-rw-rw-r-- 1 shs shs 103270400 Apr 16 17:38 bigfile-rw-rw-r-- 1 shs shs 79117862 Oct 5 2019 Nessus-8.7.1-ubuntu1110_amd64.deb

Liste des fichiers par propriétaire

Si vous souhaitez lister les fichiers par propriétaire (par ex., dans un répertoire partagé), vous pouvez passer la sortie de la commande ls pour trier et sélectionner la colonne propriétaire en ajoutant -k3 pour trier sur le troisième champ.

$ ls -l | sort -k3 | moretotal 56-rw-rw-r-- 1 dory shs 0 Aug 23 12:27 tasklistdrwx------ 2 gdm gdm 4096 Aug 21 17:12 tracker-extract-files.121srwxr-xr-x 1 root root 0 Aug 21 17:12 ntf_listenerc0c6b8b4567drwxr-xr-x 2 root root 4096 Aug 21 17:12 hsperfdata_root
^
|

En fait, vous pouvez trier n’importe quel champ de cette façon (par exemple, année). Veillez simplement à ajouter un « n” –-k5n – si vous triez sur un champ numérique ou si vous triez dans l’ordre alphanumérique. Cette technique de tri est également utile pour trier le contenu des fichiers, pas seulement pour répertorier les fichiers.

Liste des fichiers par âge

Utilisez l’option -t pour lister les fichiers par ordre d’âge – à quel point ils sont nouveaux. Ajoutez l’option -r pour que les fichiers les plus récemment mis à jour apparaissent en dernier dans la liste. J’utilise cet alias pour m’afficher une liste des fichiers que j’ai récemment mis à jour:

$ alias recent='ls -ltr | tail -8'

Notez que les temps de changement et de modification des fichiers sont différents. Les options -c (changement) et -t (modification) ne donneront pas toujours les mêmes résultats. Si vous modifiez les autorisations sur un fichier et rien d’autre, -c placera ces fichiers en haut de la sortie ls tandis que -t ne le fera pas. Si vous êtes curieux de connaître la différence, regardez la sortie de la commande stat.

$ stat ckacct File: ckacct Size: 200 Blocks: 8 IO Block: 4096 regular fileDevice: 801h/2049d Inode: 829041 Links: 1Access: (0750/-rwxr-x---) Uid: ( 1000/ shs) Gid: ( 1000/ shs)Access: 2020-08-20 16:10:11.063015008 -0400Modify: 2020-08-17 07:26:34.579922297 -0400 <== content changesChange: 2020-08-24 09:36:51.699775940 -0400 <== content or permissions changes Birth: -

Liste des fichiers par groupe

Pour trier les fichiers par les groupes associés, vous pouvez passer la sortie d’une longue liste à la commande sort et lui dire de trier sur la colonne 4.

$ ls -l | sort -k4

Liste des fichiers par date d’accès

Pour lister les fichiers par date d’accès (le plus récemment consulté en premier), utilisez les options -ltu. Le « u » applique l’ordre d’inscription  » par date d’accès « .

$ ls -ltutotal 959500-rwxr-x--- 1 shs shs 200 Aug 24 09:42 ckacct <== most recently used-rw-rw-r-- 1 shs shs 1335 Aug 23 17:45 lte

Liste de plusieurs fichiers sur une seule ligne

Parfois, une liste de fichiers condensée est plus appropriée pour la tâche à accomplir. La commande ls a même des options pour cela. Pour lister les fichiers sur le moins de lignes possible, vous pouvez utiliserformatformat=virgule pour séparer les noms de fichiers par des virgules comme dans cette commande:

$ ls --format=comma1, 10, 11, 12, 124, 13, 14, 15, 16pgs-landscape.pdf, 16pgs.pdf, 17, 18, 19,192.168.0.4, 2, 20, 2018-12-23_OoS_2.pdf, 2018-12-23_OoS.pdf, 20190512_OoS.pdf,'2019_HOHO_application working.pdf' …

Préférez les espaces blancs? Utilisez plutôtformatformat=across.

$ ls --format=across z*z zip zipfiles zipfiles1.bat zipfiles2.batzipfiles3.bat zipfiles4.bat zipfiles.bat zoom_amd64.deb zoomap.pdfzoom-mtg

Ajouter de la profondeur à vos recherches

Alors que ls répertorie généralement les fichiers dans un seul répertoire, vous pouvez choisir de les lister récursivement en utilisant les options -R, en fouillant dans toute la profondeur des répertoires:

$ ls -R zzzzz | grep -v "^$"zzzzz:zzzzzzzzz/zzzz:zzzzzzzz/zzzz/zzz:zzzzzzz/zzzz/zzz/zz:zzzzzz/zzzz/zzz/zz/z:sleeping

Alternativement, vous pouvez utiliser une commande de recherche avec une spécification de profondeur limitée ou illimitée. Dans cette commande, nous demandons à la commande find de ne rechercher que trois niveaux de répertoires :

$ find zzzzz -maxdepth 3zzzzzzzzzz/zzzzzzzzz/zzzz/zzzzzzzz/zzzz/zzz/zz

Choisir ls vs find

Lorsque vous devez lister des fichiers qui répondent à une liste très sélective d’exigences, la commande find est probablement un meilleur outil à utiliser que ls.

Contrairement à ls, la commande find est aussi profonde que possible, sauf si vous la contraignez. Il dispose également de nombreuses autres options et d’une commande -exec qui vous permet de prendre des mesures spécifiques une fois que vous avez trouvé les fichiers que vous recherchez.

Récapitulatif

La commande ls a beaucoup d’options pour lister les fichiers. Regarde-les. Vous pourriez en trouver que vous allez adorer.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *