sábado, 3 de agosto de 2013

10 comandos interesantes para Linux


Fuente: Emezeta
10 comandos interesantes para Linux linux linux comandos terminal 21 25K+ 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. 2. Descargar videos de Youtube (u otras páginas) Otra tarea que a veces suele tornarse compleja es realizar la descarga de un video de Youtube. Y ni hablar si tenemos que realizar una conversión posterior a un formato concreto (por ejemplo, mp4). Con clive es muy sencillo: Basta con escribir clive seguido de la dirección del video de youtube. Esto nos descargará el archivo de video (en formato FLV), sin ningún paso adicional. Si además añadimos el parámetro --format hd, el video se descargará en formato MP4 a alta resolución. Entre las webs soportadas se encuentran youtube, last.fm, video google, dailymotion y vimeo, entre otros. En Windows, siempre puedes utilizar el programa Atube Catcher, que simplifica mucho la descarga y conversión de videos desde Youtube. 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.

Más información en: http://www.emezeta.com/articulos/10-comandos-interesantes-para-linux

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.

2. Descargar videos de Youtube (u otras páginas)

Otra tarea que a veces suele tornarse compleja es realizar la descarga de un video de Youtube. Y ni hablar si tenemos que realizar una conversión posterior a un formato concreto (por ejemplo, mp4). Con clive es muy sencillo:
Basta con escribir clive seguido de la dirección del video de youtube. Esto nos descargará el archivo de video (en formato FLV), sin ningún paso adicional. Si además añadimos el parámetro --format hd, el video se descargará en formato MP4 a alta resolución. Entre las webs soportadas se encuentran youtube, last.fm, video google, dailymotion y vimeo, entre otros.

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.

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.

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.

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: