Weg zijn de dagen van cryptische commando’s en rigide syntaxis. Waarom meer tijd besteden aan het ontcijferen van man-pagina’s dan aan het scripten of navigeren door uw systeem? Omarm de kracht en eenvoud van de fish shell, uw toegangsbewijs tot een soepelere, intuïtievere Linux-ervaring.
Leer uw Linux-reis transformeren met de fish shell, van zijn gebruiksvriendelijke interface tot zijn uitgebreide aanpassingsopties.
Zeg hallo tegen gestroomlijnde workflows en een hernieuwd vertrouwen in uw Linux-vaardigheden!
Vereisten
Voordat u begint, neem even de tijd om ervoor te zorgen dat u de volgende essentiële zaken hebt om deze tutorial te volgen:
- Fish Shell is geïnstalleerd op uw machine – Deze tutorial maakt gebruik van fish-3.7.0, de nieuwste versie op het moment van schrijven.
- A Linux system – This tutorial uses an Ubuntu 22.04 LTS for demonstrations, but other distributions will work.
Het verkennen van Commandovalidaties, Autocompletie en Suggesties
Met de fish shell geïnstalleerd, duik in de fish shell voor naadloze commando-uitvoeringen. De fish shell biedt realtime feedback en contextbewuste suggesties voor commando’s, bestandsnamen en argumenten.
Maar eerst moet u toegang krijgen tot de fish shell voordat u commandovalidaties, autocompletie en suggesties kunt bekijken.
Om deze functie te verkennen waarmee u fouten kunt identificeren en corrigeren voordat u ze zelfs maar uitvoert, voert u het volgende uit:
1. Open een terminal en voer de fish
opdracht hieronder uit om toegang te krijgen tot de fish shell.

2. Typ vervolgens de eerste letter van de ls
opdracht om te proberen alle bestanden in uw huidige map weer te geven.
Zoals hieronder getoond, wordt de letter ‘l‘ rood weergegeven omdat de fish shell het niet herkent als een geldige opdracht. Deze directe visuele aanwijzing geeft aan dat er iets mis is met de opdracht.
Maar maak je geen zorgen! Dankzij automatisch suggestie verschijnt de letter ‘s‘ gedempt, wat wijst op de juiste opdracht.

3. Druk nu op de rechterpijl of Ctrl+F toetsen om de automatisch voorgestelde ls
opdracht te accepteren.
Let op dat de letter ‘l’ van rood naar blauw is veranderd omdat de fish shell nu uw opdracht als ls
herkent.

Het definiëren van Opdracht Aliassen in het Fish Configuratiebestand
Naast real-time feedback en contextbewuste suggesties, biedt fish een krachtige en flexibele manier om uw opdrachtregelomgeving aan te passen – het fish configuratiebestand. In tegenstelling tot andere shells die meerdere configuratiebestanden kunnen gebruiken, gebruikt fish voornamelijk een enkel bestand genaamd config.fish gelegen in de ~/.config/fish/ map.
Om te zien hoe configuraties de fish shell beïnvloeden, begin met het definiëren van opdracht aliassen als volgt:
1. Open het fish configuratiebestand met behulp van uw voorkeurscode- of teksteditor, zoals nano
of vim
, maar deze tutorial gebruikt de eerste.
Zodra geopend, zie je de initiële inhoud van het configuratiebestand van de visshell, dat standaardconfiguraties kan bevatten of relatief leeg kan zijn. Deze initiële toestand hangt af van of jijzelf of het setup-proces van je systeem eerder configuraties heeft toegevoegd.
Het bestand kan alleen opmerkingen bevatten of basisvoorwaardelijke blokken voor nieuwe installaties, zoals hieronder weergegeven.

2. Voeg binnen het if
-blok de volgende functie
toe, sla de wijzigingen op en sluit de editor af.
Op dit punt maak je aangepaste instellingen in het configuratiebestand van de visshell, en deze functie definieert een alias (c
) voor het clear
-commando.
? Opmerking: Elke gedefinieerde functie heeft een overeenkomstig .fish-bestand in de map ~/.config/fish/functions/ (d.w.z. c.fish).

