LFCS #2: Vi/Vimin asentaminen ja käyttö Linuxissa


Pari kuukautta sitten Linux Foundation julkaisi LFCS (Linux Foundation Certified Sysadmin) -sertifioinnin auttaakseen ihmisiä kaikkialta maailmasta varmistamaan, että he pystyvät suorittamaan perus- ja keskitason järjestelmänhallintatehtäviä Linux-järjestelmissä.

Linuxin hallintatehtäviin kuuluu ensikäden vianetsintä ja ylläpito sekä älykäs päätöksenteko tietää, milloin on aika nostaa ongelmat ylemmille tukitiimeille.

Sarjan nimi on Preparation for the LFCS (Linux Foundation Certified Sysadmin) osien 1–33 ja se kattaa seuraavat aiheet:

Part 1

Kuinka käyttää Sed-komentoa tiedostojen manipuloimiseen Linuxissa

Part 2

Vi/Vimin asentaminen ja käyttö Linuxissa

Part 3

Tiedostojen ja hakemistojen pakkaaminen ja tiedostojen etsiminen Linuxissa

Part 4

Tallennuslaitteiden osiointi, tiedostojärjestelmien muotoilu ja sivutusosion määrittäminen

Part 5

Liitä/irrota paikallis- ja verkkotiedostojärjestelmät (Samba & NFS) Linuxissa

Part 6

Osioiden kokoaminen RAID-laitteiksi – Järjestelmän varmuuskopioiden luominen ja hallinta

Part 7

Järjestelmän käynnistysprosessien ja -palvelujen hallinta (SysVinit, Systemd ja Upstart

Part 8

Käyttäjien ja ryhmien, tiedostojen käyttöoikeuksien ja Sudo Accessin hallinta

Part 9

Linux-pakettien hallinta Yumin, RPM:n, Apt:n, Dpkg:n, Aptituden ja Zypperin avulla

Part 10

Shell-komentosarjan ja tiedostojärjestelmän vianmäärityksen oppiminen

Part 11

LVM:n hallinta ja luominen vgcreate-, lvcreate- ja lvextend-komennoilla

Part 12

Linuxin tutkiminen asennettujen ohjedokumenttien ja työkalujen avulla

Part 13

Grand Unified Bootloaderin (GRUB) määrittäminen ja vianmääritys

Part 14

Tarkkaile Linux-prosessien resurssien käyttöä ja aseta prosessirajoituksia käyttäjäkohtaisesti

Part 15

Kuinka asettaa tai muokata ytimen ajonaikaisia parametreja Linux-järjestelmissä

Part 16

Pakollisen pääsynhallinnan käyttöönotto SELinuxilla tai AppArmorilla Linuxissa

Part 17

Käyttöoikeusluetteloiden (ACL) ja levykiintiöiden asettaminen käyttäjille ja ryhmille

Part 18

Verkkopalvelujen asentaminen ja automaattisen käynnistyksen määrittäminen käynnistyksen yhteydessä

Part 19

Lopullinen opas FTP-palvelimen määrittämiseen anonyymien kirjautumisten sallimiseksi

Part 20

Määritä perusrekursiivisen välimuistin DNS-palvelin ja määritä alueet verkkotunnukselle

Part 21

MariaDB-tietokantapalvelimen asentaminen, suojaus ja suorituskyvyn viritys

Part 22

NFS-palvelimen asentaminen ja määrittäminen tiedostojärjestelmän jakamista varten

Part 23

Kuinka määrittää Apache nimipohjaisella virtuaalipalvelimella SSL-sertifikaatilla

Part 24

Iptables-palomuurin määrittäminen mahdollistamaan palvelujen etäkäyttö Linuxissa

Part 25

Kuinka tehdä Linuxista reititin, joka hallitsee liikennettä staattisesti ja dynaamisesti

Part 26

Salattujen tiedostojärjestelmien määrittäminen ja vaihtaminen Cryptsetup Toolin avulla

Part 27

Kuinka seurata järjestelmän käyttöä, katkoksia ja vianmääritys Linux-palvelimia

Part 28

Verkkovaraston määrittäminen pakettien asentamista tai päivittämistä varten

Part 29

Verkon suorituskyvyn, suojauksen ja vianmäärityksen tarkastaminen

Part 30

Kuinka asentaa ja hallita virtuaalikoneita ja säilöjä

Part 31

Opi Gitin perusteet projektien tehokkaaseen hallintaan

Part 32

Aloittelijan opas IPv4- ja IPv6-osoitteiden määrittämiseen Linuxissa

Part 33

Aloittelijan opas verkkoliitoksen ja siltojen luomiseen Ubuntussa

Tämä viesti on Osa 2 33 opetusohjelman sarjasta. Tässä osassa käsitellään tiedostojen muokkauksen perustoiminnot ja Vi/Vim-editorin ymmärtämistilat, joita tarvitaan LFCS-sertifiointikokeeseen.

Suorita perustiedostojen muokkaustoiminnot Vi Editorissa

Vi oli ensimmäinen Unixille kirjoitettu koko näytön tekstieditori. Vaikka se oli tarkoitettu pieneksi ja yksinkertaiseksi, se voi olla hieman haastavaa ihmisille, jotka ovat tottuneet käyttämään vain graafisia tekstieditoreja, kuten NotePad++ tai gedit. esimerkkejä.

Jotta voisimme käyttää Vi:tä, meidän on ensin ymmärrettävä 3 toimintatilaa, joissa tämä tehokas ohjelma toimii, jotta voimme myöhemmin oppia sen tehokkaista tekstinmuokkausmenetelmistä.

Huomaa, että useimmat nykyaikaiset Linux-jakelut toimitetaan vi -versiolla, joka tunnetaan nimellä vim ("Vi parannettu "), joka tukee enemmän ominaisuuksia kuin alkuperäinen vi tekee. Tästä syystä käytämme tässä opetusohjelmassa vi ja vim vaihtokelpoisesti.

Jos jakelussasi ei ole asennettuna Vimiä, voit asentaa sen seuraavasti.

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]    

