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.