LFCS #2: Kako instalirati i koristiti Vi/Vim u Linuxu
Prije nekoliko mjeseci, Linux fondacija je pokrenula LFCS (Linux Foundation Certified Sysadmin) sertifikaciju kako bi pomogla pojedincima iz cijelog svijeta da potvrde da su sposobni obavljati osnovne do srednje administrativne zadatke na Linux sistemima.
Zadaci administracije Linuxa uključuju rješavanje problema i održavanje iz prve ruke, plus inteligentno donošenje odluka kako bi se znalo kada je vrijeme za pokretanje pitanja višim timovima podrške.
Serija će se zvati Priprema za LFCS (Linux Foundation Certified Sysadmin) dijelovi od 1 do 33 i pokrivati sljedeće teme:
- Part 1
Kako koristiti naredbu 'Sed' za manipulaciju datotekama u Linuxu
- Part 2
Kako instalirati i koristiti Vi/Vim u Linuxu
- Part 3
-
Kako komprimirati datoteke i direktorije i pronaći datoteke u Linuxu
- Part 4
Particioniranje uređaja za skladištenje, formatiranje sistema datoteka i konfigurisanje zamjenske particije
- Part 5
Montiraj/Demontiraj lokalne i mrežne (Samba & NFS) datotečne sisteme u Linuxu
- Part 6
Sastavljanje particija kao RAID uređaja – Kreiranje i upravljanje rezervnim kopijama sistema
- Part 7
Upravljanje procesima pokretanja sistema i uslugama (SysVinit, Systemd i Upstart
- Part 8
Kako upravljati korisnicima i grupama, dozvolama za datoteke i Sudo pristupom
- Part 9
Upravljanje Linux paketima sa Yum, RPM, Apt, Dpkg, Aptitude i Zypper
- Part 10
Učenje osnovnih shell skriptova i rješavanje problema sa sistemom datoteka
- Part 11
Kako upravljati i kreirati LVM koristeći naredbe vgcreate, lvcreate i lvextend
- Part 12
Kako istražiti Linux s instaliranom dokumentacijom pomoći i alatima
- Part 13
-
Kako konfigurirati i riješiti probleme Grand Unified Bootloader (GRUB)
- Part 14
Nadgledajte korištenje resursa Linux procesa i postavite ograničenja procesa po korisniku
- Part 15
Kako postaviti ili izmijeniti parametre vremena izvođenja kernela u Linux sistemima
- Part 16
Implementacija obavezne kontrole pristupa sa SELinuxom ili AppArmorom u Linuxu
- Part 17
Kako postaviti liste kontrole pristupa (ACL) i kvote diska za korisnike i grupe
- Part 18
Instaliranje mrežnih usluga i konfiguriranje automatskog pokretanja pri pokretanju
- Part 19
Ultimativni vodič za postavljanje FTP servera za omogućavanje anonimnih prijava
- Part 20
Postavite osnovni DNS server za rekurzivno keširanje i konfigurirajte zone za domenu
- Part 21
Kako instalirati, osigurati i podesiti performanse MariaDB servera baze podataka
- Part 22
Kako instalirati i konfigurirati NFS server za dijeljenje sistema datoteka
- Part 23
-
Kako podesiti Apache sa virtuelnim hostingom zasnovanim na imenu sa SSL sertifikatom
- Part 24
Kako postaviti Iptables Firewall da omogućite daljinski pristup uslugama u Linuxu
- Part 25
Kako pretvoriti Linux u ruter da upravlja prometom statički i dinamički
- Part 26
Kako postaviti šifrirane sisteme datoteka i zamijeniti ih pomoću Cryptsetup alata
- Part 27
Kako pratiti korištenje sistema, prekide rada i rješavanje problema na Linux serverima
- Part 28
Kako postaviti mrežno spremište za instaliranje ili ažuriranje paketa
- Part 29
Kako izvršiti reviziju mrežnih performansi, sigurnosti i rješavanja problema
- Part 30
Kako instalirati i upravljati virtuelnim mašinama i kontejnerima
- Part 31
Naučite osnove Gita za efikasno upravljanje projektima
- Part 32
Vodič za početnike za konfiguriranje IPv4 i IPv6 adresa u Linuxu
- Part 33
Vodič za početnike za stvaranje mrežnog povezivanja i premošćavanja u Ubuntuu
Ovaj post je Drugi dio serije od 33 tutorijala, ovdje u ovom dijelu ćemo pokriti osnovne operacije uređivanja datoteka i načine razumijevanja u Vi/Vim editoru, koji su potrebni za LFCS sertifikacijski ispit.
Izvršite osnovne operacije uređivanja datoteka u Vi Editoru
Vi je bio prvi uređivač teksta na cijelom ekranu napisan za Unix. Iako je zamišljen da bude mali i jednostavan, može biti pomalo izazovan za ljude koji koriste isključivo GUI uređivače teksta, kao što je NotePad++ ili gedit, da spomenemo samo neke primjeri.
Da bismo koristili Vi, prvo moramo razumjeti 3 načina u kojima ovaj moćni program radi, da bismo kasnije počeli učiti o njegovim moćnim procedurama za uređivanje teksta.
Imajte na umu da se većina modernih Linux distribucija isporučuje s varijantom vi poznatom kao vim (“Vi poboljšan ”), koja podržava više funkcija od originalni vi radi. Iz tog razloga, u ovom vodiču ćemo koristiti vi i vim naizmjenično.
Ako vaša distribucija nema instaliran Vim, možete ga instalirati na sljedeći način.
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]
Zašto bih želeo da naučim Vi?
Postoje najmanje 2 dobra razloga da naučite vi editor.
- vi je uvijek dostupan (bez obzira koju distribuciju koristite) budući da je potreban za POSIX.
- vi ne troši značajnu količinu sistemskih resursa i omogućava nam da izvršimo bilo koji zamislivi zadatak bez podizanja prsta s tastature.
Osim toga, vi ima vrlo opsežan ugrađeni priručnik, koji se može pokrenuti pomoću naredbe :help
odmah nakon pokretanja programa. Ovaj ugrađeni priručnik sadrži više informacija od vi/m-ove man stranice.
Pokretanje Vi Editora
Da pokrenete vi, upišite vi u komandnu liniju.
vi
Zatim pritisnite i
da uđete u način Insert i možete početi kucati.
Drugi način za pokretanje vi/m je.
vi filename
Ovo će otvoriti novi bafer (više o baferima kasnije) pod nazivom ime datoteke, koji kasnije možete sačuvati na disk.
Razumevanje Vi režima
Vi uređivač ima više načina, od kojih svaki služi posebnoj svrsi i omogućava korisnicima da izvode određene radnje.
Evo glavnih načina kojih biste trebali biti svjesni:
Vi Režim komandne linije
U komandnom načinu, vi omogućava korisniku da se kreće po fajlu i unese vi komande, koje su kratke kombinacije jednog ili više slova. Gotovo svi mogu imati prefiks sa brojem za ponavljanje naredbe taj broj puta.
Na primjer, yy (ili Y) kopira cijeli trenutni red, dok 3yy (ili 3Y) kopira cijeli trenutni red zajedno sa dva naredna reda (ukupno 3 reda).
Uvijek možemo ući u komandni način (bez obzira na način na kojem radimo) pritiskom na tipku Esc. Činjenica da se u komandnom režimu tasteri na tastaturi tumače kao komande umesto kao tekst zbunjuje početnike.
Vi Ex Mode
U ex modu, možemo manipulirati datotekama (uključujući spremanje trenutne datoteke i pokretanje vanjskih programa). Da bismo ušli u ovaj način rada, moramo upisati dvotočku (:
) iz komandnog režima, direktno praćen imenom naredbe ex-mode koju treba koristiti. Nakon toga, vi se automatski vraća u komandni mod.
Vi Insert Mode
U načinu insert (slovo i
se obično koristi za ulazak u ovaj način), jednostavno unosimo tekst. Većina pritisaka na tipke rezultira pojavljivanjem teksta na ekranu (jedan važan izuzetak je tipka Esc, koja izlazi iz načina umetanja i vraća se u komandni način).
Upotreba Vi komandi
Sljedeća tabela prikazuje listu najčešće korištenih vi komandi. Komande izdanja datoteke mogu se nametnuti dodavanjem znaka uzvika naredbi (na primjer, :q!
prisiljava napuštanje bez spremanja).
- Key Command
Opis
- h or left arrow
Idi jedan znak ulijevo
- j or down arrow
Idite niz jednu liniju
- k or up arrow
Idi jedan red gore
- l (lowercase L) or right arrow
Idi jedan znak udesno
- H
Idite na vrh ekrana
- L
Idite na dno ekrana
- G
Idite na kraj datoteke
- w
Pomjerite jednu riječ udesno
- b
Pomjerite jednu riječ ulijevo
- 0 (zero)
Idite na početak tekućeg reda
- ^
Idite na prvi znak koji nije prazan u trenutnom redu
- $
Idite na kraj trenutnog reda
- Ctrl-B
Vratite se za jedan ekran
- Ctrl-F
Idi jedan ekran unapred
- i
Umetni na trenutnu poziciju kursora
- I (uppercase i)
Umetnite na početak tekućeg reda
- J (uppercase j)
Pridružite se trenutnoj liniji sa sljedećim (premjestite sljedeći red)
- a
Dodaj nakon trenutne pozicije kursora
- o (lowercase O)
Kreira prazan red nakon trenutnog reda
- O (uppercase o)
Kreira prazan red ispred trenutnog reda
- r
Zamijenite znak na trenutnoj poziciji kursora
- R
Prepiši na trenutnoj poziciji kursora
- x
Izbrišite znak na trenutnoj poziciji kursora
- X
Izbrišite znak neposredno prije (lijevo) trenutne pozicije kursora
- dd
Izrežite (za kasnije lijepljenje) cijelu trenutnu liniju
- D
Izrežite od trenutne pozicije kursora do kraja reda (ova naredba je ekvivalentna d$)
- yX
Dajte naredbu za kretanje X, kopirajte (povucite) odgovarajući broj znakova, riječi ili redova sa trenutne pozicije kursora
- yy or Y
Poništiti (kopirati) cijeli trenutni red
- p
Zalijepite nakon (sljedećeg reda) trenutne pozicije kursora
- P
Zalijepi prije (prethodne linije) trenutne pozicije kursora
- . (period)
Ponovite zadnju komandu
- u
Poništite posljednju naredbu
- U
Poništite zadnju naredbu u posljednjem redu. Ovo će raditi sve dok je kursor još uvijek na liniji.
- n
Pronađite sljedeće podudaranje u pretraživanju
- N
Pronađite prethodno podudaranje u pretraživanju
- :n
Sljedeća datoteka; kada je više datoteka specificirano za uređivanje, ova komanda učitava sljedeću datoteku.
- :e file
Učitajte datoteku umjesto trenutnog fajla.
- :r file
Umetnite sadržaj datoteke nakon (sljedećeg reda) trenutne pozicije kursora
- :q
Izađite bez spremanja promjena.
- :w file
Upišite trenutni bafer u datoteku. Za dodavanje postojećem fajlu koristite :w >> fajl.
- :wq
Upišite sadržaj trenutne datoteke i zatvorite. Ekvivalentno x! i ZZ
- :r! command
Izvršite naredbu i umetnite izlaz nakon (sljedećeg reda) trenutne pozicije kursora.
Vi Opcije
Sljedeće opcije mogu biti korisne prilikom pokretanja vim (moramo ih dodati u naš ~/.vimrc fajl).
echo set number >> ~/.vimrc
echo syntax on >> ~/.vimrc
echo set tabstop=4 >> ~/.vimrc
echo set autoindent >> ~/.vimrc
- broj skupa prikazuje brojeve redova kada vi otvori postojeću ili novu datoteku.
- sintaksa uključeno uključuje isticanje sintakse (za više ekstenzija datoteka) kako bi kod i konfiguracijski fajlovi bili čitljiviji.
- set tabstop=4 postavlja veličinu tabulatora na 4 razmaka (podrazumevana vrijednost je 8).
- podesi autoindent prenosi prethodno uvlačenje u sljedeći red.
Traži i zamijeni tekst u Vi
vi ima mogućnost da pomjeri kursor na određenu lokaciju (na jednom redu ili preko cijele datoteke) na osnovu pretraživanja. Također može izvršiti zamjenu teksta sa ili bez potvrde korisnika.
Pretraživanje unutar linije
Komanda f
pretražuje red i pomiče kursor na sljedeće pojavljivanje određenog znaka u trenutnom redu.
Na primjer, naredba fh
bi pomjerila kursor na sljedeću instancu slova h
unutar trenutnog reda. Imajte na umu da se ni slovo f
ni znak koji tražite neće pojaviti nigdje na vašem ekranu, ali će znak biti istaknut nakon što pritisnete Enter.
Na primjer, ovo je ono što dobijem nakon što pritisnem f4
u komandnom modu.
Pretraživanje cijele datoteke
Koristite naredbu /
, nakon koje slijedi riječ ili fraza koju želite tražiti. Pretraživanje se može ponoviti korištenjem prethodnog stringa za pretraživanje naredbom n
ili sljedećeg (koristeći naredbu N
). Ovo je rezultat kucanja /Jane
u komandnom modu.
Pretraži i zamijeni tekst
Vi koristi naredbu (slično sed-u) za izvođenje operacija zamjene u rasponu linija ili cijele datoteke.
Da promijenimo riječ “old
” u “young
” za cijeli fajl, moramo unijeti sljedeću naredbu.
:%s/old/young/g
Napomena: Dvotačka na početku naredbe.
Dvotačka (:
) započinje naredbu ex, s
u ovom slučaju (za zamjenu), %
je prečica koja znači od prvog do posljednjeg reda (opseg se također može specificirati kao n
,m
što znači “od reda n do reda m ”), old je obrazac pretraživanja, dok je young zamjenski tekst, a g
označava da se zamjena treba izvršiti pri svakom pojavljivanju stringa za pretragu u datoteci.
Alternativno, c
se može dodati na kraj naredbe da se traži potvrda prije izvođenja bilo kakve zamjene.
:%s/old/young/gc
Prije zamjene originalnog teksta novim, vi/m će nam prikazati sljedeću poruku.
- y: izvrši zamjenu (da)
- n: preskoči ovu pojavu i idi na sljedeću (ne)
- a: izvrši zamjenu u ovoj i svim sljedećim instancama uzorka.
- q ili Esc: prestani sa zamjenom.
- l (mala slova L): izvršite ovu zamjenu i napustite (poslednji).
- Ctrl-e, Ctrl-y: Pomičite se prema dolje i gore, respektivno, da vidite kontekst predložene zamjene.
Uređivanje više datoteka u Vi
Otkucajmo vim file1 file2 file3 u našu komandnu liniju.
vim file1 file2 file3
Prvo, vim će otvoriti file1. Za prelazak na sljedeću datoteku (file2), trebamo koristiti naredbu :n
. Kada se želimo vratiti na prethodni fajl, :N
će obaviti posao.
Da biste se prebacili sa datoteke1 na datoteku3.
a). Komanda :buffers
će pokazati listu fajla koji se trenutno uređuje.
:buffers
b). Naredba :buffer 3
(bez s
na kraju) će otvoriti file3 za uređivanje.
Na gornjoj slici znak funte (#
) označava da je datoteka trenutno otvorena, ali u pozadini, dok %a
označava datoteku koja se trenutno uređuje.
S druge strane, prazan prostor iza broja datoteke (3 u gornjem primjeru) označava da datoteka još nije otvorena.
Privremeni Vi baferi
Da kopirate nekoliko uzastopnih linija (recimo 4, na primjer) u privremeni međuspremnik pod nazivom a (koji nije povezan s fajlom) i postavite te redove u drugi dio datoteke kasnije u trenutnom vi odjeljak, moramo…
- Pritisnite tipku
ESC
da biste bili sigurni da smo u vi komandnom modu. - Postavite kursor na prvi red teksta koji želimo kopirati.
- Otkucajte “a4yy” da kopirate trenutni red, zajedno sa 3 naredna reda, u bafer pod nazivom a. Možemo nastaviti uređivati naš fajl – ne moramo odmah da ubacujemo kopirane redove.
Kada dođemo do lokacije za kopirane linije, koristite “a prije naredbi p ili P da umetnete kopirane redove u međuspremnik pod nazivom < b>a:
- Otkucajte “ap da umetnete redove kopirane u međuspremnik nakon trenutne linije na kojoj se kursor nalazi.
- Upišite “aP da umetnete redove kopirane u bafer a prije tekuće linije.
Ako želimo, možemo ponoviti gornje korake da ubacimo sadržaj bafera na više mjesta u našoj datoteci. Privremeni međuspremnik, kao što je onaj u ovom odeljku, uklanja se kada se zatvori trenutni prozor.
Sažetak
Kao što smo vidjeli, vi/m je moćan i svestran uređivač teksta za CLI. Slobodno podijelite svoje trikove i komentare ispod.
Ažuriranje: Ako želite da proširite svoje VI vještine uređivača, predlažem vam da pročitate sljedeća dva vodiča koji će vas voditi do nekih korisni trikovi i savjeti za uređivač VI.
LFCS e-knjiga je sada dostupna za kupovinu. Naručite svoj primjerak već danas i započnite svoj put da postanete certificirani Linux sistem administrator!
Product Name | Price | Buy |
---|---|---|
The Linux Foundation’s LFCS Certification Preparation Guide | $19.99 | [Buy Now] |
Na kraju, ali ne i najmanje važno, razmislite o kupovini vaučera za ispit koristeći sljedeće veze kako biste zaradili malu proviziju, što će nam pomoći da ovu knjigu ažuriramo.