GNU/Linux >> Linux Esercitazione >  >> Linux

Comandi Linux:du e le opzioni che dovresti usare

Il du command è un comando Linux/Unix standard che consente a un utente di ottenere rapidamente informazioni sull'utilizzo del disco. Si applica al meglio a directory specifiche e consente molte variazioni per personalizzare l'output in base alle proprie esigenze.

Come con la maggior parte dei comandi, l'utente può sfruttare molte opzioni o flag. Inoltre, come molti comandi Linux, la maggior parte degli utenti utilizza solo gli stessi due o tre flag per soddisfare le proprie specifiche esigenze. Lo scopo qui è di introdurre le bandiere di base che le persone usano, ma anche di esaminarne alcune meno comuni nella speranza di migliorare il nostro uso di du . Diamo prima un'occhiata al comando autonomo, quindi aggiungiamo varie opzioni.

[tcarrigan@rhel article_submissions]$ du /home/tcarrigan/article_submissions/
12    /home/tcarrigan/article_submissions/my_articles
36    /home/tcarrigan/article_submissions/community_content
48    /home/tcarrigan/article_submissions/

Puoi vedere che ci sono tre righe di output fornite dal comando di base. I valori all'estrema sinistra sono l'utilizzo del disco, seguito dalla directory specifica responsabile di tale utilizzo. La riga inferiore è un riepilogo dell'intero /home/tcarrigan/article_submissions directory. Non vi è alcuna indicazione su quale unità di misura viene utilizzata con il comando standard, rendendo questo output poco utile. È qui che le opzioni diventano necessarie.

[ Vuoi saperne di più su Linux? Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]

-h , --leggibile dall'uomo

Il -h flag stampa gli output delle dimensioni, come quelli sopra, in un formato leggibile dall'uomo. Questo formato fornisce un'unità di misura (Byte). Se ora eseguiamo du -h comando nella stessa directory, vediamo che i valori 12, 36 e 48 sono in KB.

[tcarrigan@rhel article_submissions]$ du -h /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/

-s, --riepilogo

Il -s il flag viene aggiunto a -h bandiera a volte. Con i loro poteri combinati, non diventano un semidio ecologico. Invece, ci consentono di ottenere un riepilogo dell'utilizzo della directory in un formato leggibile dall'uomo.

[tcarrigan@rhel article_submissions]$ du -sh /home/tcarrigan/article_submissions/
48K    /home/tcarrigan/article_submissions/

Se quell'output sembra familiare, è perché è una copia esatta dell'ultima riga di -h uscita.

-a, --tutti

Questa opzione utile fa esattamente quello che penseresti. Elenca le dimensioni di tutti i file e le directory nel percorso del file specificato. Il -a l'opzione è spesso combinata con -h bandiera per facilità d'uso. Notare che le dimensioni dei singoli file sono elencate con le directory.

[tcarrigan@rhel article_submissions]$ du -ah /home/tcarrigan/article_submissions/
8.0K    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     /home/tcarrigan/article_submissions/my_articles
4.0K    /home/tcarrigan/article_submissions/community_content/article
4.0K    /home/tcarrigan/article_submissions/community_content/article2
4.0K    /home/tcarrigan/article_submissions/community_content/article3
4.0K    /home/tcarrigan/article_submissions/community_content/article4
12K     /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     /home/tcarrigan/article_submissions/community_content
48K     /home/tcarrigan/article_submissions/

--tempo

Amo particolarmente questa bandiera. Mostra l'ora dell'ultima modifica a qualsiasi file nella directory o nella sottodirectory in cui viene eseguito. Questo flag è stato incredibilmente utile per me come amministratore di archiviazione. In più di un'occasione, avrei chiesto a un cliente di scrivere file in una sottodirectory per sbaglio, quindi dovevamo trovare dove avveniva la scrittura. Potrei usare questo flag insieme a -ah flag per trovare l'ultima directory modificata.

[tcarrigan@rhel article_submissions]$ du -ah --time /home/tcarrigan/article_submissions/
8.0K    2020-04-07 11:30    /home/tcarrigan/article_submissions/my_articles/Creating_physical_volumes
4.0K    2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles/Creating_volume_groups
12K     2020-04-07 11:31    /home/tcarrigan/article_submissions/my_articles
4.0K    2020-02-06 16:47    /home/tcarrigan/article_submissions/community_content/article
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article2
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article3
4.0K    2020-02-06 16:48    /home/tcarrigan/article_submissions/community_content/article4
12K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/real_sysadmins
8.0K    2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content/podman_pulling
36K     2020-04-07 11:32    /home/tcarrigan/article_submissions/community_content
48K     2020-04-07 11:32    /home/tcarrigan/article_submissions/

Nota:questo non ordina in base all'ultima modifica, quindi è comunque necessario prestare attenzione ai tempi. L'ultima modifica non è sempre in alto

-c, --totale

Questa opzione è più un controllo fittizio che utile, tuttavia ad alcune persone piace davvero avere un output di misurazione totale. Il -c flag aggiunge una riga in fondo all'output che fornisce un totale complessivo di tutto l'utilizzo del disco per il percorso del file indicato.

[tcarrigan@rhel article_submissions]$ du -ch /home/tcarrigan/article_submissions/
12K    /home/tcarrigan/article_submissions/my_articles
36K    /home/tcarrigan/article_submissions/community_content
48K    /home/tcarrigan/article_submissions/
48K    total

Notare la linea di fondo qui. Vengono visualizzate le stesse informazioni mostrate negli altri esempi di du ma senza il banner 'totale' per ricordartelo.

-X, --exclude=Modello

Il -X opzione è un piccolo trucco ingegnoso che puoi fare se sai che il tuo ambiente ha un gran numero di un certo tipo di file che non desideri calcolare nei tuoi risultati. Secondo la mia esperienza, alcuni clienti avrebbero grandi quantità di file di metadati con la stessa estensione di file e non desideravano includerli nei loro risultati. Non posso dimostrarlo qui sulla mia macchina virtuale; tuttavia, ecco la sintassi e un esempio.

[tcarrigan@rhel]$ du -ah --exclude="*.dll" /home/tcarrigan/article_submissions

Questo comando elencherà tutti i file e le informazioni sull'utilizzo della directory in un formato leggibile escludendo qualsiasi file con estensione .dll . Questo è un po' di nicchia, tuttavia, ha un posto nel mondo.

Riepilogo e pagina man

Si spera che ora tu abbia una migliore comprensione di quanto sia utile il du l'utilità può essere. È facile entrare nella routine di eseguire sempre e solo du -h e dimenticandoti di tutte le altre bandiere incredibilmente potenti che hai a tua disposizione. Ci sono molti flag che non ho trattato in questo articolo, ma puoi trovare tutte le informazioni nella pagina di manuale di questo comando. Per accedere alla manpage, esegui semplicemente man du .

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ]


Linux
  1. Linux:differenza tra /dev/console , /dev/tty e /dev/tty0?

  2. Bash =~ Regex e HTTPS://regex101.com/?

  3. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  4. Quali dimensioni dovresti assegnare a /, /boot, /home e swap

  5. Qual è il significato di /usr/sbin, /usr/local/sbin e /usr/local/bin?

In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

Linux – Unire /usr/bin e /usr/sbin in /bin (gnu/linux)?

/proc/cpuinfo e /proc/meminfo in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

Come modificare /tmp predefinito in /home/user/tmp

I siti web dovrebbero vivere in /var/ o /usr/ in base all'utilizzo consigliato?