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


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

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


299
2017-12-14 08:15


मूल




जवाब:


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

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

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

    आउटपुट:
    alt text

ध्यान दें: 

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

307
2017-12-14 08:18



उस eval स्क्रिप्ट प्रत्येक प्रकार के लिए आउटपुट रंग का प्रतिनिधित्व दिखा रहा है शानदार ... धन्यवाद! - Russ
शुद्ध सोर्सरी;) - Homunculus Reticulli
उस का एक और पठनीय संस्करण eval लिपि यहां है: github.com/gkotian/gautam_linux/blob/master/scripts/colours.sh - Gautam
रेड भी एक मृत सिम्लिंक है। - Thomas Ward♦
सामान्य सफेद पाठ में फ़ाइलों के बारे में क्या? - S..


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

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

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

alt text


  1. एएसी, एयू, फ्लैक, मिड, मिडी, एमका, एमपी 3, एमपीपी, ओग, आरए, वाव, एक्सका, ओगा, एसपीएक्स, एक्सएसपीएफ।

  2. टैर, टीजीजे, अरज, ताज़, एलजे, एलजीएमए, टीएलजेड, टीएक्सजे, ज़िप, जेड, जेड, डीजे, जीजे, एलजे, एक्सजे, बीजी 2, बीजे, टीबीजेड, टीबीजे 2, टीजे, डेब, आरपीएम, जार, रार, ऐस, चिड़ियाघर, सीपीओ, 7z, आरजे।

  3. जेपीजी, जेपीजी, जीआईएफ, बीएमपी, पीबीएम, पीजीएम, पीपीएम, टीजीए, एक्सबीएम, एक्सपीएम, टीआईएफ, टिफ, पीएनजी, एसवीजी, एसवीजीजे, एमएनजी, पीसीएक्स, एमओवी, एमपीजी, एमपीईजी, एम 2 वी, एमकेवी, ओजीएम, एमपी 4, एम 4 वी, 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 बी, ASCII संकेत "ESCAPE" (ASCII वर्ण सेट में एक विशेष वर्ण) है। उदाहरण:

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

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

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


86
2017-12-14 08:57



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


यदि आप टाइप करते हैं 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 # चरित्र डिवाइस चालक
ORPHAN 40; 31; 01 # symlink nonexistent फ़ाइल, या गैर-statable फ़ाइल के लिए
सेट 37, 41 # फाइल जो सेटयूड (यू + एस) है
सेटगिड 30; 43 # फाइल जो सेटगिड है (जी + एस)
STICKY_OTHER_WRITABLE 30; 42 # डीआईआर जो चिपचिपा और अन्य लिखने योग्य है (+ टी, ओ + डब्ल्यू)
OTHER_WRITABLE 34; 42 # डीआईआर जो अन्य लिखने योग्य (ओ + डब्ल्यू) है और चिपचिपा नहीं है
स्टिकी 37; 44 # चिपचिपा बिट सेट (+ टी) के साथ डीआईआर और अन्य लिखने योग्य नहीं
# अभिलेखागार या संकुचित (चमकदार लाल)
.tar 01; 31
.tgz 01; 31
# छवि प्रारूप
.jpg 01; 35
.jpeg 01; 35
जीजी 01; 35
। बीएमपी 01; 35
# ऑडियो प्रारूप
एएसी 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 फ़ाइल यह स्थायी हो जाएगा।


27
2017-09-14 08:25



अरे शायद कोई और बेहतर जवाब के साथ आता है। बीटीडब्ल्यू ने मुझे इस उपरोक्त के साथ 15k से अधिक मिला;) - Rinzwind
रॉक ऑन! आप अपने आप को वहाँ मिला ... धन्यवाद फिर भी, मैंने कुछ रंगों पर खोज करने के लिए एक / "स्ट्रिंग" किया था, जिसके बारे में मुझे अनिश्चितता थी - user784637
यह (उत्कृष्ट) जवाब था विलय होना, यदि आप तिथियों के बारे में सोच रहे हैं। :-) - Stefano Palazzo♦
@Rinzwind, तो एक रंग सेट करने के लिए pdf फ़ाइल, प्रक्रिया का उपयोग करना है export? क्या डिफ़ॉल्ट रूप से केवल एक एक्सटेंशन जोड़ना संभव है LS_COLORS  चर? - Sigur


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

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

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

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

इसे पकड़ो colortest लिपि और इसे कमांड के साथ चलाएं 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 इस पर उनके नोट्स और कोड के लिए।


15
2018-03-22 20:45





यह फैलता है कार्तिक 87 का जवाब


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

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

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

#!/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

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

gnome-terminal screenshot

मेरे सेटअप के साथ आउटपुट (कस्टम डिर्कॉल्टर और कस्टम सौरकृत टर्मिनल थीम):

gnome-terminal screenshot

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

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


14
2018-02-17 21:05



आप कैसे जानते हो rs माध्यम RESET, mh माध्यम MULTIHARDLINK, ca माध्यम CAPABILITY आदि? - Fredrick Gauss
@FredrickGauss जैसा कि मैंने जवाब में लिखा था, मुझे विवरण चलाने से विवरण मिला dircolors -p। - wjandrea
dircolors -p कहना नहीं है रु है रीसेट 0 # "सामान्य" रंग पर रीसेट करें । - Fredrick Gauss
@FredrickGauss स्पष्ट रूप से नहीं, लेकिन "रीसेट" एकमात्र ऐसा है जिसे संक्षेप में "आरएस" और रंग (0) मैचों के रूप में संक्षिप्त किया जा सकता है। - wjandrea
मैं यह पूछ रहा हूँ। आप अनुमान लगाते हैं, अनुमान लगाओ। - Fredrick Gauss