jueves, 29 de enero de 2009

Script en bash para renombrar archivos...

Ultimamente ha sido muy comun cambiar secuencia de archivos, ya sea en el nombre o bien en el numero de la secuencia, asi que aqui el borrador del script en bash que haga eso ;)


#!/bin/bash

nombre=$1
inicio=$2
ext=$ext


for file in ` ls *.$ext`
do
if [ -e $nombre.$i.$ext ]
then
echo El $nombre.$i.$ext existe, cuidado puede sobreescribirse
else
echo mv $file $nombre.$i.$ext
mv $file $nombre.$i.$ext
i=` expr $i + 1 `
fi
done

miércoles, 21 de enero de 2009

Recuperando el Grub....

He tenido que recuperar el grub de una maquina con 2 discos SATA y 6 SO diferentes, se que hay muchas ligas a respecto; pero aqui esta una mas :P


1) usar un LiveCD
2) mount /dev/sdaX /mnt
mount -o bind /dev /mnt/dev
mount -o bind /proc /mnt/proc

3) chroot /mnt

4) grub-install /dev/sdaX

o

grub;
grub> find /boot/grub/stage1
grub> root (hdX,Y)
grub> setup (hd0)
grub> quit

5) shutdown -r now

Una vez que se tenga el grub instalado, el meter todas las opciones en el menu no deberia ser complicado.

miércoles, 7 de enero de 2009

Trucos con historial de bash ....

Limpiando cualquier rastro en el archivo de historial de bash.

Adicionar al ~/.bashrc las siguientes alias :

alias exit=’history -c && clear && exit’
alias logout='history -c && clear && logout'

Guardar los comandos ejecutados sin importar si hay varias terminales abiertas

Adicionar al ~/.bashrc

shopt -s histappend
PROMPT_COMMAND=`history -a`

Algunas variables del Bash

HISTSIZE Limita el número de instrucciones que tendra el archivo historico de comandos (almacenado en la variable $HISTFILE, normalmente es .bash_history). Su valor default es 500.

HISTFILE Nombre del archivo donde se guardara el historial.

HOSTNAME El nombre del host actual ( similar a uname -n).

LANG Usada para determinar el idioma.

LOGNAME Almacena el nombre de login.

MAILCHECK La frecuencia en segundos con que el Shell verificara correo en los archivos indicados por las variables $MAILPATH o $MAIL.

PATH Rutas que se usaran para localizar archivos.

PS1 Es el prompt principal.

PS2 Prompt de continuacion, es aquel signo que aparece despues de un cuando un comando no ha finalizado.

PWD Ruta completa del directorio actual ( similar a pwd ).

BASH_VERSION Imprime la version de bash

HISTCMD Imprime el numero en el indice del historial del comando actual.

HOSTTYPE Imprime el tipo de sistema en el que se esta ejecutando. Ejemplo de salida: i486, x86_64

OLDPWD El directorio anterior al actual ( similar a cd - ).

PPID EL PID del padre del proceso de shell. Es de solo lectura este valor.

UID EL UID del usuario, es de solo lectura esta variable.

HOME La ruta del directorio HOME del usuario (similar a cd )

IFS El separador interno. El valor default es ‘‘’’

TMOUT El tiempo que esperara el comando read antes de dar por terminada.

TMPDIR Ruta que tendra bash para generar archivos temporales necesarios para la ejecucion de comandos. No tiene un valor por default.