Sèrie RHCSA: Edició de fitxers de text amb Nano i Vim/Anàlisi de text amb grep i expressions regulars - Part 4


Cada administrador del sistema ha de tractar amb fitxers de text com a part de les seves responsabilitats diàries. Això inclou editar fitxers existents (molt probablement fitxers de configuració) o crear-ne de nous. S'ha dit que si voleu començar una guerra santa al món Linux, podeu preguntar als administradors del sistema quin és el seu editor de text preferit i per què. No ho farem en aquest article, però presentarem alguns consells que seran útils per utilitzar dos dels editors de text més utilitzats a RHEL 7: nano (per la seva senzillesa i facilitat d'ús, especialment per als nous usuaris). ), i vi/m (a causa de les seves diverses característiques que el converteixen en més que un simple editor). Estic segur que podeu trobar molts més motius per utilitzar un o un altre, o potser algun altre editor com emacs o pico. Depèn completament de tu.

Edició de fitxers amb Nano Editor

Per llançar nano, podeu escriure nano a l'indicador d'ordres, seguit opcionalment d'un nom de fitxer (en aquest cas, si el fitxer existeix, s'obrirà en mode d'edició). Si el fitxer no existeix, o si ometem el nom del fitxer, nano també s'obrirà en mode d'edició però ens mostrarà una pantalla en blanc perquè comencem a escriure:

Com podeu veure a la imatge anterior, nano mostra a la part inferior de la pantalla diverses funcions que estan disponibles mitjançant les dreceres indicades (^, també conegut com a cursor, indica la tecla Ctrl). Per citar-ne alguns:

  1. Ctrl + G: obre el menú d'ajuda amb una llista completa de funcions i descripcions: Ctrl + X: surt del fitxer actual. Si no s'han desat els canvis, es descarten.
  2. Ctrl + R: us permet triar un fitxer per inserir-ne el contingut al fitxer actual especificant un camí complet.

  1. Ctrl + O: desa els canvis fets en un fitxer. Us permetrà desar el fitxer amb el mateix nom o un de diferent. A continuació, premeu Intro per confirmar.

  1. Ctrl + X: surt del fitxer actual. Si no s'han desat els canvis, es descarten.
  2. Ctrl + R: us permet triar un fitxer per inserir-ne el contingut al fitxer actual especificant un camí complet.

inserirà el contingut de /etc/passwd al fitxer actual.

  1. Ctrl + K: talla la línia actual.
  2. Ctrl + U: enganxa.
  3. Ctrl + C: cancel·la l'operació actual i us situa a la pantalla anterior.

Per navegar fàcilment pel fitxer obert, nano ofereix les funcions següents:

  1. Ctrl + F i Ctrl + B mouen el cursor cap endavant o cap enrere, mentre que Ctrl + P i Ctrl + N el mouen cap amunt o cap avall una línia a la vegada, respectivament, igual que les tecles de fletxa.
  2. Ctrl + espai i Alt + espai mouen el cursor cap endavant i cap enrere una paraula a la vegada.

Finalment,

  1. Ctrl + _ (subratllat) i després introduint X,Y us portarà precisament a la Línia X, columna Y, si voleu col·locar el cursor en un lloc concret del document.

L'exemple anterior us portarà a la línia 15, columna 14 del document actual.

Si recordeu els vostres primers dies de Linux, especialment si veniu de Windows, probablement estareu d'acord que començar amb nano és la millor manera d'aconseguir un nou usuari.

Edició de fitxers amb Vim Editor

Vim és una versió millorada de vi, un famós editor de text a Linux que està disponible en tots els sistemes *nix compatibles amb POSIX, com RHEL 7. Si teniu l'oportunitat i podeu instal·lar vim, endavant; si no, la majoria (si no tots) els consells que es donen en aquest article també haurien de funcionar.

Una de les característiques distintives de vim són els diferents modes en què funciona:

  1. El mode d'ordres us permetrà navegar pel fitxer i introduir ordres, que són combinacions breus i que distingeixen entre majúscules i minúscules d'una o més lletres. Si necessiteu repetir una d'elles un nombre determinat de vegades, podeu prefixar-la amb un número (només hi ha algunes excepcions a aquesta regla). Per exemple, yy (o Y, abreviatura de yank) copia tota la línia actual, mentre que 4yy (o 4Y) copia tota la línia actual juntament amb les tres línies següents (4 línies en total).
  2. En mode ex, podeu manipular fitxers (incloent-hi desar un fitxer actual i executar programes o ordres externs). Per entrar al mode ex, hem d'escriure dos punts (:) començant pel mode d'ordres (o, en altres paraules, Esc + :), seguit directament del nom de l'ordre ex-mode que voleu utilitzar.
  3. En el mode d'inserció, al qual s'accedeix escrivint la lletra i, simplement introduïm text. La majoria de les pulsacions de tecla fan que el text aparegui a la pantalla.
  4. Sempre podem entrar al mode d'ordres (independentment del mode en què estem treballant) prement la tecla Esc.

Vegem com podem realitzar les mateixes operacions que hem descrit per a nano a la secció anterior, però ara amb vim. No us oblideu de prémer la tecla Enter per confirmar l'ordre vim!

Per accedir al manual complet de vim des de la línia d'ordres, escriviu :help en mode d'ordres i, a continuació, premeu Intro:

La secció superior presenta una llista d'índex de continguts, amb seccions definides dedicades a temes específics sobre vim. Per anar a una secció, col·loqueu el cursor a sobre i premeu Ctrl + ] (tancant claudàtors). Tingueu en compte que la secció inferior mostra el fitxer actual.

1. Per desar els canvis fets en un fitxer, executeu qualsevol de les ordres següents des del mode d'ordres i farà el truc:

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

2. Per sortir dels canvis descartants, utilitzeu :q!. Aquesta ordre també us permetrà sortir del menú d'ajuda descrit anteriorment i tornar al fitxer actual en mode d'ordres.

3. Retalla N nombre de línies: escriviu Ndd en mode d'ordres.

4. Copieu M nombre de línies: escriviu Myy en mode d'ordres.

5. Enganxeu línies que s'han retallat o copiat prèviament: premeu la tecla P en mode d'ordres.

6. Per inserir el contingut d'un altre fitxer a l'actual:

:r filename

Per exemple, per inserir el contingut de /etc/fstab, feu:

7. Per inserir la sortida d'una ordre al document actual:

:r! command

Per exemple, per inserir la data i l'hora a la línia sota la posició actual del cursor:

En un altre article per al qual vaig escriure, (part 2 de la sèrie LFCS), vaig explicar amb més detall les dreceres de teclat i les funcions disponibles a vim. És possible que vulgueu consultar aquest tutorial per obtenir més exemples sobre com utilitzar aquest potent editor de text.