# Cp

cp és una ordre de la família dels sistemes operatius Unix que permet copiar fitxers i directoris. La comanda té tres maneres d'operació, indicats segons la seva invocació, la qual cosa possibilita copiar un arxiu en un altre, un o més arxius a un directori, o bé un directori en
És molt important aclarir que hi ha variacions de la comanda 'cp' entre els Sistemes Operatius de la família Unix, bàsicament amb l'addició de nous paràmetres. Així i respecten l'estàndard POSIX, la qual cosa garanteix una compatibilitat bàsica entre tots ells.

## Mode d'operació

La comanda cp té tres maneres d'operar, els quals es dedueixen segons els arguments passats en la seva invocació. Això pot ser quan se li indica a cp el següent:
* Dues arxius: la comanda copia el contingut del primer arxiu al segon, creant aquest últim si és necessari.
* N arxius seguits d'un directori:cp còpia dels N arxius en el directori indicat, creant si cal.
* Dues directoris: la comanda còpia tots els arxius i subdirectoris del primer directori al segon. Aquesta manera requereix el paràmetre r. Si el directori usat com a destinació existeix el primer directori és copiat dins d'aquest, sinó és creat.

## Mode d'ús

La invocació de la comanda té el següent format segons la versió POSIX:  cp [PARÀMETRES] ORIGEN ... DESTINACIÓ
En cas de tractar que ORIGEN sigui un o diversos arxius seva invocació consisteix en:  cp [-FIP] ORIGEN .. DESTINACIÓ
D'altra banda en cas que ORIGEN sigui un directori, obligatòriament cal indicar l'ús recursiu (-r o-R) i s'habiliten la utilització de determinats paràmetres:  cp-r | R [-H |-P |-L] [-FIP] ORIGEN DESTÍ
A continuació es detallen els paràmetres:

### -F

    Si el destí no pot ser escrit, procedeix a eliminar-lo. Això es realitza previ a què 'cp' comenci a operar.

### -P

    S'inclouen els atributs d'ORIGEN a DESTÍ. Això es refereix a la data de modificació, data d'accés, ID d'usuari i grup, permisos, etc.

### -I

    Consulta a l'usuari si sobreescriu o no la destinació en cas que aquest existeixi.

### -R,-r

    Còpia recursivament els directoris.

### -H

    Si ORIGEN és un enllaç simbòlic opera amb l'apuntat.

### -L

    Ordena a 'cp' a seguir els enllaços simbòlics dins ORIGEN, perquè en DESTINACIÓ es copiï l'apuntat, i no el mateix enllaç.

### -P

    No se segueixen els enllaços simbòlics dins ORIGEN i, per tant, en DESTINACIÓ es copia el mateix enllaç.

### Paràmetres existents a la versió GNU coreutils

Es llisten a continuació algun dels paràmetres de la versió de cp present en GNU Coreutils:
,-A, - archive: Equivalent a-dR - preservi = all
,-B, - backup [= MANERA]: Realitza una còpia de seguretat (backup) per cada fitxer existent en DESTINACIÓ
    MANERA:

      #### 'None', 'off'

          Mai fer backup.

      #### 'Numbered', 't'

          Fer backups numerats.

      #### 'Existing', 'nil'

          Fer backups numerats d'aquells arxius que el tingui el i simple backup dels altres.

      #### 'Simple', 'never'

          Fer backup simples.

#### -D

    equivalent a - no-dereference - preservi = links

#### - Force

    Equivalent al-f (POSIX)

#### - Interactive

    Equivalent al-i (POSIX)

#### - Dereference

    Equivalent al-L (POSIX)

#### -N, - no-clobber

    No sobreescriure un arxiu existent. El paràmetre-i queda sense efecte.

#### - No-dereference

    Equivalent al-P (POSIX)

#### -P, - preserve [= LLISTA D'ATRIBUTS]

    Equivalent a-p (POSIX). Si no s'indiquen atributs l'opció default és: mode, ownership, timestamps.
    LLISTA D'ATRIBUTS:

      #### 'Model'

          preserva els bits de manera i les llistes de control d'accés.

      #### 'Ownership'

          conserva a l'usuari i grup amos.

      #### 'Timestamps'

          conserva els temps d'accés i modificació.

      #### 'Links'

          preserva en els arxius de destí qualsevol link que hi hagi entre els arxius d'origen.

      #### 'Context'

          conserva el context de seguretat de SELinux

      #### 'Xattr'

          conserva els atributs estesos.

      #### 'All'

          conserva tots els atributs.

#### - No-preservi [= LLISTA D'ATRIBUTS]

    No preserva els atributs. El seu ús és idèntic a - preservi.

#### - Recursive

    Equivalent a-r o-R (POSIX)

#### -S, - suffix = suffix

    Defineix el sufix usat en els backups (-b)

#### -T, - target-directory = DIRECTORI

    Copiar tots els arxius definits en ORIGEN dins DIRECTORI

#### -T, - no-target-directory

    Considera DESTÍ com un arxiu
,-U, - update: Còpia només quan ORIGEN és més nou que DESTÍ, o bé aquest últim no té definit temps de modificació.

## Exemples

Creant una còpia d'un arxiu en el mateix directori :  cp fitxer.txt archivo.bkp.txt
Copiar dos arxius en un directori (LesMevesFotos/vacances)  cp foto1.jpg foto2.jpg LesMevesFotos/vacances
Copiar un directori amb els seus arxius i subdirectoris, a un altre directori:  cp -R /home/usuari/carpeta/home/usuari/DirectoriDesti

## Referències

* ↑ http://www.unix.com/man-page/POSIX/1/cp/ cp

## Enllaços externs

* manual de la versió POSIX. versió estàndard per Sistemes Operatius Unix.
* # cp-Invocation manual de GNU coreutils, versió utilitzada pels sistemes operatius GNU / Linux