एलएस में विभिन्न रंगों का क्या अर्थ है?

उबंटू में अलग-अलग रंग क्या हैं ls कमांड का मतलब? उदाहरण के लिए, जब मैं टाइप करता हूं ls मेरे एक फ़ोल्डर में कमांड, मुझे हल्के हरे रंग में एक फाइल मिलती है, दूसरी (जो एक फ़ोल्डर है) नीले रंग में हरे रंग की हाइलाइटिंग के साथ ।

उन रंगों का क्या मतलब है, और सभी रंगों के बारे में कोई मैनुअल है?

  • नीला: निर्देशिका
  • ग्रीन: निष्पादन योग्य या मान्यता प्राप्त डेटा फ़ाइल
  • सियान (स्काई ब्लू): प्रतीकात्मक लिंक फ़ाइल
  • काले रंग की पृष्ठभूमि के साथ पीला: डिवाइस
  • मैजेंटा (गुलाबी): ग्राफिक छवि फ़ाइल
  • लाल: पुरालेख फ़ाइल
  • काले रंग की पृष्ठभूमि के साथ लाल: टूटी हुई कड़ी

आपकी जानकारी के लिए:

  • रंग बंद करने के लिए, आपको निम्नलिखित पंक्तियों पर टिप्पणी करनी होगी .bashrc.

    # enable color support of ls and also add handy aliases#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'#    #alias vdir='vdir --color=auto'##    alias grep='grep --color=auto'#    alias fgrep='fgrep --color=auto'#    alias egrep='egrep --color=auto'#fi
  • इसके अलावा यदि आप अपने स्वयं के बैश रंग अर्थ देखना चाहते हैं,तो अपने टर्मिनल में निम्नलिखित कोड कॉपी/पेस्ट करें ।

    eval $(echo "no:global default;fi:normal file;di:directory;ln:symbolic link;pi:named pipe;so:socket;do:door;bd:block device;cd:character device;or:orphan symlink;mi:missing file;su:set uid;sg:set gid;tw:sticky other writable;ow:other writable;st:sticky;ex:executable;"|sed -e 's/:/="/g; s/\;/"\n/g')           {        IFS=:       for i in $LS_COLORS       do            echo -e "\e[${i#*=}m$( x=${i%=*}; [ "${!x}" ] && echo "${!x}" || echo "$x" )\e[m"   done       } 

आउटपुट:
terminal output

नोट:

  • अधिक जानकारी के लिए टाइप करें man dir_colors टर्मिनल में ।

आप क्या रंग पता कर सकते हैं ls को देखकर उपयोग करता है $LS_COLORS चर:

  • फ़िरोज़ा: ऑडियो फ़ाइलें1
  • चमकदार लाल: अभिलेखागार और संपीड़ित फाइलें2
  • बैंगनी: चित्र और वीडियो3

इसके अलावा, फ़ाइलों को विशेषताओं द्वारा रंगीन किया जाता है:

alt text


  1. aac, au, flac, mid, midi, mka, mp3, mpc, ogg, ra, wav, axa, oga, spx, xspf.

  2. टीएआर, टीजीजेड, एआरजे, ताज़, एलजेडएमए, टीजेड, टीजेड, ज़िप, जेड, जेड, डीजेड, जीजेड, एक्सजेड, बीजेड 2, बीजेड, टीबीजेड, टीबीजेड 2, टीजेड, देब, आरपीएम, जार, आरएआर, ए आई, चिड़ियाघर, टिकपियो, 7 जेड, आरजेड ।

  3. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, png, svg, svgz, mng, pcx, mov, mpg, mpeg, m2v, mkv, ogm, mp4, m4v, mp4v, vob, qt, nuv, wmv, asf, rm, rmvb, flc, avi, fli, flv, gl, dl, xcf, xwd, yuv, cgm, emf, axv, anx, ogv, ogx.


यह सारी जानकारी के उत्पादन में निहित है dircolors --print-database, लेकिन इसका स्वरूपण अपठनीय है ।

यहाँ क्या हो रहा है की एक तकनीकी व्याख्या है:

उदाहरण:

CHR 40;33;01

