Efter Bash og Korn, vil vi i dag opdage den meget populære Zsh-shell. Faktisk er Zsh så populært, at mange mennesker har forladt Bash til ham. Hovedårsagen til dens popularitet skyldes en utrolig interaktivitet med brugeren og en meget omfattende og kraftfuld auto-færdiggørelsesfunktionalitet.

Historie

Den første version af Zsh blev oprettet i 1990 af en Princeton-studerende ved navn Paul Falstad. Navnet "Zsh" angiveligt kommer fra forbindelses-ID for Princeton professor Zhong Shao. Skallen i sig selv var påvirket af Bash, Ksh og Tcsh: Zsh har en meget kraftfuld auto-færdiggørelse funktionalitet sammen med rekursive søgninger og en korrektor inkluderet. Og selvfølgelig kan prompten defineres efter brugerens ønske. For alt det, nogle anser Zsh som en udvidet Bourne Shell.

Installation

Nu hvor du ved mere om Zsh, lad os installere det. For Ubuntu er installationen ret simpel:

 sudo apt-get install zsh 

For andre distributioner skal den også være tilgængelig i dine arkiver. I værste fald skal du downloade pakken fra den officielle side.

Når pakken er installeret, kan du starte en Zsh Shell fra en hvilken som helst terminal via kommandoen:

 zsh 

Hvis du virkelig kan lide denne shell og vil have den til at erstatte din nuværende, kan du gøre det ved at skrive

 sudo usermod -s / bin / zsh [brugernavn] 

Bemærk, at konfigurationsfilen som sædvanlig er ved "~ / .zshrc" og oprettes ved første lancering. Som det samme som bash, kan dette bruges til at tilføje aliaser og tilpasse prompten.

Anvendelse

Zsh er meget intuitiv. I første omgang skal du ikke mærke nogen forskel i adfærd med Bash. En god måde at se på den første funktion er imidlertid at skrive:

 rm - [tabuleringsnøgle] 

og brug derefter tabuleringsnøglen. Dette vil vise alle mulige argumenter for kommandoen "rm". Som du kan se, er auto-afslutningen utrolig med Zsh.

Ikke kun en kommandos argumenter, men også de ssh værter præsenterer i / etc / hosts, de mulige mål for kommandoen "make", de manuelle sider, filerne på en fjern server osv., Alle kan fuldføres automatisk af Zsh. Og auto-færdiggørelseshastigheden er også imponerende.

Du kan også prøve at skrive en forkert kommando som

 gdit .zshrc 

og det vil udløse korrektionsfunktionen:

Hvis korrektionen ikke virker først, betyder det at du ikke har aktiveret det endnu. For at gøre det skal du blot skrive:

 sæt korrekt 

Korrektionen er ikke den eneste mulighed, du kan aktivere. Efter kommandoen "setopt" kan du også bruge

  • bip : for at afspille en biplyd, når der opstår en fejl
  • hist_ignore_all_dups : For at forhindre samme kommando fra at blive optaget to gange i historien
  • auto_cd : at flytte til en mappe ved blot at skrive sit navn (ingen brug for cd-kommandoen længere)

Tværtimod, hvis du vil slette en mulighed, er syntaksen:

 unsetopt [option] 

En anden god brug af Zsh er den rekursive søgning. Du blev brugt med Bash til operatøren "*" som betyder "alle". Nu med Zsh kan "**" oversættes "alt inden for alle". Med andre ord, rekursiv søgning. Lad mig illustrere med et eksempel. Hvis du vil slette en fil med navnet "foobar", men du kan ikke huske hvor den er, bliver denne linje praktisk:

 rm ** / foobar 

Zsh vil søge efter foobar-filen i den nuværende mappe og i hver undermappe, indtil den fjerner den.

Den rekursive operatør kan blive virkelig nyttig, når du søger en bestemt type fil. Det er muligt at bruge kombinationen af ​​kommandoen "ls" og en regex. En simpel kommando som

 ls ** / *. mp3 

vil returnere alle mp3-filer, som Zsh kan finde rekursivt fra den aktuelle mappe.

Endelig, lad os snakke lidt om konfigurationen af ​​Zsh. Som du ved, sker det i ~ / .zshrc. Hvis du vil prøve nogle personlige prompts, kommer Zsh med nogle gemte temaer. For at se hvilken tilgængelig, skal du indlæse det hurtige system med

 autoload -U promptinit promptinit 

Og så liste temaerne med:

 hurtig-l 

Og for at ændre din nuværende prompt, skriv

 hurtig [tema navn] 

Hvis du har oprettet masser af aliaser i bash, vil de ikke fungere i zsh. Du skal sende dem over dem ~ / .zsh-filen. Den grundlæggende syntaks er den samme som Bash's:

 alias [alias 'name] = "[command]" 

Derudover kan du også definere et specifikt alias for filudvidelse. Dette giver dig mulighed for automatisk at starte den relevante kommando for den ønskede fil. For eksempel bruger jeg programmet "mpg123" til at afspille mp3'er fra kommandolinjen. Derfor kan jeg tilføje til min .zshrc:

 alias -s mp3 = "mpg123" 

Derfra, hver gang jeg skriver noget lignende

 ./song.mp3 

Mpg123 vil blive lanceret og afspille sangen. Med en lille fantasi kan vi kombinere denne funktionalitet med min tidligere artikel om håndtering af arkiver fra kommandolinjen:

 alias -s tar = "tar -xvf" alias -s rar = "unrar x" alias -s zip = "unzip" alias -s pdf = "evince" 

Konklusion

Ja, Zsh og Bash er meget ens, men zsh er mere fleksibel, hvilket gør det mere populært. Personligt sætter jeg pris på automatisk færdiggørelsesfunktionen og aliaset for filtypenavn. Ovennævnte tips dækkede kun en lille del af, hvad zsh kan gøre. For at finde mere om Zsh inviterer jeg dig til at læse Archlinux wiki.

Hvad synes du om Zsh Shell? Har du prøvet en anden? Har du spørgsmål vedrørende skallerne generelt? Lad os vide det i kommentarerne.