lunes, 29 de abril de 2019

Comando seq

En cualquier distribución de Linux hay una cantidad ingente de comandos y aplicaciones instaladas y listas para ser usadas. Basta con escribir una letra y pulsar Tabulador para ver todas las opciones existentes.
Hoy mostraré uno de estos comandos que no son conocidos por lo general. Hablamos del comando seq.

viernes, 26 de abril de 2019

Habilitar confirmación ante borrado de ficheros

En un sistema Linux, es una práctica recomendable tener activada la confirmación ante el borrado de ficheros. De esta forma, evitaremos eliminar por error información útil pues en el terminal no hay “papelera de reciclaje”.
Los pasos para activar la confirmación para el comando rm en todos los usuarios es la siguiente para Ubuntu:

lunes, 22 de abril de 2019

Afinando la búsqueda con grep

El comando grep es ampliamente usado cuando se tiene que buscar textos dentro de ficheros. Sin embargo, vamos a comentar algunos parámetros no muy conocidos y que será de ayuda a la hora de mostrar el resultado por pantalla.
No distinguir entre mayúsculas y minúsculas
El modo de búsqueda por defecto es case sensitive, es decir, distingue entre mayúsculas y minúsculas. Si no conocemos con exactitud si el texto que buscamos tiene algún caracter en mayúsculas (o minúsculas), será mejor usar el parámetro -i:
$ grep -i -r ENS32 *
netplan/01-netcfg.yaml:    ens32:
Se ha obviado explicar la opción -r, de búsqueda recursiva, por ser de uso común.
Mostrar el número de línea
Puede resultar útil conocer el número de línea donde aparece el texto buscado. De esta forma, podremos ir con más precisión a la línea en cuestión para editarla si fuera el caso. Para ello, se usará el parámetro -n:
$ grep -i -r -n ENS32 *
netplan/01-netcfg.yaml:7:    ens32:
Mostrar solamente el nombre de los ficheros
Si no se desea visualizar por pantalla la línea de texto que encaja con el patrón de búsqueda, usaremos la opción -l:
$ grep -r -l ens32 *
netplan/01-netcfg.yaml

sábado, 20 de abril de 2019

Consultar ciclo de vida en Ubuntu

A la hora de mantener actualizado un sistema operativo, en nuestro caso Ubuntu, es importante conocer hasta qué fecha se sigue dando soporte de actualizaciones para la versión que tengamos instalada.
Si nos quedamos sin soporte, será imposible actualizar un paquete del que se haya detectado una vulnerabilidad, corregir bugs, etc.
Ubuntu informa de su ciclo de vida en esta web. Se recomienda acceder a ella para conocer en todo momento el tiempo de soporte de las distintas versiones. El ciclo de vida de las últimas distribuciones es el siguiente:

lunes, 15 de abril de 2019

Conocer a qué velocidad funciona la tarjeta de red

En Ubuntu es posible conocer a qué velocidad funciona nuestra tarjeta de red. Hay que indicar que una cosa es la velocidad a la que puede funcionar una tarjeta y otra a qué velocidad trabaja en un momento determinado. Esto vendrá impuesto por el tipo de cableado de red que se use, por la velocidad negociada con el otro extremo, etc.
Por ejemplo, podemos tener una tarjeta Gigabit Ethernet (es decir, capaz de trabajar a 1 Gbps) pero conectarla a un switch que trabaje a 100 Mbps. En este caso, se negociará una velocidad de 100 Mbps.
Vamos a ver cómo comprobar la velocidad máxima a la que puede trabajar nuestra tarjeta de red y la velocidad a la que está trabajando con la conexión actual.

jueves, 11 de abril de 2019

Averiguar los nombres de las interfaces de red en Ubuntu

En esta entrada se va a ver cómo averiguar el nombre de las tarjetas de red instaladas en un equipo con Ubuntu 18.04 (aunque también es aplicable a versiones anteriores).
Veamos un caso práctico: se tiene una máquina virtual con Ubuntu Server 18.04. Esta máquina tiene una tarjeta de red asociada. Se puede ver de la siguiente forma:
$ sudo ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.139  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:fe3b:740  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:3b:07:40  txqueuelen 1000  (Ethernet)
        RX packets 151358  bytes 228391106 (228.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12188  bytes 1009977 (1.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 228  bytes 17347 (17.3 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 228  bytes 17347 (17.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
O de esta otra:

lunes, 8 de abril de 2019

Significado de primera línea de ls -l

El comando ls suele ejecutarse habitualmente seguido de la opción -l (entre otras). A parte de ver por pantalla la información que esperamos, siempre aparece una primera línea con el siguiente aspecto:
$ ls -l
total 12
-rw-r--r-- 1 root root 12287 abr  8 20:45 a
Aunque se suele pasar por alto esta primera línea, conviene saber qué significa toda información que nos muestre el sistema, y más en un comando tan usado como es ls -l.
La explicación que se encuentra en la documentación oficial del comando es la siguiente:

jueves, 4 de abril de 2019

Variables bash #3

En una entrada anterior, Variables bash #2, se vio cómo utilizar los parámetros que se pasan a un script en bash. En esta ocasión se va a mostrar una variable de bash llamada LINENO.
La variable $LINENO contiene el número de línea que se está ejecutando en cada momento en un script bash. Por tanto, si tenemos el siguiente código:
#!/usr/bin/env bash

echo "Primera linea"
echo $LINENO
echo "Segunda linea"
y se ejecuta, obtendremos el siguiente resultado:
$ ./prueba.sh
Primera linea
4
Segunda linea
Hay que destacar que se consideran las líneas vacías (en blanco) en la contabilidad de la línea en ejecución. En el caso mostrado, echo $LINENO está efectivamente en la línea número 4.
El uso de esta variable es útil para acotar errores en la ejecución de un script. Se pueden cambiar las líneas del tipo echo “Pasa por aquí” por un echo $LINENO. Además, se puede combinar con la activación de numeración de líneas en Vim para depurar de forma más rápida nuestro script.

lunes, 1 de abril de 2019

Aprendiendo Vim #6

Como continuación a la última entrada referente a Vim, Aprendiendo Vim #5, en esta ocasión se va a explicar cómo activar la numeración de líneas. Esta opción suele ser útil cuando se edita código, entre otras muchas situaciones.
Vamos a mencionar dos formas de activarlo: manualmente o que sea la opción por defecto.

Activación manual

Estando dentro de Vim, accederemos al modo línea de comandos con los dos puntos y escribiremos lo siguiente:
:set number
De esta forma, todas las líneas del fichero en edición quedarán numeradas.
Para desactivar la numeración, bastará con acceder de nuevo al modo línea de comandos y escribir:
:set nonumber
Si teniendo las líneas numeradas se sale de Vim, al volver a entrar todo quedará según se indique en la configuración por defecto. Y, por defecto, en Vim las líneas no aparecen numeradas.

Configuración por defecto

Si deseamos que las líneas siempre aparezcan numeradas, habrá que especificarlo en el fichero de Vim donde se almacena la configuración por defecto del usuario. Este fichero es ~/.vimrc.
Editar este fichero, o crearlo si no existe, y añadir la siguiente linea:
set number
En adelante, cada vez que abramos Vim las líneas aparecerán numeradas.

Entradas anteriores de Aprendiendo Vim