Leyendo ficheros en Linux

Submitted 2 years ago by Manuel Cortez

Viewed 567 times.

Rated with 5.0 stars.

Si has visto algunos archivos en guías anteriores (por ejemplo usando el comando ls), puede que te preguntes por la manera de ver o editar dichos archivos. En esta guía aprenderás cómo revisar el contenido de los archivos en sistemas Linux. En contraste con otros sistemas operativos, Linux (y otros sistemas Unix) utilizan archivos de texto plano para almacenar diversas configuraciones y otra información que el sistema operativo necesita.

Requisitos y objetivos

Para poder realizar los ejemplos de esta guía, necesitarás contar con acceso a un servidor Linux. Si todavía no tienes uno, aquí puedes adquirir un VPS. Si necesitas información sobre cómo conectarte al servidor, puedes leer este artículo para conectarte a un VPS mediante SSH.

También deberías tener nociones básicas sobre cómo funcionan la terminal y los comandos de GNU/Linux. Esta guía cubre los comandos y la terminal de Linux, es recomendable leerla si eres nuevo en el manejo de sistemas Linux.

Finalmente, te ayudará mucho saber navegar a través del sistema de archivos para completar los ejemplos que se muestran en el contenido de esta guía.

Todo el contenido de esta guía puede ser completado con cualquier usuario del sistema. Es recomendable utilizar un usuario que no sea root.

Cuando estés listo para comenzar, conéctate a tu servidor utilizando SSH y continúa con el resto de esta guía.

Introducción

Mostrar el contenido de los ficheros de texto es una de las tareas más importante para la administración de sistemas Linux, debido a que dentro de ficheros de este tipo se encuentran diversas configuraciones, logs, contenido de manuales y otra información. A continuación verás diferentes comandos que mostrarán los ficheros de maneras distintas. Es importante aclarar que todos estos comandos funcionan únicamente con ficheros de texto plano, no así con archivos binarios.

El comando cat

El comando cat recibe la ubicación de un archivo de texto y muestra su contenido en la terminal. Cuando termina, este comando envía de nuevo al usuario a la línea de comandos. Por ejemplo, si deseas ver el contenido del fichero /etc/os-release, que contiene información sobre la versión actual del sistema operativo, puedes hacerlo utilizando el siguiente comando:

cat /etc/os-release

La respuesta puede ser algo similar a esto, aunque la información cambiará dependiendo del sistema operativo y versión:

PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

El comando cat es útil para conectar su salida a otros procesos, por ejemplo. También es útil para revisar el contenido de ficheros con poco texto, como es el caso del fichero /etc/os-release. Sin embargo, no debería utilizarse para revisar el contenido de ficheros grandes, porque puede ocasionar la ralentización del servidor, ya que este comando recorre el fichero e imprime una por una todas las líneas que encuentre. Y en entornos donde los ficheros, por ejemplo los logs, pueden llegar a tener varios cientos de miles de líneas, esto no siempre es una buena idea. Afortunadamente hay otras alternativas.

Los comandos head y tail

Pese a que pueden añadirse modificadores sobre el comando cat para imprimir ciertas porciones del fichero de texto, es más fácil y rápido utilizar los comandos head y tail. El primero imprime las primeras 10 líneas del fichero que recibe, mientras que el último imprime las últimas 10. Si quisieras imprimir el contenido de un fichero de texto con múltiples líneas, como puede ser el archivo /etc/services, puedes utilizar los comandos de esta manera:

head /etc/services

Su respuesta se parece a lo siguiente:

# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
# even if the protocol doesn't support UDP operations.
#
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.

Así mismo, para imprimir las 10 últimaslíneas:

tail /etc/services

Y obtendrás como respuesta:

vboxd 20012/udp
binkp 24554/tcp # binkp fidonet protocol
asp 27374/tcp # Address Search Protocol
asp 27374/udp
csync2 30865/tcp # cluster synchronization tool
dircproxy 57000/tcp # Detachable IRC Proxy
tfido 60177/tcp # fidonet EMSI over telnet
fido 60179/tcp # fidonet EMSI over TCP

# Local services

less

A diferencia de cat, head y tail, la aplicación less es un comando que se ejecuta de una manera diferente. Su función es visualizar un archivo de texto de forma eficiente. Volviendo con el ejemplo anterior, para leer completamente el fichero /etc/services, se puede ejecutar less de esta forma:

less /etc/services

Y su respuesta será parecida a la del comando cat, de esta forma:

# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
...
50/udp
domain 53/tcp # Domain Name Server
/etc/services

  • La última línea que se muestra es el nombre del fichero.

A diferencia de otros comandos, cuando less se ejecuta no se muestra la línea de comandos. En su lugar, toda la información de la terminal se reemplaza por el contenido del fichero que se está leyendo.

Less se conoce como una aplicación con "paginación", es decir, que divide el fichero en varias pantallas para que pueda leerse con comodidad. A diferencia de cat, no carga el fichero en la pantalla completamente, solamente la primer parte del fichero.

Si deseas mostrar la siguiente línea del archivo, pulsa la flecha hacia abajo. Si deseas retroceder una línea, pulsa la flecha arriba. Si deseas mostrar una "página" nueva, pulsa avance de página, la barra espaciadora o la combinación de teclas Control + F. Para mostrar la página anterior, pulsa retroceso de página, o la combinación de teclado Control + B.

Para buscar una palabra en el archivo, escribe el carácter /, seguido de lo que deseas buscar. Por ejemplo, si deseas buscar la palabra mail, escribe:

/mail,

y pulsa intro. Esto te llevará al primer resultado que se encuentre desde tu posición hacia el final del documento. Si quieres ir a otro resultado, pulsa la letra n minúscula.

Si quieres ir hacia el resultado anterior, escribe la letra N mayúscula.

Así mismo, para ir al principio del archivo, escribe la letra g minúscula, mientras que para ir al final, escribe la letra g mayúscula.

finalmente, para cerrar el fichero de texto, escribe la letra q.

Conclusión

Ahora ya deberías ser capaz de leer los ficheros de texto del sistema utilizando cualquiera de estos comandos. Lo más recomendable es utilizar la aplicación less para leer los ficheros de logs, pero puedes probar diversos comandos con archivos que conozcas para leerlos.

loading...

No comments, yet

Sign up to comment

Search

Share

MKServers