0Pricing
DevOps Bootcamp · 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 DevOps Bootcamp 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 DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp 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 DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp 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 DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp 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 DevOps Bootcamp