Windows dirdizin listesi komutunun sonunda, listelenen dosyaların aldığı toplam alan miktarını gösteren bir satır var. Örneğin , geçerli dizindeki dir *.exetüm .exedosyaları, boyutlarını ve boyutlarının toplamını gösterir. Diğer adıma dirbash ile benzer bir işlevselliğe sahip olmayı çok isterdim , ama tam olarak nasıl devam edeceğinden emin değilim.
Şu anda, alias dir='ls -FaGl'içinde .bash_profile, gösteren
drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./
drwxr-x--x. 256 root 12288 Apr 8 21:29 ../
-rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history
-rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout
-rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile
-rw-r--r-- 1 mattdmo 176 May 10 2012 .bash_profile~
-rw-r--r-- 1 mattdmo 411 Dec 9 17:33 .bashrc
-rw-r--r-- 1 mattdmo 124 May 10 2012 .bashrc~
drwx------ 2 mattdmo 4096 Mar 24 20:03 bin/
drwxrwxr-x 2 mattdmo 4096 Mar 11 16:29 download/
Örneğin. Bu sorunun cevabını alarak :
dir | awk '{ total += $4 }; END { print total }'
Bu bana toplamı verir, ancak dizinin kendisini yazmaz. Bunu bir liner veya shell kodunda değiştirmenin bir yolu var, böylece lsistediğim herhangi bir argümanı geçebilir dirve tam bir liste artı toplam toplamı alabilir miyim? Örneğin, dir -R *.jpg *.tiftüm alt dizinlerdeki bu dosya türlerinin listesini ve toplam boyutunu almak için koşmak istiyorum . İdeal olarak, her bir alt dizinin boyutunu bulabilirsem harika olurdu, ama bu gerekli değil.
ls -lhın ne yazdırdığını bilmiyorum , ancak awkaşağıdaki komut dosyalarının ne hesapladığıyla ya da elle ne eklediğimle ilgili değildir . Bazen, dizindeki KB dosya sayısına yakındır, ancak tahsis edilmiş alt dizin boyutlarını yürürlüğe koyuyor gibi görünmemektedir. Beni tam olarak bu numaranın ne olduğuna dair bir açıklamaya işaret ederseniz minnettar olurum ...
ls -lhiçeriğini hesaplayan bir
ls -lhyardım etmiyorsun Toplam toplamı üste basar. Ayrıcadu -sh *.exe, disk alanı kullanım bilgilerini insan tarafından okunabilir biçimde almak için de çalıştırabilirsiniz .