clear
command3. Voer het volgende commando uit om het configuratiebestand (config.fish
) te sourcen
.
Deze opdracht geeft geen uitvoer naar de terminal, maar past de configuratiewijzigingen toe op uw huidige sessie.
? Dit fish-configuratiebestand wordt automatisch uitgevoerd telkens wanneer een nieuwe fish-sessie wordt gestart en is de perfecte plek om shell-aanpassingen te definiëren.
4. Typ vervolgens c
in de prompt om uw wijzigingen te controleren.
Merk op dat de letter ‘c’ blauw wordt weergegeven, aangezien de fish-shell het herkent als het clear
-commando. Dit gedrag duidt op een succesvolle wijziging in de fish-configuratie.
Zie hoe de letter ‘c’ blauw wordt? Die verandering komt doordat de fish-shell weet dat de letter ‘c’ het clear
-commando is. Dit gedrag geeft een succesvolle update aan in uw fish-configuratie.
Waarom stelt u niet een paar meer aliassen in voor die betrouwbare commando’s waar u telkens naar terugkeert wanneer de stemming toeslaat?

clear
command worksAanpassen van de Fish Shell-prompt
Naast het instellen van aliassen voor soepelere operaties, geeft fish u de kracht om uw prompt aan te passen, zoals het toevoegen van een persoonlijk tintje aan uw shell. In plaats van lange map-paden, geniet u van een schonere, meer georganiseerde prompt.
Om de fish shell-prompt aan te passen, voert u de volgende acties uit:
1. Open het fish-configuratiebestand (~/.config/fish/config.fish) en voeg de volgende functie toe.
Deze functie past uw fish shell-prompt aan om een dollarteken ($
) gevolgd door een spatie weer te geven.

2. Sla de wijzigingen op in het configuratiebestand van fish en verlaat de editor.
3. Nu, source
het configuratiebestand om je wijzigingen toe te passen.
Zodra dit geactiveerd is, zie je de promptveranderingen zoals in de volgende schermafbeelding.

Wijzigingen Permanent Maken Tussen Sessies
Je hebt gezien hoe je aanpassingen kunt maken in de fish shell. Maar let op: Deze instellingen zijn alleen beschikbaar in de huidige sessie.
Wat gebeurt er zodra je de huidige sessie afsluit en een nieuwe opent? Poef! Je zorgvuldig gemaakte configuraties zijn allemaal verdwenen – jammer, toch? Maar vrees niet, want er is nog hoop. Laat het funcsave
commando je configuraties redden van de vergetelheid!
Om je configuraties tussen sessies te behouden, ga als volgt te werk:
1. Open het fish configuratiebestand en voeg het funcsave
commando toe aan elk function
samen met de functienaam, zoals dit:

funcsave
command to persist functions across sessions2. Sla je wijzigingen op, en sluit de editor en de terminal.
3. Open een nieuwe terminalsessie en voer het fish
commando hieronder uit om toegang te krijgen tot de fish shell
Als de funcsave
opdrachten die je hebt toegevoegd werken om je configuraties te behouden, zul je berichten zien zoals hieronder.

Het instellen en behouden van omgevingsvariabelen
Terwijl behoudsfuncties geweldig zijn, tilt het beheren van wereldwijd toegankelijke waarden het shell-scripten naar een hoger niveau – het instellen van omgevingsvariabelen. In tegenstelling tot traditionele shells die vertrouwen op export
, gebruikt fish set
met opties om de variabelenbereik en exportgedrag te regelen.
Maar er is een addertje onder het gras, weet je? Ah, je hebt het goed geraden! Een variabele die via de set
opdracht op de terminal is ingesteld, is alleen toegankelijk in de huidige sessie.
Om omgevingsvariabelen in te stellen en te behouden, komt de -gx
vlag goed van pas, zoals hieronder wordt weergegeven:
1. Voeg de volgende opdracht toe om de MY_VARIABLE
variabele in het fish configuratiebestand wereldwijd in te stellen. Hieronder wordt uitgelegd hoe de -gx
vlag werkt:
-g
– Maakt de variabele wereldwijd, toegankelijk vanuit elk bereik binnen dezelfde gebruikersomgeving.-x
– Exporteert de variabele, waardoor deze beschikbaar is voor externe opdrachten of programma’s die worden gestart vanuit fish.

