Zoeken op website

RHCSA-serie: tekstbestanden bewerken met Nano en Vim/tekst analyseren met grep en regexps - Deel 4


Iedere systeembeheerder heeft als onderdeel van zijn dagelijkse verantwoordelijkheden te maken met tekstbestanden. Dat omvat het bewerken van bestaande bestanden (hoogstwaarschijnlijk configuratiebestanden) of het maken van nieuwe. Er wordt wel eens gezegd dat als je een heilige oorlog in de Linux-wereld wilt ontketenen, je aan systeembeheerders kunt vragen wat hun favoriete teksteditor is en waarom. Dat gaan we in dit artikel niet doen, maar we geven wel een paar tips die nuttig kunnen zijn bij het gebruik van twee van de meest gebruikte teksteditors in RHEL 7: nano (vanwege de eenvoud en het gemak van gebruik, speciaal voor nieuwe gebruikers) en vi/m (vanwege de verschillende functies die het in meer dan een eenvoudige editor veranderen). Ik ben er zeker van dat je nog veel meer redenen kunt vinden om de een of de ander te gebruiken, of misschien een andere editor zoals emacs of pico. Het is geheel aan jou.

Bestanden bewerken met Nano Editor

Om nano te starten, typ je gewoon nano op de opdrachtprompt, optioneel gevolgd door een bestandsnaam (in dit geval, als het bestand bestaat , het wordt geopend in de bewerkingsmodus). Als het bestand niet bestaat, of als we de bestandsnaam weglaten, wordt nano ook geopend in de bewerkingsmodus, maar wordt er een leeg scherm weergegeven waarin we kunnen beginnen met typen:

Zoals je in de vorige afbeelding kunt zien, geeft nano onderaan het scherm verschillende functies weer die beschikbaar zijn via de aangegeven snelkoppelingen (^, ook wel caret genoemd, geeft de ^ aan >Ctrl-toets). Om er een paar te noemen:

  1. Ctrl + G: opent het helpmenu met een volledige lijst met functies en beschrijvingen: Ctrl + X: verlaat het huidige bestand. Als de wijzigingen niet zijn opgeslagen, worden ze verwijderd.
  2. Ctrl + R: hiermee kunt u een bestand kiezen waarvan u de inhoud in het huidige bestand wilt invoegen door een volledig pad op te geven.

  1. Ctrl + O: slaat wijzigingen in een bestand op. Hiermee kunt u het bestand opslaan met dezelfde naam of een andere naam. Druk vervolgens op Enter om te bevestigen.

  1. Ctrl + X: verlaat het huidige bestand. Als de wijzigingen niet zijn opgeslagen, worden ze verwijderd.
  2. Ctrl + R: hiermee kunt u een bestand kiezen waarvan u de inhoud in het huidige bestand wilt invoegen door een volledig pad op te geven.

zal de inhoud van /etc/passwd in het huidige bestand invoegen.

  1. Ctrl + K: knipt de huidige lijn.
  2. Ctrl + U: plakken.
  3. Ctrl + C: annuleert de huidige bewerking en plaatst u naar het vorige scherm.

Om eenvoudig door het geopende bestand te navigeren, biedt nano de volgende functies:

  1. Ctrl + F en Ctrl + B verplaatsen de cursor naar voren of naar achteren, terwijl Ctrl + P en Ctrl + N de cursor respectievelijk regel voor regel omhoog of omlaag verplaatsen, net als de pijltoetsen.
  2. Ctrl + spatie en Alt + spatie verplaatsen de cursor woord voor woord vooruit en achteruit.

Eindelijk,

  1. Ctrl + _ (onderstrepingsteken) en vervolgens X,Y invoeren brengt u precies naar Regel X, kolom Y, als u de cursor op een specifieke plaats in het document wilt plaatsen.

Het bovenstaande voorbeeld brengt u naar regel 15, kolom 14 in het huidige document.

Als u zich uw vroege Linux-dagen kunt herinneren, vooral als u van Windows kwam, zult u het er waarschijnlijk mee eens zijn dat beginnen met nano de beste manier is voor een nieuwe gebruiker.

