Opciones Avanzadas de Copia de Archivos
En este paso, aprenderá sobre algunas opciones útiles del comando cp que pueden hacer que sus tareas de copia de archivos sean más eficientes.
Comencemos volviendo al directorio del proyecto:
cd ~/project
Preservando los Atributos del Archivo con -p
Cuando copia archivos, es posible que desee preservar los atributos originales del archivo, como las marcas de tiempo (timestamps), la propiedad (ownership) y los permisos. La opción -p le permite hacer esto:
cp -p data-files/apple.txt backup/apple_preserved.txt
Comparemos el archivo original y la copia preservada:
ls -l data-files/apple.txt backup/apple.txt backup/apple_preserved.txt
Notará que backup/apple_preserved.txt tiene la misma marca de tiempo que el archivo original, mientras que backup/apple.txt (que copiamos anteriormente sin la opción -p) tiene una marca de tiempo más reciente.
Creando Copias Recursivas con -r
Para copiar directorios junto con su contenido, debe usar la opción -r (recursiva). Creemos una estructura de directorios anidada para demostrar esto:
mkdir -p data-files/nested/deep
echo "This is a nested file." > data-files/nested/nested_file.txt
echo "This is a deep nested file." > data-files/nested/deep/deep_file.txt
Ahora, copiemos todo el directorio data-files y su contenido a una nueva ubicación:
cp -r data-files data-files-backup
Verifiquemos que la estructura de directorios y los archivos se copiaron correctamente:
find data-files-backup -type f | sort
Debería ver una salida que enumera todos los archivos en la estructura de directorios copiada:
data-files-backup/apple.txt
data-files-backup/grape.txt
data-files-backup/nested/deep/deep_file.txt
data-files-backup/nested/nested_file.txt
data-files-backup/orange.txt
Modo Interactivo con -i
Al copiar archivos, puede sobrescribir accidentalmente los archivos existentes. La opción -i (interactivo) le pregunta antes de sobrescribir cualquier archivo:
cp -i data-files/apple.txt backup/apple.txt
Dado que backup/apple.txt ya existe, verá un mensaje que le pregunta si desea sobrescribirlo:
cp: overwrite 'backup/apple.txt'?
Puede responder con y para sobrescribir o n para cancelar.
Estas opciones avanzadas hacen que el comando cp sea aún más potente y flexible para sus necesidades de administración de archivos.