Miksi minun pitäisi haluta oppia Vi?

On vähintään 2 hyvää syytä oppia vi-editori.

  1. vi on aina saatavilla (riippumatta siitä, mitä jakelua käytät), koska POSIX vaatii sitä.
  2. vi ei kuluta paljon järjestelmäresursseja, ja sen avulla voimme suorittaa minkä tahansa kuviteltavissa olevan tehtävän nostamatta sormiamme näppäimistöltä.

Lisäksi vi:ssä on erittäin kattava sisäänrakennettu käyttöopas, joka voidaan käynnistää :help-komennolla heti ohjelman käynnistämisen jälkeen. Tämä sisäänrakennettu käyttöopas sisältää enemmän tietoa kuin vi/m:n man-sivu.

Vi-editorin käynnistäminen

Käynnistä vi kirjoittamalla komentokehotteeseen vi.

vi

Siirry sitten Lisää-tilaan painamalla i-näppäintä ja voit aloittaa kirjoittamisen.

Toinen tapa käynnistää vi/m on.

vi filename

Tämä avaa uuden puskurin (lisää puskureista myöhemmin) nimeltä tiedostonimi, jonka voit myöhemmin tallentaa levylle.

Vi-moodien ymmärtäminen

Vi-editorissa on useita tiloja, joista jokaisella on erillinen tarkoitus ja joiden avulla käyttäjät voivat suorittaa tiettyjä toimintoja.

Tässä on tärkeimmät tilat, joista sinun tulee olla tietoinen:

Vi komentorivitila

Komentotilassa vi antaa käyttäjän liikkua tiedostossa ja kirjoittaa vi-komentoja, jotka ovat lyhyitä, kirjainkoolla eroteltuja yhdistelmiä yhdestä tai lisää kirjaimia. Lähes kaikkiin niihin voidaan liittää numero, joka toistaa komennon niin monta kertaa.

