> Linux Reviews > man >

cp

copiază fișiere și directoare


  1. cp.1.man


1. cp.1.man

Manpage of CP

CP

Section: User Commands (1)
Updated: 2003-11
Index Return to Main Contents
 

NUME

cp - copiază fișiere și directoare  

REZUMAT

cp [opțiuni] fișier cale
cp [opțiuni] fișier... director

Opțiuni POSIX: [-fiprR] [--]

Opțiuni POSIX 1003.1-2003 suplimentare: [-HLP]

Opțiuni GNU file-utils 4.0 (forma cea mai scurtă):
[-abdfilprsuvxPR] [-S SUFIX] [-V {numbered,existing,simple}] [--backup=CONTROL] [--sparse=CÂND] [--help] [--version] [--]

Opțiuni GNU file-utils 4.0 suplimentare (forma cea mai scurtă):
[-HLP] [--copy-contents] [--no-preserve] [--reply=CUM] [--remove-destination] [--strip-trailing-slashes] [--target-directory=DIR]  

DESCRIERE

cp copiază fișiere (sau, opțional, directoare). Puteți fie copia un fișier la o anumită destinație, sau puteți copia oricâte fișiere într-u anumit director destinație.

Dacă ultimul argument specifică un director ce există, cp copiază fiecare fișier sursă în acel director (păstrând numele). Altfel, dacă numai două fișiere sunt specificate, acesta copiază primul în al doilea. Este o eroare dacă ultimul argument nu este un director și sunt furnizate mai mult de două argumente ce nu sunt opțiuni.

(Prin urmare, dacă /a este un director, atunci `cp -r /a /b' va copia /a în /b/a iar /a/x în /b/a/x în cazul în care un director /b exista deja, dar va copia /a în /b și /a/x în /b/x dacă /b nu exista anterior, și va eșua în cazul în care /b exista ca fișier normal.)

Modurile fișierelor și directoarelor create vor fi aceleași ca cele ale fișirelor originale, ajustat printr-un AND cu 0777, și modificat de umask-ul utilizatorului (în afară de cazul în care a fost specificată opțiunea -p). (Dar în cazul copierii recursive a directoarelor, directoarele nou create vor avea temporar modul final ajustat printr-un OR cu S_IRWXU (0700), pentru a permite procesului să citească, scrie și caute directorul nou creat.)

Nimic nu este făcut când se încearcă copierea unui fișier în el însuși (cu excepția probabilă a unui mesaj de eroare). Când se copiază într-un fișier diferit ce există deja, acesta este deschis folosind `open(path, O_WRONLY | O_TRUNC)'. Când se copiază într-un fișier nou, acesta este creat folosind `open(path, O_WRONLY | O_CREAT, mode)'. Dacă aceasta eșuează, fișierul a existat, și a fost specificată opțiunea -f, cp încearcă să șteargă (unlink) fișierul existent, iar dacă aceasta reușește procesul continuă ca și în cazul unui fișier nou.

 

OPȚIUNI POSIX

POSIX recunoaște patru opțiuni și jumătate:
-f
Șterge fișierele destinație existente dacă este necesar. (Vedeți deasupra.)
-i
Întreabă dacă fișierele destinație ce există deja să fie înlocuite. (Scrie o întrebare la stderr și citește răspunsul de la stdin. Copiază numai după un răspuns afirmativ.)
-p
Păstrează permisiunile (proprietar și grup) fișierelor originale (inclusiv bit-ul setuid și bit-ul setgid), timpul ultimei modificări și timpul ultimului acces. În cazul în care duplicarea proprietarului sau grupului eșuează, bit-ul setuid și bit-ul setgid) sunt curățate. (De notat că după copiere sursa și copia pot avea foarte bine timpul ultimului acces diferit, deoarece o operație de copiere este un acces la fișierul sursă.)
-R
Copiază directoarele recursiv, și fă ceea ce trebuie când sunt întâlnite obiecte ce nu sunt fișiere sau directoare obișnuite. (Prin urmare, copia unui FIFO sau fișier special este un FIFO sau un fișier special.)
-r
Copiază directoarele recursiv, și fă ceva nespecificat când sunt întâlnite obiecte ce nu sunt fișiere sau directoare obișnuite. (Prin urmare, este permis, și de fapt încurajat, să avem opțiunea -r ca sinonim pentru -R. Totuși, comportarea prostească, cum este cea a lui cp versiunea GNU 4.0, nu este interzisă.)
--
Termină lista de opțiuni.
 

