Çok büyük olmayan dizin ağaçlarında hızlı etkileşimli kullanım için shopt -s globstar
gerçekten güzel. Bir gıdım bile türüne göre dizinleri filtrelemeyen, ancak bunu kullanırsanız ls -d
o zaman ls
sadece yerine içindekiler, dizin adını yazdırır.
ll
Takma adınızın şunları içerdiğini varsayarsak -lh
:
# with shopt -s globstar in your .bashrc
ll -rSd **/*
size bu şekilde çıktı verecektir (benim kod-golf dizininden), ancak renk vurgulama ile (böylece dizinleri görmek daha kolay). Alt dizinlerde dosya boyutuna göre sıralama yapıldığını unutmayın.
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~
...
Yoluyla boruları filtreleyerek grep -v '^d'
Dosya adlarınızda bir desen varsa, bazen yalnızca dosyalarla eşleşen dizinleri değil, bir glob kullanabilirsiniz. Örneğin ll -rSd **/*.jpg
, **/*.*
dizin adlarınızın hiçbiri .
bunlarda yoksa ve istediğiniz tüm dosyalar içindeyse çalışır .
(DOS arka planı olan kişiler için: *.*
Unix'te büyülü bir şey yoktur . Yalnızca gerçek bir nokta içeren herhangi bir dizin girdisiyle eşleşir. Ancak yürütülebilir dosyalar ve bazen metin dosyaları dışında, dosya adlarına uzantı vermek yaygındır.)
@ tatlı, tüm dosyalarla shopt -s dotglob
eşleşmesi için ihtiyacınız olduğunu belirtir .
GNU ile find
Bir ls
komut satırına sığmayacak kadar çok dosya yoksa, find -exec ls {} +
bunları ls
sıralayabilecekleri komut satırına yerleştirir .
find -not -type d -exec ls --color -lrSh {} +
-not -type d
Bunun yerine kullanmak -type f
, linkleri, adlandırılmış boruları, soketleri, cihaz dosyalarını ve dizinlerinizde tekme attığınız şeyleri göz ardı etmekten kaçınır.
İle 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
Şimdi dizin adları, tüm içeriklerinin toplamı ile birlikte listede sıralanır, ancak tek tek dosyalar hala dahil edilir.
sort -h
, diğer bir deyişle --human-numeric-sort
, sayıları du -h
baskı gibi boyut sonekleriyle sıralar . İle kullanım için mükemmeldir du
.
Sıklıkla du -sch * | sort -h
ya da */
sadece dizin almak için kullanıyorum.
du -sch **/* | sort -h
du
bir -a
seçenek olduğunu unutursanız, yukarıdaki çıktıyı verecektir .
(Sadece bakmak için zaman ayırdım çünkü bir cevap gönderiyorum. Etkileşimli kullanım için, muhtemelen kullanmış olurdum du -sch **/*
.