Android

Linux'ta bir dizinin boyutu nasıl alınır

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

Bir dizinin içeriğini ls komutunu kullanarak listelerken, dizinlerin boyutunun neredeyse her zaman 4096 bayt (4 KB) olduğunu fark etmiş olabilirsiniz. Bu, dizindeki meta bilgileri depolamak için kullanılan diskteki alanın boyutudur, içerdiği şeyi değil.

Bir dizinin gerçek boyutunu elde etmek için kullanmak istediğiniz komut du ve bu da “disk kullanımı” nın kısaltmasıdır.

Bir Dizinin Boyutunu Alma

du komutu, belirtilen dosyalar veya dizinler tarafından kullanılan dosya alanı miktarını görüntüler. Belirtilen yol bir dizinse, du o dizindeki her bir alt dizinin disk kullanımını özetler. Hiçbir yol belirtilmezse, du geçerli çalışma dizininin disk kullanımını bildirir.

Herhangi bir seçenek olmadan çağrıldığında, du belirtilen dizinin ve alt dizinlerinin her birinin disk kullanımını bayt cinsinden görüntüler.

Genellikle, dizinin kapladığı alanı insan tarafından okunabilir biçimde görüntülemek istersiniz. Örneğin, /var dizininin toplam boyutunu almak için aşağıdaki komutu çalıştırırsınız:

sudo du -sh /var

Çıktı şöyle görünecektir:

85G /var

Komutu ve argümanlarını açıklayalım:

  • Komut sudo ile başlar, çünkü /var dizinindeki dosya ve dizinlerin çoğu kök kullanıcıya aittir ve normal kullanıcılar tarafından okunamaz. Sudo'yu atlarsanız du komutu “du: dizin okuyamıyor” yazdıracaktır. s - Yalnızca belirtilen dizinin toplam boyutunu görüntüler, alt dizinler için dosya boyutu toplamlarını görüntülemez. h - Boyutları insan tarafından okunabilir biçimde ( h ) yazdırın. /var - Boyutu almak istediğiniz dizinin yolu.

İlk düzey alt dizinlerin disk kullanımını görüntülemek istiyorsanız ne olur? İki seçeneğiniz var. Birincisi, aşağıda gösterildiği gibi yıldız işaretini ( * ) kullanmaktır, bu da “nokta ( . ) -c başlamayan her şeyi eşleştir” anlamına gelir. -c seçeneği du'ya tüm boyutlardan büyük bir toplam yazdırmasını söyler:

sudo du -shc /var/*

24K /var/db 4.0K /var/empty 4.0K /var/games 77G /var/lib 4.0K /var/local 0 /var/lock 3.3G /var/log 0 /var/mail 4.0K /var/opt 0 /var/run 196K /var/spool 28K /var/tmp 85G total

Birinci düzey alt dizinlerin disk kullanımı hakkında rapor almanın başka bir yolu --max-depth seçeneğini kullanmaktır:

sudo du -h --max-depth=1 /var

77G /var/lib 24K /var/db 4.0K /var/empty 4.0K /var/local 4.0K /var/opt 196K /var/spool 4.0K /var/games 3.3G /var/log 5.0G /var/cache 28K /var/tmp 85G /var 85G total

Varsayılan olarak, du komutu dizin veya dosya tarafından kullanılan disk alanını gösterir. Bir dizinin görünen boyutunu bulmak için --apparent-size seçeneğini kullanın. Bir dosyanın "görünen boyutu", dosyada gerçekte ne kadar veri olduğudur.

sudo du -sh --apparent-size /var

Bir dizini SCP, Rsync. Veya SFTP ile aktardığınızda, ağ üzerinden aktarılan veri miktarı dosyaların görünen boyutudur. Bu nedenle, du ( --apparent-size olmadan) görüntülendiğinde kaynakta kullanılan diskteki alanın boyutu, hedef üzerindeki boyutla aynı değildir.

du komutu ayrıca pipetli diğer komutlarla da birleştirilebilir.

Örneğin, /var dizini içindeki en büyük 5 dizini yazdırmak için, dizinleri boyutlarına göre sıralamak için du çıktısını sort komutuna bağlar ve ardından çıktıyı yalnızca en iyi 5 dizini yazdıracak head komutuna bağlarsınız.:

sudo du -h /var/ | sort -rh | head -5

85G /var/ 77G /var/lib 75G /var/lib/libvirt/images 75G /var/lib/libvirt 5.0G /var/cache/pacman/pkg

Sonuç

Linux'ta, du komutunu kullanarak bir dizinin boyutunu elde edebilirsiniz.

du terminal diski