Esimerkiksi yy (tai Y) kopioi koko nykyisen rivin, kun taas 3yy (tai 3Y) kopioi koko nykyinen rivi sekä kaksi seuraavaa riviä (yhteensä 3 riviä).

Voimme aina siirtyä komentotilaan (työskentelytilasta riippumatta) painamalla Esc-näppäintä. Se, että komentotilassa näppäimistön näppäimet tulkitaan komennoiksi tekstin sijaan, on yleensä hämmentävää aloittelijoille.

Vi Ex Mode

ex-tilassa voimme käsitellä tiedostoja (mukaan lukien nykyisen tiedoston tallentaminen ja ulkoisten ohjelmien suorittaminen). Päästäksemme tähän tilaan, meidän on kirjoitettava kaksoispiste (:) komentotilasta, jota seuraa suoraan käytettävän ex-mode-komennon nimi. Tämän jälkeen vi palaa automaattisesti komentotilaan.

Vi Insert Mode

Lisää-tilassa (kirjainta i käytetään yleisesti tähän tilaan siirtymiseen) kirjoitamme vain tekstiä. Useimmat näppäinpainallukset johtavat tekstin ilmestymiseen näytölle (yksi tärkeä poikkeus on Esc-näppäin, joka poistuu lisäystilasta ja palaa komentotilaan).

Vi-komentojen käyttö

Seuraavassa taulukossa on luettelo yleisesti käytetyistä vi-komennoista. Tiedoston muokkauskomennot voidaan pakottaa lisäämällä komentoon huutomerkki (esimerkiksi :q! pakottaa lopettamaan tallentamatta).

 Key Command

 Kuvaus

 h or left arrow

Mene yksi merkki vasemmalle

 j or down arrow

Mene yksi rivi alas

 k or up arrow

Mene yksi rivi ylöspäin

 l (lowercase L) or right arrow

Mene yksi hahmo oikealle

 H

Siirry näytön yläosaan

 L

Siirry näytön alaosaan

 G

Siirry tiedoston loppuun

 w

Siirrä yksi sana oikealle

 b

Siirrä yksi sana vasemmalle

 0 (zero)

Siirry nykyisen rivin alkuun

 ^

Siirry nykyisen rivin ensimmäiseen ei-tyhjään merkkiin

 $

Siirry nykyisen rivin loppuun

 Ctrl-B

Palaa yksi näyttö taaksepäin

 Ctrl-F

Siirry yksi näyttö eteenpäin

 i

Lisää kohdistimen nykyiseen paikkaan

 I (uppercase i)

Lisää nykyisen rivin alkuun

 J (uppercase j)

Liity nykyiseen riviin seuraavaan (siirry seuraavaan riviin)

 a

Liitä kohdistimen nykyisen sijainnin jälkeen

 o (lowercase O)

Luo tyhjän rivin nykyisen rivin jälkeen

 O (uppercase o)

Luo tyhjän rivin nykyisen rivin eteen

 r

Korvaa merkki kohdistimen nykyisessä paikassa

 R

Korvaa kohdistimen nykyiseen kohtaan

 x

Poista merkki kohdistimen nykyisestä sijainnista

 X

Poista merkki juuri ennen (vasemmalla) kursorin nykyistä sijaintia

 dd

Leikkaa (myöhempää liittämistä varten) koko nykyinen rivi

 D

Leikkaa kohdistimen nykyisestä paikasta rivin loppuun (tämä komento vastaa d$)

 yX

Anna liikekomento X, kopioi (nykistä) sopiva määrä merkkejä, sanoja tai rivejä kohdistimen nykyisestä paikasta

 yy or Y

Napauta (kopioi) koko nykyinen rivi

 p

Liitä kohdistimen nykyisen sijainnin jälkeen (seuraava rivi).

 P

Liitä kohdistimen nykyisen sijainnin eteen (edellinen rivi).

 . (period)

Toista viimeinen komento

 u

Kumoa viimeinen komento

 U

Kumoa viimeisen rivin viimeinen komento. Tämä toimii niin kauan kuin kohdistin on edelleen rivillä.

 n

