Comprobar la velocidad de conexión desde línea de comandos en Linux.

Hay múltiples webs que nos permiten ejecutar tests de velocidad, pero a veces estamos administrando un servidor sin entorno gráfico y resulta útil poder lanzar un comando que nos de el resultado. Con la siguiente línea puedes hacerlo sin tener que instalar nada:

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

Os dejo una captura del resultado desde casa de mis padres.

Teste de velocidad comandos

Anuncios

Diferentes formas de contar el número de líneas de un fichero desde la consola de Linux.

Si queremos contar el número de líneas que tiene un fichero desde la consola de Linux tenemos, al menos, cuatro métodos para conseguirlo. Os pongo los ejemplos de código:

Usando los comandos cat y wc:

cat fichero | wc -l

Con grep le podemos decir que cuente todo el documento de esta forma:

grep -c '.*' file

La opción -n de sed junto al operador = también nos hace el servicio:

sed -n '$=' file

Y para terminar vamos a ver cómo hacerlo con awk:

awk 'END {print NR}' file

Usar cURL en Linux para descargar un fichero.

Recordaréis que hace tiempo ya hablamos aquí sobre cURL, un proyecto creado por el sueco Daniel Stenberg a mediados de los 90 para crear un bot de IRC que calculaba el cambio de importes entre dólares y coronas.

La mayoría de distribuciones de Linux nos ofrecen un comando cURL con muchas utiliades, hoy vamos a ver cómo descargar un fichero desde un servidor: Para ello nos serviremos de las opciones -O u -o.

La primera guardará el fichero en el directorio en el que estemos posicionados con el mismo nombre que tiene en la localización remota, mientras que el segundo nos permitirá especificar el nombre y la ruta del fichero:

#Sin Cambiar nombre
curl -O http://dominio.com/fichero.tar.gz
#Cambiando nombre
curl -o nuevonombre.tar.gz http://dominio.com/fichero.tar.gz

Browsh: un navegador web para Linux en modo texto desde la línea de comandos.

Con la idea de recuperar la esencia de los navegadores que usaban la interfaz de línea de comandos ha nacido Browsh. Se trata de un navegador web que funciona desde la línea de comandos, pero que abre una instancia de Firefox para poder poder mostrar páginas web en HTML5 con CSS3, JavaScript, vídeos, fotos y contenidos que tiran de WebGL. Se ha publicado bajo licencia GPLv3 y está disponible para varias plataformas: GNU/Linux, FreeBSD, OSX y Windows.

browsh the modern text-based browser

Los requisitos para instalar Browsh son tener una versión actual de Firefox (superior a la 57) y un cliente de terminal que soporte color real. Cumpliendo ambos solo tienes que descargar desde este enlace el instalador. Para Linux tienes paquetes .deb o .rpm dependiendo de tu distro.

Si te decides por los binarios estáticos recuerda que tendrás que darles permisos para que sean ejecutables: chmod a+x browsh_1.4.12_linux_amd64. Eso te permitirá ejecutar después el cliente TTY de Browsh: ./browsh_1.4.12_linux_amd64.

Está disponible también una imagen para Docker que incluye también una versión actualizada de Firefox, por lo que todo lo necesario para la ejecución ya está autocontenido en el paquete. Puedes ejecutar el cliente TTY con: docker run -it –rm browsh/browsh

Si no quieres instalarlo pero sí probarlo puedes utilizar el siguiente comando para acceder a una demo mediante ssh:

ssh brow.sh

Puedes revisar el código fuente de Browsh en la página de Github del proyecto y puedes también echarle un ojo a este vídeo-tutorial que he visto en youtube con el proceso de instalación:

Comandos de información del sistema en Linux

