cp

CP(1)                       General Commands Manual                      CP(1)



NOME
       cp - copia file e directory

SINTASSI
       cp [opzioni] file percorso
       cp [opzioni] file... directory

       Opzioni POSIX: [-fipRr]

       Opzioni GNU (forma breve): [-abdfilprsuvxPR] [-S SUFFISSO] [-V
       {numbered,existing,simple}] [--sparse=QUANDO] [--help] [--version] [--]

DESCRIZIONE
       cp copia file (o, eventualmente, directory). Ã possibile copiare sia un
       file su una destinazione data, sia un numero arbitrario di file su una
       directory d'arrivo.  Se l'ultimo argomento indica una directory
       esistente, cp copia ogni file sorgente su quella directory (mantenendo
       lo stesso nome).  Altrimenti, se sono indicati solo due file, copia il
       primo sul secondo. Si ha un errore se l'ultimo argomento non è una
       directory e sono presenti più di due argomenti non di opzione.

       Perciò, «cp -r /a /b» copia /a su /b/a e /a/x su /b/a/x nel caso in
       cui /b esiste già , ma copia /a su /b e /a/x su /b/x se /b non esisteva
       in precedenza.

       I permessi dei file e delle directory così create sono identici a
       quelli dei file originali, AND 0777 e modificati dalla umask utente (a
       meno che sia usata l'opzione -p). Durante la copia ricorsiva di
       directory, però, i permessi delle directory create ex novo sono quelli
       finali OR S_IRWXU (0700), per permettere lettura, scrittura e ricerca
       nella nuova directory al processo.

       Copiando un file su se stesso, non viene fatto niente (a parte produrre
       un eventuale messaggio d'errore).  Copiando su un file esistente,
       questo viene aperto con «open(path, O_WRONLY | O_TRUNC)».  Copiando
       su un file inesistente, questo viene creato con «open(path, O_WRONLY |
       O_CREAT, mode)».  Se ciò fallisce, il file esiste e ed era stata data
       l'opzione -f, cp prova a cancellare (unlink) il file esistente, e in
       caso di successo continua come per un file inesistente.


OPZIONI POSIX
       POSIX riconosce quattro opzioni e mezza:

       -f     Rimuove i file di destinazione preesistenti, se necessario (vedi
              sopra).

       -i     Chiede conferma per sovrascrivere file di destinazione
              preesistenti (la domanda è scritta su stderr e la risposta
              letta da stdin; la copia avviene solo in caso di risposta
              affermativa) -p Conserva proprietario, gruppo, permessi (inclusi
              i bit setuid e setgid), data di ultima modifica e data di ultimo
              accesso dei file originali.  Nel caso la duplicazione del
              proprietario o del gruppo fallisca i bit setuid e setgid vengono
              azzerati (si noti che alla fine originale e copia potrebbero ben
              avere diverse date d'accesso, costituendo l'operazione di copia
              un accesso all'originale).

       -R     Copia le directory ricorsivamente, facendo la cosa giusta
              incontrando oggetti diversi da file ordinari o directory (cioè,
              la copia di una FIFO o un file speciale è una FIFO o un file
              speciale).

       -r     Copia le directory ricorsivamente, comportandosi in modo non
              specificato con oggetti diversi da file ordinari o directory;
              cioè è permesso, o meglio incoraggiato, che -r sia un sinonimo
              di -R. In ogni caso, comportamenti bizzarri, come quello della
              versione GNU attuale di cp (vedi oltre) non è vietato.

PARTICOLARI GNU
       Di norma, i file sono scritti così come sono letti. Per eccezioni,
       vedi --sparse oltre.

       Di natura, cp non copia directory (ma vedi -r oltre).

       cp rifiuta, di norma, di copiare un file su se stesso, con l'eccezione
       seguente: se vengono date le opzioni --force --backup con identici
       sorgenti e destinazioni , che si riferiscono ad un file normale, cp
       crea un file di backup, normale o numerato come specificato nel modo
       usuale. Questo torna utile quando si vuole semplicemente fare un backup
       di un file esistente prima di modificarlo.

OPZIONI GNU
       -a, --archive
              Conserva nella copia quanto è possibile della struttura e degli
              attributi dei file originali (ma non la struttura di directory).
              Lo stesso di -dpR.

       -d, --no-dereference
              Copia link simbolici come link simbolici piuttosto che copiare i
              file da essi puntati, e conserva la relazione di hard link tra i
              file originali anche nelle copie.

       -f, --force
              Rimuove i file di destinazione preesistenti.

       -i, --interactive
              Chiede conferma per sovrascrivere i file normali preesistenti.

       -l, --link
              Esegue collegamenti fisici (hard link) piuttosto che copie per
              le non-directory.

       -p, --preserve
              Conserva proprietario, gruppo, permessi e date dei file
              originali.

       -P, --parents
              Forma il nome di ognuno dei file destinazione aggiungendo al
              nome della directory indicata uno slash (/) e il nome  del file
              originale.  L'ultimo argomento dato a cp deve essere il nome di
              una directory esistente.  Per esempio, il comando «cp --parents
              a/b/c dir_esistente» copia il file a/b/c su
              dir_esistente/a/b/c, creando qualsiasi directory intermedia
              mancante.

       -r     Copia le directory ricorsivamente, copiando tutte le non-
              directory e i link non simbolici (FIFO e file speciali) come se
              fossero file normali. In altre parole, provando a leggere dati
              da ciascuna sorgente e scrivendoli sulla destinazione. Perciò,
              con questa opzione, cp può impiantarsi indefinitivamente mentre
              legge una FIFO o /dev/tty. Questo è un baco: ciò implica che
              bisogna evitare -r e usare -R se non si conosce il contenuto
              dell'albero che si sta copiando. L'apertura di un device ignoto,
              uno scanner, per esempio, ha effetti sconosciuti sull'hardware.

       -R, --recursive
              Copia le directory ricorsivamente,  rispettando le non-directory
              (vedi -r sopra)

       --sparse=QUANDO
              Un «file sparso» contiene «buchi»: sequenze di byte nulli
              che non occupano nessuno blocco fisico sul disco; la chiamata di
              sistema «read» li legge come se fossero veramente dei byte
              nulli. Ciò può fare notevolmente risparmiare spazio sul disco
              ed aumentare la velocità visto che parecchi file binari
              contengono molti byte nulli consecutivi. Di natura, cp usa
              un'euristica grossolana per riconoscere buchi nei file sorgenti,
              e rende sparsi anche i file in uscita.

              QUANDO può assumere uno di questi valori:

              auto   Il comportamento di default: il file di output è sparso
                     se lo è quello d'input.

              always (sempre) Rende sempre sparso il file di output. Ciò può
                     venire utile quando il file d'input sta su un filesystem
                     che non supporta file sparsi mentre il file di output sta
                     su un filesystem che li supporta.

              never  (mai) Non rendere mai sparso il file di output. Se trovi
                     un uso per questa opzione faccelo sapere.

       -s, --symbolic-link
              Crea link simbolici piuttosto che copie di non-directory.  Tutti
              i nomi dei file di origine devono essere assoluti (iniziare con
              `/') a meno che i file di destinazione non siano nella directory
              corrente.  Questa opzione produce semplicemente un messaggio di
              errore su sistemi che non permettono i link simbolici.

       -u, --update
              Non copia una non-directory sopra una destinazione preesistente
              con la data di modifica uguale o più recente

       -v, --verbose
              Stampa il nome di ogni file prima di copiarlo.

       -x, --one-file-system
              Salta le sub-directory che sono su dei filesystem diversi da
              quello da cui si è iniziata la copia.

OPZIONI GNU DI BACKUP
       Le versioni GNU di programmi come cp, mv, ln, install e patch creano
       una copia di backup dei file che stanno per essere sovrascritti,
       modificati o distrutti, se ciò viene richiesto. Una simile richiesta
       è indicata dall'opzione -b. Come i file di backup debbano essere
       chiamati è dato dall'opzione -V. Nel caso in cui il loro nome sia dato
       dal nome dei file originali più un suffisso, il suffisso è indicato
       dall'opzione -S.

       -b, --backup
              Crea copie di backup dei file che stanno per essere sovrascritti
              o rimossi.

       -S  SUFFISSO , --suffix= SUFFISSO
              Aggiunge SUFFISSO a tutti file di backup. Se questa opzione non
              è specificata, viene usato il valore della variabile ambientale
              SIMPLE_BACKUP_SUFFIX .  Se SIMPLE_BACKUP_SUFFIX non è
              impostata, il valore di default è «~».

       -V METODO, --version-control=METODO
              Specifica come creare il nome dei file di backup. L'argomento
              METODO può essere «numbered» (o «t»), «existing» (o
              «nil») oppure «never» (o «simple»). Se questa opzione non
              è specificata, viene usato il valore della variabile ambientale
              VERSION_CONTROL .  Se VERSION_CONTROL non è impostata, il
              valore di default è «existing».

              Questa opzione corrisponde alla variabile «version-control» di
              emacs.  Valori leciti per sono (dove le abbreviazioni univoche
              sono accettate):

              t, numbered
                     Crea sempre backup numerati.

              nil, existing
                     Crea backup numerati per i file che già ne hanno, backup
                     semplici per gli altri.

              never, simple
                     Crea sempre backup semplici.

OPZIONI GNU STANDARD
       --help Stampa un messaggio di spiegazione sullo standard output ed esce
              (con successo).

       --version
              Stampa informazioni sulla versione sullo standard output ed esce
              (con successo).

       --     Termina l'elenco delle opzioni.

AMBIENTE
       Le variabili  LANG, LC_ALL, LC_COLLATE, LC_CTYPE e LC_MESSAGES hanno il
       solito significato. Per la versione GNU, le variabili
       SIMPLE_BACKUP_SUFFIX e VERSION_CONTROL controllano la formazione del
       nome dei backup, come descritto più sopra.

CONFORME A
       POSIX 1003.2.

NOTE
       Questa pagina descrive cp come si trova nel pacchetto fileutils-3.16;
       altre versioni potrebbero differire leggermente. Spedisci correzioni o
       aggiunte a aeb@cwi.nl, aw@mail1.bet1.puv.fi o ragnar@lightside.ddns.org
       [NdT: ovviamente, problemi nella traduzione devono essere spediti al
       traduttore, non agli autori]. Segnala bachi nei programmi a fileutils-
       bugs@gnu.ai.mit.edu.




GNU File Utilities                Agosto 1998                            CP(1)