5.5 Copiar, mover y eliminar archivos
Autora: Dra. Alejandra Rougon

Este trabajo está bajo la licencia Creative Commons Atribución-NonComercial 4.0 Licencia Internacional.
🔍 Objetivos de aprendizaje
Después de completar esta lección aprenderás a:
- copiar archivos y directorios
- mover archivos y directorios a otra ubicación
- eliminar archivos y directorios
- uso de wildcards (comodines) para seleccionar más de un archivo
cp
El comando cp es utilizado para copiar archivos y directorios. Puedes usarlo de diferentes maneras.
- para copiar un archivo a la misma ubicación pero con diferente nombre
cp file file.copy - para copiar un archivo a diferente ubicación con el mismo nombre
cp file new/location/file - para copiar un archivo a diferente ubicación con diferente nombre
cp file new/location/file.copy
En los ejemplos anteriores hemos copiado un archivo que estaba en tu directorio de trabajo. También puedes copiar un archivo o directorio desde otra ubicación si especificas la ruta.
- copia desde la ubicación A a la ubicación B
cp /location/A/file /location/B/file - copia desde la ubicación A al directorio actual de trabajo
cp /location/A .
El actual directorio de trabajo se representa por un punto .
Ahora inténtalo en tu terminal virtual. También puedes regresar a la terminal en la que estabas trabajando en CS50 Sandbox https://sandbox.cs50.io/ en la pestaña de recent sandboxes.
Primero, ve a tu directorio home que es /root/sandbox/. Puedes hacerlo con cd. Y luego copia el archivo fruitall al directorio Documents. Luego verifica que se ha copiado. Cambia de directorio de trabajo con cd Documents y luego enlista el contenido. Deberías ver el archivo fruitall.
fruitall a la misma ubicación con otro nombre fruitall.copy y de nuevo verifícalo.
Recuerda que también puedes verificar el contenido del directorio en el explorador de archivos del lado izquierdo de tu terminal virtual, etiquetado como Filetree. Ahora que estamos en el directorio Documents, copiemos de tu directorio home al directorio Documents que es ahora to directorio de trabajo.
Tenemos que especificar la ubicación del directorio que queremos copiar. Podemos hacerlo utilizando la ruta relativa o la ruta absoluta. Aquí voy a usar la ruta relativa. Recuerda que los dos puntos .. se refieren a un directorio atrás. En otras palabras, el directorio que contiene nuestro directorio actual. Si queremos mantener el mismo nombre, podemos especificar la ubicación; que en este caso, es nuestro directorio de trabajo y puede ser especificado con un punto .
También podemos copiar el mismo archivo pero con un nombre diferente Readme.copy
cp mantendrá el archivo original. Si no quieres mantener el archivo original puedes usar mv.
mv
El comando mv moverá tu archivo ya sea a otra ubicación o a la misma ubicación pero con un nombre diferente. El archivo original se eliminará. Vamos a mover el archivo contents.txt de tu directorio home a Documents.
pwd. Ahora mueve el archivo fruitall de tu directorio home a Documents pero con un nombre direrente allfruits.
El archivo original fruitall ha sido eliminado y tenemos una copia de él en el directorio Documents llamado allfruits.
Ahora, usa el comando mv para cambiar el nombre de fruitall a new_fruitall. Puedes verificarlo con ls.
$ mv fruitall new_fruitall
$ ls
Genomes/ Readme.copy Readme.txt allfruits contents.txt fruitall.copy new_fruitall
$
rm & rmdir
El comando rm y rmdir son usados para eliminar archivos y directorios respectivamente. Ten en cuenta que para eliminar un directorio, este tiene que estar vacío. Ahora vamos a limpiar nuestro directorio de trabajo. Primero, asegúrate de que estás en tu directorio home. Luego enlista el contenido para ver qué archivos quieres borrar. Elimina el archivo fruit1.
$ cd
$ pwd
/root/sandbox
$ ls
Documents/ Readme.txt fruit1 fruit2
$ rm fruit1
rm: remove regular file 'fruit1'? y
y. Sin embargo, la mayoría de las terminales no preguntarán nada y sólo eliminarán el archivo inmediatamente.
Ahora, si quieres eliminar varios archivos al mismo tiempo, podemos usar wildcards (comodines). Se usan para ejecutar acciones en más de un archivo al mismo tiempo o para encontrar parte de una frase en un archivo de texto. De momento vamos a ver únicamente el wildcard asterisco *, el cual representa cualquier número de caracteres. Por ejemplo, ls gen* será capaz de enlistar los archivos gen gen1 genA.txt genes_prot y genomes. También puedes usar * para encontrar todos los archivos con una extensión en específico, como por ejemplo .pdf.
fruit
🔑 En esta lección has aprendido cómo:
- copiar archivos y directorios con
cp - mover archivos y directorios a una ubicación diferente con
mv - eliminar archivos y directorios
rm&rmdir - utilizar wildcards para seleccionar más de un archivo
*
