Efter Bash och Korn kommer vi idag att upptäcka det mycket populära Zsh-skalet. Faktum är att Zsh är så populärt att många har lämnat Bash för honom. Huvudskälet bakom dess popularitet beror på en otrolig interaktivitet med användaren, och en mycket omfattande och kraftfull autofyllningsfunktionalitet.

Historia

Den första versionen av Zsh skapades 1990 av en Princeton-student vid namn Paul Falstad. Namnet "Zsh" förmodligen kommer från anslutnings-ID för Princeton professor Zhong Shao. Skalet i sig var påverkat från Bash, Ksh och Tcsh: Zsh har en mycket kraftfull autofyllningsfunktionalitet, tillsammans med rekursiva sökningar och en korrektur som ingår. Och självklart kan prompten definieras enligt användarens önskan. För allt det, anser vissa att Zsh är ett utvidgat Bourne Shell.

Installation

Nu när du vet mer om Zsh, låt oss installera det. För Ubuntu är installationen ganska enkel:

 sudo apt-get install zsh 

För andra distributioner bör det vara tillgängligt i dina arkiv. I värsta fall ladda ner paketet från den officiella sidan.

När paketet är installerat kan du starta ett Zsh Shell från vilken terminal som helst via kommandot:

 zsh 

Om du verkligen gillar det här skalet och vill att det ska ersätta din nuvarande, kan du göra det genom att skriva

 sudo usermod -s / bin / zsh [användarnamn] 

Observera att konfigurationsfilen som vanligt ligger på "~ / .zshrc" och kommer att skapas vid första lanseringen. Som detsamma som bash kan detta användas för att lägga till aliaser och anpassa prompten.

Användande

Zsh är väldigt intuitivt. Först bör du inte märka någon skillnad i beteende med Bash. Ett bra sätt att upptäcka den första funktionen är dock att skriva:

 rm - [tabuleringsnyckel] 

och använd sedan tabuleringsnyckeln. Detta kommer att visa alla möjliga argument för kommandot "rm". Som du kan se är automatisk slutförandet otroligt med Zsh.

Inte bara kommandos argument, utan även ssh-värdarna presenteras i / etc / hosts, de möjliga målen för kommandot "make", de manuella sidorna, filerna på en avlägsen server, etc, alla kan automatiskt slutföras av Zsh. Och automatisk slutförd hastighet är också imponerande.

Du kan också försöka skriva ett felkommando som

 gdit .zshrc 

och det kommer att utlösa korrigeringsfunktionen:

Om korrigeringen inte fungerar först betyder det att du inte har aktiverat det ännu. För att göra det, skriv bara:

 setopt korrekt 

Korrigeringen är inte det enda alternativet du kan aktivera. Efter kommandot "setopt" kan du också använda

  • pip : för att spela ett pip ljud när ett fel inträffar
  • hist_ignore_all_dups : för att förhindra att samma kommando spelas in två gånger i historiken
  • auto_cd : att flytta till en katalog bara genom att skriva sitt namn (inget behov av cd-kommandot längre)

Tvärtom, om du vill radera ett alternativ är syntaxen:

 unsetopt [alternativ] 

En annan bra användning av Zsh är den rekursiva sökningen. Du användes med Bash till operatören "*" som betyder "allt". Nu med Zsh kan "**" översättas "allt inom allt". Med andra ord, rekursiv sökning. Låt mig illustrera med ett exempel. Om du vill radera en fil med namnet "foobar" men du kan inte komma ihåg var den är kommer den här raden att bli användbar:

 rm ** / foobar 

Zsh kommer att söka efter foobar-filen i den aktuella katalogen och i varje delkatalog tills den tar bort den.

Den rekursiva operatören kan bli riktigt användbar när du söker en viss typ av fil. Det är möjligt att använda kombinationen av kommandot "ls" och en regex. Ett enkelt kommando som

 ls ** / *. mp3 

kommer att returnera alla mp3-filer som Zsh kan hitta rekursivt från den aktuella katalogen.

Slutligen, låt oss prata lite om konfigurationen av Zsh. Som du vet händer det i ~ / .zshrc. Om du vill prova några personliga prompter kommer Zsh med några sparade teman. För att se vilken som är tillgänglig laddar du promptsystemet med

 autoload -U promptinit promptinit 

Och lista sedan teman med:

 snabbt -l 

Och om du vill ändra din aktuella prompten skriver du in

 snabb [temat namn] 

Om du har skapat massor av alias i bash, kommer de inte att fungera i zsh. Du måste porta dem över den ~ / .zsh-filen. Den grundläggande syntaxen är densamma som Bashs:

 alias [alias name] = "[command]" 

Dessutom kan du också definiera ett specifikt alias för filtillägg. Detta låter dig automatiskt starta det lämpliga kommandot för filen du vill ha. Till exempel använder jag programmet "mpg123" för att spela mp3 från kommandoraden. Därför kan jag lägga till min .zshrc:

 alias -s mp3 = "mpg123" 

Därifrån, varje gång jag skriver något liknande

 ./song.mp3 

Mpg123 kommer att lanseras och spela låten. Med lite fantasi kan vi kombinera denna funktionalitet med min tidigare artikel om hantering av arkiv från kommandoraden:

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

Slutsats

Ja, Zsh och Bash är mycket lika, men zsh är mer flexibelt vilket gör det mer populärt. Personligen uppskattar jag verkligen funktionen för automatisk slutförande och aliaset för filtillägg. Ovan nämnda tips omfattade bara en liten del av vad zsh kan göra. För att hitta mer om Zsh, bjuder jag in dig att läsa Archlinux wiki.

Vad tycker du om Zsh Shell? Har du provat en annan? Har du några frågor angående skalen i allmänhet? Vänligen meddela oss i kommentarerna.