dircolors: वैश्विक रंग सेटिंग्स को संशोधित करें


40

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

dircolors --print-database

से man dir_colorsमैंने पढ़ा है, पूरे सिस्टम में डेटाबेस में स्थित होना चाहिए /etc/DIR_COLORS। लेकिन यह फाइल मेरे सिस्टम (डेबियन) पर मौजूद नहीं है। मैं सिस्टम-वाइड रंग सेटिंग्स को कैसे संशोधित कर सकता हूं dircolors? dircolors --print-databaseजब कोई फ़ाइल मौजूद नहीं है, तो कमांड सेटिंग्स को कहां से लेती है।

मुझे पता है कि उपयोगकर्ता ~/.dircolorsअपनी सेटिंग्स के साथ उपयोगकर्ता-विशिष्ट फ़ाइल रख सकता है , लेकिन यह मेरे लिए उपयुक्त नहीं है, क्योंकि मुझे हर किसी के लिए सेटिंग्स बदलने की आवश्यकता है।

एक दूसरा प्रश्न यह है कि क्या डिरोलर्स के लिए 8-बिट रंगों का उपयोग करना संभव है। मेरा टर्मिनल है xterm-256color

जवाबों:


36

lsयह पर्यावरण चर से रंग सेटिंग्स लेता है LS_COLORSdircolorsइस पर्यावरण चर को उत्पन्न करने का एक सुविधाजनक तरीका है। इस पर्यावरण चर को प्रभावी बनाने के लिए सिस्टम-वाइड करें, इसे अपने शेल की स्टार्टअप फाइल में डालें।

इसके लिए bash, आप इसे इसमें डालेंगे /etc/profile:

# `dircolors` prints out `LS_COLORS='...'; export LS_COLORS`, so eval'ing
# $(dircolors) effectively sets the LS_COLORS environment variable.

eval "$(dircolors /etc/DIR_COLORS)"

के लिए zsh, आप या तो इसे /etc/zshrcडालेंगे या स्टार्टअप पर zshपढ़ने की व्यवस्था करेंगे /etc/profile। हो सकता zshहै कि आपका वितरण पहले से ही ऐसा हो । मैं इस बात को इंगित करने के लिए लाता हूं कि dircolorsसही मायने में हर कोई अपने द्वारा उपयोग किए जाने वाले शेल पर निर्भर करता है।

जहां dircolorsसे इसकी सेटिंग मिलती है, जब आप एक फाइल निर्दिष्ट नहीं करते हैं तो यह कुछ बिलिन डिफॉल्ट का उपयोग करता है।

आप xtermअपने dircolors फ़ाइल में 256 रंग भागने के कोड का उपयोग कर सकते हैं , लेकिन ध्यान रखें कि वे केवल xtermसंगत टर्मिनलों के लिए काम करेंगे । उदाहरण के लिए, वे लिनक्स टेक्स्ट कंसोल पर काम नहीं करेंगे।

256 रंग भागने के कोड के लिए प्रारूप 38;5;colorNअग्रभूमि रंग और 48;5;colorNपृष्ठभूमि रंग के लिए है। उदाहरण के लिए:

.mp3  38;5;160                   # Set fg color to color 160      
.flac 48;5;240                   # Set bg color to color 240
.ogg  38;5;160;48;5;240          # Set fg color 160 *and* bg color 240.
.wav  01;04;05;38;5;160;48;5;240 # Pure madness: make bold (01), underlined (04), blink (05), fg color 160, and bg color 240!

1
क्या आप बता सकते हैं कि मैं 256 कलर एस्केप कोड का उपयोग कैसे कर सकता हूं? चलो कहते हैं कि मैं निम्नलिखित बदलना चाहते .mp3 00;36टर्म-256 रंग चार्ट से उपयोग color126 को upload.wikimedia.org/wikipedia/en/1/15/Xterm_256color_chart.svg
user1968963

1
जरूर देखें, मेरा संपादन
मैट

8

dircolors --print-databaseजब कोई फ़ाइल मौजूद नहीं है, तो कमांड कहाँ से सेटिंग लेता है।

मैनुअल के अनुसार , यह एक फ़ाइल के अभाव में एक पूर्वनिर्धारित डेटाबेस का उपयोग करता है।

यदि फ़ाइल निर्दिष्ट की जाती है, तो dircolors यह निर्धारित करता है कि किस फ़ाइल प्रकार और एक्सटेंशन के लिए कौन से रंगों का उपयोग करना है। अन्यथा, एक precompiled डेटाबेस का उपयोग किया जाता है। इन फ़ाइलों के प्रारूप के विवरण के लिए, ' dircolors --print-database' चलाएँ ।

हर किसी के लिए सेटिंग बदलने के लिए, आप एक /etc/dircolorsफ़ाइल बना सकते हैं और निम्नलिखित को जोड़ सकते हैं /etc/bashrc:

d=/etc/dircolors
test -r $d && eval "$(dircolors $d)"

7

लिनक्स सेट कंसोल पृष्ठभूमि रंग dircolors के साथ:

आपकी dircolors फ़ाइल कंसोल पर ls के माध्यम से दिखाई देने वाले शब्दों के लिए रंगों को नियंत्रित करती है। .dircolorsअपने वितरण के लिए यह फ़ाइल ढूंढें , मदद के लिए एक लिंक:

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/profile.html

मेरे लिए फेडोरा 17 पर, मेरी dircolors फ़ाइल है: /etc/DIR_COLORS

/etc/DIR_COLORSअपनी /home/el/.dircolorsनिर्देशिका में कॉपी करें । अगर यह मौजूद नहीं है तो इसे बनाएं।

/Home/el/.dircolors संपादित करें, "dir" पाठ देखें।

इसे बदलो:

DIR 01;34   # directory

इसके लिए:

DIR 01;36   # directory

सहेजें और बंद करें और शेल को पुनरारंभ करें। निर्देशिका काले (अपठनीय) पर गहरे नीले रंग से (काले रंग की पठनीय) हो जाती है।


2
-1: /etc/DIR_COLORSओपी डिस्ट्रो, डेबियन में नहीं। और वह पहले से ही जानता है ~/.dircolors, यह सवाल नहीं था
MestreLion
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.