Ls मैन पेज के अनुसार , आपको ls के साथ झंडे देखने के -O
विकल्प के साथ संयुक्त विकल्प होना चाहिए -l
। उदाहरण के लिए:
ls -Ol foo.txt
-rw-r--r-- 1 harry staff - 0 18 Aug 19:11 foo.txt
chflags hidden foo.txt
ls -Ol foo.txt
-rw-r--r-- 1 harry staff hidden 0 18 Aug 19:11 foo.txt
chflags nohidden foo.txt
ls -Ol foo.txt
-rw-r--r-- 1 harry staff - 0 18 Aug 19:11 foo.txt
संपादित करें: ओपी चाहता था (नीचे टिप्पणी देखें) को अधिक विशिष्ट समाधान देने के लिए: यह देखने के लिए कि क्या कोई फ़ोल्डर छिपा हुआ है या नहीं, हम -a
फ़ोल्डर को देखने के लिए ls के विकल्प को पास कर सकते हैं । हम उस आउटपुट की आवश्यक लाइन प्राप्त करने के लिए आउटपुट को sed -n 2p
(धन्यवाद स्टैक ओवरफ्लो में ) पाइप कर सकते हैं । एक उदाहरण:
mkdir foo
chflags hidden foo
ls -aOl foo | sed -n 2p
drwxr-xr-x@ 2 harry staff hidden 68 18 Aug 19:11 .
एडिट 2: एक कमांड के लिए, चाहे वह किसी फाइल या फोल्डर की हो, हमें काम करना चाहिए, इसके लिए हमें कुछ ज्यादा ही हैक करने की जरूरत है।
आउटपुट की आवश्यक पंक्ति ls -al
इस बात पर निर्भर करती है कि क्या चीज़ फ़ाइल या फ़ोल्डर है, क्योंकि फ़ोल्डर कुल गणना दिखाते हैं, जबकि फ़ाइलें नहीं होती हैं। इसके चारों ओर जाने के लिए, हम चरित्र के लिए पकड़ बना सकते हैं r
। यह सभी फ़ाइलों / फ़ोल्डरों के ~ सभी में होना चाहिए (लगभग सभी में कम से कम एक पढ़ने की अनुमति होनी चाहिए), लेकिन योग रेखा में नहीं।
जैसा कि हम जिस रेखा को प्राप्त करना चाहते हैं, वह पहली पंक्ति बन जाती है, हम head -n 1
पहली पंक्ति प्राप्त करने के लिए उपयोग कर सकते हैं (विकल्प, यदि आप sed पसंद करते हैं, तो sed -n 1p
इसका उपयोग किया जा सकता है)।
इसलिए, उदाहरण के लिए एक निर्देशिका के साथ:
mkdir foo
chflags hidden foo
ls -aOl foo | grep r | head -n 1
drwxr-xr-x@ 2 harry staff hidden 68 18 Aug 19:11 .
और एक फ़ाइल के साथ:
touch foo.txt
chflags hidden foo.txt
ls -aOl foo.txt | grep r | head -n 1
-rw-r--r-- 1 harry staff hidden 0 18 Aug 19:11 foo.txt
संपादित करें 3: नीचे एक अच्छा तरीका के लिए टायरिलो का जवाब देखें r
: