La Terminal de Linux (IV). Comandos para Crear, Leer o Editar Archivos

En esta parte verás de forma muy rápida y directa como crear y leer archivos de texto desde la línea de comandos, incluir lineas de texto en un archivo, o imprimir su contenido por pantalla para poder visualizarlo de antemano. Para ello, aprenderás a utilizar de forma comandos como touch, cat o more, y también a defenderte medianamente bien con Nano, un editor de archivos en modo texto, al igual que Gedit pero para ser usado desde la termina.

Antes de empezar, decirte que este post forma parte de una serie de artículos enfocada a profundizar en el uso del intérprete de comandos de Linux. Al final del post tienes enlazados el resto de posts. Dicho esto, ¡vamos allá!

Anuncios

Tabla de contenidos:

  1. Como crear archivos de texto
    1. Touch
  2. Imprimir el contenido de un archivo
    1. Cat
    2. More
    3. Less
  3. Leer y editar archivos de texto
    1. Nano
    2. Vim
  4. Más información

Como Crear Archivos de Texto

Anuncios

Como en los casos anteriores, voy a mostrar un listado con algunos ejemplos de los comandos más utilizados a la hora de crear y leer ficheros de texto desde Bash. Empezaré por el caso de crear un fichero de texto vacío, para el cual utilizaré el comando touch.

Touch

El comando touch te va a permitir, entre otras cosas, crear un archivo de texto vacío (en formato .txt) al que, posteriormente, podrás agregarle el contenido que desees de forma manual, o mediante el uso de otros comandos que veremos.

touch nombrearchivo

Esta opción te generará un archivo de texto vacío de nombre nombrearchivo, en el directorio en el que te encuentres (por defecto el directorio del usuario con el que estás logueado en la terminal)

touch nombrearchivo1 nombrearchivo2 nombrearchivo3

En este caso, el comando te generará tres archivos de texto vacíos, con los nombres nombrearchivo1, nombrearchivo2, y nombrearchivo3, y en el directorio de trabajo en el que te encuentres.

Imprimir el Contenido de un Archivo de Texto

Anuncios

Siguiendo con el caso de visualizar el contenido de un fichero desde la misma consola, los comandos más útiles en este sentido son cat y more y less, cada uno con sus particularidades, como verás a continuación.

Cat

El comando cat es uno de los comandos más utilizados cuando se trata de manejar archivos de texto (en formato .txt) desde la terminal. Entre sus múltiples opciones, está la posibilidad de crear un archivo, imprimir por pantalla su contenido, etc. Veamos algunos ejemplos:

Este comando te creará un archivo de texto vacío, de nombre nombrearchivo, y te permitirá teclear el contenido que desees introducirle. Una vez tecleado el contenido, puedes finalizar mediante la combinación CTRL+D.

cat > nombrearchivo
contenido línea 1
contenido línea 2
CTRL+D

Esta orden te permitirá imprimir por pantalla todas las lineas de texto del archivo de texto de nombre nombrearchivo. El archivo indicado debe encontrarse en el directorio de trabajo actual.

cat nombrearchivo

Esto te imprimirá por pantalla, de forma conjunta, el contenido de los archivos indicados, en este caso nombrearchivo1 y nombrearchivo2.

cat nombrearchivo1 nombrearchivo2

Este comando te imprimirá por pantalla el contenido del archivo de texto de nombre nombrearchivo, mostrándote, además, el número de línea al principio de cada línea de texto.

cat -n nombrearchivo

Muy similar al anterior, con la diferencia de que a la hora de numerar las líneas de nombrearchivo, solo se numeran aquellas que contienen texto, y se descartan las lineas en blanco.

cat -b nombrearchivo

Hay muchas más opciones, pero creo que con estas pocas ya ves más o menos por dónde va la cosa. Como suelo decir, si quieres profundizar más en el uso del comando lo más recomendable es ir a la misma página de manual tecleando man cat en la misma terminal.

More

El comando more es otro comando útil para imprimir por pantalla el contenido de un archivo de texto. Esencialmente es igual que el comando cat, con la diferencia de que el comando more pagina el contenido, y es más adecuado cuando para leer archivos largos. Veamos algunu ejemplo:

Esto te permitirá imprimir por pantalla el contenido del archivo ‘nombrearchivo’, pero con el resultado paginado. Así, primero se mostraran las líneas que quepan en una pantalla sin hacer scroll. El resto serán accesibles mediante la tecla espacio.

more nombrearchivo

Less

El comando less, al igual que los comandos cat y more,te permitirá leer el contenido de un archivo de texto. A diferencia de los otros dos, éste te mostrará el contenido en modo editor de texto, y para moverte por el contenido deberás utilizar combinaciones de teclado.

Con esta opción podrás leer al contenido del archivo indicado, moviéndote por las distintas líneas a través del teclado.

less nombrearchivo

Una vez en modo texto, tienes varias opciones para desplazarte verticalmente a lo largo de las diferentes líneas.

Una opción es haciendo scroll con el ratón, que si utilizas la aplicación de la terminal que vienen con el entorno de escritorio podrás hacer sin problema.

Si no funciona esto, puedes utilizar los controles de desplazamiento del teclado. Al estar en modo lectura, deberían funcionar sin problema tanto si estás en el entorno de escritorio o en una sesión de terminal TTY.

Otra opción es utilizar la tecla g y luego Enter. Esto avanzará, por defecto, una línea adelante, pero puedes avanzar cualquier número de líneas que deseas, introduciendo el número justo después de marcar la g.

:1

Otra opción es utilizar la tecla espacio. Esto hará algo similar a un AvPag.

Finalmente, para salir del modo lectura y volver a la terminal, tan solo debes marcar la tecla q.

Leer y Editar Archivos de Texto

Finalmente acabamos con Nano y Vim, dos potentes editor de textos en modo consola, muy conocidos entre los usuarios mas geeks. Empezaré por Nano, por ser más sencillo de utilizar y aprender, y acabaré con Vim, bastante más complejo al principio. Ambos son editores de texto por consola, pero sus puntos en común digamos que acaban aquí.

Nano

Nano es un editor de textos para la terminal, que más que para leer archivos sirve para modificarlos y editarlos, aunque para esta guía también nos vale perfectamente para abrir el archivo y visualizar su contenido desde la línea de comandos. A continuación tienes las principales opciones que ofrece, así que te animo a que vayas jugando con ellas para ir familiarizándote.

Primero de todo, veamos como abrir el editor de textos Nano, algo que puedes hacer fácilmente con el siguiente comando.

nano

Una vez abierto, si te fijas en la parte inferior, verás que se muestra las diferentes combinaciones de teclas que necesitaras a la hora de trabajar con archivos.

CTRL+R

Combinación de teclas para indicarle un archivo de texto a Nano para que lo abra y muestre su contenido por la consola.

CTRL+V

Estando dentro de Nano y con el archivo abierto en la consola, esta combinación sirve para avanzar a la página siguiente.

CTRL+Y

De modo similar a la combinación anterior, esta sirve para retroceder a la página anterior.

CTRL+W

Esta combinación te servirá para introducir un carácter o grupo de caracteres y buscar en el texto cualquier letra o palabra que coincida con el parámetro de búsqueda.

CTRL+X

Para cerrar el archivo una vez lo hayas terminado de visualizar en la consola. Eso cerrará el editor de texto Nano, y volverá a aparecer el promp de Bash por consola.

Estas son solo algunas combinaciones de teclado típicas, para poder moverte con soltura con Nano. A partir de ahí, si deseas profundizar con poco más con él, te dejo con el siguiente vídeo de introducción, para que

