GNU/Linux >> Belajar Linux >  >> Linux

Memeriksa Ukuran Direktori dengan du Command di Linux

Mengetahui ukuran file itu mudah di Linux. Yang harus Anda lakukan adalah menggunakan opsi -l dan -h dengan perintah ls dan itu akan menunjukkan kepada Anda ukuran file bersama dengan izin file dan cap waktu file. Berikut ini contoh keluarannya:

ls -lh tutorials
total 56K
-rwxr--r-- 1 abhishek abhishek  456 Mar  6 16:21 agatha.txt
-rw-r--r-- 1 abhishek abhishek    0 Apr 16 19:53 a.t
-rwxr--r-- 1 abhishek abhishek  140 Mar 22 16:41 bash_script.sh
-rw-rw-r-- 1 abhishek abhishek   95 Feb 11 13:12 cpluplus.cpp
-rw-r--r-- 1 abhishek abhishek  163 Apr 13 15:07 prog.py
-rw-r--r-- 1 abhishek abhishek  19K Mar 18 18:46 services
-rw-r--r-- 1 abhishek abhishek  356 Dec 11 21:35 sherlock.txt
-rwxrw-r-- 1 abhishek abhishek   72 Jan 21 15:44 sleep.sh
drwxr-xr-x 3 abhishek abhishek 4.0K Jan  4 20:10 target
drwxr-xr-x 2 abhishek abhishek 4.0K Apr 16 18:27 test_dir
-rw-rw-r-- 1 abhishek abhishek   55 Mar 11 16:28 text-file.txt

Anda akan melihat sesuatu yang aneh. Perintah ls menunjukkan ukuran semua direktori sebagai 4 KB. Itu tidak mungkin benar, bukan? Tentu saja tidak.

Ukuran folder atau direktori di Linux dapat ditemukan menggunakan perintah du. du di sini adalah singkatan dari penggunaan disk. Saya akan menjelaskan logika di balik ukuran 4.0K untuk direktori nanti dalam tutorial ini. Untuk saat ini, mari fokus untuk mendapatkan ukuran direktori.

Jika Anda ingin memeriksa ukuran direktori di Linux, Anda dapat menggunakan perintah ini:

du -sh path_to_directory

Ini akan memberi Anda ukuran total direktori tersebut dalam format yang dapat dibaca manusia, yaitu KB, MB, atau GB.

Menggunakan perintah du untuk mendapatkan ukuran direktori di Linux

Saya akan menunjukkan kepada Anda berbagai contoh perintah du yang dapat Anda gunakan untuk memeriksa ukuran direktori dan penggunaan disk.

Sintaks untuk perintah du cukup sederhana.

du [option] path_to_file_or_directory

Mari kita lihat cara menggunakan perintah du untuk mendapatkan informasi ukuran file dan direktori di Linux.

Berikut struktur direktori "tutorial" yang akan saya gunakan dalam tutorial ini:

tree tutorials
.
├── agatha.txt
├── bash_script.sh
├── cpluplus.cpp
├── prog.py
├── services
├── sherlock.txt
├── sleep.sh
├── target
│   ├── agatha.txt
│   ├── file1.txt
│   └── past
│       ├── file1.txt
│       ├── file2.txt
│       └── source1
│           └── source2
│               └── file1.txt
├── test_dir
│   ├── c.xyz
│   ├── myzip1.zip
│   └── myzip2.zip
└── text-file.txt
5 directories, 16 files

Sekarang jika saya menjalankan perintah du di direktori "tutorial", itu akan menunjukkan ukuran semua subdirektori dan kemudian menjumlahkan ukuran semua subdirektori dan file di bagian bawahnya.

du tutorials

Ini adalah output untuk direktori tutorial.

8 tutorials/target/past/source1/source2
12 tutorials/target/past/source1
24 tutorials/target/past
36 tutorials/target
12 tutorials/test_dir
100 tutorials

Tampilkan ukuran disk dalam format yang dapat dibaca manusia

Sekarang masalah dengan output perintah du di atas adalah Anda tidak tahu apakah 100 adalah 100KB atau 100MB atau 100GB. Jangan khawatir, Anda dapat mengubah perilaku ini dan menampilkan ukuran direktori dalam format yang dapat dibaca manusia dengan opsi -h.

