Weboldal keresés

LFCS #2: A Vi/Vim telepítése és használata Linuxban


Néhány hónappal ezelőtt a Linux Foundation elindította az LFCS (Linux Foundation Certified Sysadmin) tanúsítványt, hogy segítsen a világ minden tájáról érkező egyéneknek meggyőződni arról, hogy képesek Linux rendszereken az alapvető és a középszintű rendszeradminisztrációs feladatok elvégzésére.

A Linux adminisztrációs feladatai magukban foglalják az első kézből történő hibaelhárítást és karbantartást, valamint intelligens döntéshozatalt annak érdekében, hogy tudják, mikor kell feltenni a problémákat a felsőbb támogatási csapatoknak.

A sorozat a Preparation for the LFCS (Linux Foundation Certified Sysadmin) 1-33. részei címet viseli, és a következő témákat fedi le:

Part 1

A „Sed” parancs használata a fájlok manipulálására Linux alatt

Part 2

A Vi/Vim telepítése és használata Linux alatt

Part 3

Fájlok és könyvtárak tömörítése és fájlok keresése Linuxban

Part 4

Tárolóeszközök particionálása, fájlrendszerek formázása és cserepartíció konfigurálása

Part 5

Helyi és hálózati (Samba és NFS) fájlrendszerek csatlakoztatása/leválasztása Linuxban

Part 6

Partíciók összeállítása RAID-eszközként – Rendszermentések létrehozása és kezelése

Part 7

