De Linux-opdrachtregel is een hulpmiddel dat elke systeembeheerder zou moeten leren kennen. Met de kracht van commando’s binnen handbereik, is er maar weinig dat je niet kunt doen. Echter, samen met die kracht komt de noodzaak om die commando’s te onthouden. Als je bedenkt hoe ingewikkeld die commando’s kunnen worden, is het begrijpelijk dat sommige beheerders moeite hebben om te onthouden wat ze hebben gedaan of moeten doen op de Bash prompt.

Je moet misschien het commando geven:

iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT

Of, misschien heb je onlangs een secure shelled gedaan op een server, maar weet je het IP adres niet meer van de hand.
Wat doe je dan? De meeste Linux-beheerders zouden u onmiddellijk vertellen om naar uw Bash geschiedenis te kijken; en dat zou een wijze raad zijn. Door het commando history te typen, krijg je de laatste X hoeveelheid commando’s te zien die je op het systeem hebt uitgevoerd. De X wordt bepaald in het ~/.bashrc bestand, in de regel:

HISTSIZE=1000

De geschiedenisopdracht is in feite een geweldige manier om te zien welke commando’s je hebt gegeven. Je kunt dat uitkammen, het commando vinden dat je nodig hebt, het kopiëren, en het dan weer in de prompt plakken. Of, je kunt, op de commando prompt, gewoon beginnen met de pijl omhoog op je toetsenbord te tikken totdat je op het commando komt dat je nodig hebt.

Wat als ik je zou vertellen dat er een veel, veel, veel makkelijkere manier is? Die is er, en hij heet Fish. Fish is een vriendelijke, interactieve shell die je op je Linux machine kunt installeren en waarmee je:

  • Autosuggesties

  • Scriptability

  • Man page completions

  • VGA color

  • Web-gebaseerde configuratie

  • Gebruiksgemak

Ik zal u door de installatie en het gebruik van de fish shell leiden; Als u deze handige tool eenmaal hebt gebruikt, is de kans groot dat u nooit meer terug zult gaan naar de standaard Linux-shell.

Installatie

Fish kan worden geïnstalleerd op Ubuntu, Debian, Fedora, RHEL, openSUSE, CentOS, Arch Linux, Gentoo Linux, en zelfs mac OS en Windows. Ik zal de installatie demonstreren op Elementary OS, dus de installatie voor uw distributie zal verschillen (u kunt instructies voor alle ondersteunde platformen vinden op de fish hoofdpagina). De installatie voor Elementary OS (en de meeste op Debian gebaseerde systemen) gaat als volgt:

  1. Open een terminal venster

  2. Voeg de benodigde repository toe met het commando sudo apt-add-repository ppa:fish-shell/release-2

  3. Update apt met het commando sudo apt-get update

  4. Installeer fish met het commando sudo apt-get install fish

Dat is het; fish is nu geïnstalleerd en klaar om te dienen.

Eerste stappen

Je bent op de Bash prompt, met fish geïnstalleerd, en je hebt geen idee hoe je het moet gebruiken. Dat komt omdat je nog steeds in je bash prompt zit. Om gebruik te maken van fish, moet je de fish prompt binnengaan. Hoe doe je dat? Typ het commando fish en u zult zien dat uw prompt verandert (Figuur 1).

Figuur 1: Uw verandering kan dramatisch of subtiel zijn, afhankelijk van hoe u uw Bash prompt hebt geconfigureerd.

Op dit punt bent u klaar om fish te gaan gebruiken. De beste manier om dit te doen is om te beginnen met het typen van een commando. Je zult zien dat fish het commando prima afmaakt, baserend op je geschiedenis. Als ik bijvoorbeeld begin met het typen van ssh, zal fish het commando afmaken met de meest recente overeenkomstige invoer uit de bash geschiedenis (Figuur 2).

Figuur 2: Fish maakt goed gebruik van de Bash geschiedenis.

