Credit image

10 comandos interesantes para Linux

Recopilación de 10 comandos útiles e interesantes para nuestra distribución favorita de GNU/Linux y que quizás no conocías.

Los administradores de sistemas y usuarios avanzados siempre echan mano de su querida línea de comandos o terminal para realizar tareas de una forma más rápida y eficiente. Sin embargo, aún muchos son reacios a utilizarla porque creen que es algo demasiado complejo.

A continuación, vamos a dar un repaso a una serie de comandos destinados a ejecutarse desde una terminal (incluso remotamente, sin necesidad de disponer de una interfaz gráfica), realizando ciertas tareas en muy poco tiempo y apenas algo de esfuerzo. La mayoría de estos comandos son programas que se pueden instalar facilmente mediante apt-get install (o el gestor de paquetes de tu distribución).

1. Controlar el ancho de banda del sistema

Es posible que queramos monitorizar el consumo de la conexión a Internet por parte del equipo en el que estamos, conociendo así el ancho de banda consumido. Esto se puede realizar de forma muy sencilla mediante el comando bmon (Bandwidth Monitor).

Este comando nos mostrará un sencillo panel con las diferentes tarjetas de red del sistema y el consumo de Internet que están realizando (RX = recibido = descarga, TX = transmitido = subida):

Pulsando g también podemos ver una pequeña «pseudo-gráfica» que representa la evolución del ancho de banda utilizado conforme pasa el tiempo, o pulsando d una tabla de estadísticas más detalladas.

Si esto nos parece poco aproximado, podemos utilizar nethogs, un comando que nos informará del consumo de ancho de banda por proceso o aplicación, muy útil para saber que programa está enviando o recibiendo información:

Por último, si en lugar de monitorizar, lo que queremos es restringir el ancho de banda para limitar el uso de Internet por parte de un equipo en la red, podemos hacer uso de wondershaper, que nos permitirá limitar el ancho de banda:

sudo wondershaper eth0 1024 512

El ejemplo anterior limita la conexión a 1024kbps de bajada y 512kbps de subida.

Bonus: Si te interesa conocer algunos trucos para conseguir exprimir tu conexión a Internet al máximo, echa un vistazo al artículo Internet más rápido.

3. «Refuerzo negativo» para disléxicos

Con un simple apt-get install sl (o nuestro gestor de paquetes correspondiente) tendremos instalado este «refuerzo para disléxicos».

Steam Locomotive (sl) es un comando ideado para ser ejecutado cuando el usuario escribe mal el comando ls (listar ficheros), y mostrarnos un lento tren a modo de castigo para que no se vuelva a repetir otra vez.

Bonus: Si te interesan más curiosidades como esta (algunas completamente inútiles), puedes echar un ojo al artículo 20 curiosidades geeks para terminales Linux. ¡También cuento como ponerle sonido al tren para hacerlo más irritante!

4. Buscar archivos duplicados

Cuando tenemos gran cantidad de archivos almacenados en nuestros discos, otro problema clásico es el de tener archivos duplicados (imágenes, videos, mp3...). Este sencillo comando permite buscar y mostrarnos los archivos duplicados detectados en la ruta especificada:

También existe findimagedupes, que realiza una búsqueda de imágenes duplicadas de forma visual.

Bonus: Para Windows, la mejor alternativa a fdupes es DoubleKiller, mientras que para búsquedas visuales de imágenes duplicadas, la mejor opción es VisiPics. Puedes encontrar ambos en 12 programas gratuitos para eliminar ficheros duplicados.

5. Navegar desde una terminal de texto

Si estamos conectados desde una terminal de texto (sin interfaz gráfico) o de forma remota vía SSH (por ejemplo) nos puede interesar consultar alguna página o buscar determinado sitio web. Para ello podemos utilizar los navegadores de modo texto:

Lynx

Lynx es quizás mi preferido debido a su potencia y gran cantidad de parámetros personalizables. No sólo es un excelente navegador de modo texto, sino que además permite la utilización del parámetro --dump o --source para obtener texto o código HTML para su posterior procesamiento, por ejemplo:

eog `lynx --dump xkcd.com | egrep imgs.xkcd`

La línea anterior, obtiene el texto de la web de XKCD y extrae con egrep la imagen de su última tira, la cuál la muestra con el visor de imágenes eog.

w3m

Por otro lado, también tenemos a nuestra disposición w3m, un navegador más sencillo, pero igualmente interesante que nos puede servir de alternativa a Lynx:

Elinks

