RHCSA sērija: Teksta failu rediģēšana ar Nano un Vim/Teksta analizēšana ar grep un regexps - 4. daļa


Katram sistēmas administratoram ikdienas pienākumos ir jātiek galā ar teksta failiem. Tas ietver esošo failu (visticamāk, konfigurācijas failu) rediģēšanu vai jaunu izveidi. Ir teikts, ka, ja vēlaties sākt svētu karu Linux pasaulē, varat pajautāt sysadmins, kas ir viņu iecienītākais teksta redaktors un kāpēc. Šajā rakstā mēs to nedarīsim, bet sniegsim dažus padomus, kas būs noderīgi, izmantojot divus no RHEL 7 visplašāk izmantotajiem teksta redaktoriem: nano (tā vienkāršības un lietošanas ērtuma dēļ, īpaši jauniem lietotājiem. ) un vi/m (pateicoties vairākām funkcijām, kas to pārvērš vairāk nekā vienkāršā redaktorā). Esmu pārliecināts, ka jūs varat atrast daudz vairāk iemeslu, lai izmantotu vienu vai otru, vai, iespējams, kādu citu redaktoru, piemēram, emacs vai pico. Tas ir pilnībā atkarīgs no jums.

Failu rediģēšana, izmantojot Nano Editor

Lai palaistu nano, varat vienkārši ierakstīt nano komandu uzvednē, pēc izvēles sekojot faila nosaukumam (šajā gadījumā, ja fails pastāv, tas tiks atvērts izdevuma režīmā). Ja fails nepastāv vai ja mēs neizlaižam faila nosaukumu, nano tiks atvērts arī izdevuma režīmā, taču mums būs tukšs ekrāns, lai mēs varētu sākt rakstīt:

Kā redzat iepriekšējā attēlā, nano ekrāna apakšdaļā parāda vairākas funkcijas, kas ir pieejamas, izmantojot norādītos saīsnes (^, aka caret, norāda taustiņu Ctrl). Lai nosauktu dažus no tiem:

  1. Ctrl + G: tiek atvērta palīdzības izvēlne ar pilnu funkciju un aprakstu sarakstu: Ctrl + X: aizver pašreizējo failu. Ja izmaiņas nav saglabātas, tās tiek izmestas.
  2. Ctrl + R: ļauj izvēlēties failu, lai ievietotu tā saturu pašreizējā failā, norādot pilnu ceļu.

  1. Ctrl + O: saglabā failā veiktās izmaiņas. Tas ļaus jums saglabāt failu ar tādu pašu nosaukumu vai citu. Pēc tam nospiediet taustiņu Enter, lai apstiprinātu.

  1. Ctrl + X: aizver pašreizējo failu. Ja izmaiņas nav saglabātas, tās tiek izmestas.
  2. Ctrl + R: ļauj izvēlēties failu, lai ievietotu tā saturu pašreizējā failā, norādot pilnu ceļu.

ievietos pašreizējā failā faila/etc/passwd saturu.

  1. Ctrl + K: sagriež pašreizējo līniju.
  2. Ctrl + U: ielīmēt.
  3. Ctrl + C: atceļ pašreizējo darbību un ievieto jūs iepriekšējā ekrānā.

Lai ērti pārvietotos pa atvērto failu, nano nodrošina šādas funkcijas:

  1. Ctrl + F un Ctrl + B pārvieto kursoru uz priekšu vai atpakaļ, savukārt Ctrl + P un Ctrl + N pārvieto to attiecīgi uz augšu vai uz leju pa rindu, tāpat kā bultiņu taustiņi.
  2. Ctrl + atstarpe un Alt + atstarpe pārvieto kursoru uz priekšu un atpakaļ pa vienam vārdam.

Visbeidzot,

  1. Ctrl + _ (pasvītrojums) un pēc tam ievadot X, Y jūs tieši novirzīsit uz X rindiņu, Y kolonnu, ja vēlaties novietot kursoru noteiktā dokumenta vietā.

Iepriekš sniegtajā piemērā jūs nokļūsit pašreizējā dokumenta 15. rindas 14. slejā.

Ja jūs varat atcerēties savas agrīnās Linux dienas, it īpaši, ja esat ieradies no Windows, jūs, iespējams, piekritīsit, ka sākums ar nano ir labākais veids, kā izvēlēties jaunu lietotāju.

