domingo, 26 de septiembre de 2010

Hojas de trucos (cheat sheet)

Al igual que el cubo de comandos para ubuntu publicado en linuxzone y jhosman.com también podemos encontrar un buen listado de hoja de trucos para muchos programas, lenguajes de programación y otros sistemas operativos (incluido Linux y Solaris) en la pagina de cheat-sheets.org (que si, que es mas bonito el cubo de comandos para ubuntu y que ademas esta en español).

Yo particularmente tengo impresos y algo ya usados los de Java, PHP, Solaris y Linux.

Adicionalmente me dio por buscar en google images por "cheat sheet" y que sorpresa la que me lleve.

Conocen otra pagina que tenga algunos cheat sheet (Hoja de trucos).

Core Java(TM), Volume I--Fundamentals (8th Edition)

Buscando dentro de los archivos (find)

Muchas veces necesito buscar dentro de archivos logs o incluso dentro de mis propias notas que a propósito hago en texto plano (sin formato con extensión .txt) usando Gedit o el mismo comando vi así que grabe en mi memoria este comando.

- Usando una terminal o consola (gnome-terminal) escriba el siguiente comando.


$ find . -type f -exec grep -i PALABRA {} \; -print

DONDE:

find = El comando para encontrar cosas desde la lina de comandos
. = Le indica que inicie la busqueda desde la posicion en donde este ubicado (use el comando pwd para saber en que directorio esta y use el comando cd para moverse entre directorios).
-type = Le indica al comando find que busque dentro de algun tipo especifico de archivos.
f = Le indica que el tipo de archivo es file.
-exec = Le indica a find que ejecute otro comando dentro de cada archivo encontrado.
grep = El comando que permite buscar dentro de un archivo palabras o frases concretas (para frases es necesario usar comillas dobles "" )
-i = Le indica a grep que la palabra a buscar no importa que tenga mayúsculas o minúsculas.
{} \; = Le indica a find que termino la cadena de ejecución del comando exec.
-print = Muestra en que archivo se encontro la busqueda

Un ejemplo:
 $ cd /var/adm
 $ find . -type f -exec grep -i "err" {} \; -print
(...)
Aug 26 20:08:01 lab sendmail[20814]: [ID 801593 mail.crit] o7R081SO020812: SYSERR(root): lab.lab.com. config error: mail loops back to me (MX problem?)
Aug 27 20:08:01 lab sendmail[26862]: [ID 801593 mail.crit] o7S08187026860: SYSERR(root): lab.lab.com. config error: mail loops back to me (MX problem?)
./messages.3

(...)

Algunas ayudas adicionales son:
- Pagina que construye un comando find. http://find.unixpin.com/
- Tutorial de comando find : find_mini_tutorial.shtml
- Algunas opciones mas del comando find: bigadmin/shellme/  sección searching items.
- Pagina del comando man para find : http://docs.sun.com/

VI Editor Pocket Reference