Etsi seuraava haku haulla

 N

Etsi edellinen haku haulla

 :n

Seuraava tiedosto; kun useita tiedostoja on määritetty muokattavaksi, tämä komento lataa seuraavan tiedoston.

 :e file

Lataa tiedosto nykyisen tiedoston tilalle.

 :r file

Lisää tiedoston sisältö kohdistimen nykyisen sijainnin jälkeen (seuraava rivi).

 :q

Lopeta tallentamatta muutoksia.

 :w file

Kirjoita nykyinen puskuri tiedostoon. Jos haluat liittää olemassa olevaan tiedostoon, käytä :w >> -tiedostoa.

 :wq

Kirjoita nykyisen tiedoston sisältö ja sulje. Vastaa x:ää! ja ZZ

 :r! command

Suorita komento ja lisää tuloste (seuraava rivi) kohdistimen nykyisen sijainnin jälkeen.

Vi Asetukset

Seuraavat vaihtoehdot voivat olla hyödyllisiä käytettäessä vim-ohjelmaa (meidän on lisättävä ne ~/.vimrc-tiedostoomme).

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

  • Aseta numero näyttää rivinumerot, kun vi avaa olemassa olevan tai uuden tiedoston.
  • syntaksi ottaa käyttöön syntaksin korostuksen (useita tiedostopäätteitä varten), jotta koodi- ja määritystiedostot ovat luettavampia.
  • set tabstop=4 asettaa sarkainkooksi 4 välilyöntiä (oletusarvo on 8).
  • määritä automaattinen sisennys siirtää edellisen sisennyksen seuraavalle riville.

Etsi ja korvaa tekstiä Vi:ssä

vi voi siirtää kohdistimen tiettyyn paikkaan (yhdelle riville tai koko tiedoston yli) hakujen perusteella. Se voi myös suorittaa tekstinkorvauksia käyttäjän vahvistuksen kanssa tai ilman sitä.

Haku rivin sisällä

f-komento etsii riviä ja siirtää kohdistimen määritetyn merkin seuraavaan esiintymään nykyisellä rivillä.

Esimerkiksi komento fh siirtää kohdistimen kirjaimen h seuraavaan esiintymään nykyisellä rivillä. Huomaa, että kirjain f tai etsimäsi merkki eivät näy missään näytölläsi, mutta merkki on korostettu, kun painat Enter.

Tämä on esimerkiksi se, mitä saan painettuani f4 komentotilassa.

Etsitään koko tiedostoa

Käytä /-komentoa ja sen jälkeen haettavaa sanaa tai lausetta. Haku voidaan toistaa käyttämällä edellistä hakumerkkijonoa n-komennolla tai seuraavaa (käyttäen N-komentoa). Tämä on seurausta kirjoittamalla /Jane komentotilassa.

Etsi ja korvaa tekstiä

Vi käyttää komentoa (samanlainen kuin sed) suorittaakseen korvausoperaatioita useilla riveillä tai koko tiedostolla.

Jos haluat muuttaa sanan “old” sanaksi “young” koko tiedostossa, meidän on syötettävä seuraava komento.

 :%s/old/young/g 

Huomautus: kaksoispiste komennon alussa.

