in

Comment utiliser la commande ls pour répertorier les fichiers et les répertoires sous Linux

Fatmawati Achmad Zaenuri / Shutterstock

Nous utilisons le Linux ls commande tous les jours sans y penser. C’est dommage. Faites-y attention et vous trouverez de nombreuses options utiles, dont certaines que vous devriez ajouter à votre arsenal de ligne de commande.

ls répertorie les fichiers et répertoires

le ls La commande est probablement la première commande que la plupart des utilisateurs de Linux rencontrent. Ceux d’entre nous qui traînent autour de la ligne de commande l’utilisent jour après jour sans même y penser. Cela pourrait expliquer pourquoi cette commande a plus à offrir que la plupart des utilisateurs ne le pensent. Nous listons les fichiers avec pour voir ce qu’il y a dans un répertoire. Nous listons les fichiers au format long lorsque nous voulons examiner les autorisations sur un fichier. Au-delà de cela, il est peu considéré.

le ls command est l’une de ces commandes avec une multitude d’options. Cela fait peut-être partie du problème. Il y a tellement d’options, comment les parcourir pour trouver celles qui sont utiles? Et les ayant trouvés, comment vous en souvenez-vous?

Permutations utiles du ls command avec leurs chaînes d’options et de paramètres sont les candidats parfaits pour les alias. En fait, dans la plupart des distributions, ce que vous considérez comme «nu» ls commande est en fait un alias. Entre autres, le type la commande peut être utilisée pour afficher la définition sous-jacente des alias. Regardons la définition de ls:

type ls

tapez ls dans une fenêtre de terminal

le --color=auto les paramètres sont inclus automatiquement chaque fois que vous utilisez le ls commander. C’est ce qui fournit les différentes couleurs pour les différents types de fichiers dans les listes.

Annonces ls simples

Tous ceux qui ont passé du temps à utiliser le terminal Linux savent que, par défaut, ls répertorie les fichiers et répertoires dans le répertoire courant.

ls

ls dans une fenêtre de terminal

Si vous souhaitez que votre annonce soit produite dans une seule colonne, utilisez le -1 (un fichier par ligne) option:

ls -1

ls -1 dans une fenêtre de terminal

Nous discuterons de ce nom de fichier étrange en haut de la liste dans une minute.

Utilisation de ls sur différents répertoires

Avoir ls lister les fichiers dans un répertoire autre que le répertoire courant, passer le chemin du répertoire à ls sur la ligne de commande. Vous pouvez également transmettre plusieurs répertoires à ls, et faites-les lister les uns après les autres. Ici, nous demandons ls pour lister les fichiers dans deux répertoires, l’un appelé «Help» et l’autre appelé «gc_help».

ls Help gc_help

Aide ls gc_help dans une fenêtre de terminal

Quand ls a répertorié le contenu du premier répertoire, il répertorie le contenu du second. Il imprime le nom de chaque répertoire au fur et à mesure qu’il les traite:

Nom du répertoire affiché par ls avant que le contenu ne soit répertorié.

Utilisation des modèles de fichier

Pour répertorier de manière sélective un ensemble de fichiers, utilisez la correspondance de modèles. Le point d’interrogation « ?« Représentera n’importe quel caractère et l’astérisque »*»Représentera n’importe quelle chaîne de caractères. Pour répertorier tous les fichiers ou répertoires dont le nom commence par «ip_», utilisez ce format:

ls ip_*

ls ip_ * dans une fenêtre de terminal

Pour répertorier les fichiers dotés d’extensions «.c», utilisez ce format:

ls *.c

ls * .c dans une fenêtre de terminal

Vous pouvez aussi utiliser ls avec grep , et utilise grepde capacités de correspondance de modèle. Cherchons tous les fichiers dont le nom contient la chaîne «_pin_»:

ls | grep _pin_

ls |  grep _pin_ dans une fenêtre de terminal

C’est presque la même chose que d’utiliser ls seul, avec deux caractères génériques:

ls | grep _pin_
ls *_pin_*

ls |  grep _pin_ dans une fenêtre de terminal

Pourquoi pareil? Notez les différentes dispositions. grep force la sortie à un seul nom de fichier par format de ligne.

Caractères non imprimables

Il est possible de se retrouver avec un nom de fichier qui a un caractère non imprimable ou de contrôle dans son nom de fichier. Cela peut généralement se produire lorsque vous développez une archive que vous avez téléchargée sur le Web ou que vous avez récupéré un référentiel git, et que l’auteur d’origine a fait une erreur en créant un fichier mais ne l’a pas repéré.

Notre fichier étrange est l’un de ceux-ci:

Nom de fichier avec caractère de contrôle dans une fenêtre de terminal

Si nous le regardons dans le navigateur de fichiers et appuyez sur «F2» pour le renommer, les caractères non imprimables sont représentés par un symbole étrange.

