come usare du per vedere file di dimensioni superiori a una soglia


9

Sto avendo alcune situazioni alle quali non vedo nulla nelle pagine di du man.

1) Voglio vedere i file in una sottodirectory che sono più grandi di una dimensione specifica. 2) Uso du -sh> du_output.txt Vedo l'output come descritto per l'opzione -s e -h comunque ciò che mi interessa di più è se l'output arriva in un formato che si dice ad esempio

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

se quanto sopra è il layout di directory e voglio vedere solo la dimensione delle singole directory in tutte le sottodirectory, allora cosa posso fare (la profondità di ogni sottodirectory è variabile)

Risposte:


5

Mi piace l' utilità gt5 . Utilizza l'output di due crea un elenco sfogliabile di directory e relative dimensioni e utilizza un browser in modalità testo come collegamenti per visualizzare le informazioni.

Entrambi i programmi sono disponibili nei repository Ubuntu: gt5 e collegamenti .

screenshot di gt5


Grazie, GT5 sembra molto interessante. Lo installerò ora. Naturalmente c'è anche "baobab" per la GUI.
SabreWolfy,

22

Per mostrare solo cartelle di dimensioni superiori a 1 GB:

du -h --threshold=1G

Puoi anche ordinare per dimensione, per trovare facilmente i più grandi.
du -h --threshold=1G | sort -h

(Funziona su: Ubuntu / Mint.
Non funziona su: OSX o RHEL 6.2)


2
Peccato --thresholdche non funziona su OS X.
Franklin Yu,

Inoltre, non funziona su RHEL 6.2
Matthew Moisen,

Anche su Ubuntu dice che sort -hnsono incompatibili.
Scott Stafford,

1
@ScottStafford Grazie, errore di battitura, risolto. Avrei dovuto leggere solosort -h
Mtl Dev il

come mostrare i file oltre i 500 KB? (invece delle cartelle)
Alexander Mills il

12

Utilizzare invece il comando find. L'esempio seguente mostra tutti i file di dimensioni superiori a 10 megabyte:

find -size +10M

Puoi usare du con find in questo modo per vedere le dimensioni di ciascun file:

find -size +10M -exec du -sh {} \;

0

find /path/to/folder -size +100k

Non è chiaro se si desidera visualizzare le dimensioni dei singoli file che sono più grandi di un valore o se si desidera visualizzare cartelle più grandi di un valore.


entrambe le cose. Fondamentalmente devo fare una relazione e in quello devo rappresentarla in 2 modi che entrambi avete indicato.
Bond

Penso che GT5 di cui sopra potrebbe essere quello che stai cercando.
SabreWolfy,

0

Vedo la risposta di Mtl Dev adatta a questa domanda. Da quando Bond ha aperto questa discussione con i tag 'linux' e 'ubuntu-10.04'.
Ancora una volta, du -h --threshold=1G(seguito | sort -hfacoltativamente) funziona perfettamente in Ubuntu.

Anche se Bond ha detto che

Non vedo nulla nelle pagine di du man.

ci sono due righe nella pagina man, fare riferimento di seguito.

-t, --threshold = SIZE
esclude le voci più piccole di SIZE se positive o quelle più grandi di SIZE se negative

Un'altra cosa, penso che l'esatta linea di comando che Bond vuole sia qualcosa del genere,

find . -mindepth 2 -type d | xargs du -sh -t 1G

Quando -mindepth 1afferma che dovrebbe contenere il percorso corrente, -mindepth 2funzionerà sulla tua richiesta.

Di seguito una dimostrazione sul popolare set di dati Lisa .

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.