Rendszerindítási folyamatok és szolgáltatások kezelése (SysVinit, Systemd és Upstart

Part 8

A felhasználók és csoportok, a fájlengedélyek és a Sudo Access kezelése

Part 9

Linux csomagkezelés Yum, RPM, Apt, Dpkg, Aptitude és Zypper segítségével

Part 10

Az alapvető shell-parancsfájlok és a fájlrendszer-hibaelhárítás elsajátítása

Part 11

LVM kezelése és létrehozása a vgcreate, lvcreate és lvextend parancsokkal

Part 12

Hogyan fedezze fel a Linuxot a telepített súgódokumentációkkal és eszközökkel

Part 13

A Grand Unified Bootloader (GRUB) konfigurálása és hibaelhárítása

Part 14

Figyelje a Linux-folyamatok erőforrás-használatát és állítsa be a folyamatkorlátokat felhasználónként

Part 15

A kernel futásidejű paramétereinek beállítása vagy módosítása Linux rendszereken

Part 16

Kötelező hozzáférés-vezérlés megvalósítása SELinux vagy AppArmor segítségével Linux alatt

Part 17

Hozzáférés-vezérlési listák (ACL) és lemezkvóták beállítása felhasználók és csoportok számára

Part 18

A hálózati szolgáltatások telepítése és az automatikus indítás konfigurálása rendszerindításkor

Part 19

Végső útmutató az FTP-kiszolgáló beállításához, hogy lehetővé tegye a névtelen bejelentkezést

Part 20

Állítson be egy alapvető rekurzív gyorsítótárazó DNS-kiszolgálót, és állítsa be a zónákat a tartományhoz

Part 21

A MariaDB Database Server telepítése, biztonságossá tétele és teljesítményhangolása

Part 22

Az NFS-kiszolgáló telepítése és konfigurálása fájlrendszer-megosztáshoz

Part 23

Az Apache beállítása névalapú virtuális tárhely használatával SSL-tanúsítvánnyal

Part 24

Hogyan állítsunk be egy Iptables tűzfalat a szolgáltatások távoli eléréséhez Linux alatt

Part 25

Hogyan alakítsunk át egy Linuxot routerré a forgalom statikus és dinamikus kezelésére

Part 26

Titkosított fájlrendszerek beállítása és csere a Cryptsetup Tool segítségével

Part 27

A rendszerhasználat, a kimaradások figyelése és a Linux-kiszolgálók hibaelhárítása

Part 28

Hálózati tároló beállítása csomagok telepítéséhez vagy frissítéséhez

Part 29

A hálózat teljesítményének, biztonságának és hibaelhárításának ellenőrzése

Part 30

Virtuális gépek és tárolók telepítése és kezelése

Part 31

Tanulja meg a Git alapjait a projektek hatékony menedzseléséhez

Part 32

Útmutató kezdőknek az IPv4- és IPv6-címek konfigurálásához Linuxban

Part 33

Útmutató kezdőknek Hálózati kötés és áthidalás létrehozásához Ubuntuban

Ez a bejegyzés egy 33 oktatóanyagból álló sorozat 2. része, ebben a részben az LFCS minősítési vizsgához szükséges alapvető fájlszerkesztési műveleteket és a Vi/Vim szerkesztő megértési módjait ismertetjük.

Végezze el az alapvető fájlszerkesztési műveleteket a Vi Editorban

A Vi volt az első Unixra írt teljes képernyős szövegszerkesztő. Bár kicsinek és egyszerűnek szánták, kissé kihívást jelenthet azoknak, akik kizárólag grafikus felületű szövegszerkesztőket használnak, mint például a NotePad++ vagy a gedit, hogy csak néhányat említsünk. példák.

A Vi használatához először meg kell értenünk azt a 3 módot, amelyben ez a hatékony program működik, hogy később megtanulhassuk hatékony szövegszerkesztő eljárásait.

Kérjük, vegye figyelembe, hogy a legtöbb modern Linux disztribúció a vi változatával, a vim néven („Vi továbbfejlesztett”) kerül forgalomba, amely több funkciót támogat, mint a az eredeti vi igen. Emiatt ebben az oktatóanyagban a vi és a vim kifejezéseket felváltva használjuk.

Ha a disztribúcióján nincs telepítve a Vim, akkor a következőképpen telepítheti.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Miért szeretnék Vi-t tanulni?

Legalább 2 jó oka van a vi szerkesztő megtanulásának.

  1. A vi mindig elérhető (függetlenül attól, hogy milyen terjesztést használ), mivel a POSIX megköveteli.
  2. A vi nem fogyaszt jelentős mennyiségű rendszererőforrást, és lehetővé teszi, hogy bármilyen elképzelhető feladatot elvégezzünk anélkül, hogy felemelnénk az ujjainkat a billentyűzetről.

Ezenkívül a vi egy nagyon kiterjedt beépített kézikönyvvel rendelkezik, amely a :help paranccsal azonnal elindítható a program indítása után. Ez a beépített kézikönyv több információt tartalmaz, mint a vi/m man oldala.

A Vi Editor elindítása

A vi indításához írja be a vi parancsot a parancssorba.

vi

Ezután nyomja meg az i billentyűt a Beszúrás módba lépéshez, és máris elkezdheti a gépelést.

A vi/m elindításának másik módja az.

vi filename

Ezzel megnyílik egy új puffer (a pufferekről később), fájlnévvel, amelyet később lemezre menthet.

A Vi módok megértése

A Vi szerkesztő több móddal rendelkezik, amelyek mindegyike más-más célt szolgál, és lehetővé teszi a felhasználók számára, hogy meghatározott műveleteket hajtsanak végre.

Íme a fő módok, amelyekkel tisztában kell lennie:

Vi Parancssori mód

Parancs módban a vi lehetővé teszi a felhasználó számára, hogy navigáljon a fájlban, és vi parancsokat írjon be, amelyek rövid, kis- és nagybetűket megkülönböztető kombinációi egy vagy több levelet. Szinte mindegyiket előtaggal lehet ellátni egy számmal, hogy a parancsot annyiszor ismételje meg.

Például az yy (vagy Y) a teljes aktuális sort másolja, míg a 3yy (vagy 3Y) a a teljes aktuális sort a következő két sorral együtt (összesen 3 sor).

Az Esc billentyű megnyomásával bármikor beléphetünk a parancs módba (függetlenül attól, hogy éppen melyik módon dolgozunk). Az a tény, hogy parancs módban a billentyűzet billentyűit szöveg helyett parancsként értelmezi, általában megzavarja a kezdőket.

Vi Ex mód

ex módban kezelhetjük a fájlokat (beleértve az aktuális fájl mentését és a külső programok futtatását). Ebbe a módba való belépéshez be kell írnunk egy kettőspontot (:) a parancs módból, amelyet közvetlenül a használandó ex-mode parancs neve követ. Ezt követően a vi automatikusan visszatér parancs módba.

Vi Beszúrási mód

Beszúrás módban (az i betűt gyakran használják ebbe a módba való belépéshez) egyszerűen szöveget írunk be. A legtöbb billentyűleütés azt eredményezi, hogy szöveg jelenik meg a képernyőn (egyik fontos kivétel az Esc billentyű, amely kilép a beszúrás módból, és visszatér a parancs módba).

Vi parancsok használata

Az alábbi táblázat a gyakran használt vi parancsok listáját mutatja be. A fájlszerkesztési parancsok a felkiáltójel parancshoz fűzésével kényszeríthetők ki (például a :q! mentés nélkül kényszeríti ki a kilépést).

 Key Command

 Leírás

 h or left arrow

Menj egy karakterrel balra

 j or down arrow

Menj le egy sorral

 k or up arrow

Menj fel egy sorral

 l (lowercase L) or right arrow

Menj egy karakterrel jobbra

 H

Ugrás a képernyő tetejére

 L

Menjen a képernyő aljára

 G

Menjen a fájl végére

 w

Mozgass egy szót jobbra

 b

Mozgasson egy szót balra

 0 (zero)

Ugrás az aktuális sor elejére

 ^

Ugrás az első nem üres karakterre az aktuális sorban

 $

Ugrás az aktuális sor végére

 Ctrl-B

Menjen vissza egy képernyővel

 Ctrl-F

Menjen előre egy képernyővel

 i

Beszúrás a kurzor aktuális pozíciójába

 I (uppercase i)

Beszúrás az aktuális sor elejére

 J (uppercase j)

Csatlakozás az aktuális sorhoz a következővel (áthelyezés a következő sorba)

 a

Hozzáfűzés a kurzor aktuális pozíciója után

 o (lowercase O)

Üres sort hoz létre az aktuális sor után

 O (uppercase o)

Üres sort hoz létre az aktuális sor előtt

 r

Cserélje ki a karaktert a kurzor aktuális pozíciójában

 R

Felülírás a kurzor aktuális pozíciójában

 x

A kurzor aktuális pozíciójában lévő karakter törlése

 X

Törölje a közvetlenül az aktuális kurzorpozíció előtt (balra) lévő karaktert

 dd

Vágja ki (későbbi beillesztéshez) a teljes aktuális sort

 D

Vágás a kurzor aktuális pozíciójából a sor végére (ez a parancs a d$-nak felel meg)

 yX

Adjon X mozgásparancsot, másolja ki (rántsa) a megfelelő számú karaktert, szót vagy sort a kurzor aktuális pozíciójából

 yy or Y

Rántsa (másolja) a teljes aktuális sort

 p

Illessze be (a következő sorba) a kurzor aktuális pozíciója után

 P

Beillesztés a kurzor aktuális pozíciója elé (előző sor).

 . (period)

Ismételje meg az utolsó parancsot

 u

Az utolsó parancs visszavonása

 U

Az utolsó sor utolsó parancsának visszavonása. Ez addig működik, amíg a kurzor a vonalon van.

 n

Keresse meg a következő találatot a keresésben

 N

Keresse meg az előző találatot a keresésben

 :n

Következő fájl; ha több fájl van megadva szerkesztésre, ez a parancs betölti a következő fájlt.

 :e file

Töltse be a fájlt az aktuális fájl helyére.

 :r file

Szúrja be a fájl tartalmát a kurzor aktuális pozíciója után (következő sor).

 :q

Lépjen ki a változtatások mentése nélkül.

 :w file

Írja be az aktuális puffert egy fájlba. Egy meglévő fájlhoz való hozzáfűzéshez használja a :w >> fájlt.

 :wq

Írja be az aktuális fájl tartalmát, és lépjen ki. Egyenértékű x-szel! és ZZ

 :r! command

Hajtsa végre a parancsot, és szúrja be a kimenetet a kurzor aktuális pozíciója után (következő sor).

Vi Options

A következő opciók hasznosak lehetnek a vim futtatása közben (ezeket hozzá kell adnunk a ~/.vimrc fájlunkhoz).

echo set number >> ~/.vimrc
echo syntax on >> ~/.vimrc
echo set tabstop=4 >> ~/.vimrc
echo set autoindent >> ~/.vimrc

  • A szám beállítása sorszámokat jelenít meg, amikor a vi megnyit egy meglévő vagy egy új fájlt.
  • A szintaxis bekapcsolja a szintaktikai kiemelést (több fájlkiterjesztés esetén), hogy olvashatóbbá tegye a kód- és konfigurációs fájlokat.
  • A set tabstop=4 a tabulátor méretét 4 szóközre állítja be (az alapértelmezett érték 8).
  • Az autoindent beállítása átviszi az előző behúzást a következő sorba.

Szöveg keresése és cseréje a Vi-ben

A vi képes a kurzort egy bizonyos helyre mozgatni (egy sorban vagy egy teljes fájlon keresztül) a keresések alapján. Szövegcseréket is végrehajthat a felhasználó megerősítésével vagy anélkül.

Keresés egy soron belül

Az f parancs egy sort keres, és a kurzort a megadott karakter következő előfordulására mozgatja az aktuális sorban.

Például az fh parancs a kurzort a h betű következő példányára mozgatja az aktuális sorban. Vegye figyelembe, hogy sem az f betű, sem a keresett karakter nem jelenik meg sehol a képernyőn, de a karakter kiemelve lesz az Enter megnyomása után.

Például ezt kapom, miután parancs módban megnyomtam az f4 billentyűt.

Keresés egy teljes fájlban

Használja a / parancsot, majd írja be a keresendő szót vagy kifejezést. A keresés megismételhető az előző keresési karakterlánc használatával az n paranccsal, vagy a következővel (az N paranccsal). Ez a /Jane parancs módban történő beírásának eredménye.

Szöveg keresése és cseréje

A Vi egy (hasonló a sed parancshoz) parancsot használ a helyettesítési műveletek végrehajtására sorok tartományán vagy egy teljes fájlon.

Ha a teljes fájlban a „old” szót „young”-ra szeretnénk módosítani, a következő parancsot kell megadnunk.

 :%s/old/young/g 

Megjegyzés: a kettőspont a parancs elején.

A kettőspont (:) elindítja az ex parancsot, az s ebben az esetben (helyettesítéshez), a % egy parancsikon jelentése az első sortól az utolsó sorig (a tartomány megadható n,m-ként is, ami azt jelenti, hogy „n sortól m sorig > ”), a old a keresési minta, míg a fiatal a helyettesítő szöveg, a g pedig azt jelzi, hogy a helyettesítést minden előfordulásnál végre kell hajtani a fájlban található keresési karakterláncból.

Alternatív megoldásként egy c is hozzáadható a parancs végéhez, amely megerősítést kér a helyettesítés végrehajtása előtt.

:%s/old/young/gc

Mielőtt az eredeti szöveget lecserélné az újra, a vi/m a következő üzenetet küldi nekünk.

  • y: hajtsa végre a helyettesítést (igen)
  • n: hagyja ki ezt az előfordulást, és lépjen a következőre (nem)
  • a: hajtsa végre a helyettesítést ebben és a minta minden további példányában.
  • q vagy Esc: kilépés a helyettesítésből.
  • l (kisbetű L): hajtsa végre ezt a helyettesítést, és lépjen ki (utolsó).
  • Ctrl-e, Ctrl-y: Görgessen lefelé, illetve felfelé a javasolt helyettesítés kontextusának megtekintéséhez.

Több fájl szerkesztése a Vi-ben

Írjuk be a vim fájl1 fájl2 fájl3 parancsot a parancssorba.

vim file1 file2 file3

Először a vim megnyitja a file1 fájlt. A következő fájlra (file2) váltáshoz a :n parancsot kell használnunk. Ha vissza akarunk térni az előző fájlhoz, a :N elvégzi a feladatot.

A fájl1-ről a fájl3-ra való váltáshoz.

a). A :buffers parancs megjeleníti az éppen szerkesztett fájl listáját.