du -h tutorials

Inilah keluaran yang lebih mudah dibaca sekarang:

8.0K tutorials/target/past/source1/source2
12K tutorials/target/past/source1
24K tutorials/target/past
36K tutorials/target
12K tutorials/test_dir
100K tutorials

Anda dapat menggunakan opsi -m untuk MB dan opsi -k untuk KB alih-alih -h. Tetapi meskipun ukurannya kurang dari 1 MB, itu akan selalu menunjukkan ukurannya sebagai 1 MB. Inilah sebabnya mengapa menggunakan opsi -h selalu merupakan opsi yang lebih baik.

Tampilkan juga ukuran file

Apakah Anda memperhatikan bahwa direktori tutorial memiliki beberapa file tetapi tidak muncul di output perintah du? Itu karena meskipun ukuran file dihitung dalam jumlah total ukuran direktori, file tidak ditampilkan secara default.

Untuk menampilkan ukuran file beserta direktori, Anda dapat menggunakan opsi -a. Akan lebih baik jika Anda menggabungkannya dengan opsi -h untuk mendapatkan ukuran dalam format yang dapat dibaca manusia.

du -ah tutorials

Sekarang output akan menampilkan file bersama dengan direktori:

4.0K tutorials/cpluplus.cpp
4.0K tutorials/prog.py
20K tutorials/services
4.0K tutorials/text-file.txt
4.0K tutorials/bash_script.sh
4.0K tutorials/target/file1.txt
4.0K tutorials/target/past/file2.txt
4.0K tutorials/target/past/file1.txt
4.0K tutorials/target/past/source1/source2/file1.txt
8.0K tutorials/target/past/source1/source2
12K tutorials/target/past/source1
24K tutorials/target/past
4.0K tutorials/target/agatha.txt
36K tutorials/target
4.0K tutorials/sherlock.txt
4.0K tutorials/test_dir/myzip1.zip
4.0K tutorials/test_dir/myzip2.zip
0 tutorials/test_dir/c.xyz
12K tutorials/test_dir
4.0K tutorials/sleep.sh
4.0K tutorials/agatha.txt
100K tutorials

Kiat Bonus:Memecahkan misteri 4 KB

Perhatikan bahwa ukurannya mungkin tampak seperti itu telah dibulatkan. Maksud saya semua ukuran dalam kelipatan 4K. Padahal, selain file kosong, semua file berukuran minimal 4 KB. Apakah itu kebetulan? Tidak juga.

Bahkan jika teks file dalam byte, ukuran file minimum adalah 4K karena itu adalah ukuran blok minimum sistem file. Terlepas dari ukuran teks pada file, itu akan dialokasikan setidaknya satu blok memori 4KB pada disk.

Dan karena blok memori berukuran 4KB, ukuran yang akan Anda lihat akan selalu dalam kelipatan 4KB.

Sekarang, Anda mungkin sudah tahu bahwa semuanya adalah file di UNIX/Linux. Direktori pada dasarnya adalah file yang memiliki informasi tentang semua lokasi semua file yang 'berisi'.

Jadi, ketika Anda menggunakan perintah ls, ia memperlakukan direktori sebagai file dan menunjukkan ukurannya yang merupakan satu blok memori dan dengan demikian ukuran yang ditampilkan adalah 4KB.

Tampilkan hanya ukuran total direktori di Linux

Jika Anda menemukan output dari perintah du terlalu bertele-tele dan hanya ingin melihat ukuran total direktori dalam format yang dapat dibaca manusia, Anda dapat menggunakan opsi sum -s.

du -sh tutorials

Sekarang outputnya hanya satu baris yang menunjukkan ukuran total direktori:

100K tutorials

Tampilkan penggunaan disk berdasarkan beberapa direktori

Bukannya Anda dibatasi untuk memeriksa ukuran hanya satu direktori pada satu waktu. Anda dapat menentukan beberapa direktori dalam perintah du.

Misalnya, saya akan menggunakan opsi -sh untuk menunjukkan ukuran total dua direktori di sini.