Bestanden bewerken met Vim Editor

Vim is een verbeterde versie van vi, een beroemde teksteditor in Linux die beschikbaar is op alle POSIX-compatibele *nix-systemen, zoals RHEL 7. Als je de kans hebt en vim kan installeren, ga je gang; zo niet, dan zouden de meeste (zo niet alle) tips in dit artikel ook moeten werken.

Een van de onderscheidende kenmerken van vim zijn de verschillende modi waarin het werkt:

  1. In de Opdrachtmodus kunt u door het bestand bladeren en opdrachten invoeren, dit zijn korte en hoofdlettergevoelige combinaties van een of meer letters. Als u een van deze regels een bepaald aantal keren moet herhalen, kunt u er een nummer aan toevoegen (er zijn slechts enkele uitzonderingen op deze regel). Met yy (of Y, afkorting van yank) kopieert u bijvoorbeeld de gehele huidige regel, terwijl 4yy (of 4Y) de gehele huidige regel kopieert samen met de volgende drie regels (4 regels in totaal).
  2. In de ex-modus kunt u bestanden manipuleren (inclusief het opslaan van een huidig bestand en het uitvoeren van externe programma's of opdrachten). Om naar de ex-modus te gaan, moeten we een dubbele punt (:) typen, beginnend vanuit de opdrachtmodus (of met andere woorden, Esc + :), direct gevolgd door de naam van de ex-modusopdracht die u wilt gebruiken.
  3. In de invoegmodus, die toegankelijk is door de letter i te typen, voeren we eenvoudigweg tekst in. Bij de meeste toetsaanslagen verschijnt er tekst op het scherm.
  4. We kunnen altijd de opdrachtmodus openen (ongeacht de modus waaraan we werken) door op de Esc-toets te drukken.

Laten we eens kijken hoe we dezelfde bewerkingen kunnen uitvoeren die we in de vorige sectie voor nano hebben beschreven, maar nu met vim. Vergeet niet op de Enter-toets te drukken om de vim-opdracht te bevestigen!

Om toegang te krijgen tot de volledige handleiding van vim vanaf de opdrachtregel, typt u :help in de opdrachtmodus en drukt u vervolgens op Enter:

Het bovenste gedeelte presenteert een indexlijst met inhoud, met gedefinieerde secties gewijd aan specifieke onderwerpen over vim. Om naar een sectie te navigeren, plaatst u de cursor erop en drukt u op Ctrl + ] (vierkant haakje sluiten). Merk op dat het onderste gedeelte het huidige bestand weergeeft.

1. Om de wijzigingen die in een bestand zijn aangebracht op te slaan, voert u een van de volgende opdrachten uit vanuit de opdrachtmodus en het werkt:

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

2. Om het negeren van wijzigingen af te sluiten, gebruikt u :q!. Met deze opdracht kunt u ook het hierboven beschreven helpmenu verlaten en terugkeren naar het huidige bestand in de opdrachtmodus.

3. Knip N aantal regels: typ Ndd in de opdrachtmodus.

4. Kopieer M aantal regels: typ Myy in de opdrachtmodus.

5. Lijnen plakken die eerder zijn geknipt of gekopieerd: druk op de P-toets in de opdrachtmodus.

6. De inhoud van een ander bestand invoegen in het huidige bestand:

:r filename

Om bijvoorbeeld de inhoud van /etc/fstab in te voegen, doet u het volgende:

7. Om de uitvoer van een opdracht in het huidige document in te voegen:

:r! command

Om bijvoorbeeld de datum en tijd in te voegen in de regel onder de huidige positie van de cursor:

In een ander artikel waarvoor ik schreef (deel 2 van de LFCS-serie), heb ik de sneltoetsen en functies die beschikbaar zijn in vim gedetailleerder uitgelegd. Misschien wilt u die tutorial raadplegen voor meer voorbeelden van het gebruik van deze krachtige teksteditor.