Red Hat Linux 7.0: The Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Anterior | Capítulo 16. Trabajar con archivos y directorios | Siguiente |
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.
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:
-i -- interactivo. Pedir confirmación si se va a sobreescribir un archivo. Es una opción útil para prevenir el cometer errores.
-r -- recursivo. En vez de copiar archivos, copia el árbol de directorios entero, subdirectorios y todo, a otra localización.
-v -- verboso. Mostrará el progreso al copiar archivos.
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.
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:
-i -- interactivo. Preguntará si el archivo seleccionado sobreescribirá un archivo ya existente en destino. Es una buena opción, porque como la opción -i de cp, se da la oportunidad de asegurarse de que se quiere reemplazar un archivo.
-f -- forzar. Omite el modo interactivo y mueve sin preguntar. A menos que se sepa que se hace, esta opción no es conveniente; séa cuidadoso al usarla hasta que se esté cómodo con el sistema.
-v -- verboso. Muestra una lista de los archivos que se mueven.
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.
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 |
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 --:
-i -- interactivo. Pregunta para confirmar el borrado. Es útil.
-f -- forzar. Omite el modo interactivo y elimina archivo(s) sin preguntar. Puede no ser bueno, a menos que se sepa que se hace.
-v -- verboso. Muestra un listado de archivos según se eliminan.
-r -- recursivo. Al eliminar directorios se eliminan archivos y subdirectorios del directorio especificado. Esto también elimina directorios vacíos.
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 |
Sea 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.