OPȚIUNI POSIX 2003 ADIȚIONALE

POSIX 1003.1-2003 adaugă trei opțiuni care specifică cum se procedează cu legăturile simbolice. Când se execută o copiere non-recursivă, legăturile simbolice sunt urmate. Când se execută o copiere recursivă folosind opțiunea -r, rezultatele sunt definite de implementare. Când se execută o copiere recursivă folosind opțiunea -R:
-H
Urmează legăturile simbolice furnizate în lista de parametri. Nu urma legăturile simbolice întâlnite în timpul copierii recursive, dar copiază-le ca legături simbolice.
-L
Urmează toate legăturile simbolice, atât cele care sunt specificate în lista de parametri cât și cele întâlnite în timpul copierii recursive.
-P
Nu urma nici o legătură simbolică, nici cele care au fost specificate în lista de parametri, nici cele întâlnite în timpul copierii recursive. Copiază-le ca legături simbolice.

Nu există nici o comportare implicită - trebuie specificată comportarea dorită.  

DETALII GNU

În general, fișierele sunt scrise așa cum sunt citite. Pentru excepții, vedeți opțiunea --sparse de mai jos.

Implicit, `cp' nu copiază directoarele (vedeți opțiunea -r de mai jos).

cp în general refuză să copieze un fișier în el însuși, cu următoarea excepție: dacă --force --backup este specificat cu sursă și destinație identice, și se referă la un fișier obișnuit, cp va face o copie de rezervă (backup), fie obișnuită fie numerotată, așa cum este specificat în modurile normale. Aceasta comportare este folositoare când doriți să faceți o copie de rezervă pentru un fișier existent înainte de a-l schimba.

Implicit, legăturile simbolice nu sunt urmate.  

OPȚIUNI GNU

-a, --archive
Păstrează cât mai mult posibil din structura și atributele fișierelor originale în copie (dar nu păstra structura de directoare). Echivalent cu -dpPR.
-b
Vedeți discuția despre copii de rezervă de mai jos.
--copy-contents (începând cu file-utils 4.1)
Fă lucrurile prostești pe care le-a făcut file-utils 4.0, încercând să copiezi conținutul fișierelor dispozitiv (device) și FIFO în timpul unei copieri recursive. Nu folosiți niciodată acestă opțiune. Cu această opțiune, `cp' s-ar putea bloca indefinit citind un FIFO sau /dev/tty, sau umple discul de destinație copiind /dev/zero.
-d
Copiază legăturile simbolice ca legături simbolice în loc să copiezi fișierele către care sunt legate și păstrează legăturile hard între fișierele sursă și cele din copii.

În file-utils 4.0 opțiunea lungă --no-dereference a fost un sinonim pentru -d, în file-utils 4.1 aceasta este un sinonim pentru -P, iar -d este echivalent cu --no-dereference --preserve=links.

