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.
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.
Jawaban:
Saya kira cara termudah adalah dengan mengetik ls -l
, atau ls -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
, seperti ls -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.
apt-get install ncdu
Ini interaktif juga jadi jika Anda ingin memeriksa sub folder hanya ATAS, BAWAH, dan Enter untuk itu.
Untuk mendapatkan ukuran total direktori dan semua anak
du -hs directory/*
Lihat juga tree
. Ini tidak diinstal secara default tetapi merupakan repositori.
Contoh:
richard@legend:~$ tree Applications/ -s
Applications/
├── [ 4096] AlexFTPS-1.0.2
│ ├── [ 31232] AlexPilotti.FTPS.Client.dll
│ ├── [ 274432] C5.dll
│ ├── [ 1457] C5-License
│ ├── [ 35147] COPYING
│ ├── [ 7639] COPYING.LESSER
│ ├── [ 70] ftps
│ ├── [ 28672] ftps.exe
│ ├── [ 98304] Plossum CommandLine.dll
│ ├── [ 1557] Plossum-License
│ └── [ 2560] README
└── [ 4096] src
└── [ 180849] AlexFTPS_bin_1.0.2.zip
Opsi lainnya dapat ditemukan di halaman manual.
-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.
Sebuah solusi terminal adalah du
perintah:
du --all --human-readable --apparent-size
(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, misalnya 10K
(10 kilobyte), 10
(10 byte)--apparent-size
- menunjukkan ukuran file aktual, bukan ukuran seperti yang digunakan oleh disk.--max-depth=1
--max-depth=1
bisa disingkat -d1
.
Ini sepertinya melakukan trik ketika simlinks terlibat.
ls -LRlh
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.
Solusi terminal lain dengan find
dan urutkan (berdasarkan filesize, kolom 1)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh