हो सकता है कि कुछ और चल रहा हो। ls
रंगों का उपयोग तब तक नहीं करना चाहिए जब तक कि यह नहीं लगता कि यह कुछ इंटरैक्टिव से जुड़ा हुआ है। जब आप किसी अन्य प्रोग्राम में जाते हैं तो यह चीजों को रंग नहीं देना चाहिए।
एक उपनाम आमतौर पर एक बुरा विचार है क्योंकि आप कभी भी उस विकल्प से छुटकारा नहीं पा सकते हैं और आप व्यक्तिगत सेटिंग्स के आदी हो जाते हैं कि आप अपने साथ किसी अन्य मशीन पर ले जाने में सक्षम नहीं हो सकते हैं जिस पर आपको काम करना है। यदि आपको इसे किसी और चीज़ के लिए पाइप करने के लिए बंद करने की आवश्यकता है, तो उस पाइप में स्विच का उपयोग करें। लेकिन, रंगों को एक पाइप में नहीं होना चाहिए।
के लिए ls
, देखें कि क्या आपका LS_COLORS
पर्यावरण चर का समर्थन करता है । Trapd00r / LS_COLORS आप कैसे tht काम करता है पता चलता है। dircolors आपको रंगों को न्यूनतम और प्रति फ़ाइल प्रकार समायोजित करने देता है। यदि आप सेट नहीं करते हैं, LS_COLORS
लेकिन रंग चालू है, ls
तो फ़ाइल प्रकारों और विशेषताओं का पता लगाने के लिए सिस्टम कॉल का एक गुच्छा बना देगा ताकि यह पता लगा सके कि चीजों को क्या रंग देना है। शरलॉक के पीछे के लोगों ने पाया कि सेटिंग LS_COLORS
से सभी बच सकते हैं और गति में 40x सुधार दे सकते हैं । उन्होंने क्या पाया, यह देखने के लिए उनके विवरण पढ़ें।
मैं सभी फ़ाइल प्रकारों को डिफ़ॉल्ट रंगों का उपयोग करता हूं:
$ export LS_COLORS='bd=0:ca=0:cd=0:di=0:do=0:ex=0:pi=0:fi=0:ln=0:mh=0:no=0:or=0:ow=0:sg=0:su=0:so=0:st=0:tw=0:'
यहाँ LS_COLORS फ़ाइल है जिसे मैंने dircolors को खिलाया है:
BLK 0
CAPABILITY 0
CHR 0
DIR 0
DOOR 0
EXEC 0
FIFO 0
FILE 0
LINK 0
MULTIHARDLINK 0
NORMAL 0
ORPHAN 0
OTHER_WRITABLE 0
SETGID 0
SETUID 0
SOCK 0
STICKY 0
STICKY_OTHER_WRITABLE 0
के लिए grep
, देखें कि क्या आपका समर्थन करता है GREP_COLORS
या GREP_OPTIONS
।
ls
औरgrep
जब पाइपिंग के लिए आपको कुछ भी करने की आवश्यकता नहीं है क्योंकि--color=auto
पहले से ही रंग बंद हो जाता है जब उसका आउटपुट पाइप होता है, या वास्तव में कुछ भी लेकिन एक टटी; यही 'ऑटो' का मतलब है। इसी तरह FreeBSDls -G
या 'CLICOLOR' 'अक्षम है यदि आउटपुट टर्मिनल पर निर्देशित नहीं है, जब तक ... CLICOLOR_FORCE ...'।