0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

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 ~/Documents

La 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.

  • ~root verrebbe espanso in /root
  • ~guest verrebbe 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.log

Introduzione 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_test

Corrispondere 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_test

Caratteri 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_test

Combinazioni 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_test

Verifica 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

  1. Controllo dei job (bg, fg, jobs)
  2. Espansione della shell e globbing
  3. Alias e prompt personalizzati
  4. Funzioni della shell e snippet riutilizzabili
← Torna a Linux Command Line & Bash Scripting Mastery