Si ninguno de estos dos navegadores nos agrada, también podemos utilizar elinks, un navegador de texto un poco más sencillo, con menús desplegables que nos permiten seleccionar diferentes opciones de una forma más cómoda, sin recordar los atajos o teclas necesarias para realizar ciertas tareas:

6. Conversión de formatos de archivos multimedia

Una de las soluciones más completas para la conversión de formatos de audio o video es ffmpeg. Mediante este comando podemos realizar multitud de tareas como conversión de MP4 a XViD, MP3 a OGG, extraer sonido de un video a MP3, convertir un video en un GIF animado, o incluso capturar nuestra actividad en pantalla en video (screencast).

Eso sí, la sintaxis del programa da para 2 ó 3 artículos más (o varios tomos), por lo que comentaré sólo uno de sus posibles usos: convertir de .flv a .avi (XViD)

ffmpeg -i video.flv -c:v mpeg4 -vtag xvid video.avi

Existen algunas interfaces gráficas para ffmpeg como WinFF o Avanti, si no quieres complicarte con parámetros y opciones.

7. Montar una cuenta SSH remota como carpeta local

Es posible montar la carpeta remota de una cuenta SSH como una carpeta local de nuestro sistema, permitiéndonos un acceso más rápido, fácil y cómodo. Para ello, basta con escribir:

sshfs user@www.dominio.com:/home/user /mnt/carpeta

Donde user es el nombre del usuario de la cuenta SSH, www.dominio.com es la IP o dominio a conectar, /home/user la carpeta remota y /mnt/carpeta la carpeta local donde será montada.

Además, existe SSHFS Manager, un entorno gráfico para sshfs que nos permitirá hacer esto mismo desde un entorno Windows.

También puedes utilizar el comando scp (cp vía ssh) para realizar copias de archivos a través de SSH como te indico en el siguiente manual básico: 10 comandos para trabajar en GNU/Linux.

8. Realizar modificaciones en varios archivos

Imagina el siguiente escenario: 300 archivos con textos a modificar. ¿Cómo lo hacemos? ¿Abrimos y modificamos cada archivo uno por uno? ¿Creamos un script que recorra todos los archivos y vaya modificando los textos? No. Más fácil y rápido:

sed -i 's/paco/Francisco/g' *.txt

Este pequeño ejemplo, reemplaza el texto «paco» por «Francisco» en todos los archivos con extensión txt. ¿Fácil y rápido, no?

En editores de texto basados en terminal hablo de sed, vim, mcedit y otros editores que pueden resultarte útiles y que permiten reemplazar texto utilizando expresiones regulares. Awk es otro magnífico lenguaje muy potente para manipulación de texto.

9. Desproteger archivos PDF

Es posible que más de una vez te hayas encontrado con archivos PDF que se encuentran protegidos y no permiten imprimir, editar o incluso copiar su contenido. Podemos utilizar qpdf para desproteger estos archivos y generar un nuevo archivo PDF sin protección:

qpdf --decrypt protected.pdf unprotected.pdf

Obviamente, si el archivo PDF está protegido con un password, habrá que especificarlo con el parámetro --password, o utilizar algún comando como pdfcrack para intentar reventarlo.

Bonus: ¿Interesado en más operaciones similares? Echa un vistazo a 10 operaciones útiles con archivos PDF: Separar páginas, añadir marca de agua, rotar páginas, etc...

10. Descargar archivos directamente (con resume)

¿Que necesidad hay de abrir un navegador si sabemos exactamente la URL del archivo a descargar? Ninguna. Por eso lo mejor es utilizar el comando wget y descargarlo directamente.

Además, si utilizas el parámetro -c puedes activar el soporte para continuar descargas interrumpidas, y en el caso de haber descargado una parcialmente, no se elimina el archivo descargado, permitiendo continuar por donde iba, como se puede ver en la siguiente imagen:

Bonus: En Windows, existe una versión con interfaz llamada wackget, que hace las veces de gestor de descarga minimalista, y que puedes encontrar en el artículo 20 programas para hacer Windows más cómodo.

¿Utilizas comandos que te son realmente útiles en tu día a día y no han sido mencionados aquí? ¡Por favor, compártelos con nosotros en los comentarios!

Escrito por Manz, el , en linux. Comentarios recibidos: 24.

24 comentarios de lectores
Javi
Javi
1

¡Muy bueno! Obviamente conocía algunos, pero no todos. Sorprendente 'clive', y había estado buscando algo como 'nethogs' sin éxito, sólo encontré 'bmon' - ahora ya lo sé :) Este me lo guardo en Feedly :)

