domingo, 25 de noviembre de 2012


Copiando, moviendo, renombrando y borrando archivos y directorios

Cualquier usuario de computadoras, tarde o temprano, debe copiar, mover o renombrar algún fichero. Independientemente de que utilice la línea de comandos o algún interfaz gráfico. Tanto si estás clonando un fichero existente para utilizarlo como punto de partida de un nuevo trabajo, como si estás reorganizando tus ficheros y directorios para hacerlos más fáciles de encontrar, el copiado y traslado de ficheros y directorios es tan fácil de hacer mediante la línea de comandos como lo es con la interfaz gráfica, obviando el hecho de que debes teclear en vez de apuntar y pulsar. En muchos casos, las tropecientas opciones que te ofrecen los comandos de Linux te dan un control más preciso sobre operaciones en las que un interfaz gráfico genérico no puede alcanzar tanto detalle. Continuando con la tradición Unix/Linux de "no teclear jamás más letras que las necesarias", el comando que se usa para copiar ficheros y directorios es el comando cp. Para copiar un fichero hacia otro, simplemente ejecuta el comando cp, seguido por el nombre del fichero existente, y luego el nombre del fichero que va a ser el destinatario de la copia. Por ejemplo, para copiar un fichero llamadofichero.txt hacia el nuevo fichero llamado nuevo_fichero.txt, deberías teclear:
A diferencia del comando cp, el comando mv no necesita opciones especiales para mover o renombrar directorios. Por ejemplo, para renombrar el directorio pruebas hacia copia_de_seguridad, teclearías lo siguiente:
Igual que hace cp, si el directorio copia_de_seguridad ya existía, el comando mv movería el directorio pruebas hacia el interior de copia_de_seguridad, conservando su nombre anterior. El comando mvtambién dispone de una opción -v (verboso) para mostrar qué está ocurriendo durante las operaciones que hace mv, pero es menos informativo cuando lo que haces es simplemente renombrar un directorio, como puedes ver en el ejemplo siguiente:
En este caso, mv sólo necesita renombrar el directorio. Sin embargo, debido al modo que tiene Linux de crear sistemas de ficheros, el mover directorios de un sistema de ficheros a otro sistema de ficheros residente en particiones de disco diferentes exige que cada fichero y subdirectorio se copie antes de ser borrado por mv, como en el siguiente ejemplo:
Como puedes ver, la mayor parte de lo que hace mv es muy similar a lo que hace cp. En el ejemplo vemos cómo se usa el comando df para demostrar que el directorio actual (".") y el directorio destino (/media/pcsamba) están situados en sistemas de ficheros (y ordenadores) diferentes. Puedes ver las diferencias en la salida de texto verbosa del comando mv.
Igualmente que el copiar y mover, el borrar ficheros y directorios es una operación muy frecuente. Sea porque estás eliminando cosas para liberar espacio en disco para proyectos futuros, sea porque estás eliminando respaldos o proyectos que ya finalizaste, sea porque quieres borrar informaciones que no quieres que nadie más vea, es bastante fácil eliminar ficheros mediante la línea de comandos. El comando necesario se llama rm. Puedes ver que seguimos con la filosofía de "cuanto menos se teclee, mejor", y es la abreviatura del inglés remove (eliminar, borrar). Para eliminar un fichero en Linux, simplemente teclea el comando rm seguido por el nombre del fichero. Por ejemplo:
$ rm fichero.txt
Y adiós al fichero. Igual que cp, el comando rm acepta la opción -r (borrado recursivo) para que puedas eliminar directorios enteros. Por ejemplo, para eliminar permanentemente el directoriocopia_de_seguridad, teclearías:
$ rm -r copia_de_seguridad
CONSEJO
Puedes eliminar directorios vacíos con el comando rmdir, aunque es una situación poco frecuente. Es raro tener directorios vacíos por ahí porque normalmente cuando se crea un directorio es para guardar algo en él. Suelo utilizar el comando rm -r para borrar cualquier directorio, vacío o no, porque así no es necesario borrar a mano previamente su contenido. Hay gente para todo, así que decide el método tú mismo.
Si te has iniciado como usuario de Ubuntu procediendo de un sistema Microsoft Windows, puede que tengas algo de idea y sepas que es casi trivial recuperar ficheros borrados en Windows. Esto se debe a que Windows borra los ficheros eliminando la entrada de directorio que los identifica. No sucede así en Linux. Cuando borras un fichero o directorio en Linux, todo el espacio en disco asociado a ese fichero, directorio, y los contenidos de ese directorio, se devuelven a una lista general de espacio libre que tu sistema tiene disponible. Aunque en Linux se pueden recuperar los ficheros/directorios eliminados, es mucho más difícil de hacer que en Windows y requiere ayuda de alguien que conozca de verdad los detalles internos del sistema de ficheros (recordemos que hay bastantes más que en Windows y cada uno se gestiona internamente de una forma). El inconveniente de esto es que no puedes recuperar con facilidad los ficheros que hayas eliminado por error. Para ayudar a autoprotegerte de borrados accidentales, lee la sección Definiendo y usando alias para saber cómo configurar de forma permanente una versión segura del comando rm que te pida confirmación antes de eliminar algo.

No hay comentarios:

Publicar un comentario