Comandi Linux da amministratore

 

Preso e adattato da: https://www.html.it/articoli/10-comandi-linux-da-amministratore-di-sistema/

 

In questo articolo analizzeremo i più importanti comandi Linux da terminale per amministratori di sistema.

 

 

 

Comandi base semplici

Elenco di comandi Unix di base "semplici" e varianti spesso usate.

comando

descrizione

pwd

mostra il nome della directory attuale/di lavoro

whoami

mostra il nome dell'utente attuale

id

mostra l'identità dell'utente attuale (nome, uid, gid e gruppi associati)

file <pippo>

mostra che tipo di file sia il file "<pippo>"

type -p <nomecomando>

mostra la posizione del file del comando "<nomecomando>"

which <nomecomando>

" "

type <nomecomando>

mostra informazioni sul comando "<nomecomando>"

apropos <parola-chiave>

trova comandi riguardanti "<parola-chiave>"

man -k <parola-chiave>

" "

whatis <nomecomando>

mostra una spiegazione di una riga sul comando "<nomecomando>"

man -a <nomecomando>

mostra una spiegazione del comando "<nomecomando>" (in stile Unix)

info <nomecomando>

mostra una spiegazione piuttosto lunga del comando "<nomecomando>" (in stile GNU)

ls

elenca il contenuto di directory (non i file punto e le directory)

ls -a

elenca il contenuto di directory (tutti i file e directory)

ls -A

elenca il contenuto di directory (quasi tutti i file e directory, cioè salta ".." e ".")

ls -la

elenca tutto il contenuto di directory con informazioni dettagliate

ls -lai

elenca tutto il contenuto di directory con numeri di inode e informazioni dettagliate

ls -d

elenca tutte le directory dentro la directory attuale

tree

mostra il contenuto in forma di albero

lsof <pippo>

mostra lo stato aperto per il file "<pippo>"

lsof -p <pid>

mostra i file aperti dal processo con ID "<pid>"

mkdir <pippo>

crea una nuova directory "<pippo>" nella directory attuale

rmdir <pippo>

rimuove la directory "<pippo>" nella directory attuale

cd <pippo>

cambia directory spostandosi nella directory "<pippo>" nella directory attuale o in una directory elencata nella variabile "$CDPATH"

cd /

cambia directory spostandosi nella directory radice

cd

cambia directory spostandosi nella directory home dell'utente

cd /<pippo>

cambia directory spostandosi nella directory con percorso assoluto "/<pippo>"

cd ..

cambia directory spostandosi nella directory genitore

cd ~<pippo>

cambia directory spostandosi nella directory home dell'utente "<pippo>"

cd -

cambia directory spostandosi nella directory precedente

</etc/motd pager

mostra il contenuto di "/etc/motd" usando il paginatore predefinito

touch <filediprova>

crea un file "<filediprova>" vuoto

cp <pippo> <pluto>

copia un file "<pippo>" esistente in un nuovo file "<pluto>"

rm <filediprova>

rimuove il file "<filediprova>"

mv <pippo> <pluto>

rinomina un file "<pippo>" esistente con il nuovo nome "<pluto>" ("<pluto>" non deve esistere)

mv <pippo> <pluto>

muove un file "<pippo>" esistente nella nuova posizione "<pluto>/<pippo>" (la directory "<pluto>" deve esistere)

mv <pippo> <pluto>/<paperino>

muove un file "<pippo>" esistente in una nuova posizione con il nuovo nome "<pluto>/<paperino>" (la directory "<pluto>" deve esistere ma non deve esistere "<bar>/<baz>")

chmod 600 <pippo>

fa sì che il file "<pippo>" esistente sia non leggibile e non scrivibile da altri (e non eseguibile per nessuno)

chmod 644 <pippo>

fa sì che il file "<pippo>" esistente sia leggibile ma non scrivibile da altri (e non eseguibile per nessuno)

chmod 755 <pippo>

fa sì che il file "<pippo>" esistente sia leggibile ma non scrivibile da altri (ed eseguibile per tutti)

find . -name <modello>

trova nomi di file corrispondenti al "<modello>" di shell (lento)

locate -d . <modello>

trova nomi di file corrispondenti al "<pattern>" di shell (più veloce, usa un database generato regolarmente)

grep -e "<modello>" *.html

trova un "<modello>" in tutti i file nella directory attuale che terminano con ".html" e mostra tutte le corrispondenze

ps aux | pager

mostra informazioni su tutti i processi in esecuzione usando output in stile BSD

ps -ef | pager

mostra informazioni su tutti i processi in esecuzione usando output in stile system V Unix

ps aux | grep -e "[e]xim4*"

mostra tutti i processi che stanno eseguendo "exim" e "exim4"

ps axf | pager

mostra informazioni su tutti i processi in esecuzione usando output in ASCII art

kill <1234>

uccide un processo identificato dall'ID "<1234>"

killall <task>

uccide un processo identificato dal nome task "<task>"

gzip <pippo>

comprime <pippo>" per creare "<pippo>.gz", usando la codifica Lempel-Ziv (LZ77)

gunzip <pippo>.gz

decomprime "<pippo>.gz" per creare "<pippo>"

bzip2 <pippo>

