Cara Mendapatkan Ukuran Direktori di Linux

How Get Size Directory Linux



Mengetahui ukuran direktori di Linux tidak semudah kedengarannya. Perintah ls -s akan mencantumkan file dan sub-direktori dengan ukurannya. Namun, ukuran (sekitar 4096 byte) yang diberikan untuk direktori bukanlah penggunaan disk. Ukuran yang terlihat untuk direktori adalah ukuran meta-data direktori.

Metadata adalah data tentang data. Ukuran nyata adalah ukuran data yang penting bagi pengguna komputer biasa. Konten (teks) dari surat pengguna, gambar, video, dll., merupakan ukuran yang terlihat. Data ini tidak disimpan sembarangan di komputer. Data berukuran nyata harus disimpan dalam mode kontrol. Itu harus dapat diidentifikasi. Itu harus lengkap. Ada persyaratan lain untuk itu. Beberapa data tambahan diperlukan untuk mencapai persyaratan tambahan ini, dan data tambahan ini adalah meta-data.







Ingat, hanya ada satu direktori dalam satu volume. Sisanya adalah sub-direktori. Direktori root memunculkan sub-direktori, yang memunculkan sub-direktori lain yang turun. Namun, sub-direktori biasanya hanya disebut direktori. Jadi, hanya ada satu pohon direktori.



Jadi, ls -s tidak berguna untuk mendapatkan ukuran direktori. Perintah mana yang berguna? - Perintah du. du adalah singkatan dari Disk Usage. Ini mencetak penggunaan disk direktori.



Artikel ini menjelaskan fitur-fitur berbeda dari perintah du di Linux, yang menyediakan berbagai cara programmer untuk mengetahui ukuran direktori dan sub-direktori mereka. Bash adalah shell yang digunakan untuk contoh kode artikel ini.





Isi Artikel

du tanpa Opsi atau Argumen

Direktori kerja saat ini adalah direktori tempat pengguna sedang bekerja. Prompt biasanya menunjukkan direktori kerja saat ini. Mengetik du tanpa opsi dan argumen apa pun, seperti:



dari

dan kemudian menekan tombol Enter akan menampilkan penggunaan disk untuk semua sub-direktori dari direktori kerja saat ini. Ini akan menampilkan informasi ini untuk sub-pohon dari direktori kerja saat ini. Sebuah titik di layar mewakili direktori kerja saat ini.

Setiap jalur dari sub-pohon direpresentasikan dalam sebuah garis, pada tampilan. Setiap baris dimulai dengan ukuran direktori (yang merupakan nama belakang di jalur). Tampilannya mungkin seperti:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

dua puluh./dir1

Perhatikan bahwa tidak jelas apakah ukurannya dalam byte atau kilobyte atau megabyte atau gigabyte. Kilobyte simbol, K berarti 1024 byte; Megabyte simbol, M berarti 1.048.576 byte; Gigabyte simbol, G berarti 1.073.741.824 byte. Untuk kelipatan yang akan ditunjukkan, opsi -h (saklar) harus digunakan, sebagai berikut:

dari -H

Tampilannya kemudian akan terlihat seperti ini:

8.0K ./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

Ketika opsi -h digunakan, ukurannya dikatakan dalam bentuk yang dapat dibaca.

Catatan: dengan opsi –all, perintah du juga akan memberikan penggunaan disk untuk file; namun, penggunaan disk untuk file tidak akan dibahas dalam artikel ini.

Ukuran Direktori Lain

Jalur absolut khas untuk volume Linux adalah sebagai berikut:

/rumah/john/mengatakan/kotoranDua/dirTiga/dirFour

Yang pertama / adalah direktori root. Direktori ini memiliki sub-direktori langsung, termasuk direktori home. Direktori home memiliki direktori pengguna. Jika nama pengguna adalah John, maka dia dapat memberi nama direktori pengguna, john. Direktori pengguna diidentifikasi oleh ~. Jadi, pengguna dapat menggunakan perintah cd ~ untuk mencapai direktorinya dari direktori mana pun. dirOne adalah direktori yang dibuat oleh pengguna. Pengguna juga dapat membuat direktori lain pada level ini. dirTwo, dirThree dan dirFour adalah sub-direktori dari direktori sebelumnya, yang dibuat oleh pengguna.

Pengguna dapat mengetahui ukuran direktori lain dan subdirektorinya (sub-pohon) dari direktori mana pun, melewati jalur absolut sebagai argumen. Misalnya, jika penggunaan disk diperlukan,

/rumah/john/mengatakan/kotoranDua

maka perintahnya akan menjadi:

dari -H /rumah/john/mengatakan/kotoranDua

atau

dari -H~/mengatakan/kotoranDua

di mana ~ mewakili direktori pengguna.

Untuk menggunakan jalur relatif, pengguna harus sudah berada di direktori induk yang sesuai. Misalnya, jika prompt ditampilkan,

john@tuan rumah:~/katakan $

artinya user berada di direktori, /home/john/dirOne, maka perintah berikut akan memberikan hasil yang sama dengan perintah di atas:

dari -HkotoranDua

Jalurnya masih relatif. Untuk menampilkan informasi yang sama untuk direktori saat ini, gunakan tanpa argumen, atau gunakan titik.

Skema ini dapat digunakan untuk mendapatkan ukuran hanya satu direktori, yang terakhir di jalur (didahului oleh jalur). Dimungkinkan untuk mendapatkan ukuran direktori di tengah jalur – lihat pengecualian=PATTERN di bawah.