:buffers

b). A :buffer 3 parancs (az s nélkül a végén) megnyitja a file3 fájlt szerkesztésre.

A fenti képen egy font jel (#) jelzi, hogy a fájl jelenleg meg van nyitva, de a háttérben van, míg a %a az éppen szerkesztett fájlt jelöli.

Másrészt egy üres szóköz a fájl száma után (a fenti példában 3) azt jelzi, hogy a fájl még nincs megnyitva.

Ideiglenes Vi pufferek

Néhány egymást követő sor (például 4) egy ideiglenes pufferbe másolásához (nem társítva egy fájlhoz), és elhelyezheti ezeket a sorokat a fájl egy másik részébe később az aktuális vi-ben. szakaszban kell…

  • Nyomja meg az ESC billentyűt, hogy megbizonyosodjon arról, hogy vi parancs módban vagyunk.
  • Vigye a kurzort a másolni kívánt szöveg első sorára.
  • Írja be az „a4yy” parancsot, hogy az aktuális sort a következő 3 sorral együtt egy a nevű pufferbe másolja. Folytathatjuk a fájl szerkesztését – nem kell azonnal beszúrnunk a másolt sorokat.
  • Amikor elérjük a másolt sorok helyét, a p vagy P parancs előtt használja az „a” szöveget, hogy beillessze a másolt sorokat a < nevű pufferbe. b>a:

    1. Írja be az „ap parancsot, hogy a pufferbe másolt sorokat az aktuális sor után illessze be, amelyen a kurzor áll.
    2. Írja be az „aP parancsot, hogy az a pufferbe másolt sorokat az aktuális sor elé illessze be.

Ha akarjuk, megismételhetjük a fenti lépéseket, hogy a puffer tartalmát több helyre is beillesszük a fájlunkba. Az ebben a szakaszban szereplőhöz hasonló ideiglenes puffer az aktuális ablak bezárásakor megsemmisül.

Összegzés

Amint láttuk, a vi/m egy hatékony és sokoldalú szövegszerkesztő a CLI-hez. Nyugodtan ossza meg saját trükkjeit és megjegyzéseit alább.

Frissítés: Ha szeretné bővíteni VI szerkesztői készségeit, akkor azt javaslom, hogy olvassa el a következő két útmutatót, amelyek elvezetnek néhány hasznos VI szerkesztő trükkök és tippek.

Az LFCS e-könyv már megvásárolható. Rendelje meg példányát még ma, és induljon útnak okleveles Linux rendszergazdává válása felé!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Végül, de nem utolsósorban, kérjük, vegye fontolóra a vizsgautalvány megvásárlását a következő linkek segítségével, hogy egy kis jutalékot kapjunk, amely segít a könyv frissítésében.