best counter
GNU/Linux. MuyLinux

7 cosas que puedes hacer desde consola

31/07/2009| por | 30 comentarios

El blog Nixtutor es una de esas joyitas que ayuda a los amantes de sistemas operativos Un*x y derivados como Linux a dominar muchos de los apartados de estos desarrollos, y en este post nos descubren unos cuantos comandos con los que es posible lograr cosas interesantes.

gnome terminal 500x341 7 cosas que puedes hacer desde consola

De hecho y aunque muchos nos hemos acostumbrado a tirar de utilidad gráfica para muchas de estas operaciones, la consola de comandos siempre acaba siendo el mejor reflejo de la potencia de Linux. Preparaos para llevaros alguna que otra sorpresa.

consola 500x400 7 cosas que puedes hacer desde consola

Los trucos son los siguientes:

1. Redimensionar imágenes

Gracias al comando convert podremos crear una nueva imagen con las dimensiones que necesitemos a partir de la original, y también podremos aplicar el redimensionado a un lote de imágenes. Ejemplo:

convert -resize 300 image.jpg image-small.jpg

2. Añadir una sombra a una imagen

Este efecto es más típico de The GIMP, pero también se puede lograr gracias a ImageMagick (sudo apt-get install imagemagick en Ubuntu/Debian y derivadas) con un comando algo más rebuscadillo pero que puede hacer que el efecto se cree fácil y rápidamente:

convert screenshot.jpg \( +clone -background black -shadow 60×5+0+5 \) +swap -background white -layers merge +repage shadow.jpg

3. Crear un MP3 a partir de dos partes

Si tenemos dos ficheros MP3 podremos unirlos gracias a una simple concatenación:

cat 1.mp3 2.mp3 > combined.mp3

4. Clonar un disco duro

Nada más sencillo con la potencia del comando dd:

dd if=/dev/hda of=/dev/hdb

5. Grabar una ISO en un CD

Aunque herramientas como K3B están para ponérnoslo fácil, si solo queremos tostar una ISO bastará con escribir:

cdrecord -v speed=8 dev=0,0,0 name_of_iso_file.iso

Nota: hay que poner los números adecuados en ‘dev=’ con el comando ‘cdrecord-scanbus’.

6. Convierte vídeos

Aquí es ffmpeg el que acude en nuestra ayuda, y por ejemplo para pasar de AVI a MPEG:

ffmpeg -i video_origine.avi video_finale.mpg

Aunque como ya vimos, hay un montón de cosas que puedes hacer con ffmpeg.

7. Reemplazar palabras en un fichero de texto

Nada de editores de texto. Si quieres reemplazar un término que aparece recurrentemente en un fichero de texto y necesitas hacerlo rápido, puedes hacerlo con el comando sed. Por ejemplo, para cambiar un color en una hoja CSS:

sed ’s/#FF0000/#0000FF/g’ main.css

Related posts:

  1. 5 cosas que puedes hacer con un LiveCD
  2. Autoría de DVDs desde consola, control total
  3. Cinco cosas que debes hacer tras instalar Ubuntu
  4. Cómo descargar con Bittorrent desde consola
  5. GoogleCL, accede a sus servicios web desde la consola
Categorías: Trucos

