Una guida illustrativa per farvi conoscere il concetto di Shell in Linux e la popolare shell BASH
Una ‘Shell’ è una ‘Utility interattiva’ fornita dai sistemi Linux. Ogni volta che parliamo della riga di comando in ambiente Linux o Unix ci riferiamo alla ‘Shell’. Funziona come un mid-man tra l’utente e il sistema che prende input dall’utente e alimenta quell’input al sistema.
La shell Linux fornisce agli utenti un modo per avviare programmi o gestire e manipolare qualsiasi dato sul sistema Linux. La shell facilita come mezzo per l’utente di interagire con il sistema tramite comandi.
Il prompt dei comandi è la parte più fondamentale e fondamentale della Shell nei sistemi Linux e Unix. Il carattere $ è il prompt predefinito nella maggior parte delle distribuzioni Linux e più specificamente nelle distribuzioni che utilizzano Bourne Shell. Prompt dei comandi agisce come un’interfaccia in cui è possibile inserire i comandi. Questi comandi vengono quindi interpretati eseguiti nel kernel. Il comando Shell è il primo programma da eseguire quando si avvia per la prima volta una finestra di terminale.
In questo breve articolo, imparerai alcuni fatti di base sulle shell in Linux e anche la domanda sulla shell predefinita in Linux deve essere affrontata.
Tipi di Shell
In Linux, ci sono due tipi principali di shell: Bourne Shell e C – type shell. Entrambi i tipi di Shell hanno alcuni vantaggi e anche svantaggi.
Vediamo le specifiche di entrambi questi tipi nelle sezioni seguenti.
Bourne Shell
Bourne Shell è stato scritto da Stephen Bourne a AT &T Bell Labs. Bourne Shell (sh
) è stata la prima ad essere introdotta nei sistemi Linux. Puoi trovare questa shell installata come /bin/sh
sulla maggior parte delle distribuzioni Linux.
Anche se Bourne Shell era piuttosto popolare e preferito allora, ma aveva alcuni inconvenienti. La capacità di richiamare i comandi precedenti mancava in questa Shell. sh
mancava di molte funzionalità moderne come gli alias e quindi lo rendeva meno efficace.
- Indicato come
sh
- Il carattere
$
è il prompt predefinito.
Di seguito sono riportate le sottocategorie della Shell Bourne.
- Bourne Shell (
sh
) - Korn Shell (
ksh
) - Bourne Di nuovo Shell (
bash
) - Shell POSIX(
sh
)
C-Type Shell
C-type shell è stato creato utilizzando il linguaggio di programmazione C da Bill Joy. C-Shell o ‘csh
‘ è visto come un aggiornamento sulla Shell Bourne (sh
). csh
ha introdotto molte nuove funzionalità come la cronologia dei comandi e gli alias che mancavano nella Shell di Bourne.
- Indicato come
csh
- Il carattere
%
è il prompt predefinito.
Anche se era un aggiornamento sulla shell Bourne, ha avuto poche sfide. Anche un problema importante con csh
era che richiedeva all’utente di avere una conoscenza preliminare del linguaggio di programmazione C poiché era costruito sulla base del linguaggio C.
Di seguito sono riportate le sottocategorie delle shell di tipo C.
- C shell (
csh
) - TENEX / TOP C shell (
tcsh
)
Sui sistemi Linux, puoi trovare diverse shell disponibili sul tuo sistema usando il comando cat
. Le informazioni sulle shell si trovano nella directory /etc/shells
. Utilizzare il seguente comando per trovare i dettagli sulle shell.
cat /etc/shells
Uscita:
gaurav@ubuntu:~$ cat /etc/shells# /etc/shells: valid login shells/bin/sh/bin/dash/bin/bash/bin/rbashgaurav@ubuntu:~$
La shell predefinita su Linux
Per rispondere alla domanda ” Qual è la shell predefinita in Linux?”, la risposta più appropriata sarebbe ‘BASH
‘ (Bourne Again Shell). BASH
è la shell più popolare e quindi si trova sulla maggior parte delle distribuzioni Linux come shell predefinita.
Per controllare la shell predefinita in Linux, è possibile utilizzare il seguente comando.
echo $SHELL
Uscita:
/bin/bash
Ciò significa che la shell attualmente in uso sul mio sistema è la shell BASH
.
Puoi controllare la versione corrente di BASH
nel tuo sistema Linux usando il seguente comando:
bash --version
Caratteristiche di BASH Shell
BASH
è compatibile con la shell Bourne (sh
). BASH include molte caratteristiche importanti della Shell Korn (ksh
) e della C-Shell (csh
).
BASH offre molte nuove funzionalità che erano assenti nei suoi predecessori. E questo rende indubbiamente la shell BASH un eccellente miglioramento rispetto ai suoi predecessori. Molte nuove funzionalità come wildcarding, piping, tab-completion sono i miglioramenti significativi che rendono BASH una shell preferita come impostazione predefinita per la maggior parte delle distribuzioni Linux.
Diamo un’occhiata ad alcune caratteristiche notevoli di Bash shell.
Cronologia dei comandi: questo semplice comando può salvare il tuo sforzo per ridigitare un comando lungo. Funzione Cronologia comandi richiama i comandi inseriti in precedenza che possono essere navigati attraverso il terminale con i tasti freccia.
Modifica della riga di comando: questa funzionalità è stata recentemente introdotta con BASH. Esso consente all’utente di muoversi liberamente sulla riga di comando da sinistra a destra e da destra a sinistra. Questa navigazione sul terminale può sembrare normale ora, ma questo è stato un miglioramento molto significativo rispetto ai suoi predecessori.
Alias: Questa è una caratteristica derivata dalla C-shell. Esso consente agli utenti di digitare solo il nome breve o comando. La shell traduce quindi questo comando breve nel comando più lungo.
Array unidimensionale: gli array 1D in BASH consentono un facile riferimento dei dati. Anche la manipolazione degli elenchi dei dati diventa possibile.
File di avvio: I file di avvio sono gli script che Bash legge ed esegue quando viene avviato. Ogni file viene assegnato per un’attività specifica.
Sicurezza dell’ambiente: BASH offre una straordinaria funzionalità di ‘Restricted Mode’. A BASH
che inizia con il nome rbash
consente alla shell di funzionare in modalità limitata.
A causa di tutte queste caratteristiche notevoli, la shell bash è una shell ampiamente preferito nei sistemi Linux e Unix-like. È per lo stesso motivo che è accettato come shell predefinita per la maggior parte delle distribuzioni Linux.
Comandi disponibili con la shell BASH
BASH
shell offre una pletora di comandi per rendere il vostro lavoro senza sforzo e controllare tutte le azioni sul sistema dalla riga di comando stessa. Di seguito sono riportati alcuni dei comandi fondamentali BASH
shell offre sulle distribuzioni Linux.
Nota: L’elenco dei comandi disponibili sulla shell BASH NON è limitato solo a questa tabella. Questi sono alcuni dei comandi fondamentali utilizzati a scopo illustrativo.
Comando | Descrizione |
rm |
comando utilizzato per cancellare un file |
cp |
comando utilizzato per eliminare un file o una directory |
touch |
comando per creare un file vuoto |
mkdir |
comando per creare una nuova directory |
pwd |
comando per stampare il nome dell’attuale directory di lavoro |
cd |
comando per modificare la directory |
Conclusione
Dopo aver esaminato tutte le caratteristiche di base e importanti della shell BASH, possiamo concludere che BASH shell è la shell popolare tra le opzioni disponibili grazie alla sua natura potente, alle funzionalità user-friendly e a un enorme paniere di comandi che rendono l’esperienza dell’utente senza sforzo. Inoltre, possiamo tranquillamente dire che BASH è la shell predefinita sulle distribuzioni Linux.