Clonar todo un disco duro consola linux

Listas las unidades conectadas al sistema

df -h

El método anterior nos servirá para clonar una partición. Si lo que queremos es clonar todo un disco duro, el disco de salida tiene que ser del mismo tamaño o más grande que el disco de entrada. Clonaremos el disco /sdb en /sdc con este comando:

dd if=/dev/sdb of=/dev/sdc

Si queremos comprobar el estado de los discos tras la clonación, usaremos este otro comando:

fdisk -l /dev/sdb /dev/sdc

Extraer parte de un archivo tar

Supongamos que tenemos esta estructura de directorios y archivos:

directorio/
|-- subdirectorio-1
|   |-- archivo-11.txt
|   `-- archivo-12.dat
|-- subdirectorio-2
|   `-- archivo-20.ogg
`-- subdirectorio-3

Hemos creado un archivo TAR que contiene este árbol, y lo hemos guardado con el nombre directorio.tar, Posteriormente queremos mostrar el contenido de ese archivo *.tar, lo hacemos de la siguiente forma:

$ tar tvf directorio.tar
drwxr-xr-x usuario/grupo   0 2008-12-05 16:51 directorio/
drwxr-xr-x usuario/grupo   0 2008-12-05 16:51 directorio/subdirectorio-3/
drwxr-xr-x usuario/grupo   0 2008-12-05 16:52 directorio/subdirectorio-1/
-rw-r--r-- usuario/grupo   0 2008-12-05 16:51 directorio/subdirectorio-1/archivo-11.txt
-rw-r--r-- usuario/grupo   0 2008-12-05 16:51 directorio/subdirectorio-1/archivo-12.dat
drwxr-xr-x usuario/grupo   0 2008-12-05 16:52 directorio/subdirectorio-2/
-rw-r--r-- usuario/grupo   0 2008-12-05 16:52 directorio/subdirectorio-2/archivo-20.ogg

Y finalmente, si lo que queremos realmente es extraer sólo uno de los subdirectorios, haremos lo siguiente:

$ tar xvf directorio.tar directorio/subdirectorio-1
directorio/subdirectorio-1/
directorio/subdirectorio-1/archivo-11.txt
directorio/subdirectorio-1/archivo-12.dat

En este caso hemos extraido un subdirectorio entero, pero podemos extraer archivos concretos, además podemos usar wildcards como * o ? en el comando.

¿Y que pasa con los archivos comprimidos con Gzip o con Bzip2? Pues los comandos son prácticamente los mismos, sólo tenemos que añadir la letra z en caso de *.tar.gz o la letra j en el caso de *.tar.bz2.

Borrar el history del bash?

La instrucción que nos deja borra el histórico del bash es:

# history -c

Pero yendo un opquito más lejos podemos hacer que no se nos vean las instrucciones de determinado servidor o equipo de escritorio.

Con sólo copiar estas lineas en ~/.bashrc, al salir de la sesión tendremos borrado el history siempre.

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