Ahora que tienes una idea de como funciona Nano, si te ves con ganas, puedes echar un ojo a una alternativa que te ofrecerá un modo de uso totalmente distinto.

Vim

Vim es un editor de texto por consola muy potente y a la vez conocido entre los usuarios más geeks. A diferencia de Nano, que puede utilizarse con relativa facilidad y soltura desde el primer momento, con Vim la cosa cambia. Digamos que la curva de aprendizaje es mucho mayor.

Para empezar, Vim no suele venid pre-instalado en la mayoría de distribuciones, pero si que debería estar disponible en los repositorios oficiales, por lo que podrás instalarlo a golpe de comando. En caso de que te encuentres en Ubuntu, Debian, o cualquier derivada, puedes hacerlo con el siguiente comando:

sudo apt install vim

Para abrir el editor Vim basta con abrir una ventana de terminal, y teclear el siguiente comando.

vim

Con esto verás un pequeño texto de presentación del proyecto. Estando ahí, puedes abrir el fichero de ayuda de Vim desde el propio editor. Basta con introducir esta pequeña sentencia, seguida de Intro.

:help

Vim requiere una curva de aprendizaje más lenta que otros editores de texto, y obviamente no se aprende con solo leer un post o ver un par de vídeos. Aún así, si deseas aprender a utilizarlo, te dejo con este vídeo introductorio de DistroTube (en inglés), para empezar con los primeros comandos.

Este es un vídeo introductorio, pero probablemente en el mismo canal irán apareciendo más vídeos sobre Vim.

Esto Continua

Tampoco me quiero ir sin recordarte que este post forma parte de una serie de artículos enfocados a profundizar en el uso de la terminal. Si quieres seguir con el tema, te presento los enlaces hacía el resto de posts de esta serie:

  1. Como utilizar la línea de comandos. Primeros pasos
  2. Moverte a través de directorios, copiar y pegar archivos, etc
  3. Consultar información del sistema
  4. Crear, leer o editar archivos de texto
  5. Visualizar y finalizar procesos en ejecución
  6. Identificar diferencias entre dos archivos de texto
  7. Comprimir y descomprimir ficheros por consola
  8. Iniciar, detener o reiniciar servicios

Si conoces más comandos para crear, leer o concatenar archivos de texto, no dudes en hacer tus propias aportaciones a través de los comentarios. La idea es que el post se pueda ir actualizando y completando con más información.

Para terminar, si has encontrado útil el artículo, me servirá de gran ayuda si lo compartes en Twitter. Hasta la próxima;)

Categorías LinuxEtiquetas

8 comentarios en “La Terminal de Linux (IV). Comandos para Crear, Leer o Editar Archivos

  1. Porque intalar vim si existe vi en todos los sistemas de pantalla negra ;)

    Me gusta

  2. Es posible copiar el contenido de 3 archivos (4 líneas de texto o números en cada archivo) para después pegar esas 12 líneas en total en un archivo de texto vacío?

    Me gusta

    1. claro, puedes concatenar y despues redirigir la salida a un archivo

      Me gusta

  3. César Rivas 3 Jul 2018 — 00:41

    Para obtener la última linea de txt bata con poner el comando: tail -1 Miarchivo.txt

    Me gusta

  4. Muy buen aporte, pero me queda una duda,¿ Como puedo imprimir en un archivo de texto el estado de un directorio?

    Me gusta

  5. file=»/home/user/Desktop/test»
    echo «texto – la palabra texto va a aprecer al final de todo el contenido que este en test» >> $file

    Me gusta

  6. A mi me gustaría un comando que escribiera en la ultima linea del .txt sin espacios y sin abrir el documento, por ejemplo:

    write [comando hipotético, escribe en la última linea del documento]
    write requirements/base.txt unipath-1.2.3

    Me gusta

    1. César Rivas 3 Jul 2018 — 00:42

      Para obtener la última linea de txt bata con poner el comando: tail -1 Miarchivo.txt

      Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.