CP
Section: User Commands (1)
Updated: Noviembre 1998
Index Return to Main
Contents
NOMBRE
cp - copia ficheros y directorios
SINOPSIS
cp [opciones]fichero camino
cp [opciones]fichero... directorioOpciones de POSIX: [-fipRr]
Opciones de GNU (en la forma más corta):
[-abdfilprsuvxPR] [-S SUFIJO] [-V
{numbered,existing,simple}]
[--sparse=CUANDO] [--help] [--version]
[--]
DESCRIPCIÓN
cp copia ficheros (o, opcionalmente, directorios). Uno puede
bien copiar un fichero a un destino dado, o copiar arbitrariamente
varios ficheros a un directorio destino.
Si el último argumento se refiere a un directorio existente,
cp copia cada fichero fuente a ese directorio
(manteniendo el mismo nombre). En otro caso, si sólo se dan dos
ficheros, copia el primero sobre el segundo. Es un error que el
último argumento no sea un directorio y se den varios argumentos no
opciones.
(Así por ejemplo, `cp -r /a /b' copiará /a a /b/a y /a/x a
/b/a/x en caso de que /b ya exista, pero copiará /a a /b y /a/x a
/b/x si no existía /b con anterioridad.)
Los permisos de los ficheros y directorios creados serán los
mismos que los de los ficheros originales, aplicándoles la
operación de bits Y sobre 0777, y modificados por la umask del
usuario (a menos que se haya especificado la opción -p). (Pero
durante la copia recursiva de directorios, a los permisos finales
de los directorios recién creados se les aplicará la operación de
bits O con S_IRWXU (0777), de forma que se permita al proceso leer,
escribir y pasar por el directorio recién creado.)
No se hace nada cuando se copie un fichero a sí mismo (excepto
posiblemente producir un mensaje de error). Cuando se copie a un
fichero diferente que ya exista, se abrirá empleando la llamada
`open(path, O_WRONLY | O_TRUNC)'. Cuando se copia a un fichero
nuevo se crea empleando la llamada `open(path, O_WRONLY | O_CREAT,
mode)'. Si esto falla, el fichero existía, y se dio la opción -f,
cp intenta borrar (desenlazar) el fichero existente, y si
esto tiene éxito, procede como para un fichero nuevo.
OPCIONES DE POSIX
POSIX reconoce cuatro opciones y media:
- -f
- Borrar ficheros destino existentes si se requiere. (Vea más
arriba.)
- -i
- Pregunta si sobreescribir ficheros regulares destino
existentes. (Escribe una pregunta en stderr, y lee la respuesta
desde stdin. Sólo copia tras una respuesta afirmativa.)
- -p
- Preserva los permisos, el propietario y el grupo (incluyendo
los bits SUID y SGID) de los ficheros originales, más el tiempo de
última modificación y el de último acceso. En caso de que la
duplicación del propietario o grupo falle, se limpian los bits
setuid y setgid. (Observe que después de todo el fuente y la copia
pueden muy bien tener tiempos de último acceso diferentes, puesto
que la operación de copia es un acceso al fichero fuente.)
- -R
- Copia directorios recursivamente, y hace lo correcto cuando se
encuentran objetos distintos de ficheros ordinarios o directorios.
(Así, la copia de un FIFO un un fichero especial es un FIFO o un
fichero especial.)
- -r
- Copia directorios recursivamente, y hace algo sin especificar
con objetos distintos de ficheros ordinarios o directorios. (Así,
está permitido, de hecho recomendado, que la opción -r sea un
sinónimo de -R. Sin embargo, un comportamiento tonto, como el de la
presente versión de GNU de cp (vea más abajo) no está
prohibido.)
DETALLES DE GNU
Generalmente, los ficheros se escriben justo cuando se leen.
Para excepciones, vea la opción --sparse más abajo.
De forma predeterminada, `cp' no copia directorios (vea
-r arriba).
cp generalmente rehúye copiar un fichero sobre sí mismo,
con la siguiente excepción: si se especifica --force
--backup con fuente y dest idénticos, y se
refiere a un fichero regular, cp creará un fichero de
respaldo, bien regular o numerado, como se especifique de las
formas usuales. Esto es útil cuando uno quiere simplemente
construir un fichero de respaldo de un fichero existente antes de
cambiarlo.
OPCIONES DE GNU
- -a, --archive
- Preserva tanto como sea posible la estructura y atributos de
los ficheros originales en la copia (pero no preserva la estructura
de directorio). Equivalente a -dpR.
- -d, --no-dereference
- Copia los enlaces simbólicos como tales en lugar de copiar los
ficheros a los que apunten, y preserva las relaciones de los
enlaces duros entre ficheros fuente en las copias.
- -f, --force
- Elimina los ficheros de destino que ya existan sin pedir
confirmación.
- -i, --interactive
- Pregunta si sobreescribir ficheros de destino regulares
existentes.
- -l, --link
- En vez hacer copias de ficheros que no son directorios, hace
enlaces duros.
- -p, --preserve
- Preserva los permisos, el propietario, el grupo y los tiempos
de los ficheros originales.
- -P, --parents
- Forma el nombre de cada fichero de destino añadiendo al
directorio destino una barra inclinada y el nombre especificado del
fichero origen. El último argumento dado a cp debe ser el
nombre de un directorio existente. Por ejemplo, la orden
cp --parents a/b/c dir_existente
copia el fichero `a/b/c' a `dir_existente/a/b/c', creando cualquier
directorio intermedio que falte.
- -r
- Copia directorios recursivamente, copiando cualquier fichero no
directorio ni enlace simbólico (esto es, FIFOs y ficheros
especiales) como si fuera un fichero regular. Esto significa
intentar leer los datos de cada fichero fuente y escribirlos en el
destino. Así, con esta opción, `cp' puede muy bien colgarse
indefinidamente leyendo un FIFO o /dev/tty. (Esto es un fallo.
Significa que uno tiene que evitar -r y debe emplear en su lugar -R
si no sabe qué hay en el árbol de directorios que se está copiando.
Abrir un fichero de dispositivo desconocido, digamos un escáner,
tiene efectos desconocidos sobre el hardware.)
- -R, --recursive
- Copia directorios recursivamente, preservando los
no-directorios (vea -r justo arriba).
- --sparse=CUANDO
- Un `fichero disperso' contiene `agujeros': secuencias de bytes
cero que no ocupan ningún bloque físico de disco; la llamada al
sistema `read()' las lee como ceros. Esto puede tanto salvar un
considerable espacio de disco como incrementar la velocidad, puesto
que muchos ficheros binarios contienen montones de bytes cero
consecutivos. Por defecto, cp detecta agujeros en los
ficheros fuente de entrada a partir de una heurística basta y
construye los ficheros de salida correspondientes dispersos
también.
-
El valor CUANDO puede ser uno de los siguientes:
- auto
- El comportamiento predeterminado; el fichero de salida es
disperso si el de entrada lo es.
- always
- Siempre construye disperso el fichero de salida. Esto es útil
cuando el fichero de entrada reside en un sistema de ficheros que
no admite ficheros dispersos, pero el de salida está en un sistema
de ficheros que sí.
- never
- Nunca construye disperso el fichero de salida. Si Ud. encuentra
una aplicación para esta opción, háganosla saber.
- -s, --symbolic-link
- Hace enlaces simbólicos en vez de copias de ficheros que no
sean directorios. Todos los nombres de ficheros origen deben ser
absolutos (empezar por `/') a menos que los ficheros de destino
estén en el directorio de trabajo. Esta opción simplemente produce
un mensaje de error en sistemas que no admitan enlaces
simbólicos.
- -u, --update
- No copia un fichero no-directorio si el destino ya existe y
tiene el mismo tiempo de modificación o más reciente.
- -v, --verbose
- Muestra el nombre de cada fichero antes de copiarlo.
- -x, --one-file-system
- Se salta subdirectorios que estén en sistemas de ficheros
diferentes de aquél en el que empezó la copia.
OPCIONES DE RESPALDO DE GNU
Las versiones de GNU de programas como cp, mv,
ln, install y patch crearán una copia de
seguridad de ficheros que estén a punto de ser sobreescritos,
modificados o destruidos. Que se deseen ficheros de respaldo se
indica mediante la opción -b. Cómo deberían nombrarse se especifica
con la opción -V. En el caso de que el nombre del fichero de
respaldo se dé mediante el nombre del fichero extendido con un
sufijo, este sufijo se especifica con la opción -S.
- -b, --backup
- Hace copias de respaldo de ficheros que están a punto de ser
sobreescritos o borrados.
- -S SUFIJO, --suffix=SUFIJO
- Añade SUFIJO a cada fichero de respaldo creado. Si no se
especifica esta opción, se emplea el valor de la variable de
entorno SIMPLE_BACKUP_SUFFIX. Y si
SIMPLE_BACKUP_SUFFIX no está definida, el valor
predeterminado es `~'.
- -V MÉTODO,
--version-control=MÉTODO
-
- Especifica cómo se nombran los ficheros de respaldo. El
argumento MÉTODO puede ser `numbered' (o `t'), `existing' (o
`nil'), o `never' (o `simple'). Si esta opción no se especifica, se
emplea el valor de la variable de entorno VERSION_CONTROL. Y
si VERSION_CONTROL no está definida, el tipo predeterminado
de respaldo es `existing'.
Esta opción corresponde a la variable de Emacs
`version-control'. Los MÉTODOs válidos son (se aceptan
abreviaciones inambiguas):
- t, numbered
- Siempre hace respaldos numerados.
- nil, existing
- Hace respaldos numerados de ficheros que ya los tengan,
respaldos `simple's de los otros.
- never, simple
- Siempre hace respaldos simples.
OPCIONES ESTÁNDARES DE GNU
- --help
- Muestra un mensaje en la salida estándar sobre el modo de
empleo y acaba con código de éxito.
- --version
- Muestra en la salida estándar información sobre la versión y
luego acaba con código de éxito.
- --
- Termina la lista de opciones.
ENTORNO
Las variables LANG, LC_ALL, LC_COLLATE, LC_CTYPE y LC_MESSAGES
tienen los significados usuales. Para el sistema de versiones de
GNU, las variables SIMPLE_BACKUP_SUFFIX y VERSION_CONTROL controlan
la nomenclatura de los ficheros de respaldo, como se ha descrito
anteriormente.
CONFORME A
POSIX 1003.2
OBSERVACIONES
Esta página describe cp según se encuentra en el paquete
fileutils-4.0; otras versiones pueden diferir un poco. Envíe por
correo electrónico correcciones y adiciones a la dirección aeb@cwi.nl. Informe de fallos en el
programa a fileutils-bugs@gnu.ai.mit.edu.
Index
- NOMBRE
- SINOPSIS
- DESCRIPCIÓN
- OPCIONES DE POSIX
- DETALLES DE GNU
- OPCIONES DE GNU
- OPCIONES DE RESPALDO DE GNU
- OPCIONES ESTÁNDARES DE GNU
- ENTORNO
- CONFORME A
- OBSERVACIONES
This document was created by man2html, using
the manual pages.
Time: 06:16:19 GMT, January 22, 2005