Kaksoispiste (:) aloittaa komennon ex, s tässä tapauksessa (korvaamista varten), % on pikakuvake, joka tarkoittaa ensimmäiseltä riviltä viimeiselle riville (alue voidaan määrittää myös muodossa n, m, mikä tarkoittaa "riviltä n riville m > ”), vanha on hakumalli, kun taas nuori on korvaava teksti ja g osoittaa, että korvaus tulee suorittaa jokaisessa esiintymässä tiedoston hakumerkkijonosta.

Vaihtoehtoisesti komennon loppuun voidaan lisätä c, joka pyytää vahvistusta ennen korvauksen suorittamista.

:%s/old/young/gc

Ennen alkuperäisen tekstin korvaamista uudella, vi/m esittää meille seuraavan viestin.

  • y: suorita vaihto (kyllä)
  • n: ohita tämä tapahtuma ja siirry seuraavaan (ei)
  • a: suorita korvaus tässä ja kaikissa myöhemmissä kuvion esiintymisissä.
  • q tai Esc: lopeta korvaaminen.
  • l (pieni L): suorita tämä vaihto ja lopeta (viimeinen).
  • Ctrl-e, Ctrl-y: Vieritä alas ja ylös nähdäksesi ehdotetun korvauksen kontekstin.

Useiden tiedostojen muokkaaminen Vi:ssä

Kirjoita komentokehotteeseen vim tiedosto1 tiedosto2 tiedosto3.

vim file1 file2 file3

Ensin vim avaa tiedoston1. Vaihtaaksesi seuraavaan tiedostoon (tiedosto2), meidän on käytettävä :n-komentoa. Kun haluamme palata edelliseen tiedostoon, :N suorittaa tehtävän.

Vaihda tiedostosta tiedosto1 tiedostoon tiedosto3.

a). :buffers-komento näyttää luettelon parhaillaan muokattavasta tiedostosta.

:buffers

b). Komento :puskuri 3 (ilman s-merkkiä lopussa) avaa tiedoston3 muokkausta varten.

Yllä olevassa kuvassa puntamerkki (#) osoittaa, että tiedosto on tällä hetkellä auki, mutta taustalla, kun taas %a merkitsee parhaillaan muokattavaa tiedostoa.

Toisaalta tyhjä välilyönti tiedostonumeron jälkeen (3 yllä olevassa esimerkissä) osoittaa, että tiedostoa ei ole vielä avattu.

Väliaikaiset Vi-puskurit

Voit kopioida pari peräkkäistä riviä (esimerkiksi 4) väliaikaiseen puskuriin nimeltä a (ei liity tiedostoon) ja sijoittaa kyseiset rivit tiedoston toiseen osaan myöhemmin nykyisessä vi-tiedostossa. osiosta, meidän on…

  • Paina ESC-näppäintä varmistaaksesi, että olemme vi-komentotilassa.
  • Aseta kohdistin kopioitavan tekstin ensimmäiselle riville.
  • Kirjoita "a4yy", jos haluat kopioida nykyisen rivin ja sitä seuraavat kolme riviä puskuriin, jonka nimi on a. Voimme jatkaa tiedostomme muokkaamista – meidän ei tarvitse lisätä kopioituja rivejä heti.
  • Kun saavutamme kopioitujen rivien sijainnin, käytä "a ennen p- tai P"-komentoja lisätäksesi kopioidut rivit puskuriin nimeltä < b>a:

    1. Kirjoita "ap lisätäksesi puskuriin kopioidut rivit nykyisen rivin jälkeen, jolla kohdistin on.
    2. Kirjoita "aP lisätäksesi puskuriin a kopioidut rivit nykyisen rivin eteen.

Halutessasi voimme toistaa yllä olevat vaiheet lisätäksesi puskurin sisällön useisiin paikkoihin tiedostossamme. Väliaikainen puskuri, kuten tässä osiossa oleva, hävitetään, kun nykyinen ikkuna suljetaan.

Yhteenveto

Kuten olemme nähneet, vi/m on tehokas ja monipuolinen tekstieditori CLI:lle. Voit vapaasti jakaa omia temppujasi ja kommenttejasi alla.

Päivitys: Jos haluat laajentaa VI-editorin taitojasi, suosittelen, että luet seuraavat kaksi opasta, jotka opastavat sinua joihinkin hyödyllisiä VI-editorin temppuja ja vinkkejä.

LFCS eBook on nyt ostettavissa. Tilaa kopiosi tänään ja aloita matkasi sertifioiduksi Linux-järjestelmänvalvojaksi!

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

Viimeisenä, mutta ei vähäisimpänä, harkitse koekupongin ostamista seuraavien linkkien avulla ansaitaksesi meille pienen palkkion, joka auttaa meitä pitämään tämän kirjan ajan tasalla.