निर्देशिका के पेड़ों पर त्वरित इंटरैक्टिव उपयोग के लिए जो बहुत विशाल नहीं हैं, shopt -s globstar
वास्तव में अच्छा है। एक ग्लोब प्रकार के आधार पर निर्देशिकाओं को फ़िल्टर नहीं कर सकता है, लेकिन यदि आप इसका उपयोग करते हैं ls -d
तो ls
सामग्री के बजाय केवल निर्देशिका नाम प्रिंट करेंगे।
अपने ll
उपनाम को मानते हुए शामिल हैं -lh
:
# with shopt -s globstar in your .bashrc
ll -rSd **/*
आपको इस तरह से आउटपुट देगा (मेरे कोड-गोल्फ निर्देशिका से), लेकिन रंग हाइलाइटिंग के साथ (ताकि निर्देशिकाओं को देखना आसान हो)। नोट करें कि फ़ाइलों द्वारा क्रमबद्ध करने से उपनिर्देशिकाओं में हुआ।
drwxr-xr-x 1 peter peter 70 Jun 8 07:56 casexchg
...
drwxr-xr-x 1 peter peter 342 Mar 13 18:47 parity-party
-rw-r--r-- 1 peter peter 387 Jul 29 2017 likely.cpp
-rw-r--r-- 1 peter peter 416 Aug 31 2017 true-binary.asm~
-rw-r--r-- 1 peter peter 447 Feb 23 20:14 weight-of-zero.asm
...
-rw-r--r-- 1 peter peter 6.4K Jun 1 2017 string-exponential.asm
-rwxr-xr-x 1 peter peter 6.7K Aug 31 2017 true-binary
-rwxr-xr-x 1 peter peter 6.8K Sep 17 2017 dizzy-integer
-rw-r--r-- 1 peter peter 7.5K Jul 24 2017 fibonacci/fibonacci-1G.v3-working-32b-stack-except-output.asm
-rw-r--r-- 1 peter peter 8.4K Jul 25 2017 fibonacci/perf.32bit-pop-114limb.sub-cmc.1G~
-rw-r--r-- 1 peter peter 8.4K Jul 25 2017 fibonacci/perf.32bit-pop-114limb.sub-cmc.1G
-rwxr-xr-x 1 peter peter 8.4K May 19 04:29 a.out
-rw-r--r-- 1 peter peter 8.9K Jul 25 2017 fibonacci/perf.python-xnor-2n
-rw-r--r-- 1 peter peter 9.5K Jul 26 2017 fibonacci/fibonacci-1G-performance.asm
-rwxr-xr-x 1 peter peter 9.6K Apr 12 23:25 empty-args
-rw-r--r-- 1 peter peter 9.7K Dec 18 17:00 bubblesort.asm
-rwxr-xr-x 1 peter peter 9.9K Feb 6 23:34 parity-party/a.out
-rw-r--r-- 1 peter peter 9.9K Jul 25 2017 fibonacci/fibonacci-1G-performance.asm~
...
आप पाइपिंग द्वारा निर्देशिकाओं को फ़िल्टर कर सकते हैं grep -v '^d'
आप कभी-कभी केवल फ़ाइल और निर्देशिकाओं से मेल खाने वाले ग्लोब का उपयोग कर सकते हैं, यदि आपके फ़ाइलनाम में कोई पैटर्न है। जैसेll -rSd **/*.jpg
, या यहां तक कि **/*.*
काम करता है अगर आपके निर्देशिका नामों में से कोई भी उनमें नहीं है .
, और सभी फाइलें जो आप चाहते हैं ।
(डॉस पृष्ठभूमि वाले लोगों के लिए: *.*
यूनिक्स के बारे में कुछ भी जादुई नहीं है । यह किसी भी निर्देशिका प्रविष्टि से मेल खाता है जिसमें शाब्दिक बिंदु शामिल हैं। लेकिन निष्पादन योग्य और कभी-कभी पाठ फ़ाइलों के अलावा, फ़ाइल नाम को एक्सटेंशन देना आम है।)
@ डेज़र्ट आपको बताते हैं कि आपको इसकी आवश्यकता होगी shopt -s dotglob
सभी फाइलों का मिलान ।
जीएनयू के साथ find
यदि एक ls
कमांड लाइन पर फिट होने के लिए बहुत सारी फाइलें नहीं हैं , find -exec ls {} +
तो उन सभी को कमांड लाइन पर रख देंगे जहांls
उन्हें सॉर्ट कर सकते हैं।
find -not -type d -exec ls --color -lrSh {} +
का उपयोग करते हुए -not -type d
-type f
सीलिंक, नामांकित पाइप, सॉकेट, डिवाइस फ़ाइलों, और जो कुछ भी आप अपने निर्देशिका में चारों ओर लात मार रहा है की अनदेखी से बचने के बजाय का ।
साथ में du
:
du -ach | sort -h
....
4.0K x86-modedetect-polyglot.o
8.0K ascii-compress-base.asm
8.0K dizzy-integer
8.0K stopwatch-rdtsc.asm
8.0K string-exponential.asm
8.0K true-binary
12K a.out
12K bubblesort.asm
12K casexchg
12K empty-args
100K parity-party
220K fibonacci
628K total
अब निर्देशिका नामों को उनकी सभी सामग्रियों की कुल राशि के साथ सूची में क्रमबद्ध किया गया है, लेकिन व्यक्तिगत फाइलें अभी भी शामिल हैं।
sort -h
, उर्फ --human-numeric-sort
, आकार की तरह प्रत्यय के साथ संख्याओं की तरहdu -h
प्रिंट की । यह उपयोग के लिए एकदम सही है du
।
मैं अक्सर उपयोग करता हूं du -sch * | sort -h
, या*/
केवल निर्देशिका प्राप्त करने के लिए।
du -sch **/* | sort -h
यदि आप भूल जाते हैं कि आप उपरोक्त आउटपुट दे सकते हैं du
पास एक -a
विकल्प है ।
(मैंने केवल इसे देखने के लिए समय लिया क्योंकि मैं एक उत्तर पोस्ट कर रहा हूं। इंटरएक्टिव उपयोग के लिए, मैं शायद बस इस्तेमाल करूंगा du -sch **/*
।