consola

Usando la consola: Cuanto miden tus particiones y carpetas?

Siempre se me olvida cómo usar bien estos comandos, porque tampoco los uso taan seguido. Pero bueno, si algún día necesitan averiguar el tamaño de una carpeta o lo que están utilizando de sus particiones en línx, desde la línea de comandos, utilicen estos comandos.

Para saber el tamaño de sus particiones:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              25G  9.8G   14G  43% /
varrun                257M   52K  257M   1% /var/run
varlock               257M     0  257M   0% /var/lock
udev                  257M   20K  257M   1% /dev
devshm                257M     0  257M   0% /dev/shm

Para saber el tamaño de sus carpetas:

$ du -csh /home/jackbravo/work/*
33M     /home/jackbravo/work/catalogo-pdf
0       /home/jackbravo/work/drupal6
852K    /home/jackbravo/work/gitosis
32M     /home/jackbravo/work/sf_code
44M     /home/jackbravo/work/sphinx-0.9.9-rc1
1.1M    /home/jackbravo/work/sphinx-0.9.9-rc1.tar.gz
26M     /home/jackbravo/work/user_admin
136M    total

Enviando mails con gmail desde la línea de comandos

Desde que linux es linux el hombre se ha preguntado por la manera más eficiente para comunicarse con otras personas. Hmmmm, perdón por ese inicio tan raro, es que acabo de la Última Pregunta de Asimov =). Bueno, el caso es que al empezar a programar siempre surge la necesidad de mandar correos y no todo mundo tiene a su disposición un servidor de correo instalado localmente desde el cual mandarlos.

En linux existe una aplicación llamada mail que otros programas (como PHP) utilizan para mandar correos. En realidad hay muchas versiones de este programa. La que encontré que era más sencilla de instalar y configurar en ubuntu fue heirloom-mailx (antes se llamaba nail).

sudo apt-get install heirloom-mailx

Este programita te permite mandar correos utilizando cualquier servidor de correo del que dispongas. Por ejemplo, si tienes una cuenta de correo en gmail, puedes configurar mailx con un sencillo archivo en tu HOME ~/.mailrc:

set smtp=smtp.gmail.com:587
set smtp-use-starttls
set ssl-verify=strict
set smtp-auth-user=tucuenta@gmail.com
set smtp-auth-password=muymuyseguro

Si quieres probarlo intenta mandar un correo electrónico con

mail tuamigo@gmail.com

Te va a pedir escribir el título de tu mail y después el contenido del correo, cuando hayas terminado de escribirlo terminalo con Ctrl+D (que manda la señal de End Of Output a la consola... o algo así).

Usando wget para bajar canciones o imágenes

Un cliente me tiene que mandar varias imágenes (logotipos, fotos) para poner en el sitio web que les estamos haciendo y lo que se le hizo más fácil fue subirlo todo a una carpeta en el servidor web que tienen contratado. Me dice que tiene más cosas y que las va a ir subiendo durante la semana.

Yo quiero bajarlo todo, pero que flojera hacerlo archivo por archivo. Y luego queda el problema de estar revisando la página por archivos nuevos. Tanto trabajo manual va a reducir mi productividad y no podré estar checando mi Google Reader. Por suerte estamos en linux ;-)

GNU/Linux tiene una herramienta que queda como anillo al dedo para este tipo de tareas y se llama wget. Sirve para bajar archivos de Internet y soporta HTTP, HTTPS y FTP. Como dice en su documentación, sus principales ventajas son:

  • que no es interactivo, lo que permite utilizarlo sin necesidad de intervención por el usuario ;-)
  • te permite continuar descargas canceladas (para cuando se te cae la conexión por usar la wifi)
  • sabe distinguir entre archivos que ya bajaste y los nuevos de la página
  • es recursivo (te podrías bajar todo un sitio web completito con un solo comando)

Entonces, manos a la obra.

wget -r -l1 -np -nd -A.jpg,.png,.gif -N http://dominiodelcliente.com/folder_de_imagenes/

Este comando lo que hace es:

  • -r. bajar todo lo que este en la dirección recursivamente, es decir, seguir todas las ligas que aparezcan en la página (recursive)
  • -l1. pero sólo hasta un nivel de recursividad, es decir, sin seguir las ligas que aparezcan en las otras páginas que se baje (level 1)
  • -np. Sin bajarse los archivos de carpetas en niveles superiores (no parent)
  • -nd. Bajandolo todo en un sólo directorio (no directories)
  • -A. Bajando solamente los archivos que terminen en .gif o .png o .jpg. (Accept)
  • -N. Y bajando solamente los archivos nuevos que no existan ya en la carpeta a menos que el del servidor sea más nuevo

Este archivo lo puedo correr una vez al día, o ponerlo en el cron y me bajara cada vez los archivos nuevos que vaya encontrando. Chido.

Todo esto fue fácil de averiguar gracias al poder de google, este buen tutorial escrito en inglés y el man page de wget.

Subscribe to RSS - consola
Drupal theme by Kiwi Themes.