Come posso configurare Mac Terminal in modo che abbia l'output del colore ls?

328

Come posso configurare Mac Terminal in modo che abbia l'output del colore ls? Sto usando MacOS 10.5

    
posta bmike 10.06.2009 - 07:59
fonte

10 risposte

358

Modifica:

~/.bash_profile

o

~/.profile

e aggiungi la seguente riga per abilitare semplicemente l'output a colori tramite ls :

export CLICOLOR=1

Per personalizzare la colorazione mostrata da ls puoi facoltativamente aggiungere questa variabile, LSCOLORS .

Esempi

  • default

    export LSCOLORS=ExFxCxDxBxegedabagacad
    
  • Puoi usarlo se usi uno sfondo nero

    export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
    
  • Se desideri imitare i colori di un tipico terminale Linux:

    export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd
    

Dopo aver aggiunto quanto sopra a ~/.bash_profile o ~/.profile puoi eseguire il logout / login o il file sorgente nella tua shell, ad esempio:

$ . ~/.bash_profile

NOTA: se hai bisogno di aiuto nella selezione dei colori da utilizzare puoi utilizzare questo strumento online chiamato LSCOLORS Generator .

    
risposta data 10.06.2009 - 20:13
fonte
190

Puoi aggiungere

alias ls='ls -G'

alla tua ~/.bash_profile per ottenere l'output ls colorato.

    
risposta data 10.06.2009 - 08:05
fonte
24

Trovo che tutto ciò di cui ho bisogno sia aggiungere questo al mio ~/.bash_profile

export CLICOLOR=1
    
risposta data 09.05.2015 - 05:17
fonte
13

Se vuoi una combinazione di colori leggibile per Mac OS X Terminal, puoi dare un'occhiata a questo:

Lo uso da più di un anno e potrei non essere in grado di funzionare senza!

Ecco un link aggiornato:

risposta data 19.10.2010 - 16:23
fonte
12

Inoltre puoi personalizzare il colore del prompt (e il suo formato) aggiungendo:

PS1='\[\e[0;33m\]\h:\W \u\$\[\e[m\] '
da

a ~/.bash_profile o ~/.profile file. Dove 0;33 è un giallo regolare che sembra bello nella mia finestra terminale nera / semitrasparente.

Ecco un elenco completo di colori e le loro spiegazioni: link

    
risposta data 05.04.2012 - 08:16
fonte
8

Un'altra opzione è quella di utilizzare il ls di GNU che fa parte del programma 'coreutils'.

Puoi scaricarlo tramite Rudix o Homebrew ( brew info coreutils ) o Macport o Fink. Potrebbe essere preferibile utilizzare una soluzione "Mac OS X-only" se si utilizzano gli stessi file di configurazione della shell su sistemi diversi o se si ha già familiarità con GNU ls.

    
risposta data 15.02.2012 - 22:30
fonte
7

Personalmente, sto usando Oh My Zsh per aggiungere colori e altri trucchi al mio terminale. Penso che sia il modo più semplice.

oh-my-zsh is an open source, community-driven framework for managing your Zsh configuration.

It comes bundled with a ton of helpful functions, helpers, plugins, themes, and a few things that make you shout…

    
risposta data 19.10.2014 - 08:43
fonte
3

Dimentica tutti quei codici enigmatici plurisecolari per amor di Dio, usa il terminale integrato - > Preferenze ... riquadro Impostazioni per impostare lo skin predefinito e modificare i colori ANSI a proprio piacimento. Puoi anche impostare il carattere. Preferisco Menlo 12pt. È così che qualsiasi Joe regolare può farlo ed evitare tutta la pazzesca linea di comando, un modo unix-esque di fare le cose come suggerito da altri poster.

    
risposta data 21.09.2012 - 22:55
fonte
3

Semplicemente aggiungi la seguente riga a ~/.bash_profile file:

export PS1=" \[3[34m\]\u@\h \[3[33m\]\w\[3[31m\]\[3[00m\] $ "

Anteprima:

Questo è il mio colore preferito. Puoi personalizzare ciascuna parte del colore del prompt modificando i codici m (ad esempio 34m ) che sono codici colore ANSI.

Elenco dei codici colore ANSI:

  • Nero: 30 m
  • Rosso: 31 m
  • Verde: 32 m
  • Giallo: 33 m
  • Blu: 34 m
  • Viola: 35 m
  • Ciano: 36 m
  • Bianco: 37m
risposta data 14.01.2018 - 00:38
fonte
3

Combinare tutte le risposte qui è quello che uso:

COLOR_RED="3[0;31m"
COLOR_YELLOW="3[0;33m"
COLOR_GREEN="3[0;32m"
COLOR_OCHRE="3[38;5;95m"
COLOR_BLUE="3[0;34m"
COLOR_WHITE="3[0;37m"
COLOR_RESET="3[0m"

#git_color
function git_color {
  local git_status="$(git status 2> /dev/null)"

  if [[ ! $git_status =~ "working directory clean" ]]; then
    echo -e $COLOR_RED
  elif [[ $git_status =~ "Your branch is ahead of" ]]; then
    echo -e $COLOR_YELLOW
  elif [[ $git_status =~ "nothing to commit" ]]; then
    echo -e $COLOR_GREEN
  else
    echo -e $COLOR_OCHRE
  fi
}

#git_branch
function git_branch {
  local git_status="$(git status 2> /dev/null)"
  local on_branch="On branch ([^${IFS}]*)"
  local on_commit="HEAD detached at ([^${IFS}]*)"

  if [[ $git_status =~ $on_branch ]]; then
    local branch=${BASH_REMATCH[1]}
    echo "($branch)"
  elif [[ $git_status =~ $on_commit ]]; then
    local commit=${BASH_REMATCH[1]}
    echo "($commit)"
  fi
}

PS1='\[3[01;32m\]\u\[3[00m\]:\[3[01;34m\]\w\[3[00m\]'
PS1+="\[\$(git_color)\]"        # colors git status
PS1+="\$(git_branch)"           # prints current branch
PS1+="\[$COLOR_BLUE\]\[$COLOR_RESET\]\$ "
export PS1

export LC_ALL=en_US.UTF-8
export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
alias ls="ls -Gp"

    
risposta data 05.07.2018 - 13:01
fonte

Leggi altre domande sui tag