Normalement, il est bon d’avoir une sortie couleur de ls
, grep
etc., etc. Mais si vous ne le souhaitez pas (par exemple, dans un script dans lequel vous dirigez les résultats vers une autre commande), existe-t-il un commutateur capable de le désactiver? ls -G
l’active (avec certaines versions de BSD ls
) si ce n’est pas la valeur par défaut, mais ls +G
ne le désactive pas. Y at-il autre chose qui va?
50
ls
etgrep
pour la tuyauterie, vous n'avez rien à faire, car vous--color=auto
désactivez déjà la coloration lorsque sa sortie est un tuyau ou, en réalité, autre chose qu'un tty; c'est ce que "auto" signifie. De même, FreeBSDls -G
ou 'CLICOLOR' est 'désactivé si la sortie n'est pas dirigée vers un terminal à moins que ... CLICOLOR_FORCE ...'.Réponses:
La sortie couleur pour
ls
est généralement activée via un alias dans la plupart des distributions de nos jours.Vous pouvez toujours désactiver temporairement un alias en le préfixant avec une barre oblique inverse.
Faire ce qui précède va court-circuiter le pseudonyme uniquement pour cette invocation. Vous pouvez l'utiliser quand vous voulez désactiver n'importe quel alias.
la source
command ls
, bien sûr, mais c'est un peu plus rapide.Avec GNU
ls
, vous pouvez spécifierls --color=never
de désactiver explicitement la sortie couleur. (Même si vous en avez unalias ls='ls --color=auto'
, lorsque vous l'exécutezls --color=never
, il sera étendu àls --color=auto --color=never
, et l'option ultérieure aura la priorité.)la source
Vous pouvez aussi simplement utiliser (comme sous DOS):
Il montrera les résultats sans couleur, vous pouvez ajouter les mêmes arguments à
ls
, comme-l
.la source
ou
Cela désactive définitivement les coloriages.
la source
ls
alias, et vous les perdez pour toute la session, au lieu d’une simple commande.Dans de nombreuses distributions Linux, ceci est activé par défaut chez les utilisateurs
.bashrc
.Editez
~/.bashrc
et supprimez la ligne qui ressemble à:Si vous souhaitez désactiver cette fonctionnalité pour tous les nouveaux comptes générés sur cette machine à l'avenir, supprimez la même ligne à partir de:
la source
Sur Centos7, cela est défini dans
/etc/profile.d/colorls.sh
... les 3 dernières lignes de ce script sont:Si vous avez le désir et les autorisations ... commentez la ligne indésirable devrait faire l'affaire.
la source
unalias ls ll l
en vous.bashrc
si vous n'avez pas les autorisationsPour désactiver la couleur: unalias ls
Pour activer la couleur: alias ls = 'ls --color = auto'
Pour désactiver temporairement la couleur: \ ls -ltr
la source
Il se peut qu'il se passe autre chose.
ls
ne devrait pas utiliser de couleurs à moins de penser qu'il est connecté à quelque chose d'interactif. Il ne faut pas colorer les choses lorsque vous passez à un autre programme.Un alias est généralement une mauvaise idée car vous ne pouvez jamais vous débarrasser de cette option et vous habituer à des paramètres personnels que vous ne pourrez peut-être pas utiliser avec une autre machine sur laquelle vous devez travailler. Si vous avez besoin de l'éteindre pour le diriger vers quelque chose d'autre, utilisez le commutateur dans ce tuyau. Mais, les couleurs ne devraient pas être là dans un tuyau.
Car
ls
, voyez si le vôtre supporte laLS_COLORS
variable d’environnement. Le trapd00r / LS_COLORS vous montre comment cela fonctionne. dircolors vous permet de régler les couleurs de manière minutieuse et par type de fichier. Si vous ne définissez pas,LS_COLORS
mais que la coloration est activée,ls
effectuera un grand nombre d'appels système pour déterminer les types de fichier et les attributs afin de déterminer le type de couleur à colorer. Les personnes derrière Sherlock ont découvert que ce réglageLS_COLORS
pouvait éviter tout cela et donner une vitesse 40 fois supérieure . Lisez leurs détails sanglants pour voir ce qu'ils ont trouvé.Je fais en sorte que tous les types de fichiers utilisent les couleurs par défaut:
Voici le fichier LS_COLORS que j'ai fourni à dircolors:
Pour
grep
, voyez si le vôtre supporteGREP_COLORS
ouGREP_OPTIONS
.la source
ls
séquences d'échappement de sortie GNU pour les couleurs choisies. Comparez la sortie dels --color=always | od -a
avec celle dels --color=never | od -a
avec ce réglage deLS_COLORS
.ls | od -a
ne pas émettre de fuites, et c'est ce que je veux. Lels
doit uniquement émettre ces séquences lorsqu'il envoie la sortie à un terminal. Si vous le lui dites, cependant, c'est sûr que ça va le faire. Alors ne fais pas ça.En ajoutant la réponse de @ brian-d-foy, la plupart du temps, il y a une simple couleur gênante qui vous permet de changer d'instance le bleu invisible du répertoire ou le vert flashy de "OTHER_WRITABLE", nous allons donc utiliser notre 24- affichage de bits :)
redéfinir uniquement la couleur du répertoire et sa couleur en écriture
en savoir plus sur le code ANSI
la source
ls
, et non la modification des couleurs individuelles.