Total keseluruhan

Ukuran total keseluruhan dari semua direktori yang terlibat dapat diproduksi. Untuk situasi di atas, perintahnya adalah:

dari -H --total

jelas-ukuran

Ukuran yang terlihat biasanya lebih kecil dari penggunaan disk. Namun, dalam beberapa situasi, ukuran yang terlihat lebih besar dari penggunaan disk; alasan – lihat nanti. Perintah untuk mendapatkan ukuran nyata untuk jalur relatif di atas adalah:

dari -H --ukuran-jelaskotoranDua

Kedalaman Maksimum

Dengan –max-depth=0, du hanya mencetak ukuran direktori kerja saat ini; dengan du –max-depth=1, du mencetak ukuran direktori kerja saat ini dan ukuran semua sub-direktori tingkat pertama; dengan –max-depth=2, du mencetak ukuran direktori kerja saat ini dan ukuran semua sub-direktori tingkat pertama, dan semua sub-direktori tingkat kedua; dengan –max-depth=3, du mencetak ukuran direktori kerja saat ini dan semua sub-direktori tingkat pertama, dan semua sub-direktori tingkat kedua, dan semua sub-direktori tingkat ketiga; ini berlanjut dengan meningkatnya nilai max-depth. Contoh penggunaannya adalah:

dari -H --max-kedalaman=2

Perintah sudo

Salah satu direktori dengan sub-direktori sendiri di direktori root adalah var. Jika pengguna mengetik

dari -H /di mana

dan menekan Enter, dia akan menyadari bahwa izin ditolak untuk beberapa direktori. Artinya, dia tidak dapat mengetahui ukuran beberapa direktori. Izin ditolak karena pengguna bukan pengguna super. Pengguna super memiliki hak istimewa untuk melihat ukuran (penggunaan disk) direktori tersebut. Jadi, agar pengguna mendapatkan hak istimewa itu, dia harus menggunakan perintah sudo sebagai berikut:

sudo dari -H /di mana

Jika shell meminta kata sandi pengguna, pengguna harus mengetikkan kata sandi dan tekan Enter. Dengan perintah sudo, pengguna biasa (programmer) dapat melihat ukuran semua direktori di direktori var dan direktori serupa.

Tidak termasuk Entri berdasarkan Ukuran

Opsi –threshold=SIZE tidak akan mengizinkan direktori daftar yang ukurannya kurang dari SIZE. Untuk jalan,

/rumah/john/mengatakan/kotoranDua/dirTiga/dirFour

dengan prompt di[dilindungi email]:~$, lalu

dari -H --ambang=12K dirOne

di mana 12K berarti 12 kilobyte, tidak akan menampilkan baris untuk direktori mana pun yang penggunaan disknya kurang dari 12K.

–kecualikan=POLA

Opsi dan nilai ini dapat menghilangkan baris direktori yang tidak diinginkan pengguna dalam daftar.

Untuk menghilangkan baris untuk direktori terakhir, dirFour of the path

/rumah/john/mengatakan/kotoranDua/dirTiga/dirFour

perintahnya harus:

dari -H --mengecualikan= katakan/kotoranDua/dirTiga/dirEmpat dirSatu

Hasilnya akan seperti,

4.0K dirOne/kotoranDua/dirTiga

8.0K dirOne/kotoranDua

12K dirOne

Catatan: ukuran belum termasuk ukuran direktori level terakhir (dirFour) dari jalur.

Untuk hanya memiliki ukuran direktori kedalaman atas dan sub-pohonnya, jangan memiliki direktori kedalaman bawah dalam opsi. Maka dengan perintah,

dari -H --mengecualikan= katakan/kotoranDua/dirTiga dirSatu

outputnya akan seperti,

4.0K dirOne/kotoranDua

8K dirOne

Catatan: ukuran telah mengecualikan ukuran direktori tuas bawah pohon.

Pertimbangkan lagi, tautan absolut,

/rumah/john/mengatakan/kotoranDua/dirTiga/dirFour

Perintah berikut akan mendapatkan penggunaan disk hanya dari direktori dirTwo, yang merupakan direktori di dalam jalur. Perintahnya adalah:

dari -H --mengecualikan=/rumah/john/mengatakan/kotoranDua/ * /rumah/john/mengatakan/kotoranDua

Argumen memiliki semua direktori sebelumnya hingga direktori yang dimaksud. Nilai Exception memiliki semua direktori sebelumnya, diakhiri dengan *, tepat setelah direktori yang dimaksud. * berarti semua sub-direktori pada level itu (dan sub-pohonnya). Hasilnya akan seperti,

5.0K/rumah/john/mengatakan/kotoranDua

Kesimpulan

Mencoba mengetahui ukuran direktori dengan perintah ls -s adalah menyesatkan. Dengan itu, hanya meta-data direktori yang diperoleh. Untuk mengetahui penggunaan disk suatu direktori, perintah du harus digunakan. Saat digunakan dengan opsi -h, ukuran direktori dapat dibaca. Ukuran semu dapat diperoleh dengan menggunakan opsi ukuran semu. Tanpa opsi dan argumen apa pun, perintah du hanya menampilkan ukuran semua subdirektori dari direktori saat ini, termasuk direktori saat ini. Argumen ke du adalah jalan, yang mungkin dimulai dari akar. Opsi dan beberapa nilainya memutuskan dengan tepat direktori mana yang dituju. Perintah sudo memberikan hak pengguna super pengguna biasa secara default.