Jawaban:
Gunakan ls
perintah untuk file dan du
perintah untuk direktori.
Memeriksa Ukuran File
ls -l filename #Displays Size of the specified file
ls -l * #Displays Size of All the files in the current directory
ls -al * #Displays Size of All the files including hidden files in the current directory
ls -al dir/ #Displays Size of All the files including hidden files in the 'dir' directory
ls
perintah tidak akan mencantumkan ukuran aktual direktori ( mengapa? ). Karena itu, kami menggunakan du
untuk tujuan ini.
Memeriksa ukuran Direktori
du -sh directory_name #Gives you the summarized(-s) size of the directory in human readable(-h) format
du -bsh * #Gives you the apparent(-b) summarized(-s) size of all the files and directories in the current directory in human readable(-h) format
Termasuk -h
pilihan di salah satu perintah di atas (untuk Ex: ls -lh *
atau du -sh
) akan memberikan ukuran dalam format yang dapat dibaca manusia ( kb
, mb
, gb
, ...)
Untuk informasi lebih lanjut, lihat man ls
danman du
du
perintah tersebut menunjukkan penggunaan disk dari file tersebut, yang mungkin lebih besar dari ukuran sebenarnya file tersebut. Anda dapat menggunakan du -d
untuk mendapatkan ukuran sebenarnya seperti ls
halnya. Info lebih lanjut: unix.stackexchange.com/a/106278/155224
Ada du
perintah.
Ukuran direktori dan / atau file:
$ du -sh .bashrc /tmp
--apparent-size
command line switch membuatnya mengukur ukuran nyata (apa yang ls
ditampilkan) daripada penggunaan disk yang sebenarnya.
-h
Bendera @FranciscoCorralesMorales harus melakukan apa yang Anda minta: ukuran cetak dalam format yang dapat dibaca manusia (mis., 1K 234M 2G)
du
dilakukan adalah Meringkas penggunaan disk dari set FILE , yaitu jika file sangat kecil (yaitu 2140 byte) output dari "du" adalah (dalam kasus saya) 4KB karena itulah ukuran cluster
--apparent-size
lalu.
du -hs *
melihat ukuran semua file, dan direktori di direktori saat ini.
Gunakan ls -s
untuk membuat daftar ukuran file, atau jika Anda lebih suka ls -sh
untuk ukuran yang dapat dibaca manusia.
Untuk direktori gunakan du
, dan sekali lagi, du -h
untuk ukuran yang dapat dibaca manusia.
Kamu bisa memakai:
ls -lh
Dengan menggunakan perintah ini Anda akan melihat ruang yang tampak dari direktori dan ruang sebenarnya dari file-file dan secara rinci nama-nama file yang ditampilkan, di samping ukuran dan tanggal pembuatan masing-masing.
ls -l
akan memberi Anda ukuran file termasuk metadata? karena tampaknya sedikit 4kb lebih besar untuk salah satu file yang saya coba
Ukuran File dalam MB
ls -l --b=M filename | cut -d " " -f5
Ukuran File dalam GB
ls -l --b=G filename | cut -d " " -f5
Ada juga ncdu
utilitas yang hebat - dapat menampilkan ukuran direktori dengan info rinci tentang subfolder dan file.
Ubuntu:
$ sudo apt-get install ncdu
Cukup ketikkan ncdu [path]
baris perintah. Setelah beberapa detik untuk menganalisis jalan, Anda akan melihat sesuatu seperti ini:
$ ncdu 1.11 ~ Use the arrow keys to navigate, press ? for help
--- / ---------------------------------------------------------
. 96,1 GiB [##########] /home
. 17,7 GiB [# ] /usr
. 4,5 GiB [ ] /var
1,1 GiB [ ] /lib
732,1 MiB [ ] /opt
. 275,6 MiB [ ] /boot
198,0 MiB [ ] /storage
. 153,5 MiB [ ] /run
. 16,6 MiB [ ] /etc
13,5 MiB [ ] /bin
11,3 MiB [ ] /sbin
. 8,8 MiB [ ] /tmp
. 2,2 MiB [ ] /dev
! 16,0 KiB [ ] /lost+found
8,0 KiB [ ] /media
8,0 KiB [ ] /snap
4,0 KiB [ ] /lib64
e 4,0 KiB [ ] /srv
! 4,0 KiB [ ] /root
e 4,0 KiB [ ] /mnt
e 4,0 KiB [ ] /cdrom
. 0,0 B [ ] /proc
. 0,0 B [ ] /sys
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz
Hapus elemen yang sedang disorot dengan d, keluar dengan CTRL+c
ls -l --block-size = M akan memberi Anda daftar format panjang (diperlukan untuk benar-benar melihat ukuran file) dan membulatkan ukuran file hingga MiB terdekat.
Jika Anda menginginkan MB (10 ^ 6 byte) daripada unit MiB (2 ^ 20 byte), gunakan --block-size = MB sebagai gantinya.
Jika Anda tidak ingin akhiran M melekat pada ukuran file, Anda dapat menggunakan sesuatu seperti --block-size = 1M. Terima kasih Stéphane Chazelas karena menyarankan ini.
Ini dijelaskan dalam halaman manual untuk ls; man ls dan cari UKURAN. Ini memungkinkan untuk unit selain MB / MiB juga, dan dari tampilannya (saya tidak mencobanya) ukuran blok yang sewenang-wenang juga (sehingga Anda bisa melihat ukuran file sebagai jumlah blok 412-byte, jika Anda ingin untuk).
Perhatikan bahwa parameter --block-size adalah ekstensi GNU di atas ls Open Group, jadi ini mungkin tidak berfungsi jika Anda tidak memiliki GNU userland (yang dilakukan sebagian besar instalasi Linux). Ls dari GNU coreutils 8.5 tidak mendukung --block-size seperti dijelaskan di atas.
Pergi ke direktori yang dipilih dan jalankan:
$ du -d 1 -h
dimana:
-d 1 is the depth of the directories
-h is the human-readable option
Anda akan melihat seperti itu:
0 ./proc
8.5M ./run
0 ./sys
56M ./etc
12G ./root
33G ./var
23M ./tmp
3.2G ./usr
154M ./boot
26G ./home
0 ./media
0 ./mnt
421M ./opt
0 ./srv
2.6G ./backups
80G .
Jika Anda menggunakannya dalam skrip, gunakan stat
.
$ date | tee /tmp/foo
Wed Mar 13 05:36:31 UTC 2019
$ stat -c %s /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 05:36 /tmp/foo
Itu akan memberi Anda ukuran dalam byte. Lihat man stat
opsi format keluaran lainnya.
The OSX / BSD setara adalah:
$ date | tee /tmp/foo
Wed Mar 13 00:54:16 EDT 2019
$ stat -f %z /tmp/foo
29
$ ls -l /tmp/foo
-rw-r--r-- 1 bruno wheel 29 Mar 13 00:54 /tmp/foo
Saya melakukan hal berikut setiap saat:
$ du -sh backup-lr-May-02-2017-1493723588.tar.gz
NB:
-s, --summarize
display only a total for each argument
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
Untuk mendapatkan ukuran total direktori atau ukuran total penggunaan file,
du -csh <directory or filename*> | grep total
Gunakan perintah ls dengan argumen -h: [root @ hots19 etc] # ls -lh
h: untuk dibaca manusia.
Exemple:
[root@CIEYY1Z3 etc]# ls -lh
total 1.4M
-rw-r--r--. 1 root root 44M Sep 15 2015 adjtime
-rw-r--r--. 1 root root 1.5K Jun 7 2013 aliases
-rw-r--r-- 1 root root 12K Nov 25 2015 aliases.db
drwxr-xr-x. 2 root root 4.0K Jan 11 2018 alternatives
-rw-------. 1 root root 541 Jul 8 2014 anacrontab
-rw-r--r--. 1 root root 55M Sep 16 2014 asound.conf
-rw-r--r--. 1 root root 1G Oct 6 2014 at.deny
Saya sendiri pengguna Ubuntu 16.04 dan saya menemukan bahwa ll
perintahnya adalah cara termudah untuk melihat isi direktori. Saya perhatikan bahwa tidak semua distribusi Linux mendukung perintah ini, tetapi mungkin ada solusi / instal untuk setiap distro di luar sana.
Contoh:
user@user-XPS-15-9560:/$ ll
total 188
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ./
drwxr-xr-x 27 root root 4096 Jan 26 09:13 ../
drwxr-xr-x 2 root root 4096 Jan 22 15:13 bin/
drwxr-xr-x 4 root root 12288 Jan 29 11:35 boot/
drwxr-xr-x 2 root root 4096 Sep 3 18:14 cdrom/
drwxr-xr-x 20 root root 4440 Feb 5 08:43 dev/
drwxr-xr-x 153 root root 12288 Feb 2 15:17 etc/
drwxr-xr-x 4 root root 4096 Sep 3 18:15 home/
...
Keuntungan terbesar bagi saya adalah cepat dan sangat intuitif untuk digunakan.
UPDATE: yang saya tidak tahu adalah bahwa di Ubuntu itu adalah alias yang sudah dikonfigurasi sebelumnya. Anda dapat dengan mudah mengaturnya sendiri dengan mengeksekusi alias ll="ls -la"
pada baris perintah, atau dengan menambahkan entri ini di file config .bashrc Anda:
sudo nano ~/.bashrc
...add line described above and save file by pressing Ctrl+X and Y...
source ~/.bashrc
Yang Anda butuhkan adalah -l
dan --block-size
bendera
Ukuran semua file dan direktori di bawah direktori kerja (dalam MB)
ls -l --block-size=M
Ukuran semua file dan direktori di bawah direktori kerja (dalam GB)
ls -l --block-size=G
Ukuran file atau direktori tertentu
ls -l --block-size=M my_file.txt
ls -l --block-size=M my_dir/
ls --help
-l
gunakan format daftar panjang
--block-size=SIZE
: skala ukuran denganSIZE
sebelum mencetaknya; misalnya,'--block-size=M'
mencetak ukuran dalam satuan 1.048.576 byte; lihatSIZE
format di bawah ini
SIZE
adalah bilangan bulat dan unit opsional (contoh: 10M adalah 10 * 1024 * 1024). Unit adalah K, M, G, T, P, E, Z, Y (kekuatan 1024) atau KB, MB, ... (kekuatan 1000).
Anda harus membedakan antara ukuran file dan penggunaan disk . Perbedaan utama antara keduanya berasal dari fakta bahwa file "dipotong-potong" dan disimpan dalam blok.
Ukuran blok modern adalah 4KiB, jadi file akan menggunakan kelipatan ruang disk dari 4KiB, terlepas dari seberapa kecilnya.
Jika Anda menggunakan perintah ini, stat
Anda dapat melihat kedua angka berdampingan.
stat file.c
Jika Anda ingin tampilan yang lebih ringkas untuk sebuah direktori, Anda dapat menggunakan ls -ls
, yang akan memberi Anda penggunaan dalam unit 1KiB.
ls -ls dir
Juga du
akan memberikan penggunaan disk nyata, dalam satuan 1KiB, atau dutree dengan -u
bendera.
Contoh: penggunaan file 1 byte
$ echo "" > file.c
$ ls -l file.c
-rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ ls -ls file.c
4 -rw-r--r-- 1 nacho nacho 1 Apr 30 20:42 file.c
$ du file.c
4 file.c
$ dutree file.c
[ file.c 1 B ]
$ dutree -u file.c
[ file.c 4.00 KiB ]
$ stat file.c
File: file.c
Size: 1 Blocks: 8 IO Block: 4096 regular file
Device: 2fh/47d Inode: 2185244 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ nacho) Gid: ( 1000/ nacho)
Access: 2018-04-30 20:41:58.002124411 +0200
Modify: 2018-04-30 20:42:24.835458383 +0200
Change: 2018-04-30 20:42:24.835458383 +0200
Birth: -
Selain itu, dalam sistem file modern kita dapat memiliki snapshot, file jarang (file dengan lubang di dalamnya) yang semakin memperumit situasi.
Anda dapat melihat lebih detail di artikel ini: memahami ukuran file di Linux
Kamu bisa memakai ncdu
penganalisis penggunaan disk di sini. Ini menampilkan ukuran file dan direktori dalam antarmuka ncurses. Anda dapat menavigasi ke setiap direktori dan melihat ukuran file dari antarmuka yang sama.
Untuk memasang
$ sudo apt-get install ncdu
Untuk menganalisa
$ ncdu <directory>
ls
tidak akan menampilkan ukuran total semua isi direktori.