De kans is groot dat, als Linux-gebruiker, wanneer je een commando invoert in de CLI, je de bash-shell gebruikt. Hoewel bash, een afkorting voor Bourne-again shell, de standaard shell is voor de meeste Linux-distributies, is het niet de enige shell-game in de stad. Er zijn veel meer.
In Linux of Unix is de shell slechts de opdrachtinterpreter van het besturingssysteem waarmee de gebruiker andere programma's kan uitvoeren.
Sommige standaard Linux-shells omvatten:
- ksh (Korne schelp)
- csh (c-schaal)
- streepje (Debian Almquist-shell)
- tcsh (TENEX c-schaal)
- vis (Vriendelijke interactieve shell), en
- zsh (z-schaal)
In het artikel van vandaag gaan we dieper in op de zsh-shell, aangezien deze steeds populairder wordt bij de *Nix-gemeenschap. Eerder dit jaar maakte Apple bekend dat vanaf de macOS 10.15 Catalina, zsh zou moeten dienen als de standaard shell van het besturingssysteem, ter vervanging van bash, gebruikt door Apple sinds de macOS X 10.3 Panther, voor het eerst uitgebracht in oktober 2003.
Onze Linux-distro voor onze zsh-verkenning is Ubuntu 19.10. Omdat de zsh bash niet standaard is geïnstalleerd op Ubuntu, laten we het installeren.
# sudo apt install zsh
Laten we snel kijken naar wat de zsh shell.
#zsh
Het runnen van de zsh commando roept voor het eerst de Z-shell configuratiefunctie op en biedt ons verschillende opties:
- (q) Stop en doe niets. De functie wordt de volgende keer opnieuw uitgevoerd.
- (0) Afsluiten, het bestand maken ~/.zshrc met alleen een opmerking. Dat voorkomt dat deze functie opnieuw wordt uitgevoerd.
- (1) Ga verder naar het hoofdmenu.
- (2) Vul uw ~/.zshrc met de configuratie aanbevolen door de systeembeheerder en sluit af (u moet het bestand desgewenst handmatig bewerken).
Als we typen q, er verandert niets, en de volgende keer dat we typen zsh, hetzelfde scherm zou ons moeten begroeten.
Typen 0 creëert een .zshrc bestand in onze homedirectory (~/). Dit bestand bevat echter alleen een commentaarbestand in het bestand en voert geen opdrachten uit.
Als we typen 1, we hebben het hoofdmenu gepresenteerd, waarmee we onze ~/.zshrc bestand op basis van de antwoorden die we geven.
Ten slotte, als we typen 2, onze ~/.zshrc bestand is gevuld met de standaardinstellingen.
druk op 2. Maak je geen zorgen; we komen terug op de bash-shell aan het einde van dit artikel).
Wanneer u terugkeert naar de prompt, zult u merken dat uw CLI-prompt er anders uitziet. Dit komt omdat je shell niet langer de bash-shell is, je gebruikt nu de zsh-shell (binnen de bash-shell).
Laten we ervoor zorgen.
# echo $0
Je kunt ook teruggaan naar de bash-shell met de Uitgang opdracht.
# Uitgang
Het bestand die optie 2 voor ons gemaakt is de ~/.zshrc bestand en kan op elk moment door u worden bewerkt.
Je zult merken dat als je naar de verborgen bestanden in je thuismap kijkt, je weet wel, een ~/.zschrc bestand samen met uw ~/.bashrc het dossier. Elke schaal heeft zijn eigen "rc" het dossier. De "rc" bestand is gewoon het configuratiebestand voor je shell. Veelvoorkomend gebruik voor "rc" bestanden omvatten het instellen van aangepaste omgevingsvariabelen en het instellen van een alias voor veelgebruikte opdrachten.
Bijvoorbeeld:
export_EDITOR=gedit
of
alias update="sudo apt-get update && sudo apt-get upgrade"
Merk echter op dat, hoewel we de zsh-shell op ons systeem hebben geïnstalleerd, dit niet onze standaardshell is. De bash-shell is nog steeds de standaardshell. We kunnen de standaard shell gemakkelijk veranderen in zsh.
Laten we echter eerst eens kijken wat de shell-opties zijn door een kijkje te nemen in /etc/shell.
# kat /etc/schelpen
Nu we zien dat zsh er is en we de map kennen, laten we onze standaardshell instellen op zsh.
# chsh -s /bin/zsh
Merk op dat de prompt deze keer niet is gewijzigd. Dat komt omdat de wijziging pas van kracht wordt als we het systeem opnieuw opstarten.
Net zo snel kunnen we het terugzetten naar de bash-shell.
# chsh -s /bin/bash
Zoals eerder moeten we echter opnieuw opstarten voordat onze wijziging van kracht wordt.
Dus, geweldig, je weet nu dat er andere shells voor je beschikbaar zijn, evenals hoe je deze op je systeem kunt installeren en implementeren. Maar wat biedt de zsh-shell dat de bash-shell niet??
Hoewel de functies die ZSH biedt veel te talrijk zijn om hier op te sommen, laten we eens kijken naar enkele van de belangrijkste.
Voltooiing van het tabblad Directory wijzigen
Wanneer u de wijzigingsmap gebruikt (CD
# cd
Een lijst met bestanden die worden weergegeven als resultaat van de CD
Opdracht voor verkorte lijst
Wanneer u handmatig door mappen in de CLI navigeert, moet u een reeks tekst onthouden, zoals: /home/mtravisrose/Desktop kan ontmoedigend zijn. Gelukkig hoef je met zsh niet de hele mapnaam te onthouden, alleen de eerste paar letters (genoeg om het uniek te maken), in dit geval,
# cd /u/m/de
en zsh zal de rest uitzoeken.
Tab-aanvulling met de doden Opdracht
Terwijl de meeste bash-gebruikers alleen processen die worden uitgevoerd doden nadat ze zijn geïnspecteerd met behulp van de ps commando (of de pkill commando voor degenen die gevaarlijk leven), kunt u met zsh de . typen doden commando samen met de eerste letter of het proces dat je wilt doden. druk de
Andere coole functies van zsh zijn onder meer gedeelde opdrachtgeschiedenis, uitbreiding van omgevingsvariabelen, ingebouwde globbing-ondersteuning, automatische wijzigingsmap, spellingcorrectie en automatische correctie van opdrachten. Kijk, het is onmogelijk om op te sommen, de overvloed aan aantrekkelijke functies te demonstreren die zsh toevoegt aan uw CLI. Veel van de functies verdienen een eigen artikel. Maar misschien wel de meest geweldige en ongetwijfeld meest geliefde functie van de zsh-shell is de ondersteuning van plug-ins en thema's.
Een zsh-plug-in is slechts een raamwerk voor het beheren van uw zsh-configuratie, terwijl het thema slechts de esthetiek is.
Verreweg het populairste plug-inframework voor zsh is Oh-My-Zsh. Oh-My-Zsh wordt geleverd met meer dan 250 ingebouwde plug-ins en ook 125 thema's.
Wat betreft zsh-thema's, powerlevel9k is verreweg het populairst en krijgt veel kopieën en vermeldingen op internet. Zoals de titel van een artikel verklaart: "De coolste Linux Shell OOIT"!”.
Of je nu nieuwe Linux-gebruikers of een doorgewinterde professional bent, we raden je aan om de zsh-shell te installeren en deze uit te proberen. Laat ons je gedachten en ervaringen weten. De zsh-manpagina is een uitstekende bron om meer te weten te komen over de zsh-shell, inclusief onderwerpen als opstartbestanden, het genereren van bestandsnamen, in- en uitloggen en indexen zoals de sleutelindex, conceptindex en functie-index.
# man zsh
Als je de zsh-shell leuk vindt en zou willen dat we meer zsh-gerelateerde artikelen schrijven, zoals een overzicht van Oh-My-Zsh en het powerlevel9k-thema, laat het ons dan weten, en we zullen je verplichten.
We horen graag van je.