title: Cp (Unix)
text: # Cp (Unix)
  
  cp es un comando de la familia de los Sistemas Operativos Unix que permite copiar archivos y directorios. El comando posee tres modos de operación, indicados según su invocación, lo cual posibilita copiar un archivo en otro, uno o más archivos a un directorio, o bien un directorio en otro.
  Es muy importante aclarar que existen variaciones del comando cp entre los Sistemas Operativos de la familia Unix, básicamente con la adición de nuevos parámetros. Aun así respetan el estándar POSIX, lo cual garantiza una compatibilidad básica entre todos ellos.
  
  # Cp (Unix)
  ## Modo de operación
  
  El comando cp posee tres modos de operar, los cuales se deducen según los argumentos pasados en su invocación. Esto puede ser cuando se le indica a cp lo siguiente:
  * Dos archivos: el comando copia el contenido del primer archivo al segundo, creando este último si fuere necesario.
  * N archivos seguidos de un directorio: cp copia los N archivos en el directorio indicado, creándolos si fuera necesario.
  * Dos directorios: el comando copia todos los archivos y subdirectorios del primer directorio al segundo. Este modo requiere del parámetro r. Si el directorio usado como destino existe el primer directorio es copiado dentro del mismo, sino es creado.
  
  # Cp (Unix)
  ## Modo de uso
  
  La invocación del comando tiene el siguiente formato según la versión POSIX:
  En caso de tratarse que ORIGEN sea uno o varios archivos su invocación consiste en:
  Por otro lado en caso de que ORIGEN sea un directorio, obligatoriamente debe indicarse el uso recursivo (-r o -R) y se habilitan la utilización de determinados parámetros:
  A continuación se detallan los parámetros:
  
  # Cp (Unix)
  ## Modo de uso
  ### -f
  
      Si el destino no puede ser escrito, procede a eliminarlo. Esto se realiza previo a que cp comience a operar.
  
  # Cp (Unix)
  ## Modo de uso
  ### -p
  
      Se incluyen los atributos de ORIGEN en DESTINO. Esto se refiere a la fecha de modificación, fecha de acceso, ID de usuario y grupo, permisos, etc.
  
  # Cp (Unix)
  ## Modo de uso
  ### -i
  
      Consulta al usuario si sobrescribe o no el Destino en caso de que este exista.
  
  # Cp (Unix)
  ## Modo de uso
  ### -R, -r
  
      Copia recursivamente los directorios.
  
  # Cp (Unix)
  ## Modo de uso
  ### -H
  
      Si ORIGEN es un enlace simbólico opera con lo apuntado.
  
  # Cp (Unix)
  ## Modo de uso
  ### -L
  
      Ordena a cp a seguir los enlaces simbólicos dentro de ORIGEN, para que en DESTINO se copie lo apuntado, y no el propio enlace.
  
  # Cp (Unix)
  ## Modo de uso
  ### -P
  
      No se siguen los enlaces simbólicos dentro de ORIGEN, y por ende en DESTINO se copia el mismo enlace.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  
  Se listan a continuación alguno de los parámetros de la versión de cp presente en los Sistemas Operativos GNU/Linux:
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -a, --archive
  
      Equivalente a -dR --preserve=all
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -b, --backup[=MODO]
  
      Realiza una copia de seguridad (backup) por cada archivo existente en DESTINO
      MODO:
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'none', 'off'
  
            Nunca hacer backup.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'numbered', 't'
  
            Hacer backups numerados.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'existing', 'nil'
  
            Hacer backups numerados de aquellos archivos que lo posean, y simple backup de los otros.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'simple', 'never'
  
            Hacer backup simples.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -d
  
      equivalente a --no-dereference --preserve=links
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --force
  
      Equivalente al -f (POSIX)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --interactive
  
      Equivalente al -i (POSIX)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --dereference
  
      Equivalente al -L (POSIX)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -n, --no-clobber
  
      No sobrescribir un archivo existente. El parámetro -i queda sin efecto.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --no-dereference
  
      Equivalente al -P (POSIX)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -p, --preserve[=LISTA DE ATRIBUTOS]
  
      Equivalente a -p (POSIX). Si no se indican atributos la opción default es: mode, ownership, timestamps.
      LISTA DE ATRIBUTOS:
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'mode'
  
            preserva los bits de modo y las listas de control de acceso.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'ownership'
  
            conserva al usuario y grupo dueños.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'timestamps'
  
            conserva los tiempos de acceso y modificación.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'links'
  
            preserva en los archivos de destino cualquier enlace que exista entre los archivos de origen.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'context'
  
            conserva el contexto de seguridad de SELinux
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'xattr'
  
            conserva los atributos extendidos.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
        #### 'all'
  
            conserva todos los atributos.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --no-preserve[=LISTA DE ATRIBUTOS]
  
      No preserva los atributos. Su uso es idéntico a --preserve.
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### --recursive
  
      Equivalente a -r o -R (POSIX)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -S, --suffix=SUFFIX
  
      Define el sufijo usado en los backups (-b)
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -t, --target-directory=DIRECTORIO
  
      Copiar todos los archivos definidos en ORIGEN dentro de DIRECTORIO
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -T, --no-target-directory
  
      Considera a DESTINO como un archivo
  
  # Cp (Unix)
  ## Modo de uso
  ### Parámetros existentes en la versión GNU Coreutils
  #### -u, --update
  
      Copia solamente cuando ORIGEN es más nuevo que DESTINO, o bien este último no posee definido tiempo de modificación.
  
  # Cp (Unix)
  ## Ejemplos
  
  Creando una copia de un archivo en el mismo directorio::
  Copiar dos archivos en un directorio (misFotos/vacaciones):
  Copiar múltiples archivos usando comodines:
  Copiar un directorio, incluyendo sus archivos y subdirectorios, a otro directorio: