Linux-kommandolinjen er et værktøj, som enhver systemadministrator bør lære at kende. Med kommandoernes magt lige ved hånden er der meget lidt, du ikke kan gøre. Men sammen med denne magt kommer behovet for at huske disse kommandoer. Når man tager i betragtning, hvor komplicerede disse kommandoer kan blive, er det forståeligt, at nogle administratorer har problemer med at huske, hvad de har gjort eller skal gøre på Bash-prompten.
Du skal måske udstede kommandoen:
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
Og måske har du for nylig secure shellet ind på en server, men kan ikke huske IP-adressen uden videre.
Hvad gør du? De fleste Linux-administratorer ville straks sige til dig, at du skal kigge i din Bash-historik; og det ville være et klogt råd. Ved at skrive kommandoen history bliver du præsenteret for de sidste X antal kommandoer, du har kørt på systemet. X’et bestemmes i filen ~/.bashrc, i linjen:
HISTSIZE=1000
Kommandoen history er faktisk en god måde at se, hvilke kommandoer du har udstedt. Du kan finkæmme den, finde den kommando, du har brug for, kopiere den og derefter indsætte den tilbage i prompten. Eller du kan i kommandoprompten blot begynde at trykke på pil opad på dit tastatur, indtil du lander på den kommando, du har brug for.
Hvad nu hvis jeg fortalte dig, at der var en meget, meget, meget, meget nemmere måde? Det er der, og den hedder fish. Fish er en venlig, interaktiv shell, der kan installeres på din Linux-maskine og har følgende funktioner:
-
Autosuggestions
-
Scriptability
-
Man page completions
-
VGA color
-
Web-baseret konfiguration
-
Benyttelsesvenlighed
Jeg vil gennemgå installationen og brugen af fiskeskallen med dig; når du først er begyndt at bruge dette praktiske værktøj, er der gode chancer for, at du aldrig vil vende tilbage til den gamle standard Linux shell igen.
Installation
Fish kan installeres på Ubuntu, Debian, Fedora, RHEL, openSUSE, CentOS, Arch Linux, Gentoo Linux, og endda mac OS og Windows. Jeg vil demonstrere installationen på Elementary OS, så installationen for din distribution vil variere (du kan få instruktioner for alle understøttede platforme fra fish-hovedsiden). Installationen til Elementary OS (samt de fleste Debian-baserede systemer) er som følger:
-
Åbn et terminalvindue
-
Føj det nødvendige repository til med kommandoen sudo apt-add-repository ppa:fish-shell/release-2
-
Opdatér apt med kommandoen sudo apt-get update
-
Installer fish med kommandoen sudo apt-get install fish
Det er det; fish er nu installeret og klar til at tjene.
Første skridt
Du er ved Bash-prompten, med fish installeret, og du har ingen idé om, hvordan du skal gøre brug af det. Det skyldes, at du stadig befinder dig i din bash-prompt. For at gøre brug af fish er du nødt til at gå ind i fish-prompten. Hvordan gør du det? Skriv kommandoen fish, og du vil se din prompt ændre sig (figur 1).
På dette tidspunkt er du klar til at begynde at bruge fish. Den bedste måde at gøre dette på er at begynde at skrive en kommando. Du vil se, at fish gør et godt stykke arbejde med at fuldføre kommandoen, bashed på din historik. Hvis jeg f.eks. begynder at skrive ssh, vil fish færdiggøre kommandoen med den seneste matchende post fra bash-historikken (figur 2).
Hvis det er den kommando, du leder efter, skal du trykke på den højre piletast for at acceptere og derefter trykke på Enter. Det eneste forbehold ved fish er, at når den først har lavet et forslag, kan du ikke rulle gennem historikken med lignende kommandoer (hvilket ville være en god funktion).
En rigtig fed ting, du kan gøre med fish, er at få forslag til kommandoer, baseret på det, du skriver. Lad os sige, for eksempel, at der er et ssh-værktøj, som du vil bruge, men du kan ikke huske navnet på kommandoen (men du ved, at den begynder med “ssh”). Skriv ssh og tryk derefter på tabulatortasten. Fish vil præsentere dig forslag, hvoraf en af dem måske er den kommando, du leder efter (figur 3).
Der er så mange ting, du kan gøre med fish. For at lære dem alle er det bedst at gennemgå den officielle fish-tutorial (som byder på masser af eksempler, der vil styrke din fish-oplevelse).
Når du er færdig med fish-prompten, kan du vende tilbage til bash ved at skrive exit.
Konfigurering af fish
En opgave, du helt sikkert bør påtage dig, er konfigurationen. Out of the box er fish et utroligt kraftfuldt og praktisk værktøj at bruge. Men fish tilbyder masser af tilpasninger, som kan justeres med det webbaserede konfigurationsværktøj. For at komme til webgrænsefladen skal du gå ind i fish shell og derefter skrive fish_config. Tryk på Enter på tastaturet, og din standardbrowser åbnes til fish-konfigurationssiden (figur 4).
Jeg anbefaler stærkt at ændre din fish-prompt, så forskellene mellem den og standardprompten ikke er så diskrete. Det gør du ved at klikke på fanen prompt, rulle ned, indtil du finder en stil, der passer dig, vælge den pågældende prompt og derefter klikke på knappen Set Prompt (Figur 5).
Når du har foretaget ændringerne, skal du lukke browservinduet (eller fanen), gå tilbage til dit terminalvindue og trykke på Enter. Den nye promptkonfiguration vil være indstillet, og du er klar til at gå i gang.
Der er en hel del andre muligheder, der kan konfigureres i det webbaserede værktøj. Herfra kan du også indstille forkortelser (aliasser) for kommandoer. Dette kan også gøres fra fiskeprompten, men ved at bruge den webbaserede grænseflade er det lidt nemmere. Lad os sige, at du jævnligt ssh’er til en bestemt server med kommandoen:
ssh -v [email protected]
Med forkortelser kan du forkorte den til f.eks. ssho. Med dette på plads behøver du kun at skrive ssho (i fish shell), trykke på enter, og den fulde kommando vil blive kørt. For at oprette en forkortelse skal du køre kommandoen fish_config (fra fish-prompten), gå til fanen forkortelser i det webbaserede værktøj og derefter skrive din forkortelse i det venstre tekstområde og den fulde kommando i det højre tekstområde (figur 6). Tryk på knappen Gem, og din forkortelse er klar.
Sørg for at lukke browservinduet (eller fanen) og tryk derefter på Enter (på dit tastatur) tilbage i fish-prompten.
Lær videre
For at få mest muligt ud af fish, vil det klæde dig at læse den officielle fish-dokumentation igennem (du skal blot skrive hjælp i fish-prompten og trykke på Enter). Du vil blive glædeligt overrasket over, hvor meget denne shell kan gøre for dig.
Mærk dig mit ord, fish-prompten vil meget hurtigt blive et uundværligt værktøj til at hjælpe dig med dine daglige administrative opgaver i Linux.
Lær mere om Linux gennem det gratis kursus “Introduction to Linux” fra The Linux Foundation og edX.