dir
Perintah daftar direktori Windows memiliki garis di bagian akhir yang menunjukkan jumlah total ruang yang diambil oleh file yang terdaftar. Misalnya, dir *.exe
menunjukkan semua .exe
file di direktori saat ini, ukurannya, dan jumlah total ukurannya. Saya ingin memiliki fungsi yang mirip dengan dir
alias saya di bash, tapi saya tidak yakin bagaimana melakukannya.
Saat ini, saya miliki alias dir='ls -FaGl'
di .bash_profile
pertunjukan 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 ls
argumen yang saya inginkan dir
dan mendapatkan daftar lengkap ditambah jumlah total? Sebagai contoh, saya ingin menjalankan dir -R *.jpg *.tif
untuk 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 -lh
yang dicetak, tapi itu tidak selalu terkait dengan apa yang awk
dihitung 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 -lh
tidak menunjukkan total ukuran dir yang menghitung kontennya
ls -lh
membantumu? Ini mencetak jumlah total di atas. Anda juga dapat menjalankandu -sh *.exe
untuk mendapatkan informasi penggunaan ruang disk dalam bentuk yang dapat dibaca manusia.