Ricerca nel sito web

Comandi Linux più comunemente usati che dovresti conoscere


Linux è un sistema operativo (SO) molto popolare tra i programmatori e gli utenti abituali. Uno dei motivi principali della sua popolarità è l'eccezionale supporto della riga di comando. Possiamo gestire l'intero sistema operativo Linux solo tramite l'interfaccia a riga di comando (CLI). Ciò ci consente di eseguire attività complesse con pochi comandi.

In questa guida discuteremo alcuni comandi di uso comune che sono utili per amministratori di sistema esperti o principianti. Dopo aver seguito questa guida, gli utenti saranno in grado di utilizzare il sistema Linux in tutta sicurezza.

Per una migliore organizzazione, questi comandi sono raggruppati in tre sezioni: file system, rete e informazioni sul sistema.

Comandi del file system Linux

In questa sezione discuteremo alcuni dei comandi utili relativi a file e directory in Linux.

1. Comando cat

Il comando cat viene utilizzato principalmente per visualizzare il contenuto del file. Legge il contenuto del file e lo visualizza sullo standard output (stdout).

La sintassi comune del comando cat è:

cat [OPTIONS] [FILE1] [FILE2] ...

Visualizziamo il contenuto del file /etc/os-release utilizzando il comando cat:

cat /etc/os-release

Inoltre, possiamo anche utilizzare l'opzione -n del comando per visualizzare il contenuto con il numero di riga:

cat -n /etc/os-release

2. Comando cp

Il comando cp è utile per copiare file, gruppi di file e directory.

La sintassi comune del comando cp è:

cp [OPTIONS]  

Qui, le parentesi quadre ([]) rappresentano gli argomenti facoltativi mentre le parentesi angolari (<>) rappresentano gli argomenti essenziali.

Copiamo il file /etc/os-release nella directory /tmp:

cp /etc/os-release /tmp/new-file.txt

Ora visualizziamo il contenuto del file per verificare che il file sia stato copiato:

cat /tmp/new-file.txt

Allo stesso modo, possiamo copiare la directory usando il comando cp. Copiamo la directory /etc/cron.d all'interno della directory /tmp:

cp -r /etc/cron.d /tmp

Abbiamo utilizzato l'opzione -r con il comando cp, che rappresenta l'operazione ricorsiva. Copia ricorsivamente la directory che include i suoi file e le sottodirectory.

Nel prossimo esempio vedremo come verificare che la directory sia stata copiata con successo.

ls /tmp/cron.d
ls -l /tmp/cron.d

3. Comando ls

Il comando ls viene utilizzato per elencare il contenuto della directory e ordinare i file in base alla dimensione e all'ora dell'ultima modifica in ordine decrescente.

La sintassi comune del comando ls è:

ls [OPTIONS] [FILE1] [FILE2] ...

Se non forniamo alcun argomento al comando ls allora elenca il contenuto della directory corrente.

ls

Nell'esempio precedente, abbiamo copiato la directory /etc/cron.d nella directory /tmp. Verifichiamo che sia presente lì e contenga i file richiesti:

ls /tmp/cron.d

Possiamo utilizzare l'opzione -l con il comando ls per visualizzare informazioni più dettagliate come: autorizzazioni del file, proprietario, timestamp, dimensione, ecc.

Scopriamo maggiori dettagli sui file presenti nella directory /tmp/cron.d:

ls -l /tmp/cron.d

4. Comando mkdir

Spesso creiamo una struttura di directory per organizzare i contenuti. In Linux, possiamo utilizzare il comando mkdir per creare una o più directory e impostare le autorizzazioni corrette per le directory.

La sintassi comune del comando mkdir è:

mkdir [OPTIONS] <DIRECTORY1> <DIRECTORY2> ...

Creiamo una directory con il nome dir-1 nella directory /tmp:

mkdir /tmp/dir-1

Ora verifichiamo che la directory sia stata creata:

ls /tmp/dir-1

Qui possiamo vedere che il comando ls non riporta alcun errore, il che significa che la directory è presente lì.

A volte è necessario creare una struttura di directory nidificate per una migliore organizzazione dei dati. In questi casi, possiamo utilizzare l'opzione -p del comando per creare alcune directory nidificate nella directory /tmp/dir-1:

mkdir -p /tmp/dir-1/dir-2/dir-3/dir-4/dir-5

Nell'esempio sopra, abbiamo creato 4 livelli di directory nidificate. Confermiamolo utilizzando il comando ls:

ls -R /tmp/dir-1

Qui abbiamo utilizzato l'opzione -R con il comando per visualizzare il contenuto della directory in modo ricorsivo.

5. Comando cronologia

Per controllare gli ultimi comandi eseguiti, è possibile utilizzare il comando History, che visualizza l'elenco degli ultimi comandi eseguiti in una sessione terminale.

history

Per visualizzare la cronologia dei comandi con un timestamp, è necessario impostare il timestamp nella cronologia di bash, eseguire:

HISTTIMEFORMAT="%d/%m/%y %T "             #Temporarily set the history timestamp
export HISTTIMEFORMAT="%d/%m/%y %T "      #Permanently set the history timestamp
history

6. du Comando

Come controllerai i primi 10 file che stanno consumando spazio su disco? Un semplice script di una riga creato dal comando du, utilizzato principalmente per l'utilizzo dello spazio file.

du -hsx * | sort -rh | head -10