Failu rediģēšana, izmantojot Vim Editor

Vim ir uzlabota vi versija - slavens Linux teksta redaktors, kas ir pieejams visās POSIX saderīgajās * nix sistēmās, piemēram, RHEL 7. Ja jums ir iespēja un varat instalēt vim, dodieties uz priekšu; ja nē, vajadzētu darboties arī lielākajai daļai (ja ne visu) šajā rakstā sniegto padomu.

Viena no vim atšķirīgajām iezīmēm ir dažādi režīmi, kādos tā darbojas:

  1. Komandu režīms ļaus pārlūkot failu un ievadīt komandas, kas ir īsas un reģistrjutīgas viena vai vairāku burtu kombinācijas. Ja jums ir jāatkārto viens no tiem noteiktu skaitu reižu, varat to prefiksēt ar skaitli (šim noteikumam ir tikai daži izņēmumi). Piemēram, yy (vai Y, saīsinājums no yank) kopē visu pašreizējo rindu, savukārt 4yy (vai 4Y) kopē visu pašreizējo līniju kopā ar nākamajām trim rindām (kopā 4 rindas).
  2. Ex režīmā varat manipulēt ar failiem (ieskaitot pašreizējā faila saglabāšanu un palaišanu ārpus programmām vai komandām). Lai ievadītu ex režīmu, mums jāievada kols (:), sākot no komandu režīma (vai citiem vārdiem sakot, Esc + :), kam seko tieši tās ex-mode komandas nosaukums, kuru vēlaties izmantot.
  3. Ievietošanas režīmā, kuram var piekļūt, ierakstot burtu i, mēs vienkārši ievadām tekstu. Lielākā daļa taustiņu nospiešanas rezultātā ekrānā parādās teksts.
  4. Mēs vienmēr varam pāriet komandu režīmā (neatkarīgi no režīma, kurā strādājam), nospiežot taustiņu Esc.

Apskatīsim, kā mēs varam veikt tās pašas darbības, kuras mēs iepriekš aprakstījām nano iepriekšējā sadaļā, bet tagad ar vim. Neaizmirstiet nospiest taustiņu Enter, lai apstiprinātu vim komandu!

Lai piekļūtu vim pilnīgai rokasgrāmatai no komandrindas, komandas režīmā ierakstiet: help un pēc tam nospiediet Enter:

Augšējā sadaļā tiek parādīts satura rādītāju saraksts ar definētām sadaļām, kas veltītas konkrētām tēmām par vim. Lai pārvietotos uz sadaļu, novietojiet kursoru virs tā un nospiediet Ctrl +] (kvadrātiekavas aizvēršana). Ņemiet vērā, ka apakšējā sadaļā tiek parādīts pašreizējais fails.

1. Lai saglabātu failā veiktās izmaiņas, komandu režīmā izpildiet jebkuru no šīm komandām, un tas izdarīs triku:

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

2. Lai izietu no izmestajām izmaiņām, izmantojiet: q !. Šī komanda arī ļaus jums iziet no iepriekš aprakstītās palīdzības izvēlnes un atgriezties pašreizējā failā komandu režīmā.

3. Izgrieziet N rindu skaitu: komandrindā ierakstiet Ndd.

4. Kopēt M rindu skaitu: komandu režīmā ierakstiet Myy.

5. Iepriekš ielīmēto vai kopēto līniju ielīmēšana: komandu režīmā nospiediet taustiņu P.

6. Lai ievietotu cita faila saturu pašreizējā failā:

:r filename

Piemēram, lai ievietotu /etc/fstab saturu, rīkojieties šādi:

7. Lai ievietotu komandas izvadi pašreizējā dokumentā:

:r! command

Piemēram, lai ievietotu datumu un laiku rindā zem kursora pašreizējās atrašanās vietas:

Citā rakstā, par kuru es rakstīju (LFCS sērijas 2. daļa), es sīkāk izskaidroju vim pieejamās īsinājumtaustiņus un funkcijas. Jūs varat atsaukties uz šo apmācību, lai uzzinātu citus piemērus, kā izmantot šo spēcīgo teksta redaktoru.