2. Bewaar de configuratiewijzigingen, sluit vervolgens de editor en de terminal.
3. Open een nieuwe terminalsessie, open de fish-shell en voer de volgende opdracht uit om de wijzigingen te bevestigen.
De uitvoer hieronder bevestigt dat de wijzigingen van kracht zijn geworden over sessies.

4. Zodra bevestigd, voeg het volgende set
-commando toe aan het vis-configuratiebestand, sla de wijzigingen op en sluit de editor.
Dit commando maakt de MY_UNIVERSAL_VARIABLE
-variabele globaal over alle sessies, zelfs na herstarts.
Zie hieronder hoe de -Ux
-vlag werkt:
-U
– Maakt deMY_UNIVERSAL_VARIABLE
-variabele universeel, zodat deze wordt gedeeld over alle huidige en toekomstige terminalsessies, inclusief die van verschillende gebruikers.-x
– De variabele wordt geëxporteerd naar kindprocessen, waardoor deze toegankelijk is voor eventuele commando’s of scripts die worden opgeroepen vanuit de huidige sessie.

5. Open een nieuwe terminalsessie, ga naar de vis-shell en voer het echo
-commando hieronder uit om de wijzigingen te verifiëren.
Als alles goed gaat, krijg je de volgende uitvoer, wat aangeeft dat de wijzigingen van kracht zijn geworden over sessies.

? Naast het vis-configuratiebestand, maak gebruik van
fish_config
in de terminal voor snelle en automatisch toegepaste aanpassingen. Dit commando start een webinterface in je browser, waarmee promptaanpassingen, instellingstweaks en functie- en variabelebeheer mogelijk zijn in een gebruiksvriendelijke setup.
Het beheren van Fish-plugins met de Fisher Package Manager
De fish-shell op zichzelf is al indrukwekkend, toch? Maar weet je wat? Wanneer je plugins begint te integreren, wordt het nog krachtiger. Deze plugins breiden de mogelijkheden van de fish-shell uit, brengen nieuwe commando’s, hulpprogramma’s en integraties om je commandoregelervaring aanzienlijk te verbeteren.
Één goed voorbeeld is Fisher, een pakketbeheerder ontworpen voor de fish-shell. Deze plugin is gebouwd met prestaties en eenvoud in gedachten, en is lichtgewicht.
? Fisher is lichtgewicht in het beheren van fish-shell plugins en is niet direct vergelijkbaar met pakketbeheerders op systeemniveau. Dit onderscheid is duidelijk wat betreft de omvang en complexiteit van de pakketten die het beheert.
Om fish-plugins te beheren, moet je eerst Fisher installeren met de beschreven stappen:
Open je terminal, ga naar de fish-shell en voer de volgende opdracht uit om Fisher te downloaden en te installeren. Deze opdracht haalt het Fisher-installatiescript op en leidt het naar source
, dat het script uitvoert binnen de huidige fish-shell-sessie via curl
.
Eenmaal geïnstalleerd, zie je de volgende uitvoer.

Voer nu de onderstaande fisher
-opdracht uit om de installatie te bevestigen door de momenteel geïnstalleerde --versie
van Fisher op je systeem te bekijken.

De GitNow-plugin installeren
Nu je Fisher draaiende hebt, wat is het volgende? Wat dacht je ervan om je fish shell te versterken met een aantal coole plugins? GitNow, bijvoorbeeld, is een toolkit die je Git workflow binnen de fish shell een boost geeft – verleidelijk.
GitNow biedt gestroomlijnde commando’s voor routineuze Git taken, waardoor productiviteit wordt verbeterd en je Git commandoroutine wordt vereenvoudigd.
Om GitNow te installeren met behulp van de Fisher package manager, volg deze stappen:
1. Voer in je fish shell het volgende fisher
commando uit om de GitNow plugin (joseluisq/gitnow
) te installeren
.
Dit commando vertelt Fisher om GitNow op te halen en te integreren in je fish configuratie, waardoor zijn scala aan Git snelkoppelingen direct beschikbaar wordt.

2. Nadat het is geïnstalleerd, voer het gitnow
commando hieronder uit om te bevestigen dat GitNow correct is geïnstalleerd.
Dit commando toont de momenteel geïnstalleerde versie van GitNow, maar alleen als GitNow commando’s worden herkend in je shell.