Nom de fichier avec un caractère de contrôle, dans la fenêtre de dialogue de changement de nom

Vous pouvez utiliser le -b (escape) pour vous permettre de voir ce que le nom de fichier contient réellement. Cette option entraîne ls pour utiliser les séquences d’échappement du Langage de programmation C pour représenter les caractères de contrôle.

ls -b a*

ls -ba * dans une fenêtre de terminal

Le personnage mystérieux se révèle être un caractère de nouvelle ligne, représenté en C par « n».

Ignorer les fichiers

Pour que certains fichiers soient omis d’une liste, utilisez le --hide option. Supposons que vous ne vouliez pas voir les fichiers de sauvegarde «.bak» dans la liste. Vous pouvez utiliser cette commande:

ls
ls --hide=*.bak

ls --hide = *. bak dans une fenêtre de terminal

Les fichiers «.bak» ne sont pas inclus dans la deuxième liste.

La liste au format long

le -l (liste longue) causes ls pour fournir des informations détaillées sur chaque fichier.

ls -l

ls -l dans une fenêtre de terminal

Il y a beaucoup d’informations ici, alors passons en revue.

La première chose ls affiche la taille totale de tous les fichiers de la liste. Ensuite, chaque fichier ou répertoire est affiché sur une ligne par lui-même.

Le premier ensemble de dix lettres et tirets correspond au type de fichier et au propriétaire, au groupe et aux autres autorisations de fichier.

Le tout premier caractère représente le type de fichier. Ce sera l’un des:

  • : Un fichier régulier.
  • b: Un fichier spécial de bloc.
  • c: Un fichier spécial de caractère.
  • : Un répertoire.
  • l: Un lien symbolique.
  • n: Un fichier réseau.
  • p: Un tube nommé.
  • s: Une prise.

Les neuf caractères suivants sont trois groupes de trois caractères affichés de manière contiguë. Chaque groupe de trois représente les autorisations de lecture, d’écriture et d’exécution, dans cet ordre. Si l’autorisation est accordée, il y aura un r, w, ou x présent. Si l’autorisation n’est pas accordée, un trait d’union - est montré.

Le premier jeu de trois caractères correspond aux autorisations du propriétaire du fichier. Le deuxième ensemble de trois autorisations est destiné aux membres du groupe et le dernier ensemble de trois autorisations est destiné aux autres.

Parfois, l’autorisation d’exécution pour le est représentée par un s. C’est le setuid bit. S’il est présent, cela signifie que le fichier est exécuté avec les privilèges du propriétaire du fichier, et non de l’utilisateur exécutant le fichier.

L’autorisation d’exécution pour le peut également être un s. C’est le setgid bit. Lorsque cela est appliqué à un fichier, cela signifie que le fichier sera exécuté avec les privilèges du groupe de l’ower. Lorsqu’il est utilisé avec un répertoire, tous les fichiers créés à l’intérieur de celui-ci retireront leurs autorisations de groupe de celui dans lequel ils sont créés, et non de l’utilisateur qui crée le fichier.

L’autorisation d’exécution pour les autres peut parfois être représentée par un t. C’est le peu collante. Il est généralement appliqué aux répertoires. Si cela est défini, quels que soient les privilèges d’écriture et d’exécution définis sur les fichiers du répertoire, seul le propriétaire du fichier, le propriétaire du répertoire ou l’utilisateur root peut renommer ou supprimer des fichiers dans le répertoire.

Une utilisation courante du sticky bit est sur des dossiers tels que «/ tmp». Ceci est accessible en écriture par tous les utilisateurs de l’ordinateur. Le bit sticky sur le répertoire garantit que les utilisateurs – et les processus lancés par les utilisateurs – ne peuvent renommer ou supprimer que leurs propres fichiers temporaires.

Nous pouvons voir le sticky bit dans le répertoire «/ tmp». Notez l’utilisation du -d (répertoire) option. Ce qui provoque ls pour rendre compte des détails de l’annuaire. Sans cette option, ls rendra compte des fichiers à l’intérieur du répertoire.

ls -l -d /tmp

ls -l -d / tmp dans une fenêtre de terminal

Le nombre suivant les autorisations est le nombre de liens physiques vers le fichier ou le répertoire. Pour un fichier, il en est généralement un, mais si d’autres liens physiques sont créés, ce nombre augmentera. Un annuaire a généralement au moins deux liens physiques. L’un est un lien vers lui-même, et l’autre est son entrée dans son répertoire parent.

Le nom du propriétaire et du groupe s’affiche ensuite. Ils sont suivis de la taille du fichier et de la date de la dernière modification du fichier. Enfin, le nom du fichier est donné.

Tailles de fichiers lisibles par l’homme

