Borrar archivos viejos de más de x días
find /path/* -mtime +10 -exec rm {} \;
borra los archivos viejos de más 10 días.
reemplazar texto en varios archivos
grep -lr -e ‘xxx’ * | xargs sed -i ’s/xxx/yyy/g’
xxx es el texto a reemplazar y yyy el nuevo texto.
Montar imagen iso
mount /path/to/image-file.iso /mnt/cdrom -o loop
donde path/to es la ruta de ubicacion de la imagen ISO.
Backup del sistema
Backup :
tar cvpjf backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys /
Restore :
tar xvpfj backup.tar.bz2 -C /
wget con resume
Como me lo pidió un amigo después de leer lo del scp con resume, ahora vemos el wget con resume. Buscando en la man page, encontré el comando siguiente :
wget -c http://ar.php.net/get/php-5.2.3.tar.bz2/from/this/mirror
La opción -c sirve para el resume cuando se corta una transferencia.
scp con resume
Para poder usar scp con resume, útil en el caso de que se corte la conexión durante la transferencia de muchos datos, agregamos en nuestro archivo .bashrc la linea siguiente :
alias scpr="rsync --partial --progress --rsh=ssh"
Entonces, para transferir un archivo con resume, usaremos scpr en lugar de scp. Eso es posible gracias a nuestro amigo rsync, quien tiene esa capacidad de resume.
Copiar archivos desde un servidor a otro con rsync
Si necesitan mover muchos archivos desde un servidor a otro, rsync por ssh es una de la formas más convenientes :
rsync -vaz -e ssh archivos_a_mover usuario@servidor_distante:/directorio_para_archivos/
Opciones :
-v : verbose
-a : modo archive, ver manpage
-z : modo compresión
Como crear archivos de cualquier tamaño?
Se puede crear archivos de un tamaño determinado en Linux usand el comando dd. Por ejemplo :
$ cd /tmp
$ dd if=/dev/zero of=archivo.txt bs=1024 count=1048576
Este comando crea un archivo archivo.txt de 1GB (1024 * 1048576 bytes).
- if – archivo de entrada
- of – archivo de salida, el archivo que queremos crear
- bs – tamaño de block en bytes
- count – cantidad de blocks de tamaño bs
Para más información sobre el comando dd, consultar la man page
Como remplazar un texto en un archivo?
Con el comando sed es muy facíl. Por ejemplo para remplazar los por las en el archivo prueba.txt:
sed -i 's/los/las/g' prueba.txt
El parametro -i es para remplazar el texto directamente en el archivo.
Para remplazar los espacios por retornos de carro :
sed -i 's/ /\n/g' prueba.txt