Bagaimana daftar ukuran file rekursif dari file dan direktori dalam direktori?
50
Bagaimana cara mendaftar semua file dalam direktori dan ukuran file rekursifnya?
---sunting
Saya ingin melihat ukuran 'digulung' ke direktori induk di direktori yang tercantum. Saya tidak ingin melihat direktori anak atau isinya atau ukurannya.
Maksud Anda, Anda ingin melihat ukuran total (jumlah) semua file dalam folder, seperti mengklik kanan pada folder di desktop Anda dan memilih 'properti'?
Pavlos G.
Apakah Anda mencari perangkat lunak yang membantu Anda menemukan file besar, atau sesuatu untuk mendapatkan pohon file (dapat disempitkan)?
Lekensteyn
Hai @Pavlos G - maksud saya jumlah untuk masing-masing direktori di direktori saya saat ini - bukan jumlah untuk direktori keseluruhan.
hawkeye
@ JP - Periksa pembaruan saya ;-)
Pavlos G.
Jawaban:
53
Saya kira cara termudah adalah dengan mengetik ls -l, atau ls -lhyang akan memberikan ukuran file dalam format yang dapat dibaca manusia (KB, MB, dll).
Jika 'secara rekursif' berarti mencantumkan semua folder berikutnya, misalnya:
/ foo /
/ foo / bar / ....
Maka Anda juga harus menambahkan parameter R, seperti ls -lRatauls -lhR
Informasi lebih lanjut lsdapat ditemukan dengan mengetikman ls
Memperbarui:
Perintah berikut seperti yang diusulkan Lekensteyn mungkin akan melakukan pekerjaan:
du -h --max-depth=1 <folder>
-hadalah untuk dibaca manusia --apparent-sizeadalah cara lain untuk menampilkan ukuran seperti yang sudah dinyatakan --max-depthadalah tingkat subfolder yang ingin Anda turuni.
Memperlihatkan ukuran catatan direktori daripada ukuran direktori lengkap.
Steven Lu
-hperlihatkan ukuran dengan cara yang dapat dibaca manusia, misalnyatree -s
Eric Wang
15
Karena Anda tidak menyebutkan secara spesifik bahwa Anda memerlukan solusi berbasis terminal, saya pikir baobab alias Disk Usage Analyzer tidak ada dalam daftar.
Itu diinstal di Ubuntu secara default dan melakukan apa yang Anda inginkan dalam UI grafis yang bagus dengan kemampuan untuk menelusuri hierarki direktori.
Selain menampilkan daftar direktori dengan ukurannya, itu juga menunjukkan lingkaran cincin atau treemap penggunaan sistem file, yang sangat berguna untuk memvisualisasikan direktori yang memakan banyak ruang.
@ Hawkeye untuk level 1 yang bisa kamu gunakan--max-depth=1
nikoskip
4
@nikoskip tip yang bagus! Juga bagus untuk diketahui adalah singkatan, --max-depth=1bisa disingkat -d1.
Lekensteyn
bagaimana mendapatkan semua ini dalam urutan ukuran yang
menurun
bagaimana cara melihat isinya dan kosong: / dev / sda5 ext4 430G 381G 27G 94% / laptop saya berumur kurang dari 1 bulan dan sangat penuh sehingga tidak masuk akal
kRazzy R
2
Ini sepertinya melakukan trik ketika simlinks terlibat.
diberikan jawaban tidak memberi saya detail untuk simlinks (ls -lhR), angka-angka yang tercantum di sebelahnya tidak sesuai dengan ukuran yang tepat dari masing-masing nilai baik. Jawaban saya memberi saya hierarki dengan struktur pohon yang telah ditentukan dan jawaban yang benar .... ATAU apakah Anda merujuk ke beberapa jawaban yang dipilih?
Mulki
Suara turun ditarik, terbalik. Harap edit dan beri komentar di jawaban ... Terima kasih atas penjelasannya. ;-)
Fabby
1
Untuk mendapatkan daftar yang diurutkan, masukkan semuanya dalam MB dan urutkan:
du -m * | sort -n
Atau gunakan alat seperti DiskReport untuk menghasilkan laporan pohon disk lengkap.
Jawaban:
Saya kira cara termudah adalah dengan mengetik
ls -l
, atauls -lh
yang akan memberikan ukuran file dalam format yang dapat dibaca manusia (KB, MB, dll).Jika 'secara rekursif' berarti mencantumkan semua folder berikutnya, misalnya:
/ foo /
/ foo / bar / ....
Maka Anda juga harus menambahkan parameter
R
, sepertils -lR
atauls -lhR
Informasi lebih lanjut
ls
dapat ditemukan dengan mengetikman ls
Memperbarui:
Perintah berikut seperti yang diusulkan Lekensteyn mungkin akan melakukan pekerjaan:
du -h --max-depth=1 <folder>
-h
adalah untuk dibaca manusia--apparent-size
adalah cara lain untuk menampilkan ukuran seperti yang sudah dinyatakan--max-depth
adalah tingkat subfolder yang ingin Anda turuni.sumber
Ini interaktif juga jadi jika Anda ingin memeriksa sub folder hanya ATAS, BAWAH, dan Enter untuk itu.
sumber
Untuk mendapatkan ukuran total direktori dan semua anak
sumber
Lihat juga
tree
. Ini tidak diinstal secara default tetapi merupakan repositori.Contoh:
Opsi lainnya dapat ditemukan di halaman manual.
sumber
-h
perlihatkan ukuran dengan cara yang dapat dibaca manusia, misalnyatree -s
Karena Anda tidak menyebutkan secara spesifik bahwa Anda memerlukan solusi berbasis terminal, saya pikir baobab alias Disk Usage Analyzer tidak ada dalam daftar.
Itu diinstal di Ubuntu secara default dan melakukan apa yang Anda inginkan dalam UI grafis yang bagus dengan kemampuan untuk menelusuri hierarki direktori.
Selain menampilkan daftar direktori dengan ukurannya, itu juga menunjukkan lingkaran cincin atau treemap penggunaan sistem file, yang sangat berguna untuk memvisualisasikan direktori yang memakan banyak ruang.
sumber
Sebuah solusi terminal adalah
du
perintah:(singkatan:
du -ah --apparent-size
)du
menampilkan penggunaan disk untuk setiap file dan direktori. Opsi menjelaskan:--all
,-a
- menunjukkan ukuran untuk file juga, bukan hanya direktori--human-readable
,-h
- tampilkan ukuran dalam format yang dapat dibaca manusia, misalnya10K
(10 kilobyte),10
(10 byte)--apparent-size
- menunjukkan ukuran file aktual, bukan ukuran seperti yang digunakan oleh disk.sumber
--max-depth=1
--max-depth=1
bisa disingkat-d1
.Ini sepertinya melakukan trik ketika simlinks terlibat.
sumber
Untuk mendapatkan daftar yang diurutkan, masukkan semuanya dalam MB dan urutkan:
Atau gunakan alat seperti DiskReport untuk menghasilkan laporan pohon disk lengkap.
sumber
Solusi terminal lain dengan
find
dan urutkan (berdasarkan filesize, kolom 1)sumber