Busca comandos en la shell con Apropos

Es imposible conocer todos los comandos que nos ofrece cualquier shell, para solucionar este “problema” existen herramientas que nos hacen la vida más fácil, una de ellas es el comando apropos.

Apropos es un comando que busca dentro de las descripciones de cada una de las páginas man las palabras claves que le indiquemos pasandolas como argumentos. Estas palabras claves pueden contener comodines o ser la palabra clave exacta.

Por ejemplo, si quisieramos buscar comandos que sirven para copiar ficheros podríamos hacerlo del siguiente modo (suponiendo un sistema en idioma inglés):

$ apropos "copy files"
cp (1)               - copy files and directories
cpio (1)             - copy files to and from archives
install (1)          - copy files and set attributes

Como véis nos muestra tres comandos que pueden servirnos para realizar operaciones de copiado de ficheros. Otro ejemplo podría ser la búsqueda de un comando/programa para gestionar particiones:

$ apropos "partition"
addpart (8)          - simple wrapper around the "add partition" ioctl
cfdisk (8)           - Curses/slang based disk partition table manipulator for Linux
delpart (8)          - simple wrapper around the "del partition" ioctl
fdisk (8)            - Partition table manipulator for Linux
iostat (1)           - Report Central Processing Unit (CPU) statistics and input/output statistics for devices, partitions an...
mpartition (1)       - partition an MSDOS hard disk
partprobe (8)        - inform the OS of partition table changes
partx (8)            - telling the kernel about presence and numbering of on-disk partitions.
sfdisk (8)           - Partition table manipulator for Linux

Encontrar shells r57 y c99 oculta en el servidor

Aqui os dejo estas pequeñas lineas de comandos en linux para encontrar las shells r57 y c99 en nuestro servidor.

Estos comandos lo que hace es buscar con el comando find en el directory que le digamos y en el tipo de extension que querramos, y con xargs busca dentro del contenido del archivo la palabra r57 o c99 segun le indiquemos, y con awk nos muestra la ruta completa del archivo que contiene r57 y c99, en estos casos nos muestra rm -rf que es el comando para borrar cualquier archivo o carpeta sin preguntar, no recomiendo usar rm -rf sin antes examinar el contenido de los archivos personalmente, vaya a ser que la caguemos.

Para buscar la shell r57 en php

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell r57 en txt

find /var/www/  -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell r57 en gif

find /var/www/  -name "*".gif  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en php

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en jpg

find /var/www/  -name "*".jpg  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Para buscar la shell c99 en gif

find /var/www/  -name "*".gif  -type f -print0  | xargs -0 grep c99 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Si teneis alguna pregunta hacerla¡¡¡¡¡ no os calleis, que callarse y quedarse con dudas es de tontos¡¡¡

Instalar Gnome Shell en Ubuntu

Gnome Shell vendra en las proximas versiones de Ubuntu e introduce una nueva interacción con el escritorio Gnome a través de nuevas formas de lanzar aplicaciones, acceder a los documentos y organizar las ventanas abiertas, reemplazando el clasico menu (Aplicaciones-Lugares-Sistema) por uno único llamado Actividades. Si deseas probarlo ya, sigue estas sencillas instrucciones:

Para instalar Gnome Shell en Ubuntu 8.10

sudo apt-get install build-essential automake gnome-common flex bison curl git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev libgstreamer-plugins-base0.10-dev python2.5-dev.

Para instalar Gnome Shell en Ubuntu 9.04

sudo apt-get install build-essential automake gnome-common flex bison curl git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev libgstreamer-plugins-base0.10-dev python2.6-dev.

Una ves terminamos de instalar todos esos paquetes, el siguiente paso es meter los siguientes codigos uno por uno, en el terminal.

wget http://git.gnome.org/cgit/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh

bash gnome-shell-build-setup.sh

~/bin/jhbuild build

Ahora para poder correr Gnome-Shell simplemente metemos las siguientes lineas en el terminal, por cierto antes de probar Gnome Shell, se debe desactivar Compiz, es decir tenemos que usar el comando

metacity --replace
cd ~/gnome-shell/source/gnome-shell/src

./gnome-shell

./gnome-shell --replace

Y listo finalmente con todo este tenemos Gnome-Shell instalado en Ubuntu Jaunty o Ubuntu Intrepid, si alguien tiene algún error adicional, puede agregar un comentario y le colaboro con la instalacion.

Hacer backup del MBR en Linux desde la shell

Escribimos en una ventana de la shell, con el usuario root:

dd if=/dev/hda of=/home/usuario/backupMBR bs=512 count=1

Por supuesto, un backup no vale de nada si no se puede restaurar, para ello, arrancamos desde un Live CD (u otro medio) y escribimos:

dd if=/dev/sda/backupMBR of=/dev/hda bs=512 count=1

Siendo en estos casos:

  • hda: la unidad que corresponda.
  • sda: la unidad que corresponda.
  • backupMBR: El nombre del fichero donde almacenamos el backup.
  • if (input file): Especificamos el fichero de origen. Si este parámetro no se define se toma el stdin por defecto.
  • of (output file): Especificamos el fichero destino. Si este parámetro no se define se toma el stdout por defecto.
  • bs (block size): Especifica el tamaño del bloque, en bytes.
  • count (number of blocks): Especifica el numero de bloques del archivo a crear

Sustituir palabras en un archivo desde consola

Nada de editores de texto, ni de html ni nada por el estilo. Si quieres sustituir palabras que aparecen recurrentemente en un fichero de texto o archivo y necesitas hacerlo rápido, puedes hacerlo con el comando sed.
Por ejemplo, para sustituir un color en una hoja de estilos CSS:

sed ’s/#FF0000/#0000FF/g’ main.css