Comando cp de Linux
Manual completo de comandos Linux
El comando cp de Linux (acrónimo completo en inglés: copy file) se utiliza principalmente para copiar archivos o directorios.
Con el comando cp, los usuarios pueden copiar archivos o directorios de una ubicación a otra, y al mismo tiempo pueden optar por conservar los atributos del archivo original (como permisos, marcas de tiempo, etc.).
Sintaxis
cp [options] source dest o cp [选项] 源文件 目标文件
Donde source (archivo fuente) representa la ruta del archivo o directorio que se va a copiar, y dest (archivo de destino) representa la ruta del archivo o directorio después de la copia.
Descripción de opciones:
-ro-R: Copia recursivamente directorios y su contenido (se usa para copiar directorios).-i: Modo interactivo, solicita confirmación al usuario antes de sobrescribir.-f: Copia forzada, sobrescribe el archivo de destino sin preguntar.-v: Muestra el proceso de copia detallado (verbose).-p: Conserva los atributos originales del archivo (como permisos, marcas de tiempo, etc.).-a: Modo de archivo, equivalente a-dpR, conserva todos los atributos de archivo y copia directorios recursivamente.-u: Solo copia cuando el archivo fuente es más nuevo que el archivo de destino (modo de actualización).-l: Crea enlaces duros en lugar de copiar archivos.-s: Crea enlaces simbólicos (enlaces blandos) en lugar de copiar archivos.
Ejemplos
1. Copiar un archivo a un directorio de destino
cp file.txt /path/to/destination/
Copie file.txt en el directorio /path/to/destination/.
2. Copiar un archivo y renombrarlo
cp file.txt /path/to/destination/newfile.txt
Copie file.txt en el directorio /path/to/destination/ y renómbrelo como newfile.txt.
3. Copiar directorios recursivamente
cp -r /path/to/source_dir /path/to/destination/
Copie recursivamente el directorio source_dir y su contenido en el directorio destination.
4. Copiar en modo interactivo
cp -i file.txt /path/to/destination/
Si ya existe un archivo con el mismo nombre en la ubicación de destino, se solicitará al usuario que confirme si desea sobrescribirlo.
5. Conservar atributos de archivo
cp -p file.txt /path/to/destination/
Copie el archivo y conserve sus atributos originales (como permisos, marcas de tiempo, etc.).
6. Copiar solo archivos más recientes
cp -u file.txt /path/to/destination/
Solo copia cuando file.txt es más nuevo que el archivo de destino.
7. Mostrar el proceso de copia
cp -v file.txt /path/to/destination/
Muestra información detallada de la copia.
8. Crear enlaces duros o enlaces simbólicos
cp -l file.txt /path/to/destination/ # 创建硬链接 cp -s file.txt /path/to/destination/ # 创建符号链接
9. Copiar varios archivos a un directorio
cp file1.txt file2.txt /path/to/destination/
Copie varios archivos al directorio de destino.
10. Copiar con comodines
cp *.txt /path/to/destination/
Copie todos los archivos .txt al directorio de destino.
11. Combinar con el comando find para copiar archivos específicos
find /path/to/source -name "*.log" -exec cp {} /path/to/destination/ \;Busque y copie todos los archivos .log al directorio de destino.
Lo anterior son solo algunos usos comunes del comando cp. Puede ejecutar elman cpcomando para ver más opciones y usos.
Notas
Si la ruta de destino es un directorio,
cpcopiará el archivo o directorio de origen en ese directorio.Si la ruta de destino es un nombre de archivo,
cpcopiará el archivo de origen y lo renombrará con el nombre de archivo de destino.Al copiar directorios, debe usar la
-ro-Ropción, de lo contrario se mostrará un error.Si el archivo de destino ya existe, de forma predeterminada
cplo sobrescribirá (a menos que use la-iopción).