Geekly Planet
Technology & Misc Ravings
31 - VII - 2010

Esto es un meme que lei por ahi, me pareció curioso asi que lo hago (eso si, un poco modificado)

Choms: ~ Que coño quieres ahora? hist|awk ’1 { if ( $1==”sudo”) { print $1,$2 } else { print $1 } }’|sort|uniq -c|sort -rn|head -10
255 S
250 Ss
177 nano
116 cd
100 ls
83 sudo nano
67 sn
65 Syu
64 htop
49 sudo ifconfig

Vale, a parte de la coña de que mi consola me insulta (creedme que dice más barbaridades a parte de lo de “que coño quieres ahora?”…) basicamente porque la tengo “tuneada” a más no poder, el comando tambien lo tuve que modificar del original de los otros memes, porque el que encontré estaba pensado para Bash y yo uso Zsh, que es bastante más potente, estable y sobre todo muchisimo más útil (Si quereis saber más, poneos a seguir enlaces, recomiendo que visiteis el artículo de la wiki de Arch Linux).

Pues bien, como sabeis que me gusta daros clase de programación :P os voy a desglosar un poco el comando.

hist|awk ’1 { if ( $1==”sudo”) { print $1,$2 } else { print $1 } }’|sort|uniq -c|sort -rn|head -10

hist: es una abreviatura que usamos en Zsh para mirar el historial, ya que es distinto al historial que se usa el Bash. Basicamente hist es un alias que tengo puesto en el .zshrc, copio la linea… alias hist=”grep ‘$1′ /home/user/.zsh_history”

awk es un interprete de comandos, un lenguaje de programación muy basico, podeis encontrar un tutorial en español aqui. Basicamente lo que hago es pedir la primera palabra ($1) de cada lína devuelta por el comando hist y comparo si esa palabra coincide con la palabra “sudo“, si coincide imprimo las 2 primeras palabras ($1,$2), que es básicamente sudo comando y si no coincide solo uso la primera palabra que es el comando.

El resto de comandos lo que hace es ordenar lo que te ha devuelto, luego coge solo una vez cada palabra para que no se repitan, las vuelve a ordenar esta vez por orden de repetición y las numera. Por último coge las 10 primeras y las muestra. Así tenemos la lista de los 10 comandos que más usas en Linux o cualquier sistema *nix.

Ahora como curiosidad, los comandos de mi lista:

S – Instalar programa, es un alias para el yaourt, escribes S paquete y te instala el paquete.

Ss – Buscar programa, lo mismo que el S pero para buscarlo.

Syu – Otro alias para actualizar todo el sistema.

nano, sudo nano y sn – El editor de texto en consola Nano… sn es sudo nano cuando me canse de estar escribiendo sudo nano y le hice un alias xD

cd y ls – está claro, no? xD

htop – Visor de procesos.

ifconfig – Para configurar la red.


RSS feed para los comentarios de esta entrada. TrackBack URL


Deja un comentario

Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen