मैं मैक टर्मिनल को कलर एलएस आउटपुट के लिए कैसे कॉन्फ़िगर कर सकता हूं?


336

मैं मैक टर्मिनल को कलर एलएस आउटपुट के लिए कैसे कॉन्फ़िगर कर सकता हूं? मैं macOS 10.5 का उपयोग कर रहा हूं


5
यह एक महान प्रश्न है ... मैं हमेशा उम्मीद करता हूं कि ls --color (a la gnu ls) सिर्फ हर जगह काम करेगा। MacOS स्वीकार नहीं करता है - रंग, इसलिए मैंने मान लिया कि इसमें रंगीन आउटपुट बिल्कुल नहीं था।
Armentage

जवाबों:


370

संपादित करें:

~/.bash_profile

या

~/.profile

और केवल रंग आउटपुट को सक्षम करने के लिए निम्न पंक्ति जोड़ें ls:

export CLICOLOR=1

रंग से दिखाया गया अनुकूलित करने के लिए lsआप इसे वैकल्पिक चर जोड़ सकते हैं, LSCOLORS

उदाहरण

  • चूक

    export LSCOLORS=ExFxCxDxBxegedabagacad
  • यदि आप एक काली पृष्ठभूमि का उपयोग कर रहे हैं, तो आप इसका उपयोग कर सकते हैं

    export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
  • यदि आप एक विशिष्ट लिनक्स टर्मिनल के रंगों की नकल करना चाहते हैं:

    export LSCOLORS=ExGxBxDxCxEgEdxbxgxcxd

एक बार जब आप उपरोक्त को या तो जोड़ देते हैं ~/.bash_profileया ~/.profileआप अपने शेल में फ़ाइल को लॉगआउट / लॉगिन या स्रोत कर सकते हैं, उदाहरण के लिए:

$ . ~/.bash_profile

नोट: यदि आपको रंगों का चयन करने में मदद की आवश्यकता है तो आप इस ऑनलाइन टूल का उपयोग कर सकते हैं जिसे एलएससीएलओआरएस जेनरेटर कहा जाता है ।


क्या रंगीन पाठ को बोल्ड नहीं बनाने का एक तरीका है?
मेम्फिज

1
@ जैमीकूक मुझे लगता है कि मिकुलेस के रंग अधिक चमकदार हैं। विशेष रूप से, एक टूटी हुई सिमलिंक गहरे लाल रंग की होनी चाहिए। अपने lscolors के साथ इसका नीला ... यह कोई छोटी बात नहीं है।
रे फॉस

1
मैक सिएरा और बाद में काम नहीं करता है
स्टीव जी

1
@RayFoss वास्तव में, यह कोई छोटी बात नहीं है, लेकिन OS X डिफ़ॉल्ट रूप से मान्य और टूटे हुए सिम्बल के बीच अंतर नहीं कर सकता है। एकमात्र व्यवहार्य विकल्प ग्नू ls
सिप्रियन टोमोयागै

2
@StevieG मेरे लिए हाई सिएरा पर काम करता है। सुनिश्चित करें कि आपने इसे सही सेट किया है: echo $CLICOLOR1 देना चाहिए?
फ्रैंकलिन यू

192

आप जोड़ सकते हो

alias ls='ls -G'

~/.bash_profileरंगीन lsउत्पादन प्राप्त करने के लिए अपने को ।


41
मेरा उपनाम उर्फ ​​ls = "ls -Gp" है - प्रत्येक निर्देशिका के बाद -p एक स्लैश जोड़ता है। मेरे लिए, यह अधिक दृश्य विभेदीकरण प्रदान करता है, जो सहायक है।
क्विन टेलर

39
मैं आपको देखता हूं -pऔर आपको ऊपर उठाता हूं -F, इसके अलावा एक *निष्पादन के |बाद, पाइपों के @बाद, सीमलिंक के बाद, et cetera डालता है ।

25
बस मज़े के लिए, एक -h में फेंकें, जो "मानव पठनीय" इकाइयों में आकारों को प्रारूपित करेगा, अर्थात 100b 10k, 23m, 4.2g
Armentage

3
यदि आपके पास .bash_profile पर पहले से ही ~ / .bash_profile नहीं है, तो इसे स्रोत करना सुनिश्चित करें, ताकि यह काम करे। इसे "स्रोत ~ /
.bash_profile

2
डनो अगर यह 2011 से बदल गया है, लेकिन आप export CLICOLOR=1उसी चीज को पूरा करने के लिए उपनाम बदल सकते हैं ।
डेविड लॉर्ड

25

मुझे लगता है कि मुझे वास्तव में मेरी जरूरत है ~/.bash_profile

export CLICOLOR=1

या ~/.bashrc
क्रिस पेज

Capitan पर काम करने के लिए प्रकट नहीं होता है):
drevicko

1
मेरे लिए El Captian में एक बॉस की तरह काम किया, @ पोस्ट करने के लिए धन्यवाद
Fusion27

आपको या तो: 1. आप टर्मिनल बंद करें और फिर से खोलें, 2. संसाधन फ़ाइल को कॉन्फ़िगर करें: . ~/.bash_profileया 3. लॉगआउट / लॉगिन
एसएलएम

13

यदि आप एक पठनीय मैक ओएस एक्स टर्मिनल रंग योजना चाहते हैं, तो आप इस पर गौर करना चाहते हैं:

मैं एक साल से अधिक समय से इसका उपयोग कर रहा हूं, और मैं इसके बिना कार्य करने में सक्षम नहीं हो सकता!

यहाँ एक अद्यतन लिंक है:


6
मैक ओएस एक्स लायन 10.7 के रूप में, टर्मिनल एएनएसआई रंगों को अनुकूलित करने की अनुमति देता है, इसलिए SIMBL या अन्य एक्सटेंशन का उपयोग करना अब आवश्यक नहीं है। यह 256 रंगों का भी समर्थन करता है।
क्रिस पेज

12

इसके अलावा आप शीघ्र रंग (और इसके प्रारूप) को जोड़कर अनुकूलित कर सकते हैं:

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

करने के लिए ~/.bash_profileया ~/.profileफ़ाइल। जहां 0;33नियमित रूप से पीला है जो मेरे काले / अर्धचालक टर्मिनल विंडो में अच्छा दिखता है।

यहां रंगों और उनके स्पष्टीकरणों की पूरी सूची दी गई है: https://wiki.archlinux.org/index.php/Color_Bash_Prompt

मेरी भयानक टर्मिनल विंडो


8

एक अन्य विकल्प जीएनयू का उपयोग करना है lsजो 'कोरुटिल्स' कार्यक्रम का हिस्सा है।

आप के माध्यम से इसे प्राप्त कर सकते हैं Rudix या Homebrew ( brew info coreutils) या macports या फिंक। "मैक ओएस एक्स-ओनली" समाधान का उपयोग करना बेहतर हो सकता है यदि आप विभिन्न सिस्टम पर एक ही शेल कॉन्फिग फाइलों का उपयोग करते हैं, या पहले से ही जीएनयू एलएस से परिचित हैं।



7

व्यक्तिगत रूप से, मैं अपने टर्मिनल में रंग और अन्य ट्रिक्स जोड़ने के लिए ओह माय ज़श का उपयोग कर रहा हूं । मुझे लगता है कि यह सबसे आसान तरीका है।

ओह-माई-ज़श एक खुला स्रोत है, आपके ज़श विन्यास के प्रबंधन के लिए समुदाय-संचालित रूपरेखा।

यह सहायक कार्यों, हेल्पर्स, प्लगइन्स, थीम और कुछ चीजों के एक टन के साथ बंडल आता है, जो आपको चिल्लाते हैं ...

यहां छवि विवरण दर्ज करें


4

बस~/.bash_profile फ़ाइल के लिए निम्नलिखित पंक्ति जोड़ें :

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

पूर्वावलोकन: यहां छवि विवरण दर्ज करें

यह मेरा पसंदीदा रंग है। आप शीघ्र रंग के प्रत्येक भाग को mकोड (जैसे 34m) बदलकर अनुकूलित कर सकते हैं जो ANSI रंग कोड हैं।

ANSI रंग कोड की सूची:

  • काला: 30 मी
  • लाल: 31 मी
  • हरा: 32 मी
  • पीला: 33 मी
  • नीला: 34 मी
  • बैंगनी: 35 मी
  • सियान: 36 मी
  • सफेद: 37 मी

4

यहाँ सभी उत्तरों को मिलाकर मैं इसका उपयोग करता हूँ:

COLOR_RED="\033[0;31m"
COLOR_YELLOW="\033[0;33m"
COLOR_GREEN="\033[0;32m"
COLOR_OCHRE="\033[38;5;95m"
COLOR_BLUE="\033[0;34m"
COLOR_WHITE="\033[0;37m"
COLOR_RESET="\033[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='\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[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"

यहां छवि विवरण दर्ज करें


3

गॉश सेक्शंस के लिए उन सभी दशकों पुराने क्रिप्टो कोड्स को भूल जाएं, जो बिल्ट इन टर्मिनल -> प्रेफरेंस ... सेटिंग्स पैन का उपयोग करें ताकि डिफॉल्ट स्किन को सेट किया जा सके और अपनी पसंद के हिसाब से एएनएसआई रंगों को एडिट किया जा सके। आप फ़ॉन्ट भी सेट कर सकते हैं। मुझे मेनलो १२ टी पसंद है। यह है कि कोई भी नियमित जो इसे कैसे कर सकता है, और सभी पागल कमांड-लाइन से बचने के लिए, चीजों को करने का यूनिक्स-एस्क्यू तरीका है जैसा कि अन्य पोस्टर ने सुझाव दिया है।


12
मुझे लगता है कि किसी ने भी पर्याप्त अनुभव किया है कि यह भी पता चल lsसकता है कि रंगीन आउटपुट हो सकता है, इसे ठीक से कॉन्फ़िगर करने के लिए कुछ यूनिक्स कमांड चलाने में सक्षम है।
nohillside

7
लेकिन यह सिर्फ एक रंग में ls शो बनाता है यह लिंक, निर्देशिका नहीं बनाता है, फाइलें अलग-अलग रंगों में दिखाती हैं जैसे ls कर सकते हैं
Mark
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.