La taille des fichiers en octets n’est pas toujours pratique. Pour voir les tailles de fichier dans les unités les plus appropriées (kilo-octets, mégaoctets, etc.), utilisez le -h (lisible par l’homme) option:

ls -l -h

ls -l -h dans une fenêtre de terminal

Affichage des fichiers cachés

Pour voir les fichiers cachés, utilisez le -a (tout) option:

ls -l -a

ls -l -a dans une fenêtre de terminal

Les deux entrées « . » et «..» représentent respectivement le répertoire courant et le répertoire parent. Un fichier appelé «.base_settings» est maintenant visible pour la première fois.

Omettre. et .. à partir des listes

Si vous ne voulez pas que votre fiche soit encombrée de « . » et « .. », mais vous voulez voir les fichiers cachés, utilisez le -A (presque tous) option:

ls -l -A

ls -l -A dans une fenêtre de terminal

Le fichier caché est toujours répertorié, mais le « . » et les entrées «..» sont supprimées.

Liste des répertoires de manière récursive

Avoir ls lister les fichiers dans tous les sous-répertoires utiliser le -R (récursif) option

ls -l -R

ls -l -R dans une fenêtre de terminal

ls parcourt toute l’arborescence de répertoires sous le répertoire de départ et répertorie les fichiers dans chaque sous-répertoire.

sortie de ls listant récursivement les répertoires

Affichage de l’UID et du GID

Pour afficher l’ID utilisateur et l’ID de groupe au lieu du nom d’utilisateur et du nom de groupe, utilisez le -n (uid numérique et gid) option.

ls -n

ls -n dans une fenêtre de terminal

Tri des annonces

Vous pouvez trier la liste par extension, taille de fichier ou heure de modification. Ces options n’ont pas à être utilisées avec le format de liste longue, mais il est généralement judicieux de le faire. Si vous triez par taille de fichier, il est logique de voir les tailles de fichier dans la liste. Lorsque vous triez par type d’extension, le format de liste longue n’est pas si important.

Pour trier par extension, utilisez le -X (trier par extension) option.

ls -X -1

ls -X -1 dans une fenêtre de terminal

Les répertoires sont listés en premier (pas d’extensions du tout) puis les autres suivent par ordre alphabétique, en fonction des extensions.

Pour trier par taille de fichier, utilisez le -S (trier par taille de fichier) option.

ls -l -h -S

ls -l -h -S dans une fenêtre de terminal

L’ordre de tri est du plus grand au plus petit.

Pour trier la liste par heure de modification, utilisez le -t (trier par heure de modification) option.

ls -l -t

ls -l -t dans une fenêtre de terminal

La liste est triée par heure de modification.

Si l’heure de modification du fichier se situe dans l’année en cours, les informations affichées sont le mois, le jour et l’heure. Si la date de modification n’était pas dans l’année en cours, les informations affichées sont le mois, le jour et l’année.

Un moyen rapide d’obtenir les fichiers les plus récents et les plus anciens d’un répertoire consiste à utiliser ls avec le head et tail commandes.

Pour obtenir le fichier ou le répertoire le plus récent, utilisez cette commande:

ls -t | head -1

Pour obtenir le fichier ou le répertoire le plus ancien, utilisez cette commande:

ls -t | tail -1

ls -t |  head -1 dans une fenêtre de terminal

Pour inverser l’ordre de tri

Pour inverser l’un des ordres de tri, utilisez le -r (inverse) option.

ls -l -h -S -r

ls -l -h -S -r dans une fenêtre de terminal

La liste est maintenant classée du plus petit fichier au plus gros fichier.

Et il y a plus

Consultez la page de manuel pour ls, il y a beaucoup plus d’options. Certains d’entre eux satisfont des cas d’utilisation quelque peu obscurs, mais de temps en temps, vous serez heureux de les connaître.

Avez-vous besoin de voir les horodatages des fichiers avec la précision maximale que Linux peut fournir? Utilisez l’option à temps plein:

ls --full-time

Vous voulez peut-être voir le numéro d’inode des fichiers? Utilisez l’option inode:

ls -i

Vous travaillez sur un écran monochrome et souhaitez supprimer tout risque de confusion entre les fichiers et les répertoires et les liens? Utilisez l’option classifier, et ls ajoutera l’un de ces éléments à chaque entrée de liste:

  • /: Un répertoire.
  • @: Un lien symbolique.
  • |: Un tube nommé.
  • =: Une prise.
  • *: Un fichier exécutable
ls -F

Faites un peu de fouille. Tu trouveras ça ls est une veine riche, et vous continuerez à produire des gemmes.

Laisser un commentaire

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

Comment basculer et personnaliser l’affichage de la conversation dans Outlook

Quelle est l'efficacité du contrôle parental de Luma?

Quelle est l’efficacité du contrôle parental de Luma?