📂 Perintah du di Linux: Mengukur Penggunaan Ruang Disk

Sumber asli: Linux.org


🔎 Apa itu du?

Di Linux, buat tahu berapa banyak ruang yang dipakai file atau folder, nggak semudah klik kanan kayak di Windows. Untung ada du (disk usage), tool ajaib buat cek besar file/direktori lewat command line. Simpel, cepat, dan cocok buat yang suka ngulik storage!


⚙️ Penggunaan Dasar

Gambar: Tux, maskot Linux. Teman setia pengguna terminal!


📋 Opsi Populer

Pakai kombinasi -h + -s seringkali cukup buat keperluan harian.


⚠️ Keterbatasan du

Perintah du kadang bisa "ngaco" kalau ada hard link di file system:

Gambar: Logo Bash. Sering dipakai buat cek dan scripting di Linux.


🛠️ Solusi dengan Script

Biar hasil lebih presisi (meski ada hard link), kamu bisa pakai script Perl berikut. Script ini melacak inode supaya file hard link nggak dihitung dua kali:

#!/usr/bin/perl -w
use strict;
my %hash;
my $total_blocks = 0;
my @todo = @ARGV; push(@todo, '.') unless @todo;
foreach my $fn (@todo) {
  my($inode,$nlinks,$blocks) = (lstat($fn))[1,3,12];
  if (-d _) {
    opendir(DP, $fn) or die $!;
    push(@todo, map("$fn/$_", grep(!/^\.\.?$/, readdir(DP))));
    closedir DP;
  } elsif ($nlinks > 1) {
    if (!defined($hash{$inode})) {
      $hash{$inode} = $nlinks - 1;
      next;
    }
    next if --$hash{$inode};
  }
  $total_blocks += $blocks;
}
print "$total_blocks blocks\n";
print int($total_blocks / 2 + .5), "K\n";

Jalankan script ini di folder target. Output lebih akurat walau file system kamu banyak hard link!


🎯 Kesimpulan

Selamat ngoprek storage, semoga disk kamu tetap lega! 🚀


times;