रंग कोड में तीन भाग होते हैं:

  • अर्धविराम से पहले का पहला भाग पाठ शैली का प्रतिनिधित्व करता है ।

    • 00 = कोई नहीं, 01=बोल्ड, 04=अंडरस्कोर, 05=ब्लिंक, 07=रिवर्स, 08 = छुपा हुआ ।
  • दूसरा और तीसरा भाग रंग और पृष्ठभूमि का रंग है:

    • 30 = काला, 31=लाल, 32=हरा, 33=पीला, 34=नीला, 35=मैजेंटा, 36=सियान, 37 = सफेद ।

प्रत्येक भाग को छोड़ा जा सकता है, बाईं ओर शुरू करना । यानी "01" का अर्थ है बोल्ड, "01;31" का अर्थ है बोल्ड और लाल । और आप अपने टर्मिनल को निर्देश से बचकर रंग में प्रिंट करने के लिए प्राप्त करेंगे \33[ और इसे एक के साथ समाप्त करना m. हेक्साडेसिमल में 33, या 1 बी, एएससीआईआई साइन "एस्केप" (एएससीआईआई चरित्र सेट में एक विशेष चरित्र) है । उदाहरण:

"\33[1;31mHello World\33[m"

चमकीले लाल रंग में "हैलो वर्ल्ड" प्रिंट करता है ।

आदेश ls तर्क के साथ --color=auto (उबंटू पर, ls के लिए एक उपनाम है ls --color=auto) सभी फ़ाइल नामों के माध्यम से जाता है और पहले विभिन्न प्रकारों से मेल खाने की कोशिश करता है, जैसे निष्पादन योग्य, पाइप और इतने पर । यह तब *जैसे नियमित अभिव्यक्तियों से मेल खाने की कोशिश करता है । डब्ल्यूएवी और परिणामी फ़ाइल नाम को प्रिंट करता है, जो बैश के लिए इन रंग बदलने वाले निर्देशों में संलग्न है ।

इस पर फैलता है कार्तिक 87 का जवाब.


पूर्ण सूची, डिफ़ॉल्ट सेटअप के साथ

  • बिना रंग का (सफेद): फ़ाइल या गैर-फ़ाइल नाम पाठ (उदाहरण के आउटपुट में अनुमतियाँ ls -l) या मल्टी-हार्डलिंक फ़ाइल
  • बोल्ड ब्लू: निर्देशिका
  • बोल्ड सियान: प्रतीकात्मक लिंक
  • बोल्ड ग्रीन: निष्पादन योग्य फ़ाइल
  • बोल्ड रेड: पुरालेख फ़ाइल
  • बोल्ड मैजेंटा: छवि फ़ाइल, वीडियो, ग्राफिक, आदि या दरवाजा या सॉकेट
  • सियान: ऑडियो फ़ाइल
  • काले रंग की पृष्ठभूमि के साथ पीला: पाइप (उर्फ फीफो)
  • काले रंग की पृष्ठभूमि के साथ बोल्ड पीला: ब्लॉक डिवाइस या चरित्र डिवाइस
  • काले रंग की पृष्ठभूमि के साथ बोल्ड लाल: अनाथ सिम्लिंक या गुम फ़ाइल
  • लाल पृष्ठभूमि के साथ बिना रंग का: सेट-उपयोगकर्ता-आईडी फ़ाइल
  • पीले रंग की पृष्ठभूमि के साथ काले: सेट-समूह-आईडी फ़ाइल
  • लाल पृष्ठभूमि के साथ काला: क्षमता के साथ फ़ाइल
  • नीले रंग की पृष्ठभूमि के साथ सफेद: स्टिकी निर्देशिका
  • हरे रंग की पृष्ठभूमि के साथ नीला: अन्य लिखने योग्य निर्देशिका
  • हरे रंग की पृष्ठभूमि के साथ काला: चिपचिपा और अन्य लिखने योग्य निर्देशिका

ध्यान दें कि बोल्ड लाल नारंगी दिखता है, काला गहरा भूरा दिखता है, सियान नीला/हरा दिखता है, और बोल्ड मैजेंटा बैंगनी/गुलाबी/लैवेंडर दिखता है ।

रंग दिखाने के लिए स्क्रिप्ट

#!/bin/bash# For LS_COLORS, print type and description in the relevant color.declare -A descriptions=(    [bd]="block device"    [ca]="file with capability"    [cd]="character device"    [di]="directory"    [do]="door"    [ex]="executable file"    [fi]="regular file"    [ln]="symbolic link"    [mh]="multi-hardlink"    [mi]="missing file"    [no]="normal non-filename text"    [or]="orphan symlink"    [ow]="other-writable directory"    [pi]="named pipe, AKA FIFO"    [rs]="reset to no color"    [sg]="set-group-ID"    [so]="socket"    [st]="sticky directory"    [su]="set-user-ID"    [tw]="sticky and other-writable directory")IFS=:for ls_color in $LS_COLORS; do    color="${ls_color#*=}"    type="${ls_color%=*}"    # Add description for named types.    desc="${descriptions[$type]}"    # Separate each color with a newline.    if [[ $color_prev ]] && [[ $color != "$color_prev" ]]; then        echo    fi    printf "\e[%sm%s%s\e[m " "$color" "$type" "${desc:+ ($desc)}"    # For next loop    color_prev="$color"doneecho

डिफ़ॉल्ट सेटअप के साथ आउटपुट:

gnome-terminal screenshot - default

मेरे सेटअप के साथ आउटपुट (कस्टम डिरकोलर्स और कस्टम सोलराइज्ड टर्मिनल थीम):

gnome-terminal screenshot - custom

मुझे विवरण मिला dircolors -p और man dir_colors, और अपने स्वयं के शोध के साथ अंतराल में भरा ।

रंग और विवरण 14.04 से 17.10 तक समान हैं ।

यदि आप टाइप करते हैं dircolors (echo $LS_COLORS भी काम करता है) कमांड लाइन से आपको 1 लाइन में बहुत सारे फाइलटाइप्स के लिए कोड और रंगों की एक सूची मिलेगी । dircolors --print-database उन्हें एक बार में 1 लाइन दिखाता है । यहां एक छोटी सूची है (मैंने सबसे महत्वपूर्ण लोगों को डालने की कोशिश की) । नीचे एक स्पष्टीकरण है कि प्रत्येक पंक्ति के अंत में विभिन्न कोड क्या दर्शाते हैं:

सामान्य 00 # वैश्विक डिफ़ॉल्ट, हालांकि सब कुछ कुछ होना चाहिए । फ़ाइल 00 # सामान्य फ़ाइलडिर 01;34 # निर्देशकलिंक 01;36 # प्रतीकात्मक लिंक ।  (यदि आप इसे # संख्यात्मक मान के बजाय 'लक्ष्य' पर सेट करते हैं, तो रंग इंगित की गई फ़ाइल के लिए है । )फीफो 40;33 # पाइपसॉक 01;35 # सॉकेटडोर 01;35 # डोरब्लक 40;33;01 # ब्लॉक डिवाइस ड्राइवरच्र 40;33;01 # कैरेक्टर डिवाइस ड्राइवरऑर्फन 40;31;01 # सिमलिंक को कोई भी फाइल, या नॉन-स्टेटेबल फाइल 37;41 # फाइल जो सेट्यूड (यू+एस)सेटगिड 30 है;43 # फाइल जो सेटगिड (जी+एस)है स्टिकी_ऑथर_राइटेबल 30;42 # डीआईआर जो चिपचिपा और अन्य है-लिखने योग्य (+टी,ओ+डब्ल्यू)अन्य_राइटेबल 34;42 # डीआईआर जो अन्य है-लिखने योग्य (ओ+डब्ल्यू) और चिपचिपा नहीं 37;44 # डीआईआर चिपचिपा बिट सेट (+टी) के साथ और अन्य नहीं-लिखने योग्य# अभिलेखागार या संपीड़ित (चमकदार लाल) । टार 01; 31.टीजीजेड 01; 31 # छवि प्रारूप । जेपीजी 01; 35.जेपीईजी 01; 35.जीआईएफ 01; 35।बीएमपी 01; 35 # ऑडियो प्रारूप।एएसी 00; 36.एफएलएसी 00; 36.ओजीजी 00; 36
  • विशेषता कोड: 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
  • पाठ रंग कोड: 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
  • पृष्ठभूमि रंग कोड: 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

यदि आप इसके साथ खेलना चाहते हैं तो यहां एक उदाहरण है कि फ़ाइल के लिए रंग कैसे सेट करें:

export LS_COLORS=$LS_COLORS:"*.ogg=01;35":"*.mp3=01;35"  

यह सेट हो जाएगा *.ogg और .mp3 को bold magenta. और अगर आप इसे अपने में डाल दिया .bashrc फ़ाइल यह स्थायी हो जाएगा ।

यहां किसी भी उत्तर में उबंटू के नवीनतम संस्करणों में 256 रंग विकल्प शामिल नहीं हैं । मुझे रंग की कमी है (कुछ रंग मुझे एक-दूसरे के पास परेशानी देते हैं) इसलिए काले रंग पर डिफ़ॉल्ट नीली निर्देशिका मेरे लिए पढ़ने के लिए वास्तविक कठिन है । इसे बदलने के लिए मेरा शोध इस प्रकार है ।

प्रकार dircolors -p |less अपना वर्तमान रंग कोड देखने के लिए ।

डिफ़ॉल्ट ।बीएएसएचआरसी को न केवल सिस्टम रंग कोड का लाभ उठाने के लिए कॉन्फ़िगर किया जाना चाहिए, बल्कि ~/में भी एक होना चाहिए । डिरकोलर्स इसलिए डिरकोलर्स आउटपुट को डंप करें । डिरकलर ताकि आप इस कमांड का उपयोग करके शुरू कर सकें । dircolors -p > ~/.dircolors

वैकल्पिक: से एक बहुत ही समान 256 रंग डायरकलर्स उठाओ सेबी का सोलराइज्ड परियोजना।

इसे पकड़ो कोलोर्टेस्ट स्क्रिप्ट और इसे कमांड के साथ चलाएं colortest -w तो आप एक बार में सभी रंग देख सकते हैं । एक रंग चुनें। मुझे ऑरेंज #208 पसंद है । मैं चाहता हूं कि पाठ का रंग हो इसलिए विस्तारित रंग कोड पर इस जानकारी का उपयोग करके, मैं इसे लागू कर सकता हूं ।

तो आपके पास एक रंग है, अब क्या । सबसे पहले हमें स्ट्रिंग बनाना होगा ।

पहला नंबर एक विशेषता कोड होगा, सबसे अधिक संभावना 00, लेकिन यदि आप चाहते हैं कि यह 05 के साथ पलक झपकाए:

एक विशेषता कोड चुनें: 00 = कोई नहीं 01 = बोल्ड 04 = अंडरस्कोर 05 = ब्लिंक 07 = रिवर्स 08 = छुपा हुआ

अगला पिक अपेंड ;38;5; 00 प्राप्त करने के लिए अपने टेक्स्ट रंग को इंगित करने के लिए उस विशेषता कोड में;38;5; और फिर अपना रंग संलग्न करें । मैं उठाया 208 तो मैं मिल 00;38;5;208.

यदि आप उस पर एक पृष्ठभूमि भी डालना चाहते हैं, तो कॉलरटेस्ट स्क्रिप्ट और एपेंड के साथ एक और रंग चुनें (मान लें कि 56) ;48;5; पृष्ठभूमि के लिए और रंग के लिए 56 की कुल स्ट्रिंग प्राप्त करने के लिए 00;38;5;208;48;5;56.

तो अब आपके पास है, आप इसके साथ क्या करते हैं?

vim ~/.dircolors और उस अनुभाग को ढूंढें जिसे आप ऊपर निर्धारित स्ट्रिंग में बदलना चाहते हैं (मेरे लिए जो डीआईआर है) "00;38;5;208".

यह तुरंत लागू नहीं होगा, आपको कॉन्फ़िगरेशन लोड करना होगा । उपयोग करें dircolors ~/.dircolors अपने एलएस_ रंग चर सेट करने के लिए कोड प्राप्त करें । आप बस इसे अपने टर्मिनल सत्र में पेस्ट कर सकते हैं या आप अपना टर्मिनल बंद कर सकते हैं और इसे फिर से खोल सकते हैं । आप इसे एक फ़ाइल में भी पाइप कर सकते हैं और इसे शेल स्क्रिप्ट के रूप में चला सकते हैं ।

आप इसी प्रक्रिया को 16 रंगों के साथ कर सकते हैं । आपको विशेष की आवश्यकता नहीं है;38 ;5 या;48; 5 सामान । बस स्ट्रिंग में संख्याओं को टॉस करें और सादगी का आनंद लें ।

के लिए धन्यवाद और और सेबी इस पर उनके नोट्स और कोड के लिए ।