Linux kommandorad är ett verktyg som varje systemadministratör bör lära känna. Med kommandonas kraft till hands finns det väldigt lite du inte kan göra. Men tillsammans med denna makt kommer behovet av att komma ihåg dessa kommandon. När du tar hänsyn till hur komplicerade dessa kommandon kan bli är det förståeligt att vissa administratörer har problem med att minnas vad de har gjort eller behöver göra vid Bash-prompten.
Du kanske måste utfärda kommandot:
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
Och kanske du nyligen har gjort en säker shelled in på en server, men inte kommer ihåg IP-adressen på rak arm.
Vad gör du? De flesta Linuxadministratörer skulle omedelbart säga att du ska titta i din Bash-historik, och det skulle vara ett klokt råd. Genom att skriva kommandot history får du se de senaste X antal kommandon som du har kört på systemet. X bestäms i filen ~/.bashrc, i raden:
HISTSIZE=1000
Kommandot history är faktiskt ett utmärkt sätt att se vilka kommandon du har utfärdat. Du kan kamma igenom det, hitta kommandot du behöver, kopiera det och sedan klistra in det tillbaka i prompten. Eller så kan du i kommandoprompten helt enkelt börja trycka på uppåtpilen på tangentbordet tills du hamnar på det kommando du behöver.
Tänk om jag sa att det finns ett mycket, mycket, mycket, mycket enklare sätt? Det finns det, och det kallas fish. Fish är ett vänligt, interaktivt skal som kan installeras på din Linux-maskin och har följande funktioner:
-
Autosuggestions
-
Skriptabilitet
-
Man page completions
-
VGA färg
-
Web-baserad konfiguration
-
Användarvänlighet
Jag ska gå igenom installation och användning av fiskskalet; När du väl har börjat använda det här praktiska verktyget är chansen stor att du aldrig mer kommer att gå tillbaka till det gamla vanliga Linux-skalet igen.
Installation
Fish kan installeras på Ubuntu, Debian, Fedora, RHEL, openSUSE, CentOS, Arch Linux, Gentoo Linux och till och med mac OS och Windows. Jag kommer att demonstrera installationen på Elementary OS, så installationen för din distribution kommer att variera (du kan få instruktioner för alla plattformar som stöds från fish huvudsida). Installationen för Elementary OS (liksom för de flesta Debianbaserade system) går till på följande sätt:
-
Öppna ett terminalfönster
-
Lägg till det nödvändiga förrådet med kommandot sudo apt-add-repository ppa:fish-shell/release-2
-
Uppdatera apt med kommandot sudo apt-get update
-
Installera fish med kommandot sudo apt-get install fish
Det var allt; fish är nu installerad och redo att användas.
Första stegen
Du är vid Bash-prompten, med fish installerad, och du har ingen aning om hur du ska använda den. Det beror på att du fortfarande befinner dig i din bash-prompt. För att använda fish måste du gå in i fish-prompten. Hur gör du det? Skriv kommandot fish och du kommer att se hur din prompt förändras (figur 1).
Här är du redo att börja använda fish. Det bästa sättet att göra detta är att börja skriva ett kommando. Du kommer att se att fish gör ett bra jobb med att slutföra kommandot, bashed på din historik. Om jag till exempel börjar skriva ssh kommer fish att komplettera kommandot med den senaste matchande posten från bash-historiken (figur 2).
Om det är det kommandot du letar efter trycker du på den högra piltangenten för att acceptera och sedan på Enter. Den enda invändningen mot fish är att när den väl har gjort ett förslag kan du inte bläddra genom historiken med liknande kommandon (vilket skulle vara en trevlig funktion).
En riktigt häftig sak du kan göra med fish är att få förslag på kommandon, baserat på vad du skriver. Säg till exempel att det finns ett ssh-verktyg som du vill använda, men du kommer inte ihåg namnet på kommandot (men du vet att det börjar med ”ssh”). Skriv ssh och tryck sedan på tabbtangenten. Fish kommer att presentera förslag till dig, varav ett kan vara det kommando du letar efter (figur 3).
Det finns så många saker du kan göra med fish. För att lära dig alla är det bäst att gå igenom den officiella fish-tutorialen (som erbjuder massor av exempel som kommer att stärka din fish-upplevelse).
När du är klar med fish-prompten kan du återgå till bash genom att skriva exit.
Konfigurera fish
En uppgift som du definitivt bör genomföra är konfigurationen. Utanför lådan är fish ett otroligt kraftfullt och behändigt verktyg att använda. Fish erbjuder dock massor av anpassningar som kan justeras med det webbaserade konfigurationsverktyget. För att komma till webbgränssnittet går du in i fish shell och skriver sedan fish_config. Tryck på Enter på ditt tangentbord och din standardwebbläsare kommer att öppnas till fish-konfigurationssidan (Figur 4).
Jag rekommenderar starkt att du ändrar din fish-prompt så att skillnaderna mellan den och standardprompten inte är så subtila. För att göra detta klickar du på fliken prompt, bläddrar ner tills du hittar en stil som passar dig, väljer den prompten och klickar sedan på knappen Set Prompt (Figur 5).
När du gjort ändringarna stänger du webbläsarfönstret (eller fliken), går tillbaka till ditt terminalfönster och trycker på Enter. Den nya promptkonfigurationen kommer att vara inställd och du är redo att börja.
Det finns en hel del andra alternativ som kan konfigureras i det webbaserade verktyget. Härifrån kan du också ställa in förkortningar (alias) för kommandon. Detta kan också göras från fiskprompten, men att använda det webbaserade gränssnittet gör det lite enklare. Säg att du regelbundet sshar till en viss server med kommandot:
ssh -v [email protected]
Med förkortningar kan du förkorta det till exempelvis ssho. Med detta på plats skulle du bara behöva skriva ssho (inom fish shell), trycka på enter, och det fullständiga kommandot kommer att köras. För att skapa en förkortning kör du kommandot fish_config (från fish-prompten), går till fliken förkortningar i det webbaserade verktyget och skriver sedan din förkortning i det vänstra textområdet och det fullständiga kommandot i det högra textområdet (figur 6). Tryck på knappen Spara och din förkortning är klar.
Se till att stänga webbläsarfönstret (eller fliken) och tryck sedan på Enter (på tangentbordet) tillbaka i fisketolken.
Lär dig vidare
För att få ut så mycket som möjligt av fish är det bra om du läser igenom den officiella fish-dokumentationen (skriv bara help i fish-prompten och tryck Enter). Du kommer att bli positivt överraskad över hur mycket det här skalet kan göra för dig.
Markera mitt ord, fish-prompten kommer mycket snabbt att bli ett måste-verktyg för att hjälpa dig i dina dagliga Linuxadministrativa uppgifter.
Lär dig mer om Linux genom den kostnadsfria kursen ”Introduktion till Linux” från The Linux Foundation och edX.