Cara Mendapatkan Ukuran Direktori di Linux

How Get Size Directory Linux



Mengetahui ukuran direktori di Linux tidak semudah itu. Perintah ls -s akan menyenaraikan fail dan sub-direktori dengan ukurannya. Walau bagaimanapun, ukuran (kira-kira 4096 bait) yang diberikan untuk direktori bukanlah penggunaan cakera. Ukuran yang dilihat untuk direktori adalah ukuran meta-data direktori.

Metadata adalah data mengenai data. Ukuran yang jelas adalah ukuran data yang penting bagi pengguna komputer biasa. Kandungan (teks) surat, gambar, video, dan lain-lain pengguna, merupakan ukuran yang jelas. Data ini tidak disimpan secara sewenang-wenangnya di dalam komputer. Data berukuran jelas mesti disimpan secara terkawal. Ia mesti dikenal pasti. Ia mesti lengkap. Terdapat syarat lain untuknya. Beberapa data tambahan diperlukan untuk mencapai keperluan tambahan ini, dan data tambahan ini adalah meta-data.







Ingat, hanya ada satu direktori dalam jumlah. Selebihnya adalah sub-direktori. Direktori root menimbulkan sub-direktori, yang menyebabkan sub-direktori lain akan turun. Walau bagaimanapun, sub-direktori biasanya hanya dipanggil direktori. Oleh itu, hanya ada satu pokok direktori.



Jadi, ls -s tidak berguna untuk mendapatkan ukuran direktori. Perintah mana yang berguna? - Perintah du. du bermaksud Penggunaan Disk. Ia mencetak penggunaan cakera dari direktori.



Artikel ini menerangkan pelbagai ciri perintah du di Linux, yang menyediakan cara pengaturcara yang berbeza untuk mengetahui ukuran direktori dan sub-direktori mereka. Bash adalah shell yang digunakan untuk contoh kod artikel ini.





Kandungan Artikel

du tanpa Pilihan atau Hujah

Direktori kerja semasa adalah direktori yang sedang digunakan pengguna. Petunjuk biasanya menunjukkan direktori kerja semasa. Menaip du tanpa pilihan dan hujah, seperti:



daripada

dan kemudian menekan butang Enter akan memaparkan penggunaan cakera untuk semua sub-direktori dari direktori kerja semasa. Ia akan memaparkan maklumat ini untuk sub-pokok direktori kerja semasa. Titik pada paparan mewakili direktori kerja semasa.

Setiap jalur sub-pohon ditunjukkan dalam satu garis, di paparan. Setiap baris bermula dengan ukuran direktori (yang merupakan nama belakang di jalan). Paparannya mungkin seperti:

8./dir1/dir2/dir3/dir4

12./dir1/dir2/dir3

16./dir1/dir2

dua puluh./dir1

Perhatikan bahawa tidak jelas apakah ukurannya dalam byte atau kilobyte atau megabait atau gigabait. Kilobyte simbol, K bermaksud 1024 bait; Megabait simbol, M bermaksud 1,048,576 bait; Simbol Gigabait, G bermaksud 1,073,741,824 bait. Untuk kelipatan yang akan ditunjukkan, pilihan -h (suis) harus digunakan, seperti berikut:

daripada -h

Paparannya akan kelihatan seperti ini:

8.0K./dir1/dir2/dir3/dir4

12K./dir1/dir2/dir3

16K./dir1/dir2

20K./dir1

Apabila pilihan -h digunakan, ukuran dikatakan dalam bentuk yang boleh dibaca.

Catatan: dengan pilihan –semua, perintah du juga akan memberikan penggunaan cakera untuk fail; namun, penggunaan cakera untuk fail tidak akan dibahas dalam artikel ini.

Saiz Direktori Lain

Jalan mutlak khas untuk volume Linux adalah seperti berikut:

/kediaman/john/katakan/dirTwo/dirTiga/dirFour

Yang pertama / adalah direktori root. Direktori ini mempunyai sub-direktori langsung, termasuk direktori utama. Direktori rumah mempunyai direktori pengguna. Sekiranya nama pengguna adalah John, dia boleh menamakan direktori pengguna, john. Direktori pengguna dikenal pasti oleh ~. Jadi, pengguna boleh menggunakan perintah cd ~ untuk mencapai direktori dari mana-mana direktori. dirOne adalah direktori yang dibuat oleh pengguna. Pengguna juga boleh membuat direktori lain pada tahap ini. dirTwo, dirThree dan dirFour adalah sub-direktori ke direktori sebelumnya, yang dibuat oleh pengguna.

Pengguna dapat mengetahui ukuran direktori lain dan subdirektorinya (sub-pohon) dari direktori mana pun, dengan melewati jalan mutlak sebagai argumen. Contohnya, jika penggunaan cakera diperlukan,

/kediaman/john/katakan/dirTwo

maka arahannya adalah:

daripada -h /kediaman/john/katakan/dirTwo

atau

daripada -h~/katakan/dirTwo

di mana ~ mewakili direktori pengguna.

Untuk menggunakan jalan relatif, pengguna mesti berada di direktori induk yang sesuai. Contohnya, jika arahan ditunjukkan,

john@tuan rumah: ~/katakan $

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

daripada -hdirTwo

Jalannya masih relatif. Untuk memaparkan maklumat yang sama untuk direktori semasa, jangan gunakan argumen, atau gunakan titik.

Skema ini dapat digunakan untuk mendapatkan ukuran hanya satu direktori, yang terakhir dalam jalur (didahului dengan jalur). Adalah mungkin untuk mendapatkan ukuran direktori di tengah jalan - lihat exclude = POLA di bawah.

