Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  apa itu linux du

apa itu linux du

青灯夜游
青灯夜游asal
2022-04-18 19:18:207635semak imbas

Dalam Linux, nama penuh du ialah "Penggunaan Cakera", iaitu arahan untuk mengira ruang cakera yang diduduki oleh direktori atau fail Sintaks ialah "du [pilihan] [direktori atau nama fail]. ". Perintah du menyokong pelbagai pilihan: 1. "-h", yang boleh memaparkan saiz dalam unit yang mudah dibaca 2. "-s", yang boleh memaparkan jumlah saiz direktori; d", dll.

apa itu linux du

Persekitaran pengendalian tutorial ini: sistem linux5.9.8, komputer Dell G3.

linux du command

du ialah singkatan daripada Disk Usage, salah satu arahan paling popular di Linux, du ialah direktori statistik atau fail Perintah yang menduduki ruang cakera

Format arahan du adalah seperti berikut:

du [选项] [目录或文件名]

Pilihan yang biasa digunakan adalah seperti berikut:

  • -a: Paparkan saiz semua fail dan folder dalam direktori

  • -h: Paparkan saiz dalam unit yang mudah dibaca seperti Kb, Mb, Gb, dsb.

  • --si: Serupa dengan pilihan -h, tetapi pengiraan adalah berdasarkan 1000 dan bukannya 1024

  • - s: Paparkan jumlah saiz direktori

  • -d: ialah singkatan bagi pilihan --max-depth=N, menunjukkan tahap direktori mana yang perlu dilalui dalam Direktori yang melebihi yang ditentukan bilangan tahap akan diabaikan

  • -c: kecuali untuk paparan Selain saiz direktori, baris tambahan memaparkan jumlah penggunaan

  • --time: memaparkan masa fail yang paling baru diubah suai dalam setiap direktori

  • -t : ialah singkatan daripada --threshold=SIZE, menapis fail dan direktori yang lebih kecil daripada SIZE

  • --exclude=PATTERN: menapis keluar nama fail atau nama direktori yang sepadan dengan PATTERN

Contoh penggunaan

Paparkan semua direktori dan saiz fail

Contoh di bawah Memaparkan saiz semua direktori dan fail di bawah direktori Unit lalai ialah Kb

[root@ecs-centos-7 tt]# du -a temp/
4       temp/suba.txt
4       temp/test/abc.txt
4       temp/test/ha/ha.txt
8       temp/test/ha
16      temp/test
4       temp/time.txt
28      temp/

Nota: Jika pilihan -a tidak digunakan dalam contoh di atas, hanya saiz direktori akan dipaparkan secara lalai, dan saiz fail tidak akan dipaparkan. Iaitu, melaksanakan du temp/ hanya akan memaparkan saiz direktori Sila lihat contoh berikut:

[root@ecs-centos-7 tt]# du temp
8       temp/test/ha
16      temp/test
28      temp

Paparan dengan cara yang mudah dibaca

. Saiz lalai yang dipaparkan hanyalah satu Nombor tunggal, tanpa unit genap, membuat orang kelihatan sedikit keliru pada pandangan pertama Pilihan -h boleh digunakan untuk memaparkan saiz dalam cara yang boleh dibaca oleh manusia digunakan

[root@ecs-centos-7 tt]# du -b temp/
4117    temp/test/ha
8218    temp/test
12326   temp/
[root@ecs-centos-7 tt]# du -h temp/
8.0K    temp/test/ha
16K     temp/test
28K     temp/
[root@ecs-centos-7 tt]# du --si temp/
8.2k    temp/test/ha
17k     temp/test
29k     temp/

Dalam contoh di atas, asas pengiraan lalai bagi pilihan -h ialah 1024, dan asas pengiraan lalai bagi pilihan --si ialah 1000
Jaditemp/test/hasaiz direktori yang dikira dengan pilihan -h ialah 8.0K, manakala saiz yang dikira dengan pilihan --si Saiznya ialah 8.2K

Unit saiz pilihan -h dan --si dilaraskan secara automatik dengan saiz direktori dan fail

Jumlah saiz direktori

Kadangkala kita hanya perlu mengetahui jumlah saiz direktori, dan tidak perlu mengetahui saiz subdirektori dan fail di bawah subdirektori Kita boleh mendapatkan jumlah saiz direktori melalui pilihan -s

[root@ecs-centos-7 tt]# du -sh .
72K     .
[root@ecs-centos-7 tt]# du -sh temp/
28K     temp/

Contoh di atas masing-masing memperoleh saiz semasa daripada temp/ direktori

Jumlah saiz direktori juga boleh diperolehi melalui pilihan -c, tetapi ia memaparkan saiz subdirektori dahulu, dan baris terakhir memaparkan jumlah saiz baris terakhir contoh di bawah mengandungi total aksara 28K di hadapan rentetan mewakili jumlah saiz direktori temp/

[root@ecs-centos-7 tt]# du -ch temp/
8.0K    temp/test/ha
16K     temp/test
28K     temp/
28K     total

