Copiar, Mover y Renombrar archivos y directorios

Ya se ha aprendido algo de la estructura de directorios; y se ha aprendido a crear y manejar archivos.

Pero se puede ir más allá y no hay porque quedarse con los cambios que se han hecho. ¿Qué pasa si se quiere renombrar y/o mover archivos y directorios?

Vamos con el comando copy.

Copiar archivos

Como muchas características Linux, hay una variedad de opciones a elegir para manipular archivos y directorios. Se puede usar comodines al copiar, mover o borrar archivos y directorios.

Básicamente, copy no es más complejo que esto:

cp <source> <destination>
	    

así que para copiar sneakers.txt al directorio tigger en el directorio de login, basta teclear:

cp sneakers.txt tigger
	    

Nótese que se ha utilizado path relativo para copiar el archivo. Se puede usar paths relativos y absolutos con cp. Nuestro directorio de login es el directorio padre del directorio tigger; lo que significa que tigger está un directorio por debajo del nuestro.

Lea la página de manual de cp (man cp) para ver la lista completa de opciones disponibles para cp. Pero entre las opciones para cp están:

Usando cp en solitario, no se ve mucho al ejecutar el comando. Usar una opción, como -i, puede hacer el proceso más útil, porque si se quiere copiar un archivo a un lugar que contiene un archivo con el mismo nombre, se pedirá primero si realmente se quiere sobreescribir -- lo que implica reemplazar -- el archivo que ya está allí.

Ahora que el archivo sneakers.txt está en el directorio tigger, vamos a usar cp -i para copiar el archivo al mismo lugar.

[newuser@localhost newuser]$ cp -i sneakers.txt tigger
cp: overwrite 'tigger/sneakers.txt'?
	    

Para sobreescribir el archivo, pulsar Y y luego Enter. Si no se quiere sobreescribir el fichero basta con pulsar N y Enter.

Mover archivos

Para mover archivos, úsese mv (man mv), que es similar a cp command, excepto que con mv el archivo se mueve fisicamente de un lugar a otro, en vez de duplicarse, como con cp.

Opciones comunes disponibles con mv:

Si se quiere mover un archivo del directorio de login a otro sitio, se tecleará:

mv sneakers.txt tigger
	    

o, mv sneakers.txt /home/newuser /home/newuser/tigger.

Renombrar archivos

Ya se ha cubierto bastante sobre renombrar, porque al copiar o mover, también se puede renombrar.

Para copiar sneakers.txt del directorio de login al subdirectorio tigger, basta teclear:

cp sneakers.txt tigger
	    

Para copiar y renombrar el archivo de sneakers.txt a piglet.txt, basta teclear:

cp sneakers.txt tigger/piglet.txt
	    

Para mover y renombrar el archivo, sustituir mv por cp en el ejemplo.

Si se hace cd a tigger y se usa ls, se verá el archivo piglet.txt.

Si se quiere renombrar sin cambiar de directorio, basta con hacer mv en el directorio actual:

mv  sneakers.txt piglet.txt
	    

Borrar archivos y subdirectorios

Se habló de crear archivos con el comando touch y utilizando redirección en Capítulo 15. Y se creó el subdirectorio tigger utilizando mkdir.

Pero no se ha hablado de como borrar archivos y subdirectorios

Borrar archivos y directorios con el comando rm (man rm) es simple y directo.

Cojamos piglet.txt, y borrémoslo de tigger con el comando rm:

rm piglet.txt
	    

Si no se quería borrar es muy tarde. Es por eso que la opción -i (interactivo) es muy útil, porque da una segunda oportunidad de pensar si realmente se quiere eliminar el archivo.

[newuser@localhost newuser]$ rm -i piglet.txt
rm: remove 'piglet.txt'?
	    

También se puede borrar el archivo usando comondines, *, pero séa cuidadoso, porque se puede borrar archivos que no se quería tirar.

Para eliminar archivos utilizando comodines, se teclearía:

rm pig*
	    

Se puede eliminar más de un archivo con un solo comando, como en:

rm piglet.txt sneakers.txt
	    

Opciones para eliminar archivos -- y directorios --:

Para eliminar directorios con rm, hay que usar la opción -r.

Por ejemplo, si se quiere remover recursivamente el directorio tigger se teclearía:

rm -r tigger
	    

Y si se quieren combinar opciones, como forzar borrado recursivo, se puede teclear:

rm -rf tigger
	    

AtenciónSea cuidadoso
 

rm es muy potente, y puede borrar el sistema entero. Si se es root y se teclea el sencillo comando rm -rf / se está acabado -- como una serpiente que se muerde la cola, el sistema borrará recursivamente todo en en sistema.

Una alternativa segura a rm para eliminar directorios es rmdir. Con este comando, no se permite utilizar borrado recursivo, así que un directorio con archivos no será borrado.

Léase la página de manual de rmdir tecleando man rmdir para saber más sobre el comando.