Sortie colorée pour la commande ls : que signifient-elles ?


  • Français


  • Je suis sûr que vous avez dû utiliser la commande ls pour lister le contenu d’un répertoire. Dans Ubuntu et de nombreuses autres distributions, vous verrez la sortie de la commande ls dans différentes couleurs.

    Si vous ne le voyez pas, vous pouvez obtenir une sortie colorée comme celle-ci :

    ls --color=auto

    Mais vous êtes-vous déjà demandé ce que signifient ces couleurs dans la sortie de la commande ls ?

    Je vais répondre aux questions dans cet article. Je montrerai également comment obtenir une sortie colorée avec la commande ls si votre terminal ne l’affiche pas par défaut.

    Signification des couleurs utilisées dans la commande ls dans Ubuntu

    🚧

    Il n’y a pas de norme définie pour les couleurs dans la sortie de la commande ls. Différents terminaux et distributions utilisent différents codes de couleur et vous pouvez également le modifier à votre guise. En d’autres termes, ne vous fiez pas aux couleurs.

    J’utilise le terminal Ubuntu par défaut et son profil de couleur dans cette section.

    Lorsque vous répertoriez des fichiers à l’aide de la commande ls, elle utilise différentes couleurs pour indiquer différents types de fichiers.

    La plupart des terminaux afficheront les fichiers exécutables, les liens, les fichiers normaux et les répertoires dans différentes couleurs afin que vous puissiez facilement les distinguer.

    Certains terminaux, comme celui par défaut d’Ubuntu, passent au niveau supérieur et ajoutent plus de couleurs pour les fichiers musicaux, les images et les vidéos.

    Pour les démonstrations, j’ai répertorié les fichiers de différents répertoires qui remplissaient ma fenêtre de terminal avec différentes couleurs dans Ubuntu :

    différentes couleurs utilisées par la commande ls

    Cela semble déroutant ? Laissez-moi décoder chacun pour vous !

    Couleur Description
    Bleu audacieux Répertoires.
    Non coloré Fichier ou lien multi-hard.
    Cyan gras Un lien symbolique pointant vers un fichier.
    Vert audacieux Un fichier exécutable (scripts ayant un .sh extension).
    Rouge vif Fichier d’archive (principalement un fichier tarball ou zip).
    Magenta Indique des images et des fichiers vidéo.
    cyan Fichiers audio.
    Jaune avec bg noir Un fichier pipe (appelé FIFO).
    Rouge sang avec bg noir Un lien symbolique rompu.
    Non coloré (blanc) avec bg rouge Indique le fichier set-user-ID.
    Noir avec bg jaune Indique le fichier set-group-ID.
    Blanc avec bg bleu Affiche un répertoire collant.
    Bleu avec bg vert Pointe vers un autre répertoire inscriptible
    Noir avec bg vert Lorsqu’un répertoire a des caractéristiques à la fois de répertoires collants et d’autres répertoires inscriptibles.

    📋

    Encore une fois, les données de couleur ci-dessus sont basées sur les paramètres par défaut du terminal et si vous modifiez la palette de couleurs, vous n’obtiendrez pas de résultats similaires.

    Mais que se passe-t-il si votre terminal n’affiche aucune couleur ? Eh bien, il y a une raison et une solution à cela.

    Que faire si la commande ls n’affiche pas de sortie colorée ?

    Voici la chose. La commande ls n’est pas censée afficher les couleurs en sortie par défaut. Il affichera les couleurs si vous utilisez le --color=auto drapeau.

    ls --color=auto

    Alors pourquoi la commande ls ajoute-t-elle des couleurs par défaut dans Ubuntu et certaines autres distributions ? C’est parce que votre distribution a un jeu d’alias pour que la commande ls utilise le --color=auto drapeau lorsque vous exécutez la commande ls :

    alias

    Ainsi, si la commande ls n’affiche pas la sortie colorée, l’alias n’est pas défini par défaut.

    Maintenant, vous pouvez utiliser --color=auto drapeau chaque fois que vous utilisez la commande ls

    Utilisez l'indicateur --color=auto avec la commande ls pour obtenir la sortie colorée

    Mais ce n’est pas très pratique. Au lieu de cela, vous devez créer un alias et l’ajouter à votre bashrc afin que la commande ls affiche les couleurs par défaut.

    Créer un alias permanent pour ls pour afficher les couleurs

    Pour créer un alias permanent, ouvrez d’abord le .bashrc fichier à l’aide de la commande suivante :

    nano ~/.bashrc

    Allez à la fin du fichier en utilisant Alt + / et collez la ligne suivante dans le terminal :

    alias ls="ls --color=auto"

    Une fois cela fait, enregistrez les modifications et quittez l’éditeur de texte nano.

    Pour que les modifications que vous venez d’apporter prennent effet, sourcez le .bashrc déposer:

    source ~/.bashrc

    C’est ça! A partir de maintenant, vous pouvez utiliser la sortie colorée.

    D’où la commande ls obtient-elle la couleur ?

    Vient maintenant la partie intéressante. Où sont définies les couleurs de la commande ls ? La réponse est LS_COLORS.

    Oui. C’est la variable d’environnement spéciale appelée LS_COLORS qui définit les couleurs utilisées par la commande ls.

    Valeur de la variable d'environnement LS_COLORS dans Ubuntu

    C’est bien mais qui définit cette variable ? Et si vous vouliez faire quelques changements ? Je répondrai également à ces questions.

    En fait, vous avez un dédié dircolors commande pour configurer la couleur pour la commande ls.

    Différentes coques ont différents formats pour le profil de couleur. C’est pourquoi vous devez indiquer le shell lorsque vous utilisez cette commande.

    sortie de la commande dircolors pour bash

    Comme vous pouvez le voir, il définit la variable d’environnement LS_COLORS et l’exporte afin que la variable soit disponible pour le sous-shell.

    Maintenant, si vous voulez l’utiliser, vous pouvez soit le copier-coller dans votre fichier bashrc, soit rediriger la sortie comme ceci :

    dircolors -b >> .bashrc

    Et sourcez le fichier pour que les effets soient immédiatement visibles. Vous ne devez le faire qu’une seule fois.

    Comprendre le profil de couleur

    Le LS_COLORS contient des données dans une paire clé-valeur séparées par deux points (:). Si la valeur comporte plusieurs parties, elles sont séparées par un point-virgule (;).

    La clé est généralement prédéfinie. La partie valeur représente les couleurs.

    Donc, s’il dit ln=01;36cela signifie que pour les liens symboliques, la police est en gras et la couleur (36) est le cyan.

    0 pour normal, 1 pour gras, 4 pour souligné. 31 est pour le rouge, 32 pour le vert, etc. Les codes de couleur suivent le code d’échappement ANSI.

    Un autre exemple. or=40;31;01 signifie que le lien vers un fichier inexistant (la clé est ou) utilise un fond noir (code de couleur 40), une couleur rouge et une police en gras (code 01).

    Je pense que l’ordre n’a pas d’importance car les codes ne se chevauchent pas. 31 est le code de la couleur rouge de premier plan et 41 est la couleur de la couleur rouge d’arrière-plan. Donc, si 41 est utilisé, vous savez que c’est pour la couleur de fond.

    Faites-en plus avec la commande ls

    La commande ls peut faire beaucoup plus et à cette fin, nous avons fait un tutoriel détaillé sur la façon d’utiliser la commande ls :

    Utilisation de la commande ls sous Linux

    ls est l’une des commandes les plus simples et les plus fréquemment utilisées sous Linux. Apprenez à l’utiliser efficacement dans ce tutoriel.

    Ce le tutoriel a été demandé par un membre de It’s FOSS sur notre forum communautaire. Si vous avez des suggestions ou des demandes de tutoriel, veuillez utilisez notre plateforme communautaire.

    Avec des contributions d’Abhishek Prakash.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

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

    Copy code