Variabili d’Ambiente, Alias e Basi della Shell

Bentornato.
Nella lezione precedente hai imparato a impacchettare e spacchettare file con gli archivi.
Ora entriamo nel mondo della shell.
Qui il terminale inizia a ricordare cose.
Variabili. Percorsi. Alias. File di configurazione.
In pratica, insegniamo al terminale qualche abitudine.
Speriamo buona.
Cosa Imparerai
In questa lezione imparerai a:
- stampare testo con
echo; - capire le variabili della shell;
- leggere variabili d’ambiente come
$HOMEe$PATH; - creare variabili temporanee;
- esportare variabili;
- creare alias;
- salvare alias in
.bashrco.zshrc; - capire perché
$PATHè importante.
La Missione
La tua missione è semplice:
Capire come la shell conserva informazioni e come creare scorciatoie per i comandi che usi spesso.
Perché scrivere comandi lunghi ancora e ancora non è disciplina.
È sofferenza con passaggi extra.
Stampare Testo con echo
Il comando echo stampa testo.
Prova:
echo "Ciao, terminale!"
Dovresti vedere:
Ciao, terminale!
Semplice.
Utile.
Molto educato.
echo viene spesso usato per stampare valori, testare variabili o creare piccoli file di testo.
Che Cos’è una Variabile?
Una variabile è un nome che conserva un valore.
Creane una:
name="Viktor"
Ora stampala:
echo $name
Dovresti vedere:
Viktor
Importante: non mettere spazi intorno a =.
Questo è corretto:
name="Viktor"
Questo è sbagliato:
name = "Viktor"
La shell vede gli spazi e si confonde.
Molto potente.
Molto sensibile.
Come un gatto geniale.
Variabili d’Ambiente Integrate
Linux ha già molte variabili d’ambiente.
Prova:
echo $HOME
Potresti vedere:
/home/viktor
HOME conserva il percorso della tua directory home.
Prova:
echo $USER
Potresti vedere il tuo nome utente.
Prova:
echo $SHELL
Potresti vedere qualcosa come:
/bin/bash
oppure:
/usr/bin/zsh
Questo mostra quale shell stai usando.
La Variabile PATH
Una delle variabili più importanti è PATH.
Prova:
echo $PATH
Potresti vedere qualcosa come:
/usr/local/bin:/usr/bin:/bin:/home/viktor/.local/bin
PATH dice alla shell dove cercare i comandi.
Quando scrivi:
ls
la shell cerca nelle directory dentro PATH finché trova il programma ls.
Senza PATH, dovresti scrivere percorsi completi come un robot molto stanco.
Trovare Dove Vive un Comando
Usa:
command -v ls
Potresti vedere:
/usr/bin/ls
Prova:
command -v bash
command -v zsh
command -v python
command -v node
Alcuni possono esistere.
Alcuni no.
Il terminale è onesto.
A volte brutalmente.
Variabili Temporanee
Le variabili create nella shell di solito sono temporanee.
Prova:
course="Terminale Linux"
echo $course
Dovresti vedere:
Terminale Linux
Ora chiudi il terminale e riaprilo.
Prova:
echo $course
Probabilmente sarà vuoto.
La shell lo ha dimenticato.
Non perché è scortese.
Perché non lo hai salvato.
Esportare una Variabile
Per rendere una variabile disponibile ai processi figli, usa export.
Esempio:
export COURSE_NAME="Terminale Linux"
Ora esegui:
echo $COURSE_NAME
Dovresti vedere:
Terminale Linux
Le variabili d’ambiente sono spesso usate per configurazioni.
Per esempio:
export API_URL="http://localhost:8080"
export NODE_ENV="development"
Gli sviluppatori lo usano continuamente.
Perché scrivere segreti direttamente nel codice è il modo in cui i progetti diventano scene del crimine.
Mostrare le Variabili d’Ambiente
Per vedere molte variabili d’ambiente, usa:
env
Questo può stampare molto output.
Puoi cercare dentro:
env | grep HOME
Oppure:
env | grep PATH
Il simbolo | manda l’output di env dentro grep.
Si chiama pipe.
Le pipe sono uno dei motivi per cui il terminale è potente.
E anche uno dei motivi per cui la gente inizia a sorridere in modo strano usando Linux.
Che Cos’è un Alias?
Un alias è una scorciatoia per un comando.
Esempio:
alias ll="ls -la"
Ora esegui:
ll
Funziona come:
ls -la
È utile perché alcuni comandi sono lunghi e la vita è breve.
Alias Utili
Ecco alcuni esempi utili:
alias ll="ls -la"
alias gs="git status"
alias c="clear"
alias ..="cd .."
Ora:
..
funziona come:
cd ..
Sembra barare.
Ma è permesso.
Linux non è contro le scorciatoie.
Linux è contro il nonsense.
Più o meno.
Controllare Alias Esistenti
Per vedere gli alias esistenti:
alias
Potresti averne già alcuni.
Molti sistemi definiscono alias per sicurezza o comodità.
Per esempio:
alias rm="rm -i"
Questo chiede conferma prima di eliminare.
Molto prudente.
Molto genitoriale.
Rimuovere un Alias
Per rimuovere un alias:
unalias ll
Ora prova:
ll
Potrebbe non funzionare più.
È normale.
Hai rimosso la scorciatoia.
Il terminale non porta rancore.
Di solito.
Salvare Alias in Modo Permanente
Gli alias creati nel terminale spariscono quando lo chiudi.
Per salvarli, aggiungili al file di configurazione della shell.
Se usi Bash:
nano ~/.bashrc
Se usi Zsh:
nano ~/.zshrc
Aggiungi:
alias ll="ls -la"
alias c="clear"
alias ..="cd .."
Salva il file.
Poi ricaricalo.
Per Bash:
source ~/.bashrc
Per Zsh:
source ~/.zshrc
Ora gli alias restano.
Il terminale ha imparato.
Un momento di orgoglio.
Quasi emozionante.
Controllare Quale Shell Usi
Esegui:
echo $SHELL
Se vedi Bash:
/bin/bash
usa .bashrc.
Se vedi Zsh:
/usr/bin/zsh
usa .zshrc.
Se stai usando Arch Linux con Zsh, sì, probabilmente sei esattamente il tipo di persona che si divertirà troppo con gli alias.
Errori Comuni
Spazi intorno a =
Sbagliato:
name = "Viktor"
Corretto:
name="Viktor"
La shell qui è severa.
Niente spazi.
Non si negozia.
Dimenticare $
Questo stampa la parola name:
echo name
Questo stampa il valore della variabile:
echo $name
$ significa:
Dammi il valore salvato dentro questa variabile.
Senza $, la shell pensa che ti piaccia semplicemente dire nomi.
Salvare alias nel file sbagliato
Se usi Zsh e modifichi .bashrc, potrebbe non succedere nulla.
Se usi Bash e modifichi .zshrc, potrebbe non succedere nulla.
Controlla prima la shell:
echo $SHELL
Poi modifica il file giusto.
Misura due volte.
Modifica una.
Pratica
Prova:
echo "Pratica shell"
echo $HOME
echo $USER
echo $SHELL
echo $PATH
course="Terminale Linux"
echo $course
alias ll="ls -la"
ll
unalias ll
Poi rispondi:
- Cosa fa
echo? - Cosa mostra
$HOME? - Cosa fa
$PATH? - Cosa crea
alias? - Perché gli alias spariscono quando chiudi il terminale?
Mini Sfida
Crea tre alias:
alias ll="ls -la"
alias home="cd ~"
alias ports="ss -tuln"
Poi:
- Esegui
ll. - Esegui
home. - Esegui
ports. - Salva questi alias in
.bashrco.zshrc. - Ricarica il file con
source.
Niente mouse.
Il mouse ora guarda dalla pensione.
Riassunto
Oggi hai imparato che:
echostampa testo e valori di variabili;- le variabili conservano valori;
$HOMEconserva la tua home directory;$USERconserva il tuo nome utente;$SHELLmostra la tua shell;$PATHdice alla shell dove cercare comandi;exportrende variabili disponibili ai processi figli;aliascrea scorciatoie;.bashrce.zshrcpossono salvare alias in modo permanente;sourcericarica un file di configurazione.
La shell non è solo un posto dove scrivi comandi.
È un ambiente che puoi personalizzare.
Con attenzione.
Con potere.
E speriamo senza trasformare il terminale in un circo.
Prossima Lezione
Nella prossima lezione scriveremo il nostro primo script Bash.
È lì che i comandi smettono di essere azioni singole e diventano automazione.
Il terminale sta per fare il lavoro noioso al posto tuo.
Finalmente.