Etter Bash og Korn, i dag skal vi oppdage det svært populære Zsh-skallet. Faktisk er Zsh så populær at mange har forlatt Bash for ham. Hovedårsaken til populariteten skyldes en utrolig interaktivitet med brukeren, og en svært omfattende og kraftig auto-ferdigstillingsfunksjonalitet.

Historie

Den første versjonen av Zsh ble opprettet i 1990 av en Princeton-student ved navn Paul Falstad. Navnet "Zsh" kommer tilsynelatende fra forbindelses-ID til Princeton professor Zhong Shao. Skallet i seg selv ble påvirket fra Bash, Ksh og Tcsh: Zsh har en svært kraftig auto-ferdigstillingsfunksjonalitet, sammen med rekursive søk og en korrektur som følger med. Og selvfølgelig kan spørringen defineres i henhold til brukerens ønske. For alt det, noen anser Zsh som et utvidet Bourne Shell.

Installasjon

Nå som du vet mer om Zsh, la oss installere det. For Ubuntu er installasjonen ganske enkel:

 sudo apt-get install zsh 

For andre distribusjoner, bør den også være tilgjengelig i dine arkiver. I verste fall, last ned pakken fra den offisielle siden.

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

 zsh 

Hvis du virkelig liker dette skallet og vil at det skal erstatte din nåværende, kan du gjøre det ved å skrive

 sudo usermod -s / bin / zsh [brukernavn] 

Legg merke til at konfigurasjonsfilen som vanlig er på "~ / .zshrc" og vil bli opprettet ved første lansering. Som det samme som bash, kan dette brukes til å legge til aliaser og tilpasse spørringen.

bruk

Zsh er veldig intuitivt. Først bør du ikke merke noen forskjell i oppførsel med Bash. En god måte å se på den første funksjonen er imidlertid å skrive:

 rm - [tabuleringsnøkkel] 

og bruk deretter tabuleringstasten. Dette vil vise alle mulige argumenter for kommandoen "rm". Som du kan se, er auto-fullføringen utrolig med Zsh.

Ikke bare en kommandos argumenter, men også ssh-verter presenterer i / etc / hosts, de mulige målene for kommandoen "make", de manuelle sidene, filene på en fjern server, osv., Kan alle bli fullført automatisk av Zsh. Og auto-fullføringshastigheten er også imponerende.

Du kan også prøve å skrive en feil kommando som

 gdit .zshrc 

og det vil utløse korreksjonsfunksjonen:

Hvis korreksjonen ikke virker først, betyr det at du ikke har aktivert det enda. For å gjøre det, skriv bare:

 sett riktig 

Korrigeringen er ikke det eneste alternativet du kan aktivere. Etter "setopt" -kommandoen kan du også bruke

  • pip : for å spille en pipelyd når det oppstår en feil
  • hist_ignore_all_dups : for å hindre at samme kommando blir tatt opp to ganger i historien
  • auto_cd : å flytte til en katalog bare ved å skrive navnet sitt (ikke behov for cd-kommandoen lenger)

Tvert imot, hvis du vil slette et alternativ, er syntaksen:

 unsetopt [alternativ] 

En annen god bruk av Zsh er det rekursive søket. Du ble brukt med Bash til operatøren "*" som betyr "alt". Nå med Zsh kan "**" oversettes "alt innenfor alt". Med andre ord, rekursivt søk. La meg illustrere med et eksempel. Hvis du vil slette en fil med navnet "foobar", men du kan ikke huske hvor det er, blir denne linjen nyttig:

 rm ** / foobar 

Zsh søker etter foobar-filen i gjeldende katalog, og i hver underkatalog, til den fjerner den.

Den rekursive operatøren kan bli veldig nyttig når du søker en bestemt type fil. Det er mulig å bruke kombinasjonen av kommandoen "ls" og en regex. En enkel kommando som

 ls ** / *. mp3 

vil returnere alle mp3-filene som Zsh kan finne rekursivt fra gjeldende katalog.

Til slutt, la oss snakke litt om konfigurasjonen av Zsh. Som du vet, skjer det i ~ / .zshrc. Hvis du vil prøve noen personlige meldinger, kommer Zsh med noen lagrede temaer. Hvis du vil se hvilken som er tilgjengelig, laster du opp systemet med

 autoload -U promptinit promptinit 

Og så liste temaene med:

 spørre -l 

Og for å endre din nåværende melding, skriv inn

 spørre [tema navn] 

Hvis du har opprettet mange aliaser i bash, vil de ikke fungere i zsh. Du må sende dem over den ~ / .zsh-filen. Den grunnleggende syntaksen er den samme som Bashs:

 alias [aliasnavn] = "[kommando]" 

I tillegg kan du også definere et bestemt alias for filtypenavn. Dette lar deg automatisk starte den riktige kommandoen for filen du vil ha. For eksempel bruker jeg programmet "mpg123" for å spille mp3 fra kommandolinjen. Derfor kan jeg legge til min .zshrc:

 alias -s mp3 = "mpg123" 

Derfra, hver gang jeg skriver noe sånt

 ./song.mp3 

Mpg123 vil bli lansert og spille sangen. Med litt fantasi kan vi kombinere denne funksjonaliteten med min forrige artikkel om håndtering av arkiver fra kommandolinjen:

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

Konklusjon

Ja, Zsh og Bash er veldig like, men zsh er mer fleksibel som gjør den mer populær. Personlig setter jeg pris på automatisk ferdigstillelse og alias for filtillegg. Ovennevnte tips dekket bare en liten del av hva zsh kan gjøre. For å finne mer om Zsh, inviterer jeg deg til å lese Archlinux wiki.

Hva synes du om Zsh Shell? Har du prøvd en annen? Har du spørsmål om skallene generelt? Gi oss beskjed i kommentarene.