Felice di usare la shell bash in Linux? O preferiresti provare un'alternativa? C'è tsch, pesce, KornShell e Z Shell tra cui scegliere. Ma quale di queste shell Linux è la migliore?
Cos'è una conchiglia?
Di solito, quando scrivi una domanda, è 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 1 come 0 o, come comunemente noto, codice binario o macchina Cosa è binario? [La tecnologia ha spiegato] Cos'è il binario? [Tecnologia spiegata] Dato che il binario è così assolutamente fondamentale per l'esistenza dei computer, sembra strano che non abbiamo mai affrontato l'argomento prima - quindi oggi avevo pensato di dare una breve panoramica di ciò che è binario ... Leggi Di Più .
Un compilatore tradurrà quindi il linguaggio di alto livello in un file binario come un eseguibile. Questo file binario è ciò che viene eseguito per avviare la suddetta applicazione. Ora, questa è una visione di alto livello di ciò che accade, ma ricorda che il tuo computer ha bisogno di un livello di traduzione tra ciò che stai dicendo di fare e come può capirlo.
Una shell è ciò che è noto come interprete. Analogamente a un compilatore, un interprete traduce il codice umano in codice macchina. Una delle differenze è che un interprete fa questa dichiarazione alla volta in contrasto con un compilatore che analizza l'intero programma e lo traduce nel suo insieme in un codice macchina.
La shell, quindi, è un'interfaccia per interagire con il sistema operativo (OS). Mentre scrivi i comandi nella tua shell, la shell è responsabile dell'interpretazione di quei comandi e della realizzazione della magia. Operazioni come copiare file, piping, elencare file sono tutte all'interno del mandato di una shell. È anche responsabile di ricordare la cronologia dei comandi per verificare cosa ti è passato per la testa in un momento di possibile ubriachezza.
Per scoprire tutte le shell disponibili sul tuo sistema, apri il terminale e digita:
cat /etc/shells
Per scoprire quale shell stai attualmente utilizzando, digita:
echo $0
1. Bash
Di un miglio, la shell più popolare tra gli utenti Linux. È difficile persino pensare alle shell senza che il Bourne-Again SHell (bash) sia una parte dell'equazione. Molte distribuzioni Linux vengono fornite con bash come shell predefinita perché bash è la shell GNU predefinita. Rilasciato nel 1989, vanta anche qualche decennio di sano sviluppo alle spalle.
Il predecessore di Bash è The Bourne Shell (sh), che è una delle shell Unix originali. Una caratteristica interessante per i programmatori era che potevano portare i loro script sh Cosa è Shell Scripting e Perché dovresti usarlo Che cos'è lo scripting della shell e perché dovresti usarlo Oltre alla capacità di accettare ed eseguire i comandi in modo interattivo, la shell può anche eseguire comandi memorizzati in un file. Questo è noto come script di shell. Qui trattiamo le basi dello scripting di shell. Leggi di più direttamente su bash completamente invariato. Bash offre anche numerosi miglioramenti al suo predecessore come il completamento dei comandi e la cronologia dei comandi.
Bash è una shell perfettamente rispettabile e spesso la documentazione online presuppone invariabilmente che tu la stia usando. Tuttavia, bash non è privo di difetti: come chiunque abbia mai scritto uno script bash che si estende su poche righe può attestare! Non è che non puoi fare qualcosa, è che non è sempre particolarmente elegante leggere e scrivere. Bash è probabilmente qui per rimanere per il prossimo futuro almeno. Vanta una vasta base di installazione e brigate di utenti occasionali e professionali, che sono già abituati al suo utilizzo, e stranezze.
2. KornShell
Comunemente noto come ksh, KornShell è una shell alternativa originata dai Bell Labs negli anni '80. Ksh ha iniziato la sua vita come software proprietario, essendo di fatto lo standard per gli uffici commerciali e quindi non era disponibile per Linux fino al 2000. Non ci sono molte differenze tra bash e ksh, ma ognuno presenta vantaggi minori rispetto all'altro. Ksh, ad esempio, ha il cd vecchio comando nuovo. Se fossi nella directory / Downloads / foo / bar / one / foobar e avessi bisogno di andare in / Downloads / foo / bar / two / foobar devi solo eseguire:
cd one two
I veterani di ksh sosterranno la sua superiorità menzionando i suoi benefici di scripting. Questi includono includere una migliore sintassi del ciclo, modi più naturali per ripetere i comandi e gli array associativi utilizzati a malapena. Per bash di input di base è abbastanza simile a ksh per lo scripting avanzato, tuttavia, questa sarà sicuramente un'esperienza diversa. Un'altra cosa da tenere presente è la richiesta di aiuto per ksh online. Ciò potrebbe comportare il risveglio di un utente avanzato brizzolato dal suo sonno per aiutarti. Rispetto a bash, che ti farà ottenere una raffica di risposte quasi immediatamente!
Se vuoi dare a ksh una prova puoi digitare:
sudo apt install ksh ksh
3. Tcsh
Tcsh può rintracciare le sue radici agli albori di Unix. È essenzialmente la shell C (csh) con completamento della riga di comando programmabile, modifica della riga di comando e alcune altre funzionalità. Tcsh è la shell di default per i sistemi basati su BSD come FreeBSD. Il grande punto di forza di tcsh è il suo linguaggio di scripting, che dovrebbe apparire molto familiare a chiunque abbia programmato in C. Tcsh è un degno candidato all'apprendimento se ti trovi principalmente a programmare in C Perché la programmazione C vale ancora l'apprendimento Perché la programmazione C è Vale ancora la pena di imparare C non è una lingua morta. In effetti, la rivista IEEE Spectrum l'ha classificata come seconda lingua nel 2017. Ecco cinque ragioni per cui. Leggi di più . Ciò rende Tcsh utile per la prototipazione di piccoli programmi C senza confondersi su cose come le parentesi che stai usando. Questo problema tende ad accadere se si passa continuamente dalla programmazione C alla shell scripting.
Lo scripting di Tcsh è adorato da alcuni e odiato dagli altri. Ma ha anche altre caratteristiche, tra cui l'aggiunta di argomenti agli alias e varie impostazioni predefinite che potrebbero attirare le tue preferenze. Una delle sue caratteristiche significative include il modo in cui il completamento automatico e il completamento della cronologia funzionano. Dopo aver tirato su la cronologia digitando la cronologia . Tcsh mostrerà una lista numerata dei tuoi comandi precedenti, con un timestamp molto conveniente. È 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
Questo espande l'ultimo comando che inizia con la lettera "a". Comparativamente, in bash, dovresti digitare ! A: p per vedere prima il comando, seguito da !! per eseguirlo.
Per provare tcsh, digita:
sudo apt install tcsh tcsh
4. Pesce
Tra tutta la serietà di Linux, il team di pesci ha incorporato il senso dell'umorismo nel loro progetto. Sul loro sito web, il titolo ironico recita "Finalmente, una shell da riga di comando per gli anni '90" - fish ("fendely i nteractive sh ell") è stata sviluppata nel 2005. Oltre al propagandato "Glorious VGA Colour", sono alcuni miglioramenti rispetto ad altre shell. I comandi con una sintassi non valida verranno visualizzati in rosso e la sintassi corretta in blu. Inoltre, ci sono serie sontuose di completamenti di schede come i suggerimenti di completamento automatico con codice colore che sono basati sulla cronologia.
Fish vanta anche il completamento dei comandi basato sulle pagine man sulla tua macchina Come accorciare le pagine man in spiegazioni leggibili su Linux e macOS Come accorciare le pagine man in readable Spiegazioni su Linux e macOS MacOS e Linux hanno ciascuna un comando utile, "man" che visualizza le spiegazioni manuali per i comandi del terminale. Poiché sono spesso lunghi, perché non utilizzare lo strumento tldr per accorciarli in blocchi leggibili? Leggi di più . Quindi, se hai appena installato un nuovo programma e hai bisogno di abituarti alla sua sintassi, fish prenderà la sintassi dalla pagina man e la aggiungerà ai tuoi suggerimenti di completamento automatico. Neat! Se desideri avere più familiarità con la riga di comando, il pesce può essere un ottimo punto di partenza.
Per provare cos'è il pesce, digita:
sudo apt install fish fish
5. Z Shell
Molti considererebbero che questo lascerebbe per ultimo la shell migliore, il che sarebbe completamente comprensibile. Zsh ha delle somiglianze con bash e ksh e incorpora molte delle funzionalità che si trovano in esse e anche in tcsh. Alcune utili funzioni di zsh includono un elenco di completamento automatico navigabile. A differenza di bash, che elenca semplicemente tutti i comandi disponibili e ti fa digitare manualmente. Globbing in zsh è inspiegabilmente utile. Digitando:
vim /u/l/b/a
Apre automaticamente il file:
/usr/local/bin/autoupdate.sh
La correzione ortografica in zsh è di gran lunga superiore a quella di bash. In un comando cd bash puoi correggere fino a un personaggio. Zsh, d'altra parte, può essere configurato per correggere automaticamente 10 errori di ortografia in una parola. Zsh ha anche creato storie sulla riga di comando. Questo è estremamente utile per gli utenti che trascorrono una quantità eccessiva di tempo sul terminale. Zsh condivide magicamente le storie attraverso i terminali, rendendo le sessioni multi-terminale un gioco da ragazzi.
Zsh può richiedere un po 'di tempo per essere configurato al primo utilizzo se non si utilizza la configurazione di default. Per provarlo, inserisci:
sudo apt install zsh zsh
Quale Shell è per me?
Il fatto che queste opzioni siano disponibili è brillante. Sono scorci sulla storia del computing stesso, in cui i programmatori hanno deciso di voler fare le cose a modo loro e, alla fine, renderli liberi per il mondo.
Le differenze sostanziali tra queste shell possono essere trovate nella sintassi dello scripting. Ogni shell ha una serie particolare di sfumature che le separano l'una dall'altra. Così com'è, bash domina in termini di quota di mercato, il che rende la ricerca di aiuto molto più semplice. Bash è semplicemente il migliore tuttofare, in grado di soddisfare le esigenze di tutti gli utenti meno esperti.
Quale shell usi attualmente? Hai provato qualche shell diverso da bash? Cosa ami o odi del tuo attuale guscio? Condividi i tuoi pensieri nei commenti qui sotto!
Immagine di credito: spaxiax / Depositphotos