Top 5 open source kommandoskaller til Linux

Der er to slags Linux-brugere: den forsigtige og eventyrlystne.

På den ene side er den bruger, der næsten refleksivt forsøger noget nyt valg, som rammer scenen. De har prøvet håndfuldt af vinduesforvaltere, snesevis af distributioner og hver nye desktop-widget, de kan finde.

På den anden side er brugeren der finder noget, de kan lide og holder fast med det. De har tendens til at lide deres distributionens standardindstillinger. Hvis de er lidenskabelige med en teksteditor, er det den ene, de mestrer først.

Som en Linux-bruger, både på serveren og skrivebordet, for at gå i femten år nu, er jeg bestemt mere i den anden kategori end den første. Jeg har en tendens til at bruge det, der er præsenteret for mig, og jeg kan godt lide det faktum, at dette betyder oftere end ikke jeg kan finde grundig dokumentation og eksempler på de fleste tilfælde, hvor jeg kan drømme. Hvis jeg brugte noget ikke-standard, blev omskifteren omhyggeligt undersøgt og ofte præget af en stærk tonehøjde fra nogen, jeg stoler på.

Men det betyder ikke, at jeg ikke kan lide at af og til forsøge at se, hvad jeg mangler. Så for nylig besluttede jeg at prøve fire alternative skaller: ksh, tcsh, zsh og fisk efter mange år med at bruge bash shell uden at give det en tanke. Alle fire var nemme installationer fra mine standardbeholdninger i Fedora, og de er sandsynligvis allerede pakket til din valgfordeling.

Her er en lille smule på hver indstilling, og hvorfor kan du vælge det at være din næste Linux-kommandolinjestolker.

bash

Lad os først se på det velkendte. GNU Bash, Bourne Again Shell, har været standard i stort set hver Linux-distribution, jeg har brugt gennem årene. Oprindeligt udgivet i 1989, har bash vokset til let at blive den mest anvendte skal over Linux-verdenen, og det findes almindeligvis også i andre unix-lignende operativsystemer.

Bash er en perfekt respektabel skal, og som du leder efter dokumentation for, hvordan du gør forskellige ting på tværs af internettet, finder du næsten altid instruktioner, som antager at du bruger en bash shell. Men bash har nogle mangler, da enhver der nogensinde har skrevet et bash script, der er mere end et par linjer, kan attestere. Det er ikke, at du ikke kan gøre noget, det er, at det ikke altid er særlig intuitivt (eller i hvert fald elegant) at læse og skrive. For nogle eksempler, se denne liste over fælles bash faldgruber.

Når det er sagt, er bash sandsynligvis her for at blive i det mindste den nærmeste fremtid med sin enorme installationsbase og legioner af både afslappede og professionelle systemadministratorer, der allerede er tilpasset til brugen af ​​det, og quirks. Bash-projektet er tilgængeligt under a GPLv3 licens.

ksh

KornShell, også kendt ved dens kommandokokulation, ksh, er en alternativ shell, der voksede ud af Bell Labs i 1980'erne, skrevet af David Korn. Medens oprindeligt proprietær software blev senere versioner frigivet under Eclipse Public License.

Proponenter af ksh liste en række måder, hvor de føler det er overlegen, herunder at have en bedre loop syntaks, renere exit koder fra rør, en lettere måde at gentage kommandoer og associative arrays. Det er også i stand til at efterligne mange af adfærdene hos vi eller emacs, så hvis du er meget delvis til en tekstredaktør, kan det være værd at prøve. Samlet set fandt jeg det meget lig med bash for grundlæggende input, men for avanceret scripting ville det helt sikkert være en anden oplevelse.

tcsh

tcsh er et derivat af csh, den Berkely Unix C shell, og sport en meget lang linie tilbage til de tidlige dage af Unix og beregning selv.

Det store salgsargument for tcsh er dets skriptsprog, som skal se meget velkendt ud for alle, der har programmeret i C. Tcshs scripting er elsket af nogle og hadede af andre. Men det har også andre funktioner, herunder tilføjelse af argumenter til aliaser og forskellige standardindstillinger, der kan appellere til dine præferencer, herunder den måde, hvorpå autofuldførelse med fanebladet og færdiggørelsesarbejdet for historikfane.

Du kan finde tcsh under a BSD-licens.

zsh

zsh er en anden shell, der har ligheder til bash og ksh. Zsh har oprindelse i de tidlige 90'er og sportser en række nyttige funktioner, herunder stavningskorrektion, temaer, navnefulde kataloggenveje, deling af din kommandop History over flere terminaler og forskellige andre små tweaks fra den originale Bourne-shell.

Koden og binærerne til zsh kan distribueres under en MIT-lignende licens, selv om portioner er under GPL; Tjek faktisk licens for yderligere oplysninger.

fisk

Jeg vidste, at jeg skulle lide Friendly Interactive Shell, fisk, da jeg besøgte hjemmesiden og fandt den beskrevne tunge i kinnet med "Endelig var en kommandolinjeskal til 90s" -fisken skrevet i 2005.

Fiskernes forfattere giver en række grunde til at lave omskifteren, alle påberåber lidt humor og poking lidt sjov på skaller, der ikke helt lever op. Funktionerne omfatter autosuggestions ("Watch out, Netscape Navigator 4.0"), understøttelse af den "forbløffende" 256-farvepalet af VGA, men nogle faktisk ganske nyttige funktioner, herunder også kommandoudførelse baseret på manens sider på din maskine, ren scripting og en webbaseret konfiguration.

Fisk er licenseret primært uden GPL version 2 men med portioner under andre licenser; tjek opbevaringsstedet for fuldstændige oplysninger.

Leder du efter en mere detaljeret oversigt over de præcise forskelle mellem hver mulighed? Denne side burde hjælpe dig ud.

Så hvor landede jeg? Nå, i sidste ende går jeg sandsynligvis tilbage til bash, fordi forskellene var subtile nok til, at den, der mest brugte kommandolinjen interaktivt i modsætning til at skrive avancerede scripts, virkelig ikke ville gavne meget af kontakten, og jeg er allerede smuk komfortabel i bash.

Men jeg er glad for at jeg besluttede at komme ud af min shell (ha!) Og prøve nogle nye muligheder. Og jeg ved, at der er mange, mange andre derude. Hvilke skaller har du prøvet, og hvilken foretrækker du? Lad os vide i kommentarerne!

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.