En büyük dizinleri veya en büyük dosyaları nasıl bulabilirim? [çift]


33

Linux altında, bir dizindeki en büyük dosyayı ve / veya en büyük dizinleri listelemek için bir komut arıyorum.


Bulduğum en yararlı araç xdiskusage ( xdiskusage.sourceforge.net ) Bu, dosyaların nerede olduğunu büyüklük olarak grafiksel olarak gösterir. Harika bir araç! (ve doğrudan X11 ile çalışır)
jcoppens

Bu konu dışı olarak kapatılmış olan bir sorunun nasıl kopyalanır? Mantıklı değil.
kenorb

Yanıtlar:


17

Herhangi bir dizinden:

du -a | sort -n -r


1
Bu gösterileri bireysel dosyalar, ama soru yanı dizinleri hakkındadır
knocte

argüman olmayan du, disk kullanımını dizinler tarafından özetler. -a ile du aynı dizin bilgilerini üretir ve ayrı dosyalar için de disk kullanımını içerir.
Brent Worden,

alanınız dışındayken sıralama yapamazsınız: = (
Jonathan Henson

28

Aşağıdaki komut size bir dizin seviyesini ve boyutlarını gösterir.

du - max derinliği = 1 / yol | sıralama -r -k1,1n

Bunlardan biri gerçekten yapışırsa (listedeki sonuncusu nedeniyle en büyüğüdür sort -r), o zaman bu dizindeki komutu yeniden çalıştırın ve sonra da soruna neden olan dizini / dosyayı bulana kadar devam edin.

Tek istediğin en büyük on dosya ise sadece yap

/ home-türünü bulun f -exec du -s {} \; | sıralama -r -k1,1n | kafa


eğer eklersem de eklesem de en büyük sayı benim için sonda olur sort -r. En büyük sayıyı en üste çıkarmanın bir yolu var mı?
squarecandy

Hangi sütuna göre sıralamak istediğinizi ve nümerik (sayısal değil) olduğunu belirtmelisiniz. -K1,1rn böyle yapardı. Varsayılan sıralama, ilk sütunda alfanümerik sıralama kullanır.
Marcin

Evet, bu kadar düzgün sıralama, ama ben eklerseniz olursa olsun yüksek sayılara küçükten büyüğe düşük öyle sortya sort -r. -R'nin nasıl çalıştığını yanlış mı anlıyorum? Sanırım önemli bir şey değil. Örneği çok yardımcı oldu ve ihtiyacım olan bilgiyi bana getirdi.
squarecandy

2
İle sortben (sahip sort (GNU coreutils) 8.13Ubuntu 12.04.3 olarak) seçeneği -rişi yapmazsa -nhemen izler -k( -k1,1n). Seçeneklerin Bu emir çalışır: sort -rnk1,1.
pabouk

27

Çağrılan bir yardımcı program ncdusize aradığınız bilgileri verecektir.

sudo apt-get install ncdu

OS X'te, Homebrew kullanılarak yüklenebilir:

brew install ncdu

2
+1 Bunu daha önce hiç duymamıştım - Mac'te de harika çalışıyordu.
Andrew E

Bu, yüksek cevapların her ikisinden de daha güzel bir çözüm.
AlexLordThorsen

Bu akıllara durgunluk veriyor. Bunu diğer tüm cevaplar için öner!
Allen Gingrich

4

du-sk * | sort -nr | kafa -1

Bu, bir dizindeki en büyük dizini / dosyayı KB olarak gösterecektir. Kafa değerini değiştirmek üst x dosyalarına / dizinlerine yol açacaktır.


2

Bu gönderi size yardımcı olacaktır:

cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10

2

Aşağıdaki komut verilen en büyük 10 dosyayı geri döndürecek /path

du -a -h / yol | sıralama -h -r | kafa -n10

-hOkunabilirlik için seçenekleri kullanmayı seviyorum . Hem duve sortihtiyaç olması -h.


1

kullanım

ls -A | xargs -I artifact du -ms artifact | sort -nr

İsteğe bağlı olarak, bir boru ekleyebilir ve kullanabilirsiniz head -5


0

Du kullanın. Sonucu sipariş etmek için bunu deneyin:

du | sort -n

0

Aşağıdaki tek astarı deneyin (geçerli dizindeki en büyük 20 dosyayı görüntüler):

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

veya okunabilir boyutlarda:

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

Düzgün OSX / BSD üzerinde çalışmaya İkinci komut (olarak sortyok -h), yüklemek gerekir sortdan coreutils.

Bu yüzden bu takma adlar, rc dosyalarınızda (her ihtiyacınız olduğunda) kullanmanız için yararlıdır :

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'

-5
du -sh /path * | sort -nr | grep G

GIG için G (daha küçük olanları ayıklamak için) dosyalar / dizinler


Bu, boyutu gösteren tüm dosya ve klasörleri listeler. Boyutunu K, M veya G'nin byte değerine göre sıralamaz, gösterdiğiniz şekilde GREP
yapmazsanız

Ayrıca Gdosya adında bir şey bulacaktır .
Kevin Panko
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.