RHCSA-serien: Redigere tekstfiler med Nano og Vim/Analysere tekst med grep og regexps - Del 4


Hver systemadministrator må håndtere tekstfiler som en del av sitt daglige ansvar. Det inkluderer redigering av eksisterende filer (mest sannsynlig konfigurasjonsfiler), eller opprettelse av nye. Det har blitt sagt at hvis du vil starte en hellig krig i Linux-verdenen, kan du spørre systemadministratorer hva deres favoritt tekstredigerer er og hvorfor. Vi kommer ikke til å gjøre det i denne artikkelen, men vil presentere noen tips som vil være nyttige for å bruke to av de mest brukte tekstredigererne i RHEL 7: nano (på grunn av sin enkelhet og brukervennlighet, spesielt for nye brukere ), og vi/m (på grunn av dens flere funksjoner som konverterer den til mer enn en enkel editor). Jeg er sikker på at du kan finne mange flere grunner til å bruke den ene eller den andre, eller kanskje en annen editor som emacs eller pico. Det er helt opp til deg.

Redigering av filer med Nano Editor

For å starte nano, kan du enten bare skrive nano ved ledeteksten, eventuelt etterfulgt av et filnavn (i dette tilfellet, hvis filen eksisterer, vil den bli åpnet i utgavemodus). Hvis filen ikke eksisterer, eller hvis vi utelater filnavnet, vil nano også åpnes i utgavemodus, men vil vise en tom skjerm for oss å begynne å skrive:

Som du kan se i forrige bilde, viser nano nederst på skjermen flere funksjoner som er tilgjengelige via de angitte snarveiene (^, aka caret, indikerer Ctrl-tasten). For å nevne noen av dem:

  1. Ctrl + G: henter frem hjelpemenyen med en fullstendig liste over funksjoner og beskrivelser:Ctrl + X: avslutter gjeldende fil. Hvis endringer ikke er lagret, forkastes de.
  2. Ctrl + R: lar deg velge en fil for å sette inn innholdet i den nåværende filen ved å spesifisere en fullstendig bane.

  1. Ctrl + O: lagrer endringer som er gjort i en fil. Den lar deg lagre filen med samme navn eller et annet. Trykk deretter på Enter for å bekrefte.

  1. Ctrl + X: avslutter gjeldende fil. Hvis endringer ikke er lagret, forkastes de.
  2. Ctrl + R: lar deg velge en fil for å sette inn innholdet i den nåværende filen ved å spesifisere en fullstendig bane.

vil sette inn innholdet av /etc/passwd i gjeldende fil.

  1. Ctrl + K: kutter gjeldende linje.
  2. Ctrl + U: lim inn.
  3. Ctrl + C: avbryter gjeldende operasjon og plasserer deg på forrige skjermbilde.

For enkelt å navigere i den åpnede filen, tilbyr nano følgende funksjoner:

  1. Ctrl + F og Ctrl + B flytter markøren fremover eller bakover, mens Ctrl + P og Ctrl + N flytter den opp eller ned, henholdsvis én linje om gangen, akkurat som piltastene.
  2. Ctrl + mellomrom og Alt + mellomrom flytter markøren ett ord om gangen fremover og bakover.

Til slutt,

  1. Ctrl + _ (understrek) og deretter skrive inn X,Y vil ta deg nøyaktig til linje X, kolonne Y, hvis du vil plassere markøren på et bestemt sted i dokumentet.

Eksemplet ovenfor tar deg til linje 15, kolonne 14 i gjeldende dokument.

Hvis du kan huske de tidlige Linux-dagene dine, spesielt hvis du kom fra Windows, vil du sannsynligvis være enig i at å starte med nano er den beste måten å gå for en ny bruker.

Redigere filer med Vim Editor

Vim er en forbedret versjon av vi, et kjent tekstredigeringsprogram i Linux som er tilgjengelig på alle POSIX-kompatible *nix-systemer, slik som RHEL 7. Hvis du har sjansen og kan installere vim, fortsett; hvis ikke, bør de fleste (om ikke alle) tipsene gitt i denne artikkelen også fungere.

En av vims kjennetegn er de forskjellige modusene den fungerer i:

  1. Kommandomodus lar deg bla gjennom filen og skrive inn kommandoer, som er korte og store og små bokstaver av en eller flere bokstaver. Hvis du trenger å gjenta en av dem et visst antall ganger, kan du prefikse den med et tall (det er bare noen få unntak fra denne regelen). For eksempel kopierer yy (eller Y, forkortelse for yank) hele gjeldende linje, mens 4yy (eller 4Y) kopierer hele gjeldende linje sammen med de neste tre linjene (totalt fire linjer).
  2. I ex-modus kan du manipulere filer (inkludert å lagre en gjeldende fil og kjøre eksterne programmer eller kommandoer). For å gå inn i ex-modus, må vi skrive et kolon (:) fra kommandomodus (eller med andre ord, Esc + :), direkte etterfulgt av navnet på eks-modus-kommandoen du vil bruke.
  3. I innsettingsmodus, som du får tilgang til ved å skrive bokstaven i, skriver vi ganske enkelt inn tekst. De fleste tastetrykk resulterer i at tekst vises på skjermen.
  4. Vi kan alltid gå inn i kommandomodus (uavhengig av modusen vi jobber med) ved å trykke på Esc-tasten.

La oss se hvordan vi kan utføre de samme operasjonene som vi skisserte for nano i forrige seksjon, men nå med vim. Ikke glem å trykke Enter-tasten for å bekrefte vim-kommandoen!

For å få tilgang til vims fulle manual fra kommandolinjen, skriv :help mens du er i kommandomodus og trykk deretter Enter:

Den øvre delen presenterer en indeksliste over innhold, med definerte seksjoner dedikert til spesifikke emner om vim. For å navigere til en seksjon, plasser markøren over den og trykk Ctrl + ] (lukkende hakeparentes). Merk at den nederste delen viser gjeldende fil.

1. For å lagre endringer som er gjort i en fil, kjør en av følgende kommandoer fra kommandomodus, og det vil gjøre susen:

:wq!
:x!
ZZ (yes, double Z without the colon at the beginning)

2. For å avslutte forkasting av endringer, bruk :q!. Denne kommandoen lar deg også gå ut av hjelpemenyen beskrevet ovenfor, og gå tilbake til gjeldende fil i kommandomodus.

3. Kutt N antall linjer: skriv Ndd mens du er i kommandomodus.

4. Kopier M antall linjer: skriv Myy mens du er i kommandomodus.

5. Lim inn linjer som tidligere ble klippet eller kopiert: trykk på P-tasten mens du er i kommandomodus.

6. Slik setter du inn innholdet i en annen fil i den gjeldende:

:r filename

For eksempel, for å sette inn innholdet i /etc/fstab, gjør du:

7. For å sette inn utdata fra en kommando i gjeldende dokument:

:r! command

For eksempel, for å sette inn dato og klokkeslett på linjen under gjeldende posisjon til markøren:

I en annen artikkel som jeg skrev for, (del 2 av LFCS-serien), forklarte jeg mer detaljert tastatursnarveiene og funksjonene som er tilgjengelige i vim. Det kan være lurt å referere til den opplæringen for ytterligere eksempler på hvordan du bruker denne kraftige tekstredigereren.