3. Ten slotte, voer dit fisher
commando uit om alle plugins te lijsten
die Fisher beheert, inclusief GitNow.
Hieronder zie je de GitNow plugin en de Fisher plugin zelf.

Verwijderen van Fish Shell Plugins
Verdrinkt je fish shell in plugins? Alsof je achterblijft met het sorteren van de rommel om te vinden wat je nodig hebt? Ruim je fish shell omgeving op door onnodige plugins te verwijderen.
Om een door Fisher beheerde plug-in te verwijderen in je fish shell, volg deze stappen:
1. Voer het volgende commando uit om alle momenteel geïnstalleerde plug-ins op te lijsten
.
Kies een uit de lijst die je wilt verwijderen.

2. Voer vervolgens het fisher verwijderen
commando hieronder uit, gevolgd door de naam van de plug-in (joseluisq/gitnow
) om te verwijderen.
Dit commando vertelt Fisher om de GitNow plug-in te deïnstalleren uit je fish shell omgeving.

3. Voer nu hetzelfde fisher lijst
commando uit om te bevestigen dat de GitNow plug-in succesvol is verwijderd.
De GitNow plug-in zou niet langer moeten verschijnen in de lijst met geïnstalleerde plug-ins.

Verwijderen van de Fisher Pakketbeheerder
Zoals je hebt gezien, is de Fisher pakketbeheerder echt handig. Maar het verwijderen ervan kan de beste keuze zijn als je merkt dat je ontevreden bent of problemen hebt met Fisher.
Om Fisher volledig te verwijderen uit je fish shell, volg het volgende:
Voer het commando hieronder uit om lijst
en verwijder
fisher
en alle geïnstalleerde plug-ins via Fisher.

Als alternatief, voer het volgende commando uit om alleen fisher
zelf te verwijderen
.

Verkennen van de Oh My Fish Pakketbeheerder
Wanneer je al aan het cruisen bent met Fisher, waarom dan Oh My Fish overwegen? Je hebt de kracht van fish shell-plugins ervaren met Fisher. Maar hier is het addertje onder het gras: dit framework opent een nieuwe wereld van aanpassingsmogelijkheden voor de fish shell, met een uitgebreide verzameling thema’s en plugins.
Om te zien wat Oh My Fish voor jou in petto heeft, installeer je eerst deze package manager met het volgende commando:
Voer het volgende curl
-commando uit om het installatiescript van Oh My Fish (https://get.oh-my.fish
) binnen de fish
-shell te downloaden en uit te voeren.
Als het succesvol is, krijg je een uitvoer die vergelijkbaar is met het volgende.

Zodra het geïnstalleerd is, voer je het volgende omf
-commando uit om de geïnstalleerde versie van Oh My Fish te controleren.
A successful response, as shown below, indicates that Oh My Fish is ready and waiting to transform your fish shell experience.

Aanpassen van de omgeving met Oh My Fish-thema’s
Ben je de saaie uitstraling van de fish shell zat? Waarom voeg je geen vleugje persoonlijkheid toe? Geef je fish shell-omgeving een make-over met frisse, gepersonaliseerde thema’s van Oh My Fish.
Om je fish shell-omgeving aan te passen, moet je thema’s installeren met de volgende stappen:
1. Open het fish configuratiebestand en verwijder de fish_prompt
-functie die bepaalt hoe je prompt wordt weergegeven. Hiermee zorg je ervoor dat je aangepaste prompt niet in conflict komt met of de thema’s van Oh My Fish overschrijft.
? Thema’s worden geleverd met unieke prompts die cruciaal zijn voor hun uiterlijk en functie. Het uitschakelen van uw aangepaste prompt (
fish_prompt
) zorgt ervoor dat uw gekozen Oh My Fish-thema volledig integreert met het ontwerp en de functies van uw fish shell.
2. Verwijder vervolgens (rm
) het bestand ~/.config/fish/functions/fish_prompt.fish
. Deze opdracht geeft geen uitvoer, maar het verwijderen van dit bestand zorgt ervoor dat de fish shell terugkeert naar de standaardprompt.
3. Voer deze source
-opdracht uit zodat de wijzigingen in het fish-configuratiebestand van kracht worden.

