husonet | Tarih: 27.01.2015
wc komutu
Bir dizindeki dosyaların, dizinlerin ve sembolik linklerin sayısını wc komutu ile alabilirsiniz
Bu dizin altındaki dosyaların ve klasörlerin yada bir konsol komutunun çıktısını bir çok sebepten dolayı sayılarını almak isteyebilirsiniz ben genelde proseslerin sayısını almak için kullanıyorum. Aşağıda örneklemeye çalıştım.
ls hedefklasor | wc -l
454
Yukarıdaki komut dizisi ls çıktısını | "pipe" komutundan sonra verilen wc -l parametresi ile sayısını döndürür.
ls -1 hedefklasor
-rw-r--r-- 1 huso huso 1510976 Jul 13 2008 FOTOSS001.jpg
...
Yukarıdaki komut dosyaları, sembolik linkleri ve yinelemesiz olarak alt dizinleri çıktı olarak verecektir.
Sadece dosyaların sayısını almak istiyorsanız
ls -l | grep ^- | wc -l
Sadece dizinlerin sayısını almak istiyorsanız
ls -l | grep ^d | wc -l
Sadece sembolik linklerin sayısını almak istiyorsanız
ls -l | grep ^l | wc -l
Alternatif olarak aşağıdaki şekilde find komutuylada yapabilirsiniz.
Sadece dosyaların sayısını alır
find targetdir -maxdepth 1 -type f | wc -l
Sadece sembolik linklerin sayısını alır
find targetdir -follow -maxdepth 1 -type f | wc -l
Alt klasörlerle birlikte almak için aşağıdaki komut dizisini kullanabilirsiniz.
#for i in `ls -1b`; do c=`find $i -type f |wc -l`; echo "$c $i"; done;
1 bad-blocks
1 baraction.sh
1 cikis.dat
130 Desktop
3 Documents
161 Downloads
1 dpkg-reconfigure-tzdata-europe.jpg
1 dpkg-reconfigure-tzdata-istanbul.jpg