GNU/Linux >> Linux Esercitazione >  >> Linux

Una visione pratica del comando xargs

Le attività quotidiane dell'amministratore di sistema sono sempre diverse per tutti; tuttavia, esistono attività semplici che vengono eseguite allo stesso modo sui sistemi gestiti. Ai tempi in cui lo spazio su disco era un fattore di rischio ai tempi dell'amministratore, era di vitale importanza individuare la directory o il filesystem di cui eseguire il debug.

Al giorno d'oggi, principalmente nelle macchine virtuali, è altrettanto importante che i sistemi gestiti siano integri e con spazio disponibile per l'esecuzione dei loro processi e la registrazione dei loro file di registro.

[ Potrebbe piacerti anche: Scripting Linux:3 istruzioni per i cicli while in Bash ]

Il modo migliore per iniziare è utilizzare i comandi più semplici collegando i loro output come input a una nuova esecuzione, formando ciò che è noto come one-liner. Cioè, usando l'interprete della riga di comando per leggere l'output standard di un comando e inserirlo come variabile di input del comando successivo, per questo, il comando xargs aiuta a ricevere quella variabile ed eseguirla.

Guarda un esempio pratico:

Ticket RH0502201-1:il server di produzione prodenv invia avvisi di "spazio su disco insufficiente nel filesystem di root". Viene richiesta l'eliminazione del filesystem.

  1. Accedi al server e controlla lo spazio in /filesystem :


# df -h /

Filesystem                     Size  Used  Avail Use% Mounted on

/dev/mapper/prodenv--vg-root   720G  720G  0     100% /
  1. Passare alla directory principale, elencare le directory e per calcolare lo spazio su disco utilizzato in ciascuna directory, utilizzare una pipe e xargs per inviare i ls output del comando su du comando:

# ls | xargs du -sk
  1. Con un pipe di nuovo, usa il comando sort per elencare l'output dallo spazio su disco più basso a quello più alto utilizzato nelle directory:


# ls | xargs du -sk | sort -n
  1. In questo caso, sono necessarie solo le directory con la maggior parte dello spazio su disco occupato, quindi potremmo limitare l'elenco alle ultime cinque directory nell'elenco. Usando un'altra pipe e il comando tail:


# ls | xargs du -sk | sort -n | tail -5

Nota : Se vuoi evitare il messaggio di errore in cui il du impossibile accedere al comando, inviare l'output dell'errore standard al dispositivo /dev/null:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5
  1. Con l'elenco di directory definito, utilizza AWK per creare un nuovo elenco ordinato di directory, colonna due dell'elenco originale:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }'
  1. L'elenco ordinato viene reimmesso come variabile in du per mostrare lo spazio utilizzato in un formato leggibile dall'uomo. Usa un altro pipe e xargs :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
  1. Convalida la possibilità di eliminare o comprimere i file che stanno sovraccaricando il filesystem per liberare più spazio possibile su disco.

Probabilmente è possibile evitare i passaggi 5 e 6 ed eseguire direttamente la pulizia; tuttavia, in molti casi, queste directory appartengono a qualche applicazione e avvisano il responsabile  parte di esso per eseguire la pulizia o semplicemente come prova del processo eseguito per la documentazione di risoluzione del problema.

Infine, il nostro one-liner ha il seguente aspetto:


​​​​​​​# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh

Questa una riga fa parte del mio arsenale utilizzato nelle attività quotidiane come amministratore di sistema, spero che lo trovi utile. E tu? Che cosa una riga hai un asso nella manica?

[ Ottieni questo ebook gratuito:Gestione dei cluster Kubernetes per i manichini. ]


Linux
  1. Padroneggia il comando ls di Linux

  2. 8 esempi pratici del comando Xargs di Linux per principianti

  3. Un'introduzione al comando diff

  4. Esempi pratici del comando Unzip in Linux

  5. Il comando locate in Linux

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux

5 Esempi pratici del comando Read in Linux

Esempi di comandi xargs di Linux

Una guida pratica per il comando chroot in Linux

Come usare il comando xargs in Linux?

Il comando apt:una guida pratica all'uso