Espansione della shell e globbing
Comprenda come la shell espande i comandi, inclusi l’espansione delle parentesi graffe, della tilde e i pattern di globbing dei nomi file.
Espansione della shell e globbing è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Che cos'è l'espansione della shell?
In Linux, la shell è come un traduttore tra lei e il sistema operativo. Prima di eseguire il comando, la shell spesso compie una sorta di «magia» chiamata espansione.
L'espansione della shell consiste nella ricerca di caratteri o modelli speciali nel comando e nella loro sostituzione con qualcos'altro. Questo avviene prima dell'effettiva esecuzione del comando, facendole risparmiare tempo e rendendo i comandi più potenti.
La directory home con la tilde `~`
L'espansione della tilde (~) è una scorciatoia molto utile. Viene espansa automaticamente nella directory home dell'utente corrente.
Anziché digitare /home/yourusername, può usare semplicemente ~. È particolarmente utile per spostarsi o fare riferimento ai file nella propria cartella home.
echo ~
echo ~/DocumentsLa tilde per altri utenti
La tilde non serve solo per la propria directory home. Può usarla anche per fare riferimento alla directory home di un altro utente.
Digitando ~username, la shell lo espande nella directory home dello «username» specificato. È molto utile per accedere a file o configurazioni condivisi.
~rootverrebbe espanso in/root~guestverrebbe espanso in/home/guest
Espansione delle parentesi graffe `{}`
L'espansione delle parentesi graffe consente di generare stringhe arbitrarie. È un modo rapido per creare più elementi a partire da un unico modello, senza doverli digitare tutti.
La shell espande il contenuto racchiuso tra le parentesi graffe {} in un elenco di parole separate. È molto utile per creare file o directory con nomi simili oppure per eseguire comandi su più elementi.
echo {apple,banana,cherry}Intervalli tra parentesi graffe
Può usare l'espansione delle parentesi graffe anche per generare sequenze di numeri o lettere. A questo scopo, inserisca tra le parentesi graffe due elementi separati da ...
La shell genererà tutti gli elementi della sequenza, semplificando la creazione di file o directory numerati e l'iterazione su un insieme di valori.
echo file_{1..3}.txt
echo {a..c}_report.logIntroduzione al globbing
Il globbing è il meccanismo con cui la shell abbina nomi di file e percorsi usando caratteri jolly speciali. È simile all'uso di un «modello di ricerca» per trovare i file.
Quando digita un comando come ls *.txt, la shell non passa *.txt a ls. Al contrario, espande *.txt nell'elenco di tutti i file corrispondenti nella directory corrente e poi passa quell'elenco a ls.
Corrispondere a tutto con `*`
L'asterisco (*) è il carattere jolly più comune. Corrisponde a zero o più caratteri in un nome di file.
Può usarlo per corrispondere a qualsiasi sequenza di caratteri, rendendolo estremamente versatile per selezionare i file in base a parti del loro nome.
mkdir -p glob_test
touch glob_test/report.txt glob_test/image.jpg glob_test/document.pdf
echo "Files ending in .txt:"
ls glob_test/*.txt
rm -rf glob_testCorrispondere a un carattere con `?`
Il carattere jolly punto interrogativo (?) corrisponde a esattamente un carattere.
È utile quando conosce la lunghezza esatta della parte del nome di file da cercare, ma non il carattere specifico.
mkdir -p glob_test
touch glob_test/file1.log glob_test/file2.log glob_test/fileA.log
echo "Files matching file?.log:"
ls glob_test/file?.log
rm -rf glob_testCaratteri specifici `[]`
Può usare le parentesi quadre ([]) per trovare un singolo carattere appartenente a un insieme specificato.
In questo modo può eseguire una ricerca più precisa rispetto a ?. Può elencare singoli caratteri oppure specificare un intervallo (ad esempio, [a-z] per qualsiasi lettera minuscola o [0-9] per qualsiasi cifra).
mkdir -p glob_test
touch glob_test/photoA.png glob_test/photoB.png glob_test/photoC.png glob_test/photoD.png
echo "Files matching photo[A-C].png:"
ls glob_test/photo[A-C].png
rm -rf glob_testCombinazioni di globbing
Può combinare diversi modelli di globbing e persino l'espansione delle parentesi graffe per selezionare i file in modo efficace.
La shell elabora queste espansioni da sinistra a destra, creando modelli complessi che corrispondono esattamente a ciò che le serve.
mkdir -p glob_test
touch glob_test/data_01.csv glob_test/data_02.txt glob_test/data_a.log glob_test/info_01.txt
echo "Files matching data_[0-9]*.{txt,csv}:"
ls glob_test/data_[0-9]*.{txt,csv}
rm -rf glob_testVerifica rapida
Quale dei seguenti comandi elencherà i file denominati report1.doc, report2.doc e report3.doc, ma NON reportA.doc?
Riepilogo e prossimi passi
Ottimo lavoro. Ha imparato come la shell espande i comandi prima ancora di eseguirli. Questa «magia» rende molto più efficiente il lavoro dalla riga di comando.
- Espansione della tilde (
~): una scorciatoia per le directory home. - Espansione delle parentesi graffe (
{}): genera stringhe o sequenze personalizzate. - Globbing (
*,?,[]): abbina i nomi di file usando caratteri jolly per una selezione basata su modelli.
Comprendere queste espansioni è fondamentale per scrivere comandi efficaci e concisi. Continui a esercitarsi.
Domande Frequenti
La lezione «Espansione della shell e globbing» è gratuita?
Sì — il testo completo di «Espansione della shell e globbing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.
Cosa imparerò in «Espansione della shell e globbing»?
Comprenda come la shell espande i comandi, inclusi l’espansione delle parentesi graffe, della tilde e i pattern di globbing dei nomi file. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?
Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Espansione della shell e globbing»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?
Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Controllo dei job (bg, fg, jobs)
- Espansione della shell e globbing
- Alias e prompt personalizzati
- Funzioni della shell e snippet riutilizzabili