Bagaimana cara mengetahui ukuran suatu direktori? Termasuk subdirektori dan file.
Bagaimana cara mengetahui ukuran suatu direktori? Termasuk subdirektori dan file.
Jawaban:
du -s directory_name
Atau untuk mendapatkan hasil yang bisa dibaca manusia:
du -sh directory_name
The -s
pilihan berarti bahwa hal itu tidak akan daftar ukuran untuk setiap subdirektori, hanya ukuran total.
du -sh bag
bekerja dengan sempurna!
Meskipun menggunakan paket terpisah seperti ncdu dapat bekerja dengan baik, perbandingan yang sama dari banyak folder dapat dilakukan, sampai taraf tertentu, dengan hanya memberikan du daftar folder untuk ukuran. Misalnya untuk membandingkan direktori tingkat atas pada sistem Anda ...
cd /
sudo du -sh ./*
du -sh /*
GNU du
mengambil -b
opsi.
Lihat man
halaman dan info
halaman untuk bantuan lebih lanjut:
-b
,--bytes
setara dengan--apparent-size --block-size=1
du -csh
-c menghasilkan total besar
-c
tidak masuk akal untuk digunakan bersama dengan -s
, kan? -s
hanya menampilkan ukuran direktori yang ditentukan, yaitu ukuran total direktori.
Mencoba
du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
Ini membantu menemukan direktori besar untuk kemudian disaring menggunakan du -sh ./*
Anda juga dapat menggunakan ls -ldh:
ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l adalah untuk daftar panjang; -d adalah untuk menampilkan informasi dir, bukan isi dari dir, -h adalah untuk menampilkan ukuran dalam format yang dapat dibaca.
Saya selalu menginstal paket "ncdu" dan melihat semua output dari semua direktori dengan representasi grafis. Ini karena saya biasanya perlu tahu apa yang menghabiskan paling banyak ruang disk pada mesin saya, terlepas dari berapa banyak direktori tunggal merangkum.
Penggunaan: sudo ncdu /
(Anda tidak perlu sudo
folder yang izinnya Anda baca).
Diperlukan beberapa saat untuk memindai statistik penggunaan disk di seluruh sistem file. Ini memiliki representasi grafis baris perintah yang bagus dan termasuk navigasi keyboard menggunakan tombol panah, seperti masuk lebih dalam atau lebih tinggi di jalur yang dipindai. Anda juga dapat menghapus item dengan menekan D.
Anda dapat menggunakan "file-size.sh" dari perpustakaan Velk awk :
ls -ARgo "$@" | awk '{q += $3} END {print q}'
du -hd1
akan mendaftar dalam format yang dapat dibaca manusia ukuran semua direktori, misalnya
656K ./rubberband
2.2M ./lame
652K ./pkg-config
Saya mencoba dengan perintah di bawah ini karena sudah jawaban terbaik telah disediakan
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
keluaran
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
679445
du
's Unit default adalah blok 512-byte sesuai dengan POSIX, dan kilobyte di Linux (kecuali variabel lingkunganPOSIXLY_CORRECT
diatur) atau dengandu -k
.