du -sh tutorials/target/ tutorials/test_dir

Output akan menunjukkan ukuran kedua direktori secara individual:

36K tutorials/target/
12K tutorials/test_dir

Tampilkan total semua ukuran direktori

Dalam contoh di atas, Anda melihat ukuran total kedua direktori satu per satu. Anda dapat menggunakan opsi -c untuk menampilkan total keseluruhan untuk jumlah semua direktori dalam output.

du -csh tutorials/target/ tutorials/test_dir

Seperti yang Anda lihat di output, ini merangkum ukuran dan memberi Anda total keseluruhan:

36K tutorials/target/
12K tutorials/test_dir
48K total

Jangan tampilkan ukuran subdirektori

Bagaimana jika Anda ingin memeriksa ukuran semua direktori di folder saat ini? Secara default, perintah du akan masuk ke subdirektori dari semua direktori dan hasilnya menjadi sulit untuk diketahui khususnya jika Anda memiliki terlalu banyak direktori bersarang.

Yang dapat Anda lakukan adalah menentukan tingkat kedalaman yang akan diperiksa sambil menunjukkan ukuran untuk subdirektori.

Jadi, jika Anda ingin melihat ukuran direktori di folder saat ini, Anda dapat mengatur kedalaman menjadi 1 seperti ini:

du -h --max-depth=1 tutorials

Sekarang output akan menampilkan subdirektori hanya di direktori saat ini. Tidak akan lebih jauh dari ini.

36K tutorials/target
12K tutorials/test_dir
100K tutorials

Jika Anda tidak dapat mengingat –max-depth, Anda dapat menggunakan bentuk pendeknya -d flag:

du -h -d1 tutorials

Kecualikan jenis file tertentu saat menghitung ukuran disk

Perintah du memberi Anda opsi untuk mengecualikan jenis file tertentu. Anda dapat menggunakan regex bersama dengan opsi –exclude.

Misalnya, untuk menghitung jumlah semua file kecuali file dengan ekstensi txt, perintah ini dapat digunakan:

du -h --exclude="*.txt" tutorials

Dan sekarang jika Anda melihat hasilnya, ukuran total direktori akan berkurang:

4.0K tutorials/target/past/source1/source2
8.0K tutorials/target/past/source1
12K tutorials/target/past
16K tutorials/target
12K tutorials/test_dir
68K tutorials

Kiat Bonus:Menemukan subdirektori terbesar

Anda dapat menggabungkan output dari perintah du dengan perintah sort untuk mengurutkan direktori berdasarkan urutan ukurannya.

du -h --max-depth=1 tutorials | sort -rh

Ini akan menampilkan direktori dalam urutan terbalik ukurannya yaitu direktori terbesar di atas.

100K tutorials
36K tutorials/target
12K tutorials/test_dir

Tentu saja yang teratas adalah direktori itu sendiri tetapi yang kedua memberi Anda subdirektori terbesar.

Anda dapat menggabungkan lebih lanjut dengan perintah kepala atau perintah ekor untuk mendapatkan x file terbesar atau file/direktori terkecil.

Apakah menurut Anda bermanfaat?

Saya telah mencoba menjelaskan semua penggunaan penting dari perintah du di Linux. Tetapi seperti biasa, ada lebih banyak opsi yang tersedia untuk perintah yang dapat Anda temukan di halaman manualnya. Jika Anda hanya ingin mengetahui ukuran direktori di Linux, tutorial ini akan memberi Anda informasi yang cukup. Jika Anda ingin memeriksa ruang disk di Linux, gunakan perintah df.

Apakah Anda menyukai tutorialnya? Apakah itu membantu Anda? Beri tahu saya di komentar. Jika Anda memiliki tip keren lainnya tentang du command, mengapa tidak membagikannya kepada kami?


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Perintah Linux Paling Sederhana Dengan 10 Contoh

  1. Cara Mendapatkan Ukuran Direktori di Linux

  2. Perintah wc Linux dengan Contoh

  3. Perintah Pindah Direktori Linux

  1. Perintah sortir Linux dengan Contoh

  2. Perintah Echo di Linux (Dengan Contoh)

  3. Perintah man di Linux dengan Contoh