Existen una serie de comandos que nos dan información sobre el estado de nuestro sistema operativo Linux. Son los siguientes abajo listados:

  • date: muestra la fecha y hora actuales.
  • cal: muestra el calendario de este mes.
  • uptime: muestra el tiempo que lleva el equipo funcionando.
  • w: muestra quién está en línea.
  • whoami: muestra con qué usuario estás conectado al sistema.
  • uname -a: muestra la configuración del kernel.
  • cat /proc/cpuinfo: muestra información detallada sobre la CPU.
  • cat /proc/meminfo: muestra información detallada sobre la memoria del equipo.
  • man nombre_de_comando: muestra el manual de uso de un comando.
  • df: muestra el espacio usado del disco.
  • du: muestra el espacio usado del directorio.
  • du -sh: muestra el espacio usado del disco en un formato más legible, en Gigas.
  • whereis aplicación: muestra dónde están los binarios, documentación o código de una aplicacion.
  • which aplicación: muestra las rutas de los ficheros que serán ejecutados si llamamos a ejecución dicha aplicación.

Chateando en LAN con Linux: el comando talk

Existe desde los años 80 en los sistemas basados en UNIX, y Linux no es una excepción, un programa en línea de comandos llamado talk. ¿Qué nos permite hacer este comando? Pues chatear con otro terminal.

Imagina que dos usuarios estáis conectados por ssh a un mismo sistema y queréis comunicaros. En principio, si tenéis talk instalado (si no viene por defecto en vuestra distro lo podéis instalar desde algún repositorio tal que # apt-get install talk talkd), bastaría con que pusieras el comando talk seguido del usuario, y si ambos tenéis talk instalado se le abrirían dos ventanas de terminal: una para escribir y otra en la que vería los mensajes.

En caso de querer chatear con un usuario de otro equipo la cosa sería similar, en ese caso en lugar del usuario lo que tendríais que mandar como parámetro al abrir talk es el usuario seguido de una arroba y el nombre o la ip de la máquina. Por ejemplo:

#ej 1
#usuario en el mismo equipo
talk donnie
#ej 2
#usuario en LAN
talk donnie@192.168.1.100

El comando mesg será en este caso el que nos permitirá decidir si un usuario puede enviarnos mensajes por talk o no a nuestro terminal.

#Si no queremos recibir
#mensajes por talk
mesg n
#si queremos permitirlo
mesg y

Es posible que los cortafuegos impidan la comunicación con talk: Revisa los puertos TCP y UDP 518 y 517, así que fíjate si están abiertos.

Y de esta forma tienes un primitivo chat en tu equipo, no es gran cosa, pero en ocasiones es útil.

¿Qué tamaño le asigno a la partición SWAP en Linux?

Si decides realizar una instalación manual en Linux ya sabes que necesitas al menos dos particiones: una para / y otra para el espacio de intercambio (SWAP). Aunque yo suelo hacer 4 particiones (/, swap, /boot y /home) para máquinas virtuales, y hasta 5 si el equipo va a usarse para editar vídeo, audio o trabajar con bases de datos muy grandes (ahí meto además separada /tmp); y tengo colegas que rara vez bajan de 7… (yo eso ya diría que es vicio). En todo caso suele surgir una duda ¿Qué espacio le asigno a SWAP durante la instalación?

Tradicionalmenet se decía “el doble de SWAP que lo que tengas de RAM“, pero es una teoría de los primeros tiempos de Linux, cuando los equipos andaban faltos de memoria. A día de hoy, tener 12 gigas de SWAP es una verdadera animalada, además de un desperdicio de recursos. Lo que sí se recomienda en varias páginas es que SWAP sea la primera partición del disco, por motivos de rendimiento.

Por lo que recomienda el señor Russell Coker la regla a seguir es la siguiente:

  • Si tienes hasta 1GB de RAM: El clásico “doble de SWAP que de RAM
  • Si tienes entre 2GB y 4GB de RAM: Nueva teoría “La mitad de SWAP que de RAM
  • Si tienes más de 4GB: Con 2 GB de SWAP vas que chutas.

Es más, si te fijas, todas las cuentas dan un máximo de 2GB de RAM. En fin, espero que esta minientrada te sea útil.