Spiegazione delle opzioni e delle opzioni del comando du sopra.

  • du: stima l'utilizzo dello spazio file.
  • -hsx(-h) formato leggibile dall'uomo, (-s) output dei riepiloghi, (-x) Un formato file, salta le directory su altri formati file.
  • sort: ordina le righe del file di testo.
  • -rh(-r) Inverte il risultato del confronto, (-h) per confrontare il formato leggibile dall'uomo.
  • head: genera le prime n righe del file.

7. Comando stat

Il comando stat viene utilizzato per ottenere informazioni sulla dimensione del file, sull'autorizzazione di accesso, sull'ora di accesso, sull'ID utente e sull'ID gruppo del file.

stat anaconda-ks.cfg

Comandi di rete Linux

In questa sezione discuteremo alcuni dei comandi di rete che i principianti possono utilizzare per risolvere i problemi relativi alla rete.

8. Comando ping

Una delle operazioni molto comuni eseguite in qualsiasi rete è verificare se un particolare host è raggiungibile o meno. Possiamo usare il comando ping per verificare la connettività con l'altro host.

La sintassi generale del comando ping è:

ping [OPTIONS] <destination>

In questo caso la destinazione può essere un indirizzo IP o un nome di dominio completo (FQDN) come google.com. Verifichiamo che il sistema attuale possa comunicare con google:

ping -c 4 google.com

Nell'esempio precedente, il comando mostra le statistiche sulla comunicazione di rete, che mostrano che la risposta è stata ricevuta per tutte e quattro le richieste di rete (pacchetti). È importante notare che abbiamo utilizzato l'opzione -c con il comando per limitare il numero di richieste da inviare a un particolare host.

Vediamo l'esempio in cui la comunicazione tra i due host viene interrotta.

Per simulare questo scenario, proveremo a raggiungere un indirizzo IP non raggiungibile. In questo caso è 192.168.10.100:

ping -c 4 192.168.10.100

Qui possiamo vedere che non abbiamo ricevuto risposta per nessuna richiesta di rete. Pertanto il comando segnala l'errore: Host di destinazione non raggiungibile.

9. Comando host

A volte, abbiamo bisogno di trovare l'indirizzo IP di un particolare dominio. Per raggiungere questo obiettivo, possiamo utilizzare il comando host, che esegue una ricerca DNS e traduce l'FQDN in indirizzo IP e viceversa.

La sintassi generale del comando host è:

host [OPTIONS] <destination>

In questo caso la destinazione può essere un indirizzo IP o FQDN.

Scopriamo l'indirizzo IP di google.com utilizzando il comando host:

host google.com

10. comando whois

Tutti i dettagli sui domini registrati sono archiviati nel database centralizzato e possono essere interrogati utilizzando il comando whois, che mostra i dettagli sul particolare dominio.

La sintassi generale del comando whois è:

whois [OPTIONS] <FQDN>

Scopriamo i dettagli di google.com:

whois google.com

Qui possiamo vedere informazioni molto dettagliate come: registrazione/rinnovo/data di scadenza del dominio, provider del dominio e così via.

È importante notare che il comando whois non è disponibile per impostazione predefinita su tutti i sistemi. Tuttavia, possiamo installarlo utilizzando il gestore pacchetti. Ad esempio, sulle distribuzioni basate su Debian possiamo installarlo utilizzando il gestore pacchetti apt:

sudo apt install whois

Nelle distribuzioni basate su RHEL e in altre distribuzioni è possibile installarlo come mostrato.

sudo yum install whois         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a net-misc/whois  [On Gentoo Linux]
sudo apk add whois             [On Alpine Linux]
sudo pacman -S whois           [On Arch Linux]
sudo zypper install whois      [On OpenSUSE]    

Comandi delle informazioni di sistema Linux

In questa sezione discuteremo alcuni dei comandi che possono fornire dettagli sul sistema attuale.

11. Comando di uptime

È un requisito molto comune scoprire quando il sistema è stato riavviato l'ultima volta utilizzando il comando uptime, che indica da quanto tempo il sistema è in esecuzione.

Scopriamo l'uptime del sistema attuale:

uptime -p

12:10:57 up  2:00,  1 user,  load average: 0.48, 0.60, 0.45

In questo esempio, abbiamo utilizzato l'opzione -p per mostrare l'output in una forma gradevole.

12. Comando libero

Gli utenti spesso hanno bisogno di trovare i dettagli sulla memoria installata, disponibile e utilizzata. Queste informazioni svolgono un ruolo importante durante la risoluzione dei problemi di prestazioni. Possiamo usare il comando gratuito per trovare i dettagli sulla memoria:

free -m

Qui abbiamo utilizzato l'opzione -m con il comando che mostra l'output in mebibyte.

In modo simile, possiamo usare le opzioni -g, -t e -p per mostrare l'output nei formati gibibytes, tebibytes e pebibyte rispettivamente.

13. Comando lsblk

I sistemi informatici memorizzano i dati su dispositivi a blocchi. Esempi di dispositivi a blocchi sono unità disco rigido (HDD), unità a stato solido (SSD) e così via. Possiamo usare il comando lsblk per visualizzare informazioni dettagliate sui dispositivi a blocchi:

lsblk

In questo esempio, possiamo vedere che esiste un solo dispositivo a blocchi e il suo nome è /dev/sda. Ci sono tre partizioni create su quel dispositivo a blocchi.

In questo articolo, abbiamo discusso alcuni comandi utili per i principianti di Linux. Innanzitutto, abbiamo discusso i comandi del file system. Successivamente abbiamo discusso dei comandi di rete. Infine, abbiamo discusso alcuni comandi che fornivano dettagli sul sistema attuale.