Jumlah keseluruhan

Jumlah keseluruhan direktori yang terlibat dapat dihasilkan. Untuk situasi di atas, arahannya adalah:

daripada -h - keseluruhan

saiz jelas

Ukuran yang jelas biasanya lebih kecil daripada penggunaan cakera. Walau bagaimanapun, dalam beberapa keadaan, ukuran jelas lebih besar daripada penggunaan cakera; akal - lihat kemudian. Perintah untuk mendapatkan ukuran yang jelas untuk jalan relatif di atas adalah:

daripada -h - saiz yang jelasdirTwo

Kedalaman Maksimum

Dengan –max-kedalaman = 0, du mencetak ukuran hanya direktori kerja semasa; dengan du –max-kedalaman = 1, du mencetak ukuran direktori kerja semasa dan ukuran semua sub-direktori peringkat pertama; dengan –max-deep = 2, du mencetak ukuran direktori kerja semasa dan ukuran semua sub-direktori peringkat pertama, dan semua sub-direktori peringkat kedua; dengan –max-deep = 3, du mencetak ukuran direktori semasa dan semua sub-direktori peringkat pertama, dan semua sub-direktori tahap kedua, dan semua sub-direktori tahap ketiga; ini berterusan dengan peningkatan nilai kedalaman maksimum. Contoh penggunaannya adalah:

daripada -h - kedalaman max=2

Perintah sudo

Salah satu direktori dengan sub-direktori tersendiri dalam direktori root adalah var. Sekiranya pengguna menaip

daripada -h /di mana

dan menekan Enter, dia akan menyedari bahawa kebenaran ditolak untuk beberapa direktori. Artinya, dia tidak dapat mengetahui ukuran beberapa direktori. Kebenaran ditolak kerana pengguna bukan pengguna super. Superuser mempunyai hak istimewa untuk melihat ukuran (penggunaan cakera) dari direktori tersebut. Jadi, agar pengguna memperoleh hak istimewa itu, dia harus menggunakan perintah sudo seperti berikut:

sudo daripada -h /di mana

Sekiranya shell meminta pengguna untuk kata laluannya, pengguna mesti memasukkan kata laluan dan tekan Enter. Dengan perintah sudo, pengguna biasa (pengaturcara) dapat melihat ukuran semua direktori dalam direktori var dan direktori serupa.

Tidak termasuk Penyertaan mengikut Saiz

Pilihan –threshold = SIZE tidak akan membenarkan senarai direktori yang ukurannya kurang daripada SIZE. Untuk jalan,

/kediaman/john/katakan/dirTwo/dirTiga/dirFour

dengan arahan pada[dilindungi e-mel]: ~ $, maka

daripada -h - tahap awal= 12K dirOne

di mana 12K bermaksud 12 kilobyte, tidak akan memaparkan garis untuk direktori yang penggunaan cakera kurang dari 12K.

–Kecualikan = POLA

Pilihan dan nilai ini dapat menghilangkan baris direktori yang tidak diinginkan pengguna dalam penyenaraian.

Untuk menghilangkan baris untuk direktori terakhir, dirFour dari jalan

/kediaman/john/katakan/dirTwo/dirTiga/dirFour

arahannya hendaklah:

daripada -h --kecualikan= katakan/dirTwo/dirTiga/dirFour dirOne

Hasilnya akan menjadi seperti,

4.0K dirOne/dirTwo/dirTiga

8.0K dirOne/dirTwo

12K dirOne

Catatan: ukuran belum termasuk ukuran direktori tahap terakhir (dirFour) jalan.

Pilihan ini hanya mempunyai ukuran direktori kedalaman atas dan sub-pokoknya, tidak mempunyai direktori kedalaman bawah. Jadi dengan perintah,

daripada -h --kecualikan= katakan/dirTwo/dirTiga dirOne

output akan menjadi seperti,

4.0K dirOne/dirTwo

8K dirOne

Catatan: ukuran tidak termasuk ukuran direktori tuas bawah pokok.

Pertimbangkan sekali lagi, pautan mutlak,

/kediaman/john/katakan/dirTwo/dirTiga/dirFour

Perintah berikut akan memperoleh penggunaan disk hanya direktori dirTwo, yang merupakan direktori dalam lintasan. Perintahnya adalah:

daripada -h --kecualikan=/kediaman/john/katakan/dirTwo/ * /kediaman/john/katakan/dirTwo

Argumen itu mempunyai semua direktori sebelumnya hingga yang dimaksud. Nilai tidak termasuk memiliki semua direktori sebelumnya, diakhiri dengan *, tepat setelah yang dimaksud. * bermaksud semua sub-direktori pada tahap itu (dan sub-pokoknya). Hasilnya akan menjadi seperti,

5.0K/kediaman/john/katakan/dirTwo

Kesimpulannya

Mencuba mengetahui ukuran direktori dengan arahan ls -s adalah mengelirukan. Dengan itu, hanya data meta direktori yang diperoleh. Untuk mengetahui penggunaan disk dari direktori, perintah du harus digunakan. Apabila digunakan dengan pilihan -h, ukuran direktori dapat dibaca. Ukuran yang jelas dapat diperoleh dengan menggunakan pilihan ukuran yang jelas. Tanpa pilihan dan argumen, perintah du hanya memaparkan ukuran semua subdirektori dari direktori semasa, termasuk dari direktori semasa. Argumen untuk du adalah jalan, yang mungkin bermula dari akar. Pilihan dan sebilangan nilainya menentukan dengan tepat direktori mana yang ditangani. Perintah sudo memberikan hak pengguna superuser biasa secara lalai.