-f, --force
Șterge fișierele destinație existente în cazul în care o deschidere pentru scriere eșuează și nu întreba nimic înainte de a face acest lucru. (Aceasta este adevărat începând cu file-utils 4.1. În file-utils 4.0 această opțiune a fost echivalentă cu noul --remove-destination.)
-H (începând cu file-utils 4.1)
Vedeți descrierea POSIX de deasupra.
-i, --interactive
Întreabă dacă să suprascrie fișiere destinație obișnuite ce există deja.
-l, --link
Crează legături hard în loc de copii ale non-directoarelor.
-L, --dereference (începând cu file-utils 4.1)
Vedeți descrierea POSIX de deasupra.
--no-preserve=ATRIBUT (începând cu file-utils 4.1)
Nu păstra atributele specificate. Vedeți opțiunea --preserve de mai jos.
-p, --preserve
Păstrează permisiunile (proprietar și grup) fișierelor originale, timpul ultimei modificări și timpul ultimului acces (time stamps).
--preserve=ATRIBUT (începând cu file-utils 4.1)
Aici ATRIBUT poate una dintre următoarele: "mode" (permisiuni), "ownership" (proprietar și grup), "timestamps", "links", "all" (toate cele de mai înainte).
-P, --no-dereference (începând cu file-utils 4.1)
Vedeți descrierea POSIX de deasupra. Acesta înlocuiește înțlesul opțiunii -P din file-utils 4.0, care a fost un sinonim pentru --parents. Vedeți de asemenea discuția despre opțiunea -d de deasupra.
--parents (în file-utils 4.0 și -P)
Formează numele fiecărui fișier destinație adăugând la directorul destinație un slash (/) și numele specificat al fișierului sursă. Ultimul argument dat lui cp trebuie să fie numele unui director existent. De exemplu, comanda
    cp --parents a/b/c dir_existent

copiază fișierul `a/b/c' în `dir_existent/a/b/c , creând orice director intermediar ce nu există.
-r
În file-utils 4.1: sinonim cu -R. În file-utils 4.0: Copiază directoarele recursiv, copiind orice non-directoare și legături non-simbolice (adică FIFO și fișiere speciale) ca și cum ar fi fișiere obișnuite. Acest comportament prostesc este obținut în file-utils 4.1 dacă este specificată opțiunea --copy-contents.
-R, --recursive
Copiază directoare recursiv, păstrând non-directoarele.
--reply=CUM (începând cu file-utils 4.1)
Aici CUM poate fi unul dintre: "yes", "no", "query", specificând că la toate întrebările răspunsul este yes (da), no (nu), sau respectiv trebuie obținut întrebând utilizatorul.
--remove-destination (începând cu file-utils 4.1)
Șterge fiecare fișier destinație existent înainte de copiere. În file-utils 4.0 această opțiune era subînțeleasă de -f.
--sparse=CÂND
Un fișier rarefiat (sparse file) conține goluri (holes) - secvețe de octeți zero care nu ocupă nici un bloc fizic de disc; apelul sistem `read' le citește pe acestea ca zero-uri. Acesta poate salva atât salva spațiu considerabil pe disc cât și să crească viteza, întrucât multe fișiere binare conțin o mulțime de octeți zero consecutivi. Implicit, cp detectează golurile din fișierele de intrare printr-un algoritm heuristic crud și crează și fișierele de ieșire corespunzătoare ca fișiere rarefiate (sparse).

Valoarea CÂND poate fi una dintre următoarele:

auto
Comportarea implicită: fișierul de ieșire este rarefiat dacă fișierul de intrare este rarefiat.
always
Crează întotdeauna fișierul de ieșire ca fișier rarefiat. Acesta este folositor când fișierul de intrare rezidă pe un sistem de fișiere care nu suportă fișiere rarefiate, dar fișierul de ieșire este pe un sistem de fișiere care suportă fișiere rarefiate.
never
Nu crea niciodată fișierul de ieșire ca fișier rarefiat. Dacă găsiți o aplicație pentru această opțiune, spuneți-ne și nouă.
--strip-trailing-slashes (începând cu file-utils 4.1)
Șterge orice slash-uri din coada fiecărui argument sursă. (Aceasta poate schimba interpretarea în cazul unei legături simbolice către un director.)
-s, --symbolic-link
Crează legături simbolice în loc de copii ale non-directoarelor. Toate numele fișierelor sursă trebuie să fie absolute (să înceapă cu `/') în afară de cazul în care fișierele destinație sunt în directorul curent. Această opțiune rezultă într-un mesaj de eroare pe sistemele care nu suportă legături simbolice.
-S
Sufix pentru fișierele de rezervă (backup), vedeți mai jos.
--target-directory=DIR (începând cu file-utils 4.1)
Specifică directorul destinație. De folosit împreună cu xargs(1), ca în "ls | xargs cp --target-directory=../d".
-u, --update
Nu copia un non-director care are o destinație existentă cu același timp de modificare sau unul mai nou.
-v, --verbose
Afișează numele fiecărui fișier înainte de a-l copia.
-x, --one-file-system
Treci peste subdirectoarele care sunt pe un sistem de fișiere diferit decât cel din care a început copierea.
 

