Top 10 herramientas y trucos para la línea de comandos, LifeHacker
Jueves, 31 de julio de 2008 por cybercaronte
Estos de LifeHacker son unos genios, cada lista top que hacen es espectacular:
http://lifehacker.com/399468/top-10-command-line-tools
Para Windows, Linux y Mac (sobre todo Linux).
Todos vamos a la línea de comandos cuando queremos hacer algo más rápido o algo crítico de nuestro sistema. De esta forma también te sientes un poco más seguro al creer que tienes el control como en los viejos equipos cuando no existían las GUI para los SO.
Vamos con la lista:
10. Personaliza tu prompt: este enlace lo explica muy bien. Por ejemplo, hay una serie de comandos en un fichero que puedes modificar para cambiar el color y la forma del prompt, estos son los ficheros según el SO:
MAC .bash_profile
Cygwin (Windows) .profile
Linux .bashrc
9. Fozar una acción con sudo !!
Esto nos ha pasado a más de uno seguro, estas tecleando una secuencia larga de una operación en Linux y cuando pulsas enter te das cuenta que el comando necesita privilegios de superusuario … pues puedes usar este comando:
sudo !!
y repetirá el último comando introducido pero con privilegios de root.
8. Crear múltiples directorios en Vista y XP
Con el comando md puedes crear varias carpetas a la vez. También elimina el problema de tener que poner “\” en cada espacio en blanco cuando en Vista creas una carpeta que tiene de nombre una frase con espacios en blanco entre cada palabra.
Por ejemplo:
md “Directorio 1″ “Directorio 2″ “Directorio 3″
7. Filtrar largas listas con grep
Usando pipes y grep puedes filtrar mucha información que devuelven comandos. Por ejemplo, en Linux quieres eliminar el proceso que usa Thunderbird, pero sabes que para matarlo necesitas el número de id, pues escribe esto:
ps aux | grep bird
Esto hace el comando ps que devuelve los procesos activos, y la salida la envía al comando grep filtrando por lo que contenga “bird”, dándote el número del PID para poder hacerle el kill.
6. El comando man y otros
Esto ya lo sabemos, cuando quieras ayuda en Linux sobre un comando:
man comando
Pero también puedes intentar esto:
whatis comando
o poner –help al final del comando.
apropos comando
listado con comandos relacionados al que has introducido
which comando
te indica la versión del comando.
whereis comando
te indica en qué directorio está el ejecutable, las páginas del manual y el código fuente (si está disponible).
5. Controla el consumo de CPU de los procesos con el comando top
En Mac y Linux puedes usar este comando top:
top -u
Mostrará todos los procesos ordenados por consumo de CPU y más información. Luego puedes hacer un kill al que está colgando el sistema.
4. Saca partido al comando wget
Tiene más usos que descargar un fichero de una URL concreta, puedes incluso descargarte una web completa, hacer grandes descargas y pausarlas para luego seguir, automatizar descargas, etc …
El uso de este comando wget podría ser una entrada individual para el blog, aquí tienes un enlace donde vas a flipar con todo lo que puedes hacer:
http://lifehacker.com/software/downloads/geek-to-live-mastering-wget-161202.php
3. Buscando con el comando find
Igual que antes, es tan extenso lo que se puede hacer que mejor será que mires en esta dirección, es impresionante las búsquedas espectaculares que puedes realizar con este comando find:
http://www.debuntu.org/how-to-find-files-on-your-computer-with-find
Por ejemplo, cómo buscar ficheros *.mpg o *.avi en mi equipo:
find /home -name ‘*.mpg’ -o -name ‘*.avi’
2. Haciendo backups con el comando rsync
Si lo usas correctamente, puedes olvidarte de los programas de backup. Aquí tienes un tutorial rsync:
http://lifehacker.com/software/rsync/geek-to-live–mirror-files-across-systems-with-rsync-196122.php
1. Hacer alias de los comandos más usados
Cuando ya tengas varios comandos que usas frecuentemente, puedes verlos en Linux con este comando:
history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -r
Te sacará un ranking con los comandos más utilizados. Luego ya podrás crear alias de los más usados hacerlos fáciles de recordar:
http://lifehacker.com/398258/ten-handy-bash-aliases-for-linux-users
Por ejemplo:
alias ranking=’history|awk ‘{print $2}’|awk ‘BEGIN {FS=”|”} {print $1}’|sort|uniq -c|sort -r’
Esto asocia la palabra “ranking” a todo del comando que está entre comillas, con lo cual hará el mismo efecto el teclear “ranking” que todo el chorizo del history
Espero que os sirva de ayuda.
Related posts:

















Yo pondría un añadido al número 4: además de wget, pondría curl, que es increíblemente potente. Entre otras muchas cosas, puedes poner expresiones regulares en la URL.
Por darle un uso práctico, digamos que has pedido las fotos aquellas de tu prima cuando estuvísteis en el campo, y da la casualida de que las tienes el la web http://www.fotosdemiprima.com/prima1/foto07.jpg (por poner un ejemplo totalmente inventado e inexistente), puedes descargártelas todas de un tirón con “curl -O http://www.fotosdemiprima.com/prima1/foto00-99.jpg”
Y bueno, quien dice prima, dice cualquier cosa… ;-P
Leches, esto se come los corchetes…
A ver ahora. La dirección que quería poner era:
curl -O http://www.fotosdemiprima.com/prima1/foto\[00-99\].jpg
Mi reino por un botón de previsualización de los comentarios…
DuenD, si tu reino es todo el hardware y la electrónica que tienes en tu casa (consolas retro, MSX, etc …) ahora mismo te lo creo
A ver si puedo hacer algo.
Un abrazo.
Hola,
En todos los foros que visitado ninguno da con la respuesta:
En Debian creo un alias, dicho alias ejecuta 3 comandos, por ejemplo “date”, “pwd”, “whoami” cuando lo ejecuto, la salida por pantalla es correcta… hasta aqui todo bien (esperado) ahora bien, cuando direcciono este alias a un fichero por ejemplo “info” y lo direcciono con “>” o bien “>>” a “info.txt” el archivo solo guarda el resultado del último comando.
Como puedo hacer que los 2 primeros comandos tambien se guarden en el fichero??
Gracias
A ver, el alias lo harás con un comando del tipo
alias xx=”date;pwd;whoami”
cada comando, separado por el punto y coma, es como si se ejecutara en serie, primero uno, luego otro y luego el otro, y toma sus argumentos independientemente, y sus descriptores de entrada y salida estándar son independientes, por eso, cuando el shell hace la sustitución del alias, al poner “xx > prueba”, lo que se ejecuta es “date;pwd;whoami > prueba” y sólo el último está siendo redireccionado.
Para solucionarlo (al menos el el shell bash, que es el que yo uso), basta con poner:
(xx)>prueba
y así redirige la salida de los tres comandos a la vez al fichero.
Esperamos haberte sido de ayuda.
Muchas gracias, ha funcionado perfectamente…
Es curioso, pero estas pequeñas cosas son las que no se encuentran en los libros, verdad?
Rick