web-dev-qa-db-fra.com

Comment puis-je faire en sorte que dir ait des couleurs pour les fichiers / répertoires comme ls le fait?

Je suis sous Ubuntu 18.04 et je suis très habitué à taper dir à la place de ls comme habitude. Lorsque j'utilise ls, je reçois le contenu du répertoire répertorié avec des couleurs différentes pour les fichiers et les répertoires, comme il fallait s'y attendre, cependant, lorsque je tape dir, j'obtiens la même chose sans couleurs. J'essaie de faire en sorte que dir utilise les couleurs utilisées par ls ou l'imite lui-même par tous les moyens possibles. Ces tentatives ont été tentées sans succès:

  • dircolors
  • Aliasing dir comme ls dans mon .bashrc
  • Essayer de trouver où se trouve la commande dir/alias (je ne l'ai pas trouvé et je n'ai pas eu la chance de googler son emplacement)
  • mettre 'dir - couleur = toujours' et 'dir - couleur = auto' dans mon .bashrc, qui fonctionne une fois, mais les appels suivants ne le sont pas
1
aklingam

Vous pouvez alias dir à dir --color en ajoutant la ligne suivante à .bashrc

alias dir="dir --color"

Ajouter uniquement dir --color=always ne créera pas l'alias, mais exécutera la commande lorsque vous démarrerez un nouveau shell de connexion.

Vous devez également redémarrer votre terminal après avoir modifié le fichier .bashrc ou vous pouvez exécuter

source ~/.bashrc

Remarque: dir --color=always et dir --color sont équivalents. La valeur par défaut du paramètre color est always lorsqu'il est omis.

2
Dan

Bonjour et bienvenue sur Ask Ubuntu!

man dir pointe sur:

--color[=WHEN]
              colorize the output; WHEN can be 'always' (default if omitted), 'auto', or 'never'; more info below

Donc, vous cherchez le drapeau --color comme vous le pensiez correctement.

Le fait est que vous ne devriez pas mettre le commandedir --color dans votre .bashrc mais vous devriez créer un nouvel alias:

alias dir='dir --color'

De plus, sur mon système, les couleurs dir sont exactement les mêmes que ls.

1
Mr Shunz

Pour activer la prise en charge de la couleur de ls et également gérer d'autres alias, vous pouvez ajouter une couleur manuelle comme couleur par défaut.

if [ -x /usr/bin/dircolors ]; then

    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    alias dir='dir --color=auto'

fi

J'espère que cela t'aides.

0