dirPerintah daftar direktori Windows memiliki garis di bagian akhir yang menunjukkan jumlah total ruang yang diambil oleh file yang terdaftar. Misalnya, dir *.exemenunjukkan semua .exefile di direktori saat ini, ukurannya, dan jumlah total ukurannya. Saya ingin memiliki fungsi yang mirip dengan diralias saya di bash, tapi saya tidak yakin bagaimana melakukannya.
Saat ini, saya miliki alias dir='ls -FaGl'di .bash_profilepertunjukan saya
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/
sebagai contoh. Mengambil jawaban dari pertanyaan ini :
dir | awk '{ total += $4 }; END { print total }'
yang memberi saya total, tetapi tidak mencetak daftar direktori itu sendiri. Apakah ada cara untuk mengubah ini menjadi skrip satu-liner atau shell sehingga saya bisa memberikan lsargumen yang saya inginkan dirdan mendapatkan daftar lengkap ditambah jumlah total? Sebagai contoh, saya ingin menjalankan dir -R *.jpg *.tifuntuk mendapatkan daftar dan ukuran total dari jenis file tersebut di semua subdirektori. Idealnya, akan lebih bagus jika saya bisa mendapatkan ukuran dari setiap subdirektori, tetapi ini tidak penting.
ls -lhyang dicetak, tapi itu tidak selalu terkait dengan apa yang awkdihitung skrip di bawah ini, atau apa yang saya tambahkan dengan tangan. Kadang-kadang mendekati jumlah KB file dalam direktori, tetapi tampaknya tidak mengambil ukuran subdirektori yang berlaku. Saya akan berterima kasih jika Anda bisa mengarahkan saya ke penjelasan tentang apa sebenarnya angka itu ...
ls -lhtidak menunjukkan total ukuran dir yang menghitung kontennya
ls -lhmembantumu? Ini mencetak jumlah total di atas. Anda juga dapat menjalankandu -sh *.exeuntuk mendapatkan informasi penggunaan ruang disk dalam bentuk yang dapat dibaca manusia.