OPȚIUNI GNU PENTRU COPII DE REZERVĂ

Versiunile GNU ale programelor cum ar fi cp, mv, ln, install și patch vor crea copii de rezervă ale fișierelor ce urmează să fie suprascrise, schimbate sau distruse dacă acest lucru este dorit. Faptul că fișierele de rezervă sunt dorite este indicat de opțiunea -b. Cum trebuie acestea numite este specificat de opțiunea -V. În cazul că numele fișierului de rezervă este dat de numele fișierului plus un sufix, acest sufix este specificat de opțiunea -S.
-b, --backup
Crează fișiere de rezervă pentru fișierele care urmează să fie suprascrise sau șterse.
--backup=CONTROL
(Începând cu fileutils-4.1.)
-S SUFIX, --suffix=SUFIX
Adaugă SUFIX la fiecare fișier de rezervă creat. Dacă această opțiune nu este specificată, este folosită valoarea variabilei de mediu SIMPLE_BACKUP_SUFFIX SIMPLE_BACKUP_SUFFIX nu este setată, valoare implicită este `~'.
-V METODĂ, --version-control=METODĂ
Specifică cum să fie numite fișierele de rezervă. Argumentul METODĂ poate fi `numbered' (sau `t'), `existing' (sau `nil'), sau `never' (sau `simple'). Dacă această opțiune nu este specificată, este folosită valoarea variabilei de mediu VERSION_CONTROL VERSION_CONTROL nu este setată, valoare implicită este `existing'.

Această opțiune corespunde variabilei Emacs `version-control'. Valori valide pentru METODĂ sunt (abrevieri unice sunt acceptate):

t, numbered
Crează întotdeauna copii de rezervă numerotate.
nil, existing
Crează copii de rezervă pentru fișierele care le au deja, copii de rezervă simple pentru celelalte.
never, simple
Crează întotdeauna copii de rezervă simple.
 

OPȚIUNI GNU STANDARD

--help
Afișează un mesaj de folosire la ieșirea standard, apoi termină cu succes.
--version
Afișează informații despre versiune la ieșirea standard, apoi termină cu succes.
--
Termină lista de opțiuni.
 

MEDIU (ENVIRONMENT)

Variabilele de mediu LANG, LC_ALL, LC_CTYPE și LC_MESSAGES au înțelesul obișnuit. Pentru versiunea GNU, variabilele SIMPLE_BACKUP_SUFFIX și VERSION_CONTROL controlează numirea fișierelor de rezervă, așa cum este descris deasupra.  

CONFORM CU

POSIX 1003.2  

NOTE

Această pagină descrie cp așa cum este găsit în pachetul fileutils-4.1; alte versiuni pot fi ușor diferite. Trimiteți corecții și adăugiri la aeb@cwi.nl. Raportați bug-uri în program la fileutils-bugs@gnu.ai.mit.edu.
Pagina a fost tradusă pentru RoLix.org de man_la_rolix_punct_org.


 

Index

NUME
REZUMAT
DESCRIERE
OPȚIUNI POSIX
OPȚIUNI POSIX 2003 ADIȚIONALE
DETALII GNU
OPȚIUNI GNU
OPȚIUNI GNU PENTRU COPII DE REZERVĂ
OPȚIUNI GNU STANDARD
MEDIU (ENVIRONMENT)
CONFORM CU
NOTE

This document was created by man2html using the manual pages.
Time: 17:40:45 GMT, October 23, 2013

SVENSKA - cs - SVENSKA - SVENSKA - SVENSKA - ja - nl - pl - SVENSKA