Hay 30 comentarios

  1. 1
    rubio dice:

    So os gusta el tema de los comandos os recomiendo pasaros por esta pagina: http://www.commandlinefu.com esta en ingles pero es una mina.

  2. 2

    Menos mal que son más de 7 cosillas lo que se pueden hacer con comandos Linux jajaja. De hecho siempre se suele decir que todo lo que se hace con interfaz gráfica se hace con comandos pero no a la inversa.

    Esta pequeña lista está MUY bien porque muchas veces utilizamos grandes programas para hacer cosas que con un comando están solucionadas. Muy buen post, sí señor.

    ¡Saludos!

  3. 3
    Leo dice:

    La URL q pusieron ya esta en un post anterior…buenisimo igual…
    el mejor de todos los comandos es el de grabar CDs!!! :P…
    Saludos

  4. 4
    Katalan91 dice:

    Se podria usar tambien una modificacion del comando “cdrecord -v speed=8 dev=0,0,0 name_of_iso_file.iso” para poder grabar esa iso en un USB?

    Un saludo y gracias

  5. 5
    Shotokan dice:

    Es que por muy potente que sea una interfaz gráfica nunca se podrá hacer todo lo que se puede hacer por consola. La interfaz gráfica es muy cómoda y muy bonita, pero es más limitada y exige muchos más recursos de hardware.

    Por tanto, para tareas avanzadas o máquinas que no pueden ser muy sobrecargadas como servidores, la consola es la única solución.

    Incluso, a veces, la consola es más cómoda. Por ejemplo, yo prefiero ejecutar Aptitude, que tardo 2 segundos antes que estar abriendo Synaptic y esperando a que se cargue. Además, en este caso, Aptitude gestiona mejor los paquetes huérfanos.

    Salud.

  6. 6
    Picholeiro dice:

    Una de lars razones que puedes dar es que controlas todo por consola de comando si te falla la interface grafica

  7. 7
    €quiman dice:

    Se puede pasar de CD a ISO por consola?
    Con Brasero no he podido.

  8. 8
    eVeR dice:

    quedé impresionado (españa:”flipado”; argentina:”flashado”; méxico:”acojonado”) con usar cat para unir MP3. Y maldigo la cantidad de veces que necesité abir el GIMP para redimensionar una imagen. Excelentes y prácticos comandos. Felicidades

  9. 9
    Gaspy dice:

    Aparte de que por consola se pueda hacer todo: 7 cosas me parecen pocas para hacer aquí. La verdadera potencia reside en que por eso mismo podemos hacer scripts de lo que queramos, y podemos acceder a ellos desde GUI, o desde donde queramos

  10. 10
    LaMu dice:

    Mera curiosidad: A que se debe que escribas Unix asi?>>>>Un*x.

  11. 11
    joanzare dice:

    Equiman si quieres pasar un CD a un ISO con, solo ejecuta el comando cat en tu dispositivo cdrom y redireccionalo a un archivo :D. Sencillo:

    [antonio@ArchLinux ~]$ cat /dev/sr0 > imagen.iso

    aqui /dev/sr0 es el dispositivo de cdrom.

    Saludosa toda la comunidad de Linux
    :D:D:D

  12. 12
    GNU/Anónimo :-) dice:

    Para crear imágenes de CD por consola, basta usar el comando readcd, cuyo funcionamiento es análogo al cdrecord, con muchos parámetros en común.

    readcd f=imagen.iso

    Si tenéis varias unidades, entonces no olvidéis especificar la unidad, hoy en día sólo basta con poner ‘dev=/dev/hdx’ (x=a,b,c,d). Aunque yo uso Debian GNU/Linux que actualmente usa cdrkit en lugar de cdrtools, y no estoy completamente seguro de haberlo hecho de esta manera con el segundo grupo de herramientas. De todos modos, ahí os mando un ejemplo, especificando el dispositivo y usando el modo de clonado, para que os quede claro.

    readcd f=imagen.iso dev=/dev/hdb -clone

    Reemplazad el dispositivo por el vuestro, el cual podría ser del tipo ‘/dev/sd[a,b,c.d]‘. -hace años que deje de poner ’0,0,0′ o ’0,1,0′ o lo que fuese; espero que no tenga que volver a hacerlo…, aún me acuerdo que se me olvidaban los susodichos números antecedidos de ‘ATA:’ cuando andaba de prisa, que es precisamente cuando no fluyen la ideas, a veces terminaba usando xcdroast y gastándome el doble del tiempo por desesperarme; ah, y peor era aún cuando se usaba el pseudo SCSI y no lo habías configurado, por dejar eso para después- :-)

    Para saber cuales son los dispositivos de los que disponéis, o qué es lo que va después de ‘dev=’, si es que sois demasiado noveles, entonces escribid, si usáis cdrkit.

    wodim –devices

    Bueno de todos modos os pongo el comando usando la sintaxis clásica mencionada en el post.

    readcd f=imagen.iso dev=ATA:0,1,0

    Cómo existe la posibilidad de que vuestra unidad no coincida, entonces os doy dos comandos importantes.

    readcd -scanbus
    readcd dev=help

    El segundo os dará algunas ideas para el uso de unidades remotas. :-)

    Por último, echarle un vistazo a los manuales no está mal. :-)

    man cdrecord (o wodim)
    man readcd
    ___

    Hay un comando llamado ‘dog’ que os permite hacer lo del ‘cat’, es cierto, je, je, je :-)

    Para la pregunta sobre la USB, recomiendo visitar esta página web sobre pendrives, eso si, está en inglés.

    http://www.pendrivelinux.com/

  13. 13

    Se te ha escapado una notación html en el punto 3:

    cat 1.mp3 2.mp3 > combined.mp3

    sería

    cat 1.mp3 2.mp3 > combined.mp3

  14. 14
    meneame.net dice:

    Linux. 7 cosas que puedes hacer desde consola…

    Aunque cada vez más los usuarios nos hemos acostumbrado a tirar de utilidad gráfica para la gran mayoría de las operaciones, la consola de comandos siempre acaba siendo el mejor reflejo de la potencia de Linux. Preparaos para llevaros alguna que otra s…

  15. 15
    jonathan dice:

    nono…mejor boton derecho y que le den las opciones que aprenderse tantos comandos…
    la consola es de inicios de los noventa .

  16. 16
    MagoBlanco dice:

    Hola, soy linuxero de entorno gráfico, o sea, nuevecito, pero me gustaría aprender más de consola; hay alguna página en castellano/español que sea más o menos completa en cuanto a los comandos Linux en consola? o algún libro que me puedan recomendar? Aclaro que quiero conocer más del uso de la consola por curiosidad, pero no ser administrador de redes ni programador. Saludos, MB

  17. 17
    akjode dice:

    #
    €quiman says:
    July 31, 2009 at 4:09 pm

    Se puede pasar de CD a ISO por consola?
    Con Brasero no he podido.
    #

    dd if=/dev/cdrom of=cd.iso
    el comando dd permite muchas opciones desde un backup completo a clonado de disco duros, creacion de disquets, incluso restauracion de maquinas en red, en la linia anterior te describo como funciona brevemente, if es el origen de los datos, dependiendo del sistema que uses tendras un nombre o otro, of es la salida

    aqui tienes tambien una wiki, hay mas opciones, la verdad dd es un comando desconocido per de los mas potentes que conosco en linux

    http://docs.icenetx.net/index.php/Clonando_discosduros

  18. 18
    JesusDF dice:

    Sólo hacer un par de anotaciones:

    dd if=/dev/hda of=/dev/hdb

    mejor que le pongas el parámetro bs=10M para que copie de 10 en 10 megas en lugar de byte a byte, tardará bastantes horas menos ;)

    No habría estado mal meter alguno más usual como buscar un proceso en ejecución:

    ps aux | grep “nombreproceso”

    Matar un proceso por el PID:

    kill -9 1234 (1234 es el PID que obtuvimos antes)

    o matar procesos por el nombre:

    killall ssh

    Un saludo. :)

  19. 19
    Mario dice:

    Ja Ja me río, estoy de acuerdo con lo de la potencia de Linux, pero un usuario comun no puede andar aprendiendose secuencias de comandos. Llámese usuario comun al 99% de usuarios de PC. Linux si queréis ser popular tendrás que ofrecer toda tu potencia en modo gráfico.

  20. 20
    RudaMacho dice:

    #MagoBlanco: Aqui tienes un blog que me parece genial y esta en castellano, se los recomiendo a todos

    http://los-pajaros-de-hogano.blogspot.com/2009/01/conversaciones-con-hal.html

    Espero que les guste

  21. 21
    MagoBlanco dice:

    @Mario: Tenés mucho de razón en lo que decís, pero… ningún SO tiene TODA su potencia en entorno gráfico, de hecho, cuando utilizaba windows, había ciertas cosas que necesitaba hacerlas en consola de comandos, sobre todo lo que tiene que ver con solucionar problemas de SO o del HDD, necesitaba entrar desde el disco de instalación a una consola de recuperación, así que si bien el 99% lo puedes realizar en entorno gráfico, queda un 1% que no… en Linux puedes hacerlo igual, sólo que por añadidura, puedes hacer en consola mucho más del 1%, por supuesto que casi todo lo que hace un usuario común es más cómodo hacerlo en entorno gráfico, pero no todo… hay veces que dicho entorno molesta… sobre todo para quién sí está acostumbrado… según tengo entendido, todo lo que hacés en entorno gráfico puedes hacerlo vía consola, pero no a la inversa… además, como explicaron bien aquí, por ejemplo, para unir 2 mp3, si tengo que abrir audacity y abrir los dos archivos, etc… por consola resulta mucho más sencillo e intuitivo y rápido… o hacer una imágen de un CD o DVD o de un HDD… me parece maravilloso disponer de herramientas directas, antes que cargar complejos programas gráficos par una tarea sencilla… por otra parte, como las interfaces gráfica de usuario a veces aglutinan varias funcionalidades y comnados para operaciones más complejas, para lo cual son más útiles que la consola… cada entorno tiene sus beneficios y un campo de acción que conviene por sobre el otro…

    @RudaMacho: muchas gracias!

  22. 22
    Félix dice:

    Matar procesos sabiendo el PID…. me parece complicado… para eso podemos hacer esto

    sudo kill -9 $(ps cu -U username |grep psname |awk “/$1$/ { print(\$2) }”)

    donde username es tu nombre de usuario y psname el nombre del proceso.

    Muy útil si eres perezoso como yo.

  23. 23
    Shotokan dice:

    Pero eso no es ser perezoso, ¡eso es complicarse la vida muchísimo! Si sabes el nombre del proceso basta con utilizar el comando killall.

  24. 24
    Luis dice:

    Otra cosa que se puede hacer desde la consola es dejar un programa de torrent funcionando. Si el PC lo permite, puede configurarse desde la BIOS para que se encienda automáticamente después de un apagón. Esta característica, unida a “rtorrent” (http://libtorrent.rakshasa.no/) me permiten descargar imágenes ISO incluso cuando me voy de viaje sin preocuparme.

    También es posible controlar varios equipos remotamente, incluso de manera simultánea. El comando ssh permite hacer lo primero, pero lo segundo es la magia de clusterssh (“cssh” una vez instalado), que a pesar de ser un programa gráfico permite abrir consolas de ssh hacia diferentes equipos y digitar en una sola ventana lo que debe ir a todas o algunas de las seleccionadas. Extremadamente útil si se quiere hacer instalaciones de programas o mantenimiento a las cuentas en un cibercafé o una organización.

    (Des)Comprimir archivos, una tarea que normalmente no requiere mucho trabajo y que prefiero hacer con comandos incluso si estoy usando ROX:
    Para descomprimir…
    RAR: unrar x archivo.rar
    ZIP: unzip archivo.zip
    TAR: tar -xvf archivo.tar
    TAR.GZ: tar -zxvf archivo.tar.gz
    TAR.BZ: tar -jxvf archivo.tar.bz
    Para comprimir…
    ZIP: zip -r archivo.zip carpeta/
    TAR: tar -cvf archivo.tar carpeta/
    y pueden usar las opciones de tar para GZ y BZ, o usar los programas correspondientes para comprimir (gzip y bzip2).

    Me parece que muchos no conocen los comandos “pkill” y “pgrep”, que permiten terminar un proceso u obtener el PID a partir del nombre. Antes usaba “killall”, “ps” y una gran cantidad de scripts, pero siempre su ejecución resultaba más lenta.

    Para los novatos, avanzados y sysadmins recomiendo la Advanced Bash Scripting Guide (tldp.org/LDP/abs/html/) y una versión reducida y en español (http://es.tldp.org/COMO-INSFLUG/COMOs/Bash-Prog-Intro-COMO/).

    También les recomiendo buscar información sobre readline, la librería que utiliza la mayoría de los intérpretes de comandos para recibir los caracteres. Hay personalizaciones bastante útiles como utilizar CTRL+”flecha” para moverse entre las palabras de un comando, trasponer palabras completas, o utilizar partes de comandos anteriores en el comando actual.

  25. 25
    parq dice:

    Muy buenos los comentarios!

  26. 26
    Ajedrez dice:

    No se porque siempre muestran esa misma forma (pueden arruinar sus mp3)

    Primero
    cat 1.mp3 2.mp3 > mp3burdo.mp3
    ffmpeg -i mp3burdo.mp3 Mi_mp3_bueno.mp3

    cat es como usar winrar para unir mp3 funciona pero no queda muy bien.

  27. 27
    Lenny dice:

    #Mario

    No hay nadie en su sano juicio que se aprenda esos comandos de memoria. Se acostumbra a usar técnicas la mar de sencillas como los alias, como se menciona en el artículo original (http://eriwen.com/productivity/aliases-and-functions/), o más avanzadas como los scripts de bash y otras herramientas que brinda la linea de comandos.

    A más de uno que trabaja a diario con el ordenador, le sorprendería la de tiempo y esfuerzo que le puede ahorrar la linea de comandos.

    Saludos.

  28. 28
    Vicente dice:

    Hola, yo uso para pasar a minúsculas los nombres de foto de mi tarjeta SD el siguiente script, ejecutado desde el directorio en que estén las fotos:

    for i in `ls IMG_*` ; do if ! [ -f $HOME/Pictures/100canon/`echo $i | tr [A-Z] [a-z]` ] ; then cp /media/disk/DCIM/100CANON/`echo $i` $HOME/Pictures/100canon/`echo $i | tr [A-Z] [a-z]` ; ls -l $HOME/Pictures/100canon/`echo $i | tr [A-Z] [a-z]` ; fi ; done

    Saludos,

    Vicente

  29. 29
    His_wife41 dice:

    We have taken all precautions to ensure we can burn safely. ,

  30. 30
    MYko dice:

    Si al igual que yo andan perdiendo documentos esto sirve mucho

    find /home/usuario -iname “*.doc” | grep -i docu | grep -i text

    así busco “documento_de_texto.doc

    Saludos

Escribe tu comentario