`Ls` फ़ाइल लिस्टिंग में छिपी फ़ाइलों को कैसे कोलाइरस करें?


10

LS_COLORSपर्यावरण चर आपको GNU कोरूटिल के lsकमांड के लिए अलग-अलग फ़ाइल प्रकारों के लिए रंगों पर निर्णय लेने देता है , जैसे कि निर्देशिका, नियमित फ़ाइलें, लिंक आदि। मुझे लगता है कि डॉट फाइलें लिनक्स फ़ाइल प्रकारों की भिन्नता मानी जाती हैं, न कि अपने प्रकार की। उनके लिए प्रदर्शन रंग निर्दिष्ट करने का कोई विकल्प नहीं है।

क्या कोई और (अन्य) तरीका है जिससे आप lsलिस्टिंग को एक अलग रंग में छुपी हुई फ़ाइलें दिखा सकते हैं ?


यह उत्तर आपके बारे में जानना चाहता है LS_COLORS। मैं यह पता नहीं लगा सका कि इसे डॉटफाइल्स के लिए कैसे काम करना है लेकिन आप इसे जांचना चाहते हैं।
terdon

1
@terdon - यह dotfiles के लिए काम नहीं करता है। यह कुछ के लिए हो सकता है, लेकिन बहुत कम। एक एक्सटेंशन की लंबाई की सीमा होती है और अधिकांश संपूर्ण फ़ाइलनाम इससे अधिक होंगे। यह *.hideउदाहरण के लिए नामित फ़ाइलों के लिए काम करेगा । यह उत्तर निर्देशिकाओं के लिए एक समान समस्या का समाधान करता है, हालांकि इस और निर्देशिका समस्या के उत्तर संभवतः समान नहीं हैं।
मिकसेर्व

जवाबों:


1

यदि आप केवल नाम से छँटाई कर रहे हैं, तो इससे मदद मिल सकती है:

alias ll='LS_COLORS=$LS_COLORS:"di=0;34:" ; S_COLORS=$LS_COLORS:"fi=0;37:" ; export LS_COLORS; ls -dHhl --color=auto .*; LS_COLORS=$LS_COLORS:"di=1;94:" ; LS_COLORS=$LS_COLORS:"fi=1;37:" ; export LS_COLORS$

हालाँकि, यह ls कमांड को दो भागों में विभाजित करता है, एक छुपी हुई फ़ाइलों और फ़ोल्डरों के लिए, दूसरा एक के लिए।


0

हाँ, उपयोग करें cf। मैंने अभी एक अच्छी तरह से प्रलेखित संस्करण जारी किया है, यह विशेष रूप से प्रति फ़ाइल एक्सटेंशन और / या कुछ विशेष विशेषताओं (निष्पादन योग्य, लिंक, छिपी और निर्देशिका) में एलएस आउटपुट को रंग देता है। इसे आजमा कर देखें!!! एक बार जब आप इसकी आदत डाल लेते हैं तो इसे इस्तेमाल करने देना मुश्किल होता है।

https://github.com/AdamDanischewski/cf


-1

यदि आप केवल छिपी हुई फ़ाइलों (और फ़ोल्डरों) को हाइलाइट करना चाहते हैं और आप अन्य सभी फ़ाइलों के रंग के बारे में परवाह नहीं करते हैं, तो स्पष्ट दृष्टिकोण चलना है ls -la | grep -E "^| \.[^/|'.].*"

यदि आप अन्य रंगों को बनाए रखना चाहते हैं, तो चीजें मुश्किल होने $LS_COLORSलगती हैं , क्योंकि छिपी हुई फाइलों को रंगने के लिए मूल रूप से समर्थन नहीं करता है जैसा कि ऐसा लगता है।

मैं वर्तमान निर्देशिका की छिपी हुई फ़ाइलों को $LS_COLORSछद्म विस्तार के रूप में पर्यावरण चर में गतिशील रूप से जोड़ने के विचार के साथ आया था , फिर निष्पादित करें ls -laऔर उसके बाद dircolorsमूल रंग स्कीमा को रीसेट करने के लिए चलाएं । स्पष्ट रूप से एक संघर्ष होगा यदि एक छिपी हुई फ़ाइल में एक ज्ञात एक्सटेंशन के समान नाम है। साथ ही यह विधि छिपे हुए फ़ोल्डरों के साथ काम नहीं करती है।

चेतावनी: यह समाधान एक (बहुत अच्छी तरह से परीक्षण नहीं किया गया) हैक है। अपने जोखिम पर इसका इस्तेमाल करो।

for h in $(ls -A | grep "^\."); do LS_COLORS="$LS_COLORS*$h=04;05:"; done; ls -la; eval $(dircolors)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.