Förstå det olika skalet i Linux: Zsh Shell
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.