Quale shell Linux è la migliore? 5 conchiglie comuni a confronto
Felice di usare la shell bash in Linux? O preferisci provare un'alternativa? C'è tsch, pesce, KornShell e Z Shell tra cui scegliere. Ma quale di queste popolari shell Linux è la migliore?
Che cos'è una shell Linux?
Di solito, quando scrivi un'applicazione, è fatta in un linguaggio di alto livello che gli umani possono capire. Esempi di questi sono C #, Java, C ++, ecc. Che ci crediate o no, il vostro computer vede tutto come 1s come 0s o, come comunemente noto, codice binario o macchina .
Un compilatore tradurrà quindi la lingua di alto livello in un file binario come un eseguibile. Questo file binario è ciò che esegui per avviare detta applicazione.
Ora, questa è una visione di altissimo livello di ciò che accade; ricorda, il tuo computer ha bisogno di un livello di traduzione. Questo si trova tra ciò che gli stai dicendo di fare e come può capirlo.
Una shell è ciò che è noto come un interprete. Simile a un compilatore, un interprete traduce il codice umano in codice macchina. Una delle differenze è che un interprete fa questa una dichiarazione alla volta. Nel frattempo, un compilatore esegue la scansione dell'intero programma e lo traduce in codice macchina.
La shell, quindi, è un'interfaccia per interagire con il tuo sistema operativo (OS). Mentre digiti i comandi nella shell, è responsabile dell'interpretazione di quei comandi e della realizzazione della magia. Operazioni come la copia di file, il piping, la lista dei file sono tutti di competenza di una shell.
Sono disponibili diverse shell Linux. Per scoprire tutte le shell disponibili sul tuo sistema, apri il terminale e digita:
cat /etc/shells
Per scoprire quale shell stai attualmente usando digita:
echo $0
Ma stai usando la migliore shell Linux? Diamo un'occhiata a ciò che è disponibile.
1. Bash
Questa è di un miglio la shell più popolare tra gli utenti Linux. È difficile persino pensare alle conchiglie senza che Bourne-Again Shell (bash) faccia parte dell'equazione. Molte distribuzioni Linux vengono fornite con bash come shell predefinita poiché bash è la shell GNU predefinita. Rilasciato nel 1989, vanta anche alcuni decenni di sano sviluppo.
Il predecessore di Bash è The Bourne Shell (sh), che è una delle shell Unix originali. Una caratteristica interessante per i programmatori sh era che potevano eseguire il porting dei loro script direttamente su bash senza modificarli. Bash offre anche diversi miglioramenti al suo predecessore:
- Completamento del comando
- Cronologia dei comandi
Spesso la documentazione online supporrà che tu stia usando bash. Tuttavia, non è privo di difetti – come può testimoniare chiunque abbia mai scritto uno script bash! Non è che non puoi fare qualcosa, è che non è sempre particolarmente elegante leggere e scrivere.
2. KornShell
Comunemente noto come ksh, KornShell è una popolare shell Linux alternativa nata da Bell Labs negli anni '80. Non ci sono molte differenze tra bash e ksh, ma ognuna presenta vantaggi minori rispetto all'altra. Ksh, ad esempio, ha il vecchio comando cd vecchio. Se eri nella directory / Download / foo / bar / one / foobar e dovevi accedere a / Download / foo / bar / two / foobar devi solo inserire:
cd one two
I veterani di ksh sosterranno la sua superiorità menzionandone i vantaggi in termini di script. Questi includono:
- Migliore sintassi del loop
- Modi naturali per ripetere i comandi
- Matrici associative
A differenza di bash, è difficile trovare aiuto per ksh online. Se vuoi provare ksh, inserisci:
sudo apt install ksh ksh
3. Tcsh
Tcsh può risalire alle sue origini ai primi tempi di Unix. È una versione migliorata della shell C (csh) e caratteristiche:
- Completamento programmabile della riga di comando
- Modifica dalla riga di comando
- Aggiunta di argomenti agli alias
- Facile accesso alla cronologia dei comandi
È possibile eseguire qualsiasi comando digitando ! N sostituendo n con il numero corrispondente nella cronologia visualizzata. Il completamento della scheda Cronologia in tcsh funziona digitando:
!a<TAB>
Questo si espande all'ultimo comando iniziato con la lettera "a". Comparativamente, in bash, dovresti digitare ! A: p per vedere prima il comando, seguito da !! per eseguirlo.
Per provare tcsh, digitare:
sudo apt install tcsh tcsh
Tcsh è la shell predefinita per sistemi basati su BSD come FreeBSD. Il grande punto di forza di tcsh è il suo linguaggio di scripting, utile a chiunque stia programmando principalmente in C. Ciò rende tcsh utile per la prototipazione di piccoli programmi C senza confondersi su cose come le parentesi che si stanno utilizzando. Questo problema tende a verificarsi se si passa continuamente dalla programmazione C alla shell scripting.
4. Pesce
Tra tutta la serietà di Linux, il team di fish ha inserito un senso dell'umorismo nel suo progetto. Sul loro sito web, il titolo tongue-in-cheek legge “Infine, una shell a riga di comando per gli anni '90”, anche se il pesce ( “f riendly i nteractive sh ell”) è stato sviluppato nel 2005. Al di là del propagandato “Glorioso VGA a colori,” sono alcuni miglioramenti rispetto ad altre shell:
- I comandi con sintassi non valida vengono visualizzati in rosso
- La sintassi corretta appare in blu
- Suggerimenti di completamento automatico
- Completamento dei comandi in base alle pagine man sulla tua macchina .
Questa funzione aggiunge la sintassi dalla pagina man del software appena installato ai suggerimenti di completamento automatico. Se desideri familiarizzare con la riga di comando, il pesce può essere un ottimo punto di partenza.
Per provare di cosa tratta il pesce, digita:
sudo apt install fish fish
5. Z Shell
Molti considererebbero che questo lascerà la shell migliore per ultimo, il che sarebbe completamente comprensibile. Zsh ha somiglianze con bash e ksh e incorpora molte delle funzionalità che si trovano in esse e anche tcsh. Caratteristiche Zsh:
- Elenco di completamento automatico navigabile
- Correzione ortografica superiore
- Completamento della riga di comando
- Storia condivisa tra terminali
- Globbing (caratteri jolly per nomi di file)
Globbing in zsh è molto utile. Digitando:
vim /u/l/b/a<TAB>
Aprirebbe il file:
/usr/local/bin/autoupdate.sh
Zsh può richiedere del tempo per essere configurato al primo utilizzo se non si utilizza la configurazione predefinita. Per provarlo, inserisci:
sudo apt install zsh zsh
Quale shell Linux è la migliore per me?
Il fatto che queste opzioni siano disponibili è geniale. Ognuno è uno scorcio della storia dell'informatica, in cui i programmatori hanno deciso di voler fare le cose a modo loro.
Le differenze sostanziali tra queste shell si possono trovare nella sintassi degli script. Ogni shell ha una particolare serie di sfumature che le separano l'una dall'altra. Allo stato attuale, bash domina in termini di quota di mercato, il che rende molto più semplice trovare aiuto. Bash è semplicemente il miglior tuttofare, in grado di soddisfare le esigenze di tutti tranne gli utenti più avanzati.
Quando hai optato per una shell Linux, assicurati di avere familiarità con le basi dello scripting della shell .
Leggi l'articolo completo: quale shell Linux è la migliore? 5 conchiglie comuni a confronto