Publi

  • 31 Atajos de teclado que podemos usar en nuestra terminal o consola

    Foto: Thomas (Flickr CC)

    ¿ Qué podemos hacer en nuestra terminal a un golpe de teclado ? Muchas más cosas de las que nos imaginamos. Hay muchas teclas alternativas, algunas no funcionarán en versiones muy antiguas, otras son teclas algo más fáciles pero en ocasiones algunas terminales remotas no aceptan esos códigos y pueden no funcionar. Las teclas alternativas suelen estar especificadas en /etc/inputrc . También incluyo alguna palabra clave que suele ser el significado de la tecla, o alguna aclaración mnemotécnica para no olvidarnos (o eso pretende).… Leer artículo completo

  • 20 Cosas chulas que se pueden hacer en una terminal de GNU/Linux

    Un poco como continuación de un post de hace casi 2 años, en el que comentaba ejemplos de cosas que se pueden hacer con Bash en una o dos líneas de código.

    Ahora quiero hacer cosas un poco más complejas (y alguna que otra sencilla, pero curiosa), en una nueva sección de códigos para copiar y pegar en vuestros terminales:

    Servidores

    Montar un servidor FTP rápido

    Ésta es una solución para un apaño, para el caso en que necesitemos activar un servidor FTP para pasar un fichero a alguien, o para que nos pasen algún fichero… o por ejemplo por si queremos instalar un plugin en WordPress rápidamente y somos unos paranoicos de la seguridad (y por tanto no queremos dejar un servidor FTP corriendo siempre).… Leer artículo completo

  • [Bash script] Hacer un mirror de un servidor FTP

    Este script puede venir muy bien para copiar sitios enteros y sólo tengamos acceso por FTP. Sólo necesitáis tener lftp instalado.
    Lo realmente interesante de este script es que podéis programarlo como tarea cron o correrlo remotamente.

    El script no es mío, es uno de estos copia y pegas que tengo desde hace tiempo y seguro que encontráis por la red mil parecidos a este. Normalmente para cada sitio donde tengo que ejecutar esto modifico este script, pero es muy fácil hacer un entorno un poco más amigable, aceptando argumentos, notificando al terminar, etc.… Leer artículo completo

  • Enviar e-mails con adjuntos desde la terminal con sendmail [Bash script]

    En varias ocasiones, he necesitado enviar un e-mail a un compañero de trabajo (o a mí mismo) con información recién extraída de un servidor (por ejemplo un CSV de base de datos o información subida desde la web) y lo que he hecho al final ha sido bajármelo por SSH y una vez en mi ordenador he enviado el archivo donde ha sido necesario. Si eres como yo, que siempre tengo una sesión SSH abierta en mi servidor, ganarás un par de minutos con este script.… Leer artículo completo

  • Cómo crear un volumen cifrado en un archivo


    Queremos alojar en un archivo un sistema de archvos, ya sea para probarlo, para organizarnos o para almacenar información sensible. También puede ser una buena solución si tenemos una unidad con una partición en un sistema de archivos FAT32 y queremos establecer permisos de Linux a ciertos archivos, esos archivos podemos almacenarlos en nuestro nuevo volumen, que residirá en un archivo muy grande dentro de la partición FAT.

    Lo primero que debemos hacer es crear un archivo con el tamaño del volumen que queremos crear, no importa lo que escribamos dentro, podemos copiar un fichero grande, o escribir desde un fichero de texto… pero vamos a lo fácil, vamos a crear un archivo que sólo contenga ceros.… Leer artículo completo

  • Acabo de borrar un archivo por accidente ! ¡ Voy a morir ! ¡ No aún no !

    El título está basado en un hecho real, aunque casi casi el truco que pondré a continuación está limitado a archivos de texto, ya que podemos identificar fácilmente su contenido. Si me apuráis, valdría con cualquier tipo de archivo, pero los archivos binarios, raramente podemos saber con exactitud qué contienen.

    Me encontraba yo preparando una entrada de datos para base de datos, fue un archivo que me llevó un tiempo donde hacía numerosas consultas, y llega la hora de hacer la consulta, de estas veces que puede que por el cansancio, por tener un día un poco tonto, por no pulsar bien una tecla, o un lapsus, en lugar de:

    $ mysql -uroot -pMICLAVE < consultas.sql

    se me ocurre escribir:

    $ mysql -uroot -pMICLAVE > consultas.sql

    vamos, que el archivo con el que llevaba ya un rato se borró por completo, y yo me encontraba como la foto de portada.… Leer artículo completo

  • Monitorizar el sistema y obtener gráficas de uso

    Cuando tenemos un servidor bajo nuestro control, es muy importante saber cómo vamos de recursos. Si hemos contratado un VPS, por ejemplo, debemos saber cuándo es hora de ampliarlo, o de contratar algo más pequeño porque vamos sobrados de recursos… o incluso poder comprobar que una parada del servicio se debe a un pico de uso del sistema. Esto también nos puede ayudar para comprobar cuándo nuestro server se ha parado debido a un kernel panic o algo parecido.… Leer artículo completo

  • Ver la fecha de dmesg en formato humano

    Cuando ejecutamos el comando dmesg, normalmente la fecha y la hora viene dada en un formato extraño, unos números decimales normalmente largos, indescifrables que nos pueden traer de cabeza cuando queremos saber cuándo sucedió el evento que estamos leyendo.

    [280213.568809] type=1701 audit(1360483429.151:991): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568815] type=1701 audit(1360483429.151:992): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568819] type=1701 audit(1360483429.151:993): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568822] type=1701 audit(1360483429.151:994): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.568826] type=1701 audit(1360483429.151:995): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [280213.570694] type=1701 audit(1360483429.151:996): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=21 compat=0 ip=0x7f2f734d9957 code=0x50000
    [280213.570701] type=1701 audit(1360483429.151:997): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=91 compat=0 ip=0x7f2f734d95a7 code=0x50000
    [280214.706376] type=1701 audit(1360483430.291:998): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [280217.461365] type=1701 audit(1360483433.047:999): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [280217.461376] type=1701 audit(1360483433.047:1000): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000

    Tenemos varios modos de hacer esto:

    Un argumento

    Vale, todo esto podemos simplificarlo, si hacemos

    $ dmesg -T
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:991): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:992): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:993): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:994): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:995): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=4 compat=0 ip=0x7f2f734d9205 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:996): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=21 compat=0 ip=0x7f2f734d9957 code=0x50000
    [dom feb 10 08:57:39 2013] type=1701 audit(1360483429.151:997): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=91 compat=0 ip=0x7f2f734d95a7 code=0x50000
    [dom feb 10 08:57:40 2013] type=1701 audit(1360483430.291:998): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [dom feb 10 08:57:43 2013] type=1701 audit(1360483433.047:999): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000
    [dom feb 10 08:57:43 2013] type=1701 audit(1360483433.047:1000): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=20049 comm=»chromium-browse» reason=»seccomp» sig=0 syscall=2 compat=0 ip=0x7f2f734d96b0 code=0x50000

    Aunque en algunos sistemas no encontraremos este argumento.… Leer artículo completo

  • Automatizar efectos para crear vídeos en GIMP con script-fu

    Tal vez hayamos utilizado GIMP es más de una ocasión, es un gran programa para retoque fotográfico en Linux. Por otro lado, para Linux no existen demasiados programas para creación de vídeo y efectos especiales, y los que hay son muy limitados.

    Por eso, se puede dar el caso de que quisiéramos aplicar un efecto de GIMP dentro de un vídeo, pero no sólo en un fotograma estático (que importamos la imagen dentro del vídeo y listo), sino en una animación, modificando ligeramente el comportamiento del efecto fotograma a fotograma.… Leer artículo completo

  • Magia en Bash 50 ejemplos en una sola linea (o dos)

    Bash es una de las herramientas más potentes que tenemos a nuestro alcance, aunque no sólo de bash trata el artículo, sino de trucos para consola, one-liner como dirían muchos (aunque habrá algunos two-liners) que podemos utilizar y pueden hacernos la vida un poco más fácil:

    Cadenas de texto

    Trim

    Es una herramienta que utilizaremos para recortar nuestra cadena basándonos en los a la ìzquierda y a la derecha, en este caso nos basaremos en los espacios, que es uno de sus usos más comunes (así podemos obtener la cadena limpia tanto por delante como por detrás.… Leer artículo completo