comprime "<pippo>" per creare "<pippo>.bz2", usando l'algoritmo Burrows-Wheeler per la compressione di testo con ordinamento di blocchi e la codifica Huffman (compressione migliore di gzip)

bunzip2 <pippo>.bz2

decomprime "<pippo>.bz2" per creare "<pippo>"

xz <pippo>

comprime "<pippo>" per creare "<pippo>.xz", usando l'algoritmo Lempel–Ziv–Markov chain (compressione migliore di bzip2)

unxz <pippo>.xz

decomprime "<pippo>.xz" per creare "<pippo>"

tar -xvf <pippo>.tar

estrae i file dall'archivio "<pippo>.tar"

tar -xvzf <pippo>.tar.gz

estrae file dall'archivio "<pippo>.tar.gz" compresso con gzip

tar -xvjf <pippo>.tar.bz2

estrae file dall'archivio "<pippo>.tar.bz2"

tar -xvJf <pippo>.tar.xz

estrae file dall'archivio "<pippo>.tar.xz"

tar -cvf <pippo>.tar <pluto>/

archivia i contenuti della directory "<pluto>/" nell'archivio "<pippo>.tar"

tar -cvzf <pippo>.tar.gz <pluto>/

archivia i contenuti della directory "<pluto>/" nell'archivio compresso "<pippo>.tar.gz"

tar -cvjf <pippo>.tar.bz2 <pluto>/

archivia i contenuti della directory "<plutor>/" nell'archivio "<pippo>.tar.bz2"

tar -cvJf <pippo>.tar.xz <pluto>/

archivia i contenuti della directory "<plutor>/" nell'archivio "<pippo>.tar.xz"

zcat README.gz | pager

mostra i contenuti del file compresso "README.gz" usando il paginatore predefinito

zcat README.gz > pippo

crea un file "pippo con i contenuti di "README.gz" decompressi

zcat README.gz >> pippo

aggiunge i contenuti di "README.gz" decompressi in coda al file "pippo" (se il file non esiste, lo crea)

Comandi complessi

top :Monitorare le risorse dei processi

Un utile comando che permette di avere sempre sotto controllo i processi eseguiti all’interno di una distribuzione Linux è top, un vero e proprio monitor in tempo reale che mostra numerose informazioni in merito ai processi gestiti dal Kernel: ad intervalli regolari l’applicazione esegue l’aggiornamento automatico dei dati mostrati, ordinati secondo un criterio basato sul consumo di risorse.

 

​​ 

Alcuni dei parametri più utili di top sono:

  • -d secondi.decimi : il parametro -d permette di modificare l’intervallo di tempo di aggiornamento della schermata. Il valore passato deve seguire il formato decimi.secondi;

  • -u utente : utile per monitorare i processi relativi ad un determinato utente;

  • -p PID1 PID2 : permette di controllare solo determinati processi, il cui PID deve essere specificato come valore del parametro (per conoscere il PID di un processo è possibile leggere la seconda colonna dell’output ricevuto tramite il comando ps -aux).

 

uname:Informazioni di sistema.

Il comando uname permette di conoscere in maniera rapida e comoda alcune informazioni riguardanti la macchina ed il sistema operativo in uso.

A seconda del parametro con cui è eseguito: Kernel in uso, distribuzione utilizzata, tipologia di hardware, informazioni sul processore e così via. Alcuni dei paramettri supportati sono i seguent-a: mostra tutte le informazioni disponibili sul sistema;

  • -s: mostra il nome del Kernel in uso;

  • -r: mostra la release del Kernel in uso;

  • -p: mostra il tipo di processore utilizzato;

  • -i: mostra informazioni sulla piattaforma hardware;

  • -o: mostra il sistema operativo in uso;

  • -n: mostra l’hostname del computer sulla rete;

  • -m: mostra il nome dell’hardware utilizzato dalla macchina.

 

 

 

 

 

 

 

 

 

 

free: Memoria libera

La saturazione della memoria può compromettere la stabilità e l’efficienza di una qualunque macchina.

Per tale motivo, durante l’utilizzo intensivo di software è buona prassi tenere sotto controllo lo spazio disponibile in RAM utilizzando il comando free, che offre inoltre dettagli sulla memoria libera nella partizione di swap, utilizzata come supplemento alla memoria RAM disponibile sul computer.

 

 

 

 

 

 

 

 

 

 

 

 

 

Tra i parametri di maggiore interesse figurano:

  • -b: permette di ricevere l’output in termini di byte;

  • -k: come il parametro precedente, con la differenza che offre l’output in KByte;

  • -l: mostra dettagliatamente lo stato della memoria;

  • -t: aggiunge due righe all’output, nelle quali vengono visualizzati i totali di ogni colonna;

  • -s secondi: seguito da un valore numerico, il parametro -s permette di ricevere ad intervalli regolari informazioni sulla memoria, senza la necessità di lanciare manualmente il comando ogni qual volta si necessita di conoscere tali informazioni.

df: Spazio libero.

Il comando df permette di fornire informazioni sullo stato dell’hard disk del computer in uso e di ogni altro file system montato (pen drive, hard disk esterni e qualsiasi altra periferica esterna montata). Il comando df può essere eseguito sia senza alcun dispositivo target che seguito dal percorso di determinati file system: nel primo caso mostra lo spazio libero su ogni file system montato, nel secondo invece si limita a quelli selezionati manualmente.