Cómo forzar la sobrescritura del comando cp sin confirmación


El comando cp (que significa copia) es uno de los comandos más utilizados en Linux y otros sistemas operativos similares a UNIX para copiar archivos y directorios. En esta guía, mostraremos cómo forzar el comando cp para sobrescribir una operación de copia sin confirmación en Linux.

Por lo general, cuando ejecuta un comando cp, sobrescribe el (los) archivo (s) de destino o directorio como se muestra.

# cp bin/git_pull_frontend.sh test/git_pull_frontend.sh

Para ejecutar cp en modo interactivo para que le pregunte antes de sobrescribir un archivo o directorio existente, use el indicador -i como se muestra.

# cp -i bin/git_pull_frontend.sh project1/git_pull_frontend.sh

Por defecto, las distribuciones modernas de Linux, especialmente las de la familia Red Hat Enterprise Linux (RHEL), vienen con un alias para el comando cp que hace que el usuario ejecute el comando cp en modo interactivo. Este puede no ser el caso de los derivados de Debian y Ubuntu.

Para verificar todos sus alias predeterminados, ejecute el comando alias como se muestra.

# alias

El alias resaltado en la captura de pantalla anterior implica que cuando ejecuta el comando, de forma predeterminada se ejecutará en modo interactivo. Incluso cuando use el comando yes , el shell le pedirá que confirme la sobrescritura.

# yes | cp -r bin test

La mejor manera de forzar la sobrescritura es usar una barra inclinada hacia atrás antes del comando cp como se muestra en el siguiente ejemplo. Aquí, estamos copiando el contenido del directorio bin al directorio test .

# \cp -r bin test

Alternativamente, puede eliminar el alias de cp para la sesión actual y luego ejecutar su comando cp en el modo no interactivo.

# unalias cp
# cp -r bin test

Para obtener más información, consulte la página de manual del comando cp.

# man cp

Si tiene alguna pregunta, consúltenos a través del formulario de comentarios a continuación.