Introduzione
Questo tutorial, il primo di una serie che insegna i fondamenti di Linux, copre i primi passi con il terminale, la riga di comando di Linux e l’esecuzione dei comandi. Se sei nuovo in Linux, vorrai familiarizzare con il terminale, poiché è il modo standard per interagire con un server Linux.
Se desideri ottenere il massimo da questo tutorial, avrai bisogno di un server Linux a cui connetterti e utilizzare. Se non ne hai già uno, puoi crearne rapidamente uno seguendo questo link: Come Creare un Droplet DigitalOcean. Questo tutorial è scritto per un server Ubuntu 22.04 ma i principi generali si applicano a qualsiasi altra distribuzione di Linux.
Cominciamo esaminando cos’è un emulatore di terminale.
Emulatore di Terminale
A terminal emulator is a program that allows the use of the terminal in a graphical environment. As most people use an OS with a graphical user interface (GUI) for their day-to-day computer needs, the use of a terminal emulator is a necessity for most Linux server users.
Ecco alcuni emulatori di terminale gratuiti e comunemente utilizzati per sistema operativo:
- Mac OS X: Terminal (predefinito), iTerm 2
- Windows: ConEmu, Windows Terminal, PuTTY
- Linux: Gnome Terminal, Konsole, XTerm
Ogni emulatore di terminale ha il suo set di funzionalità. In generale, ci si dovrebbe aspettare che un moderno emulatore di terminale supporti finestre a schede e evidenziazione del testo.
La Shell
In un sistema Linux, la shell è un’interfaccia a riga di comando che interpreta i comandi dell’utente e i file di script, e dice al sistema operativo del server cosa fare con essi. Ci sono diverse shell ampiamente usate, come la shell Bourne-Again (bash
) e la Z shell (zsh
). Ogni shell ha il suo insieme di funzionalità e particolarità riguardanti come i comandi vengono interpretati, ma tutte presentano ridirezionamento dell’input e dell’output, variabili e test di condizione, tra le altre cose.
Questo tutorial è stato scritto utilizzando la shell Bourne-Again, comunemente indicata come bash
, che è la shell predefinita per la maggior parte delle distribuzioni Linux, tra cui Ubuntu, Fedora e RHEL.
Il Prompt dei Comandi
Quando effettui il primo accesso a un server, di solito sarai accolto dal Messaggio del Giorno (MOTD), che di solito è un messaggio informativo che include informazioni varie come la versione della distribuzione Linux che il server sta eseguendo. Dopo il MOTD, sarai lasciato nel prompt dei comandi, o prompt della shell, dove puoi impartire comandi al server.
Le informazioni presentate nel prompt dei comandi possono essere personalizzate dall’utente, ma ecco un esempio del prompt dei comandi predefinito di Ubuntu 20.04:
sammy@webapp:~$
Ecco una scomposizione della composizione del prompt dei comandi:
sammy
: Il nome utente dell’utente correntewebapp
: Il nome host del server~
: La directory corrente. Inbash
, che è la shell predefinita, il~
, o tilde, è un carattere speciale che si espande al percorso della home directory dell’utente corrente; in questo caso, rappresenta/home/sammy
$
: Il simbolo del prompt. Questo indica la fine del prompt dei comandi, dopo il quale verrà visualizzato l’input della tastiera dell’utente
Ecco un esempio di come potrebbe apparire il prompt dei comandi, se connesso come root
e nella directory /var/log
:
root@webapp:/var/log#
Nota che il simbolo che termina il prompt dei comandi è un #
, che è il simbolo del prompt standard per l’utente root
. In Linux, l’utente root
è l’account superutente, che è un account utente speciale in grado di eseguire funzioni amministrative a livello di sistema. È un utente illimitato che ha il permesso di eseguire qualsiasi operazione su un server.
Esecuzione dei Comandi
I comandi possono essere emessi al prompt dei comandi specificando il nome di un file eseguibile, che può essere un programma binario o uno script. Ci sono molti comandi e utilità standard di Linux installati con il sistema operativo, che consentono di navigare nel filesystem, installare pacchetti software e configurare il sistema e le applicazioni.
Un’istanza di un comando in esecuzione è nota come un processo. Quando un comando viene eseguito in foreground, che è il modo predefinito in cui vengono eseguiti i comandi, l’utente deve attendere che il processo finisca prima di essere restituito al prompt dei comandi, momento in cui può continuare a emettere ulteriori comandi.
È importante notare che quasi tutto in Linux è sensibile alle maiuscole e minuscole, compresi nomi di file e directory, comandi, argomenti e opzioni. Se qualcosa non funziona come previsto, controlla nuovamente l’ortografia e le maiuscole e minuscole dei tuoi comandi!
Ecco alcuni esempi che copriranno i fondamenti dell’esecuzione dei comandi.
Nota: Se non sei già connesso a un server Linux, è ora un buon momento per accedere. Se hai un server Linux ma incontri problemi di connessione, segui questo link: Come Connettersi al Tuo Droplet con SSH.
Senza Argomenti o Opzioni
Per eseguire un comando senza argomenti o opzioni, digita il nome del comando e premi Invio
.
Se esegui un comando in questo modo, mostrerà il suo comportamento predefinito, che varia da comando a comando. Ad esempio, se esegui il comando cd
senza argomenti, verrai riportato nella directory home dell’utente corrente. Il comando ls
stamperà un elenco dei file e delle directory della directory corrente. Il comando ip
senza argomenti stamperà un messaggio che ti mostra come utilizzare il comando ip
.
Prova a eseguire il comando ls
senza argomenti per elencare i file e le directory nella tua directory corrente (potrebbe non esserci nessuno):
Con Argomenti
Molti comandi accettano argomenti, o parametri, che possono influenzare il comportamento di un comando. Ad esempio, il modo più comune per utilizzare il comando cd
è passargli un singolo argomento che specifica quale directory cambiare. Ad esempio, per cambiare nella directory /usr/bin
, dove sono installati molti comandi standard, emetteresti questo comando:
cd /usr/bin
Il componente cd
è il comando, e il primo argomento /usr/bin
segue il comando. Nota come è stato aggiornato il percorso corrente del prompt dei comandi.
Prova ad eseguire il comando ls
per vedere i file presenti nella tua nuova directory corrente.
ls
Output…
grub-mkrescue sdiff zgrep
grub-mkstandalone sed zipdetails
grub-mount see zless
grub-ntldr-img select-editor zmore
grub-render-label semver znew
grub-script-check sensible-browser
Con Opzioni
La maggior parte dei comandi accetta opzioni, anche note come flag o interruttori, che modificano il comportamento del comando. Le opzioni seguono un comando e sono indicate da un singolo carattere -
seguito da una o più opzioni, rappresentate da singole lettere maiuscole o minuscole. Alcune opzioni a più parole possono iniziare con --
, seguito dal testo del flag.
Per un esempio di come funzionano le opzioni, guardiamo il comando ls
. Ecco un paio di opzioni comuni che risultano utili quando si utilizza ls
:
-l
: stampa un “elenco lungo”, che include dettagli aggiuntivi come permessi, proprietà, dimensioni dei file e timestamp.-a
: elenca tutti i file di una directory, inclusi quelli nascosti (che iniziano con.
)
Per utilizzare l’opzione -l
con ls
, utilizza questo comando:
Nota che l’elenco include gli stessi file di prima, ma con informazioni aggiuntive su ciascun file.
Come accennato in precedenza, le opzioni possono spesso essere raggruppate insieme. Se vuoi utilizzare l’opzione -l
e -a
insieme, potresti eseguire ls -l -a
, o semplicemente combinarle come in questo comando:
Nota che l’elenco include le directory nascoste .
e ..
nell’elenco, a causa dell’opzione -a
.
Con Opzioni e Argomenti
Opzioni e argomenti possono quasi sempre essere combinati quando si eseguono comandi.
Ad esempio, potresti controllare i contenuti di /home
, indipendentemente dalla tua directory corrente, eseguendo questo comando ls
:
ls -la /home
ls
è il comando, -la
sono le opzioni e /home
è l’argomento che indica quale file o directory elencare. Questo dovrebbe stampare un elenco dettagliato della directory /home
, che dovrebbe contenere le home directory di tutti gli utenti normali sul server.
Variabili d’ambiente
Le variabili d’ambiente sono valori nominati che vengono utilizzati per modificare il modo in cui vengono eseguiti comandi e processi. Quando accedi per la prima volta a un server, diverse variabili d’ambiente verranno impostate in base a alcuni file di configurazione per impostazione predefinita.
Visualizza tutte le variabili d’ambiente
Per visualizzare tutte le variabili d’ambiente impostate per una sessione terminale particolare, esegui il comando env
:
env
Probabilmente ci sarà molta output. Cerca l’entrata PATH
:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
La variabile d’ambiente PATH
è un elenco delimitato dai due punti di directory in cui la shell cercherà programmi eseguibili o script quando viene emesso un comando. Ad esempio, il comando env
si trova in /usr/bin
, e puoi eseguirlo senza specificare il percorso completo perché il suo percorso è nella variabile d’ambiente PATH
.
Visualizza il valore di una variabile
Il valore di una variabile d’ambiente può essere recuperato anteporre il nome della variabile con un $
. Questo espanderà la variabile di riferimento al suo valore.
Ad esempio, per stampare il valore della variabile PATH
, è possibile utilizzare il comando echo
:
echo $PATH
O potresti utilizzare la variabile HOME
, che è impostata per impostazione predefinita sulla directory home dell’utente, per cambiare nella tua directory home in questo modo:
cd $HOME
Se provi ad accedere a una variabile d’ambiente che non è stata impostata, verrà espansa a nulla; una stringa vuota.
Impostazione delle variabili d’ambiente
Ora che sai come visualizzare le tue variabili d’ambiente, dovresti imparare come impostarle.
Per impostare una variabile d’ambiente, tutto ciò che devi fare è iniziare con un nome di variabile, seguito immediatamente da un segno =
, seguito immediatamente dal suo valore desiderato:
VAR=value
Nota che se imposti una variabile esistente, il valore originale verrà sovrascritto. Se la variabile non esisteva in primo luogo, verrà creata.
Bash include un comando chiamato export
che esporta una variabile in modo che sia ereditata dai processi figlio. Questo ti consente di utilizzare script che fanno riferimento a una variabile d’ambiente esportata dalla tua sessione corrente.
È anche possibile fare riferimento alle variabili esistenti durante la creazione di una variabile. Ad esempio, se hai installato un’applicazione in /opt/app/bin
, potresti aggiungere tale directory alla fine della tua variabile d’ambiente PATH
con questo comando:
export PATH=$PATH:/opt/app/bin
Ora verifica che /opt/app/bin
sia stato aggiunto alla fine della tua variabile PATH
con echo
:
echo $PATH
Tieni presente che impostare le variabili d’ambiente in questo modo le imposta solo per la sessione corrente. Ciò significa che se fai il logout o passi a un’altra sessione, le modifiche apportate all’ambiente non verranno conservate. Esiste un modo per modificare permanentemente le variabili d’ambiente, ma questo verrà trattato in un tutorial successivo.
Conclusion
Ora che hai iniziato a conoscere il terminale Linux (e alcuni comandi), dovresti avere una buona base per ampliare la tua conoscenza dei comandi Linux. Leggi il prossimo tutorial di questa serie per imparare come navigare, visualizzare e modificare file e le loro autorizzazioni.
Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-the-linux-terminal