Als dat het commando is waar je naar op zoek bent, druk je op de rechter pijltjestoets om te accepteren en vervolgens op Enter. Het enige nadeel van fish is dat, als het eenmaal een suggestie doet, je niet door de geschiedenis van soortgelijke commando’s kunt bladeren (wat een leuke functie zou zijn).

Een echt cool ding dat je kunt doen met fish is suggesties krijgen voor commando’s, gebaseerd op wat je typt. Stel, je wilt een ssh-programma gebruiken, maar je weet de naam van het commando niet meer (maar je weet dat het begint met “ssh”). Typ ssh en druk dan op de tab-toets. Fish zal u suggesties geven, waarvan er één misschien het commando is dat u zoekt (Figuur 3).

Figuur 3: Fish commando suggesties.

Er zijn zo veel dingen die u met fish kunt doen. Om ze allemaal te leren, kun je het beste de officiële fish tutorial doornemen (die veel voorbeelden biedt die je fish ervaring zullen versterken).

Als je klaar bent met de fish prompt, kun je terugkeren naar bash door exit te typen.

Configuratie van fish

Een taak die je zeker moet uitvoeren is de configuratie. Out of the box, is fish een ongelooflijk krachtig en handig gereedschap om te gebruiken. Fish biedt echter veel aanpassingen die kunnen worden aangepast met de web-gebaseerde configuratietool. Om naar de webinterface te gaan, open je de fish-shell en typ je fish_config. Druk op Enter op uw toetsenbord en uw standaardbrowser wordt geopend naar de configuratiepagina van fish (Figuur 4).

Figuur 4: De web-configuratietool van fish.

Ik raad ten zeerste aan om uw fish prompt zo aan te passen dat de verschillen met de standaard prompt niet meer zo subtiel zijn. Klik hiervoor op het prompt tabblad, scroll naar beneden totdat u een stijl vindt die bij u past, selecteer die prompt en klik vervolgens op de Set Prompt knop (Figuur 5).

Figuur 5: Het verschil tussen uw fish prompt en uw Bash prompt.

Als u de wijzigingen hebt aangebracht, sluit u het browservenster (of tabblad), gaat u terug naar uw terminalvenster en drukt u op Enter. De nieuwe prompt configuratie zal worden ingesteld en je bent klaar om te gaan.

Er zijn een heleboel andere opties te configureren binnen de web-gebaseerde tool. Van hieruit kunt u ook afkortingen (aliassen) voor commando’s instellen. Dit kan ook vanaf de vis-prompt, maar het gebruik van de web-gebaseerde interface maakt het een beetje gemakkelijker. Stel, je ssh regelmatig naar een bepaalde server met het commando:

ssh -v [email protected]

Met afkortingen, zou je dat kunnen inkorten tot, zeg ssho. Met deze afkorting hoeft u alleen ssho in te typen (in de fish shell), op enter te drukken en het volledige commando wordt uitgevoerd. Om een afkorting te maken, voert u het commando fish_config uit (vanaf de fish prompt), gaat u naar het tabblad afkortingen in de webtool en typt u uw afkorting in het linkertekstgebied en het volledige commando in het rechtertekstgebied (afbeelding 6). Klik op de knop Opslaan en uw afkorting is klaar.

Figuur 6: Een afkorting van een commando toevoegen voor nog meer visefficiëntie.

Zorg ervoor dat u het browservenster (of tabblad) sluit en druk vervolgens op Enter (op uw toetsenbord) terug bij de visprompt.

Leer verder

Om het maximale uit fish te halen, is het verstandig om de officiële fish documentatie door te lezen (typ gewoon help op de fish prompt en druk op Enter). U zult aangenaam verrast zijn hoeveel deze shell voor u kan doen.

Mark my word, de fish prompt zal zeer snel een must-have tool worden om u te helpen bij uw dagelijkse Linux administratieve taken.

Leer meer over Linux via de gratis “Introduction to Linux” cursus van The Linux Foundation en edX.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.