4. Voer nu de volgende omf
-opdracht uit om het perfecte thema
voor uw fish shell te ontdekken.
Kies één thema dat u wilt integreren in de fish shell (bijv. cbjohnson).
? Bezoek de officiële GitHub-opslagplaats voor Oh My Shell-thema’s om te zien hoe elk thema eruitziet voordat u ze installeert.

? Verbeter uw fish shell met plugins door de volgende opdracht uit te voeren om plugins te installeren. Bezoek de OMF GitHub-opslagplaats voor een lijst met te installeren plugins.
omf install <plugin_name>
5. Voer vervolgens de onderstaande opdracht uit om het gekozen thema in stap vier (cbjohnson
) te installeren
.
Eenmaal geïnstalleerd, verandert uw prompt onmiddellijk, zoals hieronder weergegeven.

? TIP: Schakel snel tussen thema’s wanneer je er twee of meer hebt door het volgende commando uit te voeren.
omf theme <themanaam>
Oh My Fish Deïnstalleren
Oh My Fish is een pareltje om je shell vibe op te fleuren. Maar als je ooit een verandering van omgeving wilt of iets nieuws wilt proberen, geeft het deïnstalleren van Oh My Fish je fish shell een frisse start.
Om Oh My Fish te deïnstalleren, volg de onderstaande stappen:
1. Voer de volgende rm
commando’s uit om alle Oh My Fish-gerelateerde bestanden te verwijderen.
Zodra verwijderd, zal je oorspronkelijk geïnstalleerde thema verdwijnen.

2. Voer vervolgens elk van de onderstaande commando’s uit om meer Oh My Fish-gerelateerde bestanden te verwijderen.
Deze commando’s hebben geen uitvoer, maar het verwijderen van deze bestanden zorgt ervoor dat alle restanten van Oh My Fish van je systeem worden verwijderd.
3. Voer nu het onderstaande omf
commando uit om de verwijdering te verifiëren.
Je zult een foutmelding zien zoals hieronder, waarin staat dat het omf
commando niet gevonden is en dat Oh My Fish volledig is verwijderd.

Fish Instellen als Standaard Shell
Als je hebt genoten van de rit met de fish shell die je Linux-ervaring verbetert, waarom zou je hem dan niet instellen als je standaard shell? Op die manier bespaar je jezelf de moeite van het schakelen telkens wanneer je een nieuwe terminal opent.
Om fish in te stellen als je standaard shell, volg de onderstaande stappen:
1. Voer de onderstaande opdracht uit om het pad te vinden waar de fish
-shell zich bevindt.
Kopieer het pad naar het klembord, want je hebt het nodig in de volgende stappen.

2. Voer vervolgens de volgende opdracht uit om fish toe te voegen aan de lijst van acceptabele shells in /etc/shells
.

3. Ten slotte, voer de chsh
-opdracht hieronder uit om je standaardshell te wijzigen naar fish (/usr/bin/fish
).
Wanneer je je machine opnieuw opstart, heb je fish als standaardshell.

? Tip: Schakel terug van fish naar een andere shell zoals Bash als standaard door alle stappen in deze sectie te herhalen. Zorg ervoor dat je het pad naar Bash specificeert in stappen twee en drie, en start vervolgens je machine opnieuw op om de wijzigingen toe te passen..
Conclusie
Gedurende deze handleiding ben je diep ingegaan op de essentie van de fish-shell, waarbij je zijn krachtige functies en aanpasbare opties hebt ontdekt. Van het definiëren van aliassen tot het aanpassen van prompts en het persistent maken van omgevingsvariabelen tot het beheren van plug-ins, fish shell is je betrouwbare metgezel geweest.
Je hebt inzicht gekregen in het transformeren van je Linux-ervaring met de Oh My Fish-pakketbeheerder. Bovendien heb je geleerd hoe je moeiteloos nieuwe plug-ins en thema’s kunt ontdekken en installeren, waardoor de functionaliteit en esthetiek van je fish shell-omgeving worden uitgebreid.
Nu je de basis van de fish shell hebt verkend, duik dieper en ontgrendel zijn volledige potentieel. Waarom experimenteer je niet met aangepaste prompts zoals Powerline of Starship om je shell een persoonlijk tintje te geven?