truko22
truko22
2

Genial :D ?†’ fdupes muchas gracias.

Lecquio
Lecquio
3

Es un programa, no un comando propiamente dicho, pero yo ya no puedo pasar sin el mc Midnight Commander, el gestor de ficheros desde la terminal.

DaniFP
DaniFP
4

Me encanta eso de montar un recurso compartido por ssh como una carpeta más.

manuti
manuti
5

Conocía alguno, y soy usuario avanzado (creía) de Linux pero este SO nunca me deja de sorprender, gracias.

Federico Álvarez
Federico Álvarez
6

Para descargar vídeos de Youtube creo que youtube-dl es insuperable.

Francisco J.
Francisco J.
7

Qué me dices de htop? Es muy útil para gestionar esos procesos que se vuelven un poco locos o para echar un vistazo a cómo va tu el ordenador de recursos. Otro tremendamente útil es tmux, un multiplexador de terminal que te permite tener varias pestañas en un solo terminal (no, no necesita una GUI). Es especialmente útil cuando tienes que entrar por SSH a una máquina y más adelante quieres volver a entrar y recuperar la misma sesión.

Venturi
Venturi
8

Muy útil el resumen de comandos, yo ya los conocía todos, pero siempre es bueno ver que hay gente que hace estas guías o recursos para la gente que no los conozca. Del sed se puede estar hablando siglos y siglos jaja, pero está muy bien la referencia que se hace aquí. Un saludo.

Venturi
Venturi
9

@Federico ?lvarez: Es posible, pero para descargar todo tipo de vídeos, clive está genial, por eso reseñan este y no youtube-dl jeje

alf52
alf52
10

@Francisco J.: Te recomiendo probar screen, además te permite retomar sesion cuando estás accediendo desde fuera. Y tampoco necesita GUI :)

Ruben Marcos
Ruben Marcos
11

Muy util. Algunos no conocia y tambien llevo tiempo usando terminales linux. Francisco yo uso el screen en vez del tmux, lo probare ;) P.D.: yo soy de links, a ver si lo identifica jeje

Federico Álvarez
Federico Álvarez
12

@Venturi youtube-dl tampoco es exclusivo para Youtube: http://rg3.github.io/youtube-dl/documentation.html#d4

miniminiyo
miniminiyo
13

Muchas gracias por al recolección,siempre se aprende algo que no se sabia :D

Skandia
Skandia
14

@Javi: Cuidado, ya que nethogs solo te muestra el tráfico TCP. Si quereis algo más completo teneis iftop. Saludos

fons
fons
15

ojo ese ese comando sed que remplazaría "cristal opaco" por "cristal oFrancisco"

candela
candela
16

gracias mil no conocia sshfs y justo ahora estoy trabajando una web por ssh. perfecto para lo que necesito. del resto hay alguna cosilla que le quiero echar ojo, pero en vacaciones :) buen dia!

mister lala
mister lala
17

guau, ¡cómo he podido vivir sin eso! Ah no, espera, que ya no estamos en los 80...

jors
jors
18

@Francisco J.: Yo para eso último que comentas uso screen.

Euribates
Euribates
19

Esta lista va directa a los favoritos, gracias.

Wardog
Wardog
20

Para monitorizar el ancho de banda con cierto detalle, yo uso iftop. Será porque lo uso desde hace mucho, pero me gusta más que bmon.

iperf
iperf
21

Iperf- Un gran útil para medir la velocidad de red entre hosts. Iperf -s. El equipo queda en escucha Iperf -c host. Lanzamos desde otro equipo contra el servidor que esté escuchando. Iperf tambien se puede encontrar en exe para windows, Muy útil para ver si la red local funciona realmente a gigabit o saber si un equipo lejano tiene el bandwith que necesitas! ;)

Barreiro
Barreiro
22

Gracias por estos trucos, me serán de gran ayuda.

Victor
Victor
23

Excelente artículo, muy conciso, resumido y de fácil lectura además de la gran ayuda. Felicitaciones

Ernesto
Ernesto
24

Muy buen Articulo! Me super sirvio como primeras experiencia en consola para volverme todo un geek desarrollador!

Publica tu opinión

Si lo deseas, puedes utilizar el siguiente formulario para publicar tu opinión o responder a alguna de las existentes:

Previsualización

Aquí se previsualizará su comentario. Revise que sea correcto antes de publicarlo.