Nyatakan kedalaman direktori

Jika direktori mempunyai banyak subdirektori, anda hanya mahu memaparkan bilangan direktori yang ditentukan Jika saiznya kecil, anda boleh menggunakan pilihan -d untuk melaksanakan struktur subdirektori

temp/ seperti berikut:

[root@ecs-centos-7 tt]# tree -d temp/
temp/
└── test
    └── ha

2 directories

Nyatakan kedalaman direktori

[root@ecs-centos-7 tt]# du -d 0 temp/
28      temp/
[root@ecs-centos-7 tt]# du -d 1 temp/
16      temp/test
28      temp/
[root@ecs-centos-7 tt]# du --max-depth=2 temp/
8       temp/test/ha
16      temp/test
28      temp/

du -d 0 temp/: Paparkan direktori Tahap 0 pertama, iaitu jumlah saiz direktori semasa, bersamaan dengan pilihan -s

du -d 1 temp/: memaparkan direktori tahap pertama, iaitu jumlah saiz direktori temp/test

du --max-depth=2 temp/: Paparkan jumlah saiz direktori tahap kedua, iaitu temp/test /ha direktori

Paparkan masa pengubahsuaian terkini

[root@ecs-centos-7 tt]# du --time temp
8       2020-07-21 20:11        temp/test/ha
16      2020-07-21 20:11        temp/test
28      2020-07-21 20:13        temp

Seperti yang ditunjukkan dalam contoh di atas Masa pengubahsuaian terakhir setiap direktori, butiran masa hanya tepat untuk minit

Jika anda ingin memaparkan butiran yang lebih halus, anda boleh menggunakan pilihan --time-syle=STYLE untuk menentukan format output masa, dengan STYLE mewakili tarikh Rentetan output yang diformatkan adalah sama seperti output terformat bagi perintah date

Contoh 1: Paparkan bilangan saat dalam masa UTC (bilangan saat dari 1 Januari 1970 hingga sekarang)

[root@ecs-centos-7 tt]# du --time --time-style="+%s" temp/      
8       1595333498      temp/test/ha
16      1595333514      temp/test
28      1595333582      temp/

Contoh 2: Paparkan tahun, bulan, hari, jam, minit dan saat yang lengkap

[root@ecs-centos-7 tt]# du --time --time-style="+%F %T" temp/  
8       2020-07-21 20:11:38     temp/test/ha
16      2020-07-21 20:11:54     temp/test
28      2020-07-21 20:13:02     temp/

Tapis mengikut saiz

Tapis daripada hasil yang dipaparkan Alih keluar direktori dan fail saiz yang ditentukan

[root@ecs-centos-7 tt]# du -b temp/
4117    temp/test/ha
8218    temp/test
12326   temp/
[root@ecs-centos-7 tt]# du -b -t 4118 temp/
8218    temp/test
12326   temp/

Dalam contoh di atas, direktori yang lebih kecil daripada 4118 bait ditapis keluar

Tapis mengikut nama direktori atau nama fail

Jika terdapat terlalu banyak subdirektori dalam direktori, kita boleh memadankan nama subdirektori atau nama fail dengan rentetan corak yang ditentukan untuk menapis direktori dan fail yang sepadan

[root@ecs-centos-7 tt]# du -a temp
4       temp/suba.txt
4       temp/test/abc.txt
4       temp/test/ha/ha.txt
8       temp/test/ha
16      temp/test
4       temp/time.txt
28      temp
[root@ecs-centos-7 tt]# du -a --exclude=*a* temp/
4       temp/test
4       temp/time.txt
12      temp/

Dalam contoh di atas, tapis Rentetan corak ialah : *a*

Ia bermaksud menapis direktori atau fail yang nama direktori atau nama failnya mengandungi aksara a Dalam contoh, direktori atau nama fail dalam empat baris pertama semuanya mengandungi a aksara, supaya semuanya ditapis

Fail apakah yang mengisi cakera?

Masalah yang sering dihadapi oleh pembangun ialah cakera penuh Anda boleh menggunakan du dan sort dalam kombinasi untuk mencari "pesalah"

  • 当前目录下文件从大到小排序
[root@ecs-centos-7 tt]# du -sh temp/* | sort -hr
10M     temp/clpay.tar
16K     temp/test
4.0K    temp/time.txt
4.0K    temp/lnsuba
  • 当前目录以及子目录从大到小排序
[root@ecs-centos-7 tt]# du -ah temp/* | sort -hr
10M     temp/clpay.tar
16K     temp/test
8.0K    temp/test/ha
4.0K    temp/time.txt
4.0K    temp/test/ha/ha.txt
4.0K    temp/test/abc.txt
4.0K    temp/lnsuba
  • 磁盘占用最大的三个目录以及子目录
[root@ecs-centos-7 tt]# du -ah temp/* | sort -hr | head -n 3
10M     temp/clpay.tar
16K     temp/test
8.0K    temp/test/ha

相关推荐:《Linux视频教程

Atas ialah kandungan terperinci apa itu linux du. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn