El sistema de archivos de Linux nos permite operar varias operaciones sobre archivos como crear, editar, renombrar, eliminar. Podemos editar archivos mediante diferentes editores de Linux como vim, nano, Emacs, Gedit, Gvim, y más.
Cómo editar archivos en Linux
Entendamos cómo editar archivos en un servidor Linux mediante diferentes editores de texto.
- Editar archivos con el editor VI
El editor VI es el editor de texto más utilizado en los sistemas basados en Linux. El editor Vi tiene varios modos como el modo normal, el modo de inserción, el modo de comando, el modo de línea, y más. Cada modo nos permite operar sus operaciones específicas.
Es el más utilizado por su modalidad. La mayoría de las herramientas tienen un solo modo; toman la entrada y realizan la operación ordenada, pero Vi tiene varios modos.
Cuando iniciamos Vi, se abre con el modo normal, que es básicamente un modo de comando. En este modo, cualquier cosa que escribamos se considera un comando, no una entrada.
A veces Vi parece un editor típico, pero cuando te acostumbras a él, te parecerá una de las herramientas de edición más potentes.
Antes de editar archivos, vamos a entender cómo cambiar un modo en el editor Vi:
- Pulsar la tecla ESC para el modo normal.
- Pulsar la tecla i para el modo de inserción.
- Pulse las teclas :q! para salir del editor sin guardar un archivo.
- Pulse las teclas :wq! Teclas para guardar el archivo actualizado y salir del editor.
- Pulse :w test.txt para guardar el archivo como test.txt
- Editar archivos con un editor de texto nano
- Editar archivo usando el editor Emacs
Ahora, vamos a entender cómo editar un archivo usando el editor Vi.
Para editar un archivo, cree primero un archivo usando el comando cat:
El comando anterior permite introducir el contenido del archivo en la terminal, introduzca el contenido del archivo, y luego pulse las teclas CTRL+D para guardar el archivo. Considere la siguiente imagen de la terminal:
Para editar este archivo, ejecute el siguiente comando para abrir con el editor Vi:
El comando anterior abrirá el archivo con el editor Vi en el modo normal. Considere la siguiente imagen del editor:
Este archivo está abierto en modo normal, para cambiarlo a modo de inserción pulse la tecla ‘ESC’ seguida de la tecla ‘i’. Coloque el cursor en la posición deseada e introduzca algún texto. ¡Para guardar el archivo y salir del editor, pulse la tecla ‘ESC’, seguida de :wq! Teclas. Considere la siguiente imagen del editor:
Ahora, hemos editado con éxito un archivo utilizando el editor Vi. Tras esto, el editor se cerrará y volveremos a la línea de comandos. Para ver el contenido del archivo, ejecute el comando cat de la siguiente manera:
Considere la siguiente captura de la terminal.
Nano es también uno de los editores más utilizados en los sistemas basados en Linux. Es un editor sencillo e influyente de Linux. Es un editor incorporado en las distribuciones de Linux. No necesitamos tener ningún conocimiento previo sobre el editor nano antes de usarlo. En nano, no se utiliza ningún comando primario para operar sobre el archivo. Todas las operaciones básicas se muestran en la parte inferior del editor. Podemos lanzarlas con una tecla CTRL, por ejemplo, para guardar el archivo pulsar las teclas CTRL+O, para salir del editor pulsar la tecla CTRL+X.
Para editar un archivo con el editor nano, abra el archivo desde el directorio donde está almacenado con el siguiente comando:
El comando anterior abrirá el archivo Demo.txt con el editor nano. Para editar el archivo, mueva el cursor e introduzca el texto deseado y pulse las teclas CTRL+O para guardar el archivo. Considera la siguiente imagen del editor de texto nano:
Presiona las teclas CTRL+X para salir del editor. Los cambios que has realizado en el archivo se han guardado correctamente. Para verificar los cambios, ejecute el comando cat de la siguiente manera:
Mostrará el contenido del archivo. Considere la siguiente salida:
El editor Emacs también nos permite editar archivos. Además, tiene muchas funciones incorporadas como navegador web, calendario, terminal, y más. Funciona como un editor de texto normal. En el editor Emacs, podemos editar archivos y guardarlos mediante la barra de navegación. No es un editor incorporado en el sistema basado en Linux, pero podemos instalarlo usando la terminal.
Para instalar el editor emacs abra la terminal (Por CTRL+ALT+T) y ejecute el siguiente comando:
El comando anterior pedirá la contraseña administrativa, escriba la contraseña y pulse la tecla ENTER. Considere la siguiente captura de la terminal:
Se verificará el proceso de instalación, pulse la tecla ‘y’ para confirmar. Comenzará el proceso de instalación, tomará un tiempo para completar el proceso de instalación. Considere la siguiente salida:
Get:1 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-common all 25.2+1-6 Get:2 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile-bin amd64 1.14-1.1 Get:3 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 liblockfile1 amd64 1.14-1.1 Get:4 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-bin-common amd64 25.2+1-6 Get:5 http://in.archive.ubuntu.com/ubuntu bionic-updates/main amd64 libgif7 amd64 5.1.4-2ubuntu0.1 Get:6 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libotf0 amd64 0.9.13-3build1 Get:7 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 m17n-db all 1.7.0-2 Get:8 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 libm17n-0 amd64 1.7.0-3build1 Get:9 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25 amd64 25.2+1-6 Get:10 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs all 47.0 Get:11 http://in.archive.ubuntu.com/ubuntu bionic/main amd64 emacs25-el all 25.2+1-6 Fetched 33.9 MB in 3min 20s (170 kB/s) Selecting previously unselected package emacs25-common.(Reading database ... 168266 files and directories currently installed.)Preparing to unpack .../00-emacs25-common_25.2+1-6_all.deb ...Unpacking emacs25-common (25.2+1-6) ...Selecting previously unselected package liblockfile-bin.Preparing to unpack .../01-liblockfile-bin_1.14-1.1_amd64.deb ...Unpacking liblockfile-bin (1.14-1.1) ...Selecting previously unselected package liblockfile1:amd64.Preparing to unpack .../02-liblockfile1_1.14-1.1_amd64.deb ...Unpacking liblockfile1:amd64 (1.14-1.1) ...Selecting previously unselected package emacs25-bin-common.Preparing to unpack .../03-emacs25-bin-common_25.2+1-6_amd64.deb ...Unpacking emacs25-bin-common (25.2+1-6) ...Selecting previously unselected package libgif7:amd64.Preparing to unpack .../04-libgif7_5.1.4-2ubuntu0.1_amd64.deb ...Unpacking libgif7:amd64 (5.1.4-2ubuntu0.1) ...Selecting previously unselected package libotf0:amd64.Preparing to unpack .../05-libotf0_0.9.13-3build1_amd64.deb ...Unpacking libotf0:amd64 (0.9.13-3build1) ...Selecting previously unselected package m17n-db.Preparing to unpack .../06-m17n-db_1.7.0-2_all.deb ...Unpacking m17n-db (1.7.0-2) ...Selecting previously unselected package libm17n-0:amd64.Preparing to unpack .../07-libm17n-0_1.7.0-3build1_amd64.deb ...Unpacking libm17n-0:amd64 (1.7.0-3build1) ...Selecting previously unselected package emacs25.Preparing to unpack .../08-emacs25_25.2+1-6_amd64.deb ...Unpacking emacs25 (25.2+1-6) ...Selecting previously unselected package emacs.Preparing to unpack .../09-emacs_47.0_all.deb ...Unpacking emacs (47.0) ...Selecting previously unselected package emacs25-el.Preparing to unpack .../10-emacs25-el_25.2+1-6_all.deb ...Unpacking emacs25-el (25.2+1-6) ...Setting up liblockfile-bin (1.14-1.1) ...Processing triggers for mime-support (3.60ubuntu1) ...Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...Setting up libotf0:amd64 (0.9.13-3build1) ...Processing triggers for install-info (6.5.0.dfsg.1-2) ...Setting up liblockfile1:amd64 (1.14-1.1) ...Setting up libgif7:amd64 (5.1.4-2ubuntu0.1) ...Setting up m17n-db (1.7.0-2) ...Setting up emacs25-common (25.2+1-6) ...Processing triggers for libc-bin (2.27-3ubuntu1) ...Setting up libm17n-0:amd64 (1.7.0-3build1) ...Processing triggers for man-db (2.8.3-2ubuntu0.1) ...Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...Processing triggers for hicolor-icon-theme (0.17-2) ...Setting up emacs25-bin-common (25.2+1-6) ...update-alternatives: using /usr/bin/ctags.emacs25 to provide /usr/bin/ctags (ctags) in auto modeupdate-alternatives: using /usr/bin/ebrowse.emacs25 to provide /usr/bin/ebrowse (ebrowse) in auto modeupdate-alternatives: using /usr/bin/emacsclient.emacs25 to provide /usr/bin/emacsclient (emacsclient) in auto modeupdate-alternatives: using /usr/bin/etags.emacs25 to provide /usr/bin/etags (etags) in auto modeSetting up emacs25-el (25.2+1-6) ...Setting up emacs25 (25.2+1-6) ...update-alternatives: using /usr/bin/emacs25-x to provide /usr/bin/emacs (emacs) in auto modeInstall emacsen-common for emacs25emacsen-common: Handling install of emacsen flavor emacs25Install dictionaries-common for emacs25install/dictionaries-common: Byte-compiling for emacsen flavour emacs25Setting up emacs (47.0) ...Processing triggers for libc-bin (2.27-3ubuntu1) ...
El proceso daemon anterior ha instalado el editor emacs en nuestro sistema. Ahora podemos explorar el editor emacs en nuestro sistema Linux.
Para abrir un archivo con el editor emacs cambia de directorio a la ruta donde existe nuestro archivo y ejecuta el siguiente comando:
El comando anterior abrirá el archivo con el editor emacs. Podemos editar el archivo como un editor de texto tradicional. Considera la siguiente imagen del editor emacs:
Edita el archivo y guárdalo usando la opción de guardar que se da en la barra de navegación.
Para verificar la actualización del archivo, ejecute el comando cat de la siguiente manera:
Considere la siguiente salida: