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


363

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

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

जवाबों:


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

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

  • रंग बंद करने के लिए, आपको निम्नलिखित पंक्तियों में टिप्पणी करनी होगी .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       
    } 
    

    आउटपुट:
    वैकल्पिक शब्द

ध्यान दें:

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

28
यही कारण है कि evalस्क्रिप्ट प्रत्येक प्रकार के लिए उत्पादन रंग प्रतिनिधित्व दिखा शानदार है ... धन्यवाद!
Russ


5
उस evalस्क्रिप्ट का अधिक पठनीय संस्करण यहां है: github.com/gkotian/gautam_linux/blob/master/scripts/colours.sh
गौतम

3
लाल भी एक मरा हुआ सिमलिंक है।
थॉमस वार्ड

1
सामान्य सफेद पाठ की फ़ाइलों के बारे में क्या?
एस ..

98

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

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

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

वैकल्पिक शब्द


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

  2. टार, tgz, arj, taz, lzh, lzma, tlz, txz, zip, z, Z, dz, gz, lz, xz, bz2, bz, tbz, tbz2, tz, deb, rpm, jar, rar, ace, चिड़ियाघर, सीपीओ, 7z, आरजे।

  3. jpg, jpeg, gif, bmp, pbm, pgm, ppm, tga, xbm, xpm, tif, tiff, piff, 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, cvm, emf, axv, चिंता, 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 बी, ASCII संकेत "ESCAPE" (ASCII वर्ण सेट में एक विशेष चरित्र) है। उदाहरण:

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

उज्ज्वल लाल में प्रिंट "हैलो वर्ल्ड"।

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


धन्यवाद! मैं एक Git टोपोलॉजी विज़ुअलाइज़ेशन सवाल देख रहा था और सोच रहा था कि कुछ पात्रों को क्यों छापा जा रहा है।
पीपीपी

27

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

सामान्य 00 # वैश्विक डिफ़ॉल्ट, हालांकि सब कुछ कुछ होना चाहिए।
फ़ाइल 00 # सामान्य फ़ाइल
डीआईआर 01; 34 # निर्देशिका
लिंक 01; 36 # प्रतीकात्मक लिंक। (यदि आप इसके बजाय 'लक्ष्य' पर सेट करते हैं
 # संख्यात्मक मान, रंग इंगित फ़ाइल के लिए के रूप में है।)
FIFO 40; 33 # पाइप
SOCK 01; 35 # सॉकेट
दरवाजा 01; 35 # दरवाजा
BLK 40; 33; 01 # ब्लॉक डिवाइस ड्राइवर
CHR 40; 33; 01 # वर्ण डिवाइस ड्राइवर
ORPHAN 40; 31; 01 # बिना किसी फ़ाइल के सहानुभूति, या गैर-स्टैटिबल फ़ाइल
SETUID 37; 41 # फ़ाइल जो सेटिउड (u + s) है
SETGID 30; 43 # फ़ाइल जो सेटगिड है (g + s)
STICKY_OTHER_WRITABLE 30; 42 # dir जो चिपचिपा और अन्य-योग्य है (+ t, o + w)
OTHER_WRITABLE 34; 42 # dir जो अन्य-लेखन योग्य है (o + w) और चिपचिपा नहीं है
स्टिकी 37; 44 # स्टिक बिट सेट (+ टी) के साथ dir और अन्य-लेखन योग्य नहीं
# अभिलेखागार या संपीड़ित (चमकदार लाल)
.tar 01; 31;
.tgz 01; 31;
# छवि प्रारूप
.jpg 01; 35
.jpeg 01; 35
.gif 01; 35
.bmp 01; 35
# ऑडियो प्रारूप
.aac 00; 36;
.flac 00; 36;
.ogg 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फ़ाइल में डालते हैं तो यह स्थायी हो जाएगा।


2
अरे शायद कोई और बेहतर जवाब लेकर आए। Btw तुम मुझे इस upvote के साथ 15k से अधिक हो गया;)
रिनजविंड

रॉक ऑन! आप खुद वहां पहुंच गए ... फिर से धन्यवाद, मैंने कुछ रंगों पर खोज करने के लिए एक / "स्ट्रिंग" किया था जिसके बारे में मैं अनिश्चित था
user784637

यदि आप तिथियों के बारे में सोच रहे हैं तो इस (उत्कृष्ट) उत्तर को मिला दिया गया था । :-)
Stefano Palazzo

@ रिनविंड, इसलिए pdfफ़ाइल के लिए एक रंग सेट करने के लिए , प्रक्रिया का उपयोग करना है export? क्या डिफ़ॉल्ट LS_COLORS चर में केवल एक एक्सटेंशन जोड़ना संभव है ?
सिगुर

23

यह कार्तिक के उत्तर पर विस्तार करता है ।


डिफ़ॉल्ट सेटअप के साथ

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

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

#!/bin/bash
# For LS_COLORS, print type and description in the relevant color.

IFS=:
for ls_color in $LS_COLORS; do
    color="${ls_color#*=}"
    type="${ls_color%=*}"

    # Add descriptions for named types.
    case "$type" in
    bd) type+=" (block device)" ;;
    ca) type+=" (file with capability)" ;;
    cd) type+=" (character device)" ;;
    di) type+=" (directory)" ;;
    do) type+=" (door)" ;;
    ex) type+=" (executable file)" ;;
    fi) type+=" (regular file)" ;;
    ln) type+=" (symbolic link)" ;;
    mh) type+=" (multi-hardlink)" ;;
    mi) type+=" (missing file)" ;;
    no) type+=" (normal non-filename text)" ;;
    or) type+=" (orphan symlink)" ;;
    ow) type+=" (other-writable directory)" ;;
    pi) type+=" (named pipe, AKA FIFO)" ;;
    rs) type+=" (reset to no color)" ;;
    sg) type+=" (set-group-ID)" ;;
    so) type+=" (socket)" ;;
    st) type+=" (sticky directory)" ;;
    su) type+=" (set-user-ID)" ;;
    tw) type+=" (sticky and other-writable directory)" ;;
    esac

    # Separate each color with a newline.
    if [[ $color_prev ]] && [[ $color != $color_prev ]]; then
        echo
    fi

    printf "\e[%sm%s\e[m " "$color" "$type"

    # For next loop
    color_prev="$color"
done
echo

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

सूक्ति-टर्मिनल स्क्रीनशॉट

मेरे सेटअप के साथ आउटपुट (कस्टम dircolors और कस्टम Solarized टर्मिनल थीम):

सूक्ति-टर्मिनल स्क्रीनशॉट

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

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


आप rsसाधन RESET, mhसाधन MULTIHARDLINK, caसाधन CAPABILITYआदि को कैसे जानते थे ?
फ्रेड्रिक गॉस ने

@FredrickGauss जैसा कि मैंने उत्तर में लिखा था, मुझे चलने से विवरण मिला dircolors -p
वेजेंड्रिया

dircolors -pनहीं कहती रु है रीसेट 0 # रीसेट "सामान्य" रंग
फ्रेड्रिक गॉस

@FredrickGauss स्पष्ट रूप से नहीं, लेकिन "RESET" एकमात्र ऐसा है जिसे "rs" के रूप में संक्षिप्त किया जा सकता है, और रंग (0) से मेल खाता है।
wjandrea

18

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

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

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

वैकल्पिक: Seebi के सोलराइज़्ड प्रोजेक्ट से बहुत समान 256 रंग dircolors उठाएं

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

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

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

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

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

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

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

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

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

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

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


कृपया जाँचें कि 256 रंग केवल xterm- संगत टर्मिनलों में काम करेंगे । तो, 256 रंग के साथ मेरे लिए काम नहीं करते कंसोल लेकिन साथ काम टर्म और rxvt-यूनिकोड
डीके बोस

1
कोनसोल अपनी बात करता है। की जाँच करें draculatheme.com/konsole या techoverflow.net/2013/11/08/installing-konsole-solarized-theme एक अच्छा रंग योजना के लिए।
इश्कबाज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.