|
cp − copiaza fisiere si directoare |
|
cp [optiuni] fisier
cale Optiuni POSIX: [−fiprR] [−−] Optiuni POSIX 1003.1-2003 suplimentare: [−HLP] Optiuni GNU file-utils 4.0 (forma cea mai scurta): Optiuni GNU file-utils 4.0 suplimentare (forma cea mai
scurta): |
|
cp copiaza fisiere (sau, optional, directoare). Puteti fie copia un fisier la o anumita destinatie, sau puteti copia oricate fisiere intr-u anumit director destinatie. Daca ultimul argument specifica un director ce exista, cp copiaza fiecare fisier sursa in acel director (pastrand numele). Altfel, daca numai doua fisiere sunt specificate, acesta copiaza primul in al doilea. Este o eroare daca ultimul argument nu este un director si sunt furnizate mai mult de doua argumente ce nu sunt optiuni. (Prin urmare, daca /a este un director, atunci ‘cp −r /a /b’ va copia /a in /b/a iar /a/x in /b/a/x in cazul in care un director /b exista deja, dar va copia /a in /b si /a/x in /b/x daca /b nu exista anterior, si va esua in cazul in care /b exista ca fisier normal.) Modurile fisierelor si directoarelor create vor fi aceleasi ca cele ale fisirelor originale, ajustat printr-un AND cu 0777, si modificat de umask-ul utilizatorului (in afara de cazul in care a fost specificata optiunea −p). (Dar in 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 sa citeasca, scrie si caute directorul nou creat.) Nimic nu este facut cand se incearca copierea unui fisier in el insusi (cu exceptia probabila a unui mesaj de eroare). Cand se copiaza intr-un fisier diferit ce exista deja, acesta este deschis folosind ‘open(path, O_WRONLY | O_TRUNC)’. Cand se copiaza intr-un fisier nou, acesta este creat folosind ‘open(path, O_WRONLY | O_CREAT, mode)’. Daca aceasta esueaza, fisierul a existat, si a fost specificata optiunea −f, cp incearca sa stearga (unlink) fisierul existent, iar daca aceasta reuseste procesul continua ca si in cazul unui fisier nou. |
|
POSIX recunoaste patru optiuni si jumatate: |
|
−f |
Sterge fisierele destinatie existente daca este necesar. (Vedeti deasupra.) |
||
|
−i |
Întreaba daca fisierele destinatie ce exista deja sa fie inlocuite. (Scrie o intrebare la stderr si citeste raspunsul de la stdin. Copiaza numai dupa un raspuns afirmativ.) |
||
|
−p |
Pastreaza permisiunile (proprietar si grup) fisierelor originale (inclusiv bit-ul setuid si bit-ul setgid), timpul ultimei modificari si timpul ultimului acces. În cazul in care duplicarea proprietarului sau grupului esueaza, bit-ul setuid si bit-ul setgid) sunt curatate. (De notat ca dupa copiere sursa si copia pot avea foarte bine timpul ultimului acces diferit, deoarece o operatie de copiere este un acces la fisierul sursa.) |
||
|
−R |
Copiaza directoarele recursiv, si fa ceea ce trebuie cand sunt intalnite obiecte ce nu sunt fisiere sau directoare obisnuite. (Prin urmare, copia unui FIFO sau fisier special este un FIFO sau un fisier special.) |
||
|
−r |
Copiaza directoarele recursiv, si fa ceva nespecificat cand sunt intalnite obiecte ce nu sunt fisiere sau directoare obisnuite. (Prin urmare, este permis, si de fapt incurajat, sa avem optiunea −r ca sinonim pentru −R. Totusi, comportarea prosteasca, cum este cea a lui cp versiunea GNU 4.0, nu este interzisa.) |
||
|
−− |
Termina lista de optiuni. |
|
POSIX 1003.1-2003 adauga trei optiuni care specifica cum se procedeaza cu legaturile simbolice. Cand se executa o copiere non-recursiva, legaturile simbolice sunt urmate. Cand se executa o copiere recursiva folosind optiunea −r, rezultatele sunt definite de implementare. Cand se executa o copiere recursiva folosind optiunea −R: |
|
−H |
Urmeaza legaturile simbolice furnizate in lista de parametri. Nu urma legaturile simbolice intalnite in timpul copierii recursive, dar copiaza-le ca legaturi simbolice. |
||
|
−L |
Urmeaza toate legaturile simbolice, atat cele care sunt specificate in lista de parametri cat si cele intalnite in timpul copierii recursive. |
||
|
−P |
Nu urma nici o legatura simbolica, nici cele care au fost specificate in lista de parametri, nici cele intalnite in timpul copierii recursive. Copiaza-le ca legaturi simbolice. |
|
Nu exista nici o comportare implicita - trebuie specificata comportarea dorita. |
|
În general, fisierele sunt scrise asa cum sunt citite. Pentru exceptii, vedeti optiunea −−sparse de mai jos. Implicit, ‘cp’ nu copiaza directoarele (vedeti optiunea −r de mai jos). cp in general refuza sa copieze un fisier in el insusi, cu urmatoarea exceptie: daca −−force −−backup este specificat cu sursa si destinatie identice, si se refera la un fisier obisnuit, cp va face o copie de rezerva (backup), fie obisnuita fie numerotata, asa cum este specificat in modurile normale. Aceasta comportare este folositoare cand doriti sa faceti o copie de rezerva pentru un fisier existent inainte de a-l schimba. Implicit, legaturile simbolice nu sunt urmate. |
|
−a, −−archive |
|
Pastreaza cat mai mult posibil din structura si atributele fisierelor originale in copie (dar nu pastra structura de directoare). Echivalent cu −dpPR. |
|
−b |
Vedeti discutia despre copii de rezerva de mai jos. |
|
−−copy−contents (incepand cu file-utils 4.1) |
|
Fa lucrurile prostesti pe care le-a facut file-utils 4.0, incercand sa copiezi continutul fisierelor dispozitiv (device) si FIFO in timpul unei copieri recursive. Nu folositi niciodata acesta optiune. Cu aceasta optiune, ‘cp’ s-ar putea bloca indefinit citind un FIFO sau /dev/tty, sau umple discul de destinatie copiind /dev/zero. |
|
−d |
Copiaza legaturile simbolice ca legaturi simbolice in loc sa copiezi fisierele catre care sunt legate si pastreaza legaturile hard intre fisierele sursa si cele din copii. |
|
În file-utils 4.0 optiunea lunga −−no−dereference a fost un sinonim pentru −d, in file-utils 4.1 aceasta este un sinonim pentru −P, iar −d este echivalent cu −−no−dereference −−preserve=links. |
|
−f, −−force |
|
Sterge fisierele destinatie existente in cazul in care o deschidere pentru scriere esueaza si nu intreba nimic inainte de a face acest lucru. (Aceasta este adevarat incepand cu file-utils 4.1. În file-utils 4.0 aceasta optiune a fost echivalenta cu noul −−remove−destination.) |
|
−H (incepand cu file-utils 4.1) |
|
Vedeti descrierea POSIX de deasupra. |
|
−i, −−interactive |
|
Întreaba daca sa suprascrie fisiere destinatie obisnuite ce exista deja. |
|
−l, −−link |
|
Creaza legaturi hard in loc de copii ale non-directoarelor. |
|
−L, −−dereference (incepand cu file-utils 4.1) |
|
Vedeti descrierea POSIX de deasupra. |
|
−−no−preserve=ATRIBUT (incepand cu file-utils 4.1) |
|
Nu pastra atributele specificate. Vedeti optiunea −−preserve de mai jos. |
|
−p, −−preserve |
|
Pastreaza permisiunile (proprietar si grup) fisierelor originale, timpul ultimei modificari si timpul ultimului acces (time stamps). |
|
−−preserve=ATRIBUT (incepand cu file-utils 4.1) |
|
Aici ATRIBUT poate una dintre urmatoarele: "mode" (permisiuni), "ownership" (proprietar si grup), "timestamps", "links", "all" (toate cele de mai inainte). |
|
−P, −−no−dereference (incepand cu file-utils 4.1) |
|
Vedeti descrierea POSIX de deasupra. Acesta inlocuieste intlesul optiunii −P din file-utils 4.0, care a fost un sinonim pentru −−parents. Vedeti de asemenea discutia despre optiunea −d de deasupra. |
|
−−parents (in file-utils 4.0 si −P) |
|
Formeaza numele fiecarui fisier destinatie adaugand la directorul destinatie un slash (/) si numele specificat al fisierului sursa. Ultimul argument dat lui cp trebuie sa fie numele unui director existent. De exemplu, comanda cp −−parents a/b/c dir_existent copiaza fisierul ‘a/b/c’ in ‘dir_existent/a/b/c , creand orice director intermediar ce nu exista. |
|
−r |
În file-utils 4.1: sinonim cu −R. În file-utils 4.0: Copiaza directoarele recursiv, copiind orice non-directoare si legaturi non-simbolice (adica FIFO si fisiere speciale) ca si cum ar fi fisiere obisnuite. Acest comportament prostesc este obtinut in file-utils 4.1 daca este specificata optiunea −−copy−contents. |
|
−R, −−recursive |
|
Copiaza directoare recursiv, pastrand non-directoarele. |
|
−−reply=CUM (incepand cu file-utils 4.1) |
|
Aici CUM poate fi unul dintre: "yes", "no", "query", specificand ca la toate intrebarile raspunsul este yes (da), no (nu), sau respectiv trebuie obtinut intreband utilizatorul. |
|
−−remove−destination (incepand cu file-utils 4.1) |
|
Sterge fiecare fisier destinatie existent inainte de copiere. În file-utils 4.0 aceasta optiune era subinteleasa de −f. |
|
−−sparse=CAND |
|
Un fisier rarefiat (sparse file) contine goluri (holes) - secvete de octeti zero care nu ocupa nici un bloc fizic de disc; apelul sistem ‘read’ le citeste pe acestea ca zero-uri. Acesta poate salva atat salva spatiu considerabil pe disc cat si sa creasca viteza, intrucat multe fisiere binare contin o multime de octeti zero consecutivi. Implicit, cp detecteaza golurile din fisierele de intrare printr-un algoritm heuristic crud si creaza si fisierele de iesire corespunzatoare ca fisiere rarefiate (sparse). |
|
Valoarea CAND poate fi una dintre urmatoarele: |
|
auto |
Comportarea implicita: fisierul de iesire este rarefiat daca fisierul de intrare este rarefiat. |
||
|
always |
Creaza intotdeauna fisierul de iesire ca fisier rarefiat. Acesta este folositor cand fisierul de intrare rezida pe un sistem de fisiere care nu suporta fisiere rarefiate, dar fisierul de iesire este pe un sistem de fisiere care suporta fisiere rarefiate. |
||
|
never |
Nu crea niciodata fisierul de iesire ca fisier rarefiat. Daca gasiti o aplicatie pentru aceasta optiune, spuneti-ne si noua. |
|
−−strip−trailing−slashes (incepand cu file-utils 4.1) |
|
Sterge orice slash-uri din coada fiecarui argument sursa. (Aceasta poate schimba interpretarea in cazul unei legaturi simbolice catre un director.) |
|
−s, −−symbolic−link |
|
Creaza legaturi simbolice in loc de copii ale non-directoarelor. Toate numele fisierelor sursa trebuie sa fie absolute (sa inceapa cu ‘/’) in afara de cazul in care fisierele destinatie sunt in directorul curent. Aceasta optiune rezulta intr-un mesaj de eroare pe sistemele care nu suporta legaturi simbolice. |
|
−S |
Sufix pentru fisierele de rezerva (backup), vedeti mai jos. |
|
−−target−directory=DIR (incepand cu file-utils 4.1) |
|
Specifica directorul destinatie. De folosit impreuna cu xargs(1), ca in "ls | xargs cp --target-directory=../d". |
|
−u, −−update |
|
Nu copia un non-director care are o destinatie existenta cu acelasi timp de modificare sau unul mai nou. |
|
−v, −−verbose |
|
Afiseaza numele fiecarui fisier inainte de a-l copia. |
|
−x, −−one−file−system |
|
Treci peste subdirectoarele care sunt pe un sistem de fisiere diferit decat cel din care a inceput copierea. |
|
Versiunile GNU ale programelor cum ar fi cp, mv, ln, install si patch vor crea copii de rezerva ale fisierelor ce urmeaza sa fie suprascrise, schimbate sau distruse daca acest lucru este dorit. Faptul ca fisierele de rezerva sunt dorite este indicat de optiunea −b. Cum trebuie acestea numite este specificat de optiunea −V. În cazul ca numele fisierului de rezerva este dat de numele fisierului plus un sufix, acest sufix este specificat de optiunea −S. |
|
−b, −−backup |
|
Creaza fisiere de rezerva pentru fisierele care urmeaza sa fie suprascrise sau sterse. |
|
−−backup=CONTROL |
|
(Începand cu fileutils-4.1.) |
|
−S SUFIX, −−suffix=SUFIX |
|
Adauga SUFIX la fiecare fisier de rezerva creat. Daca aceasta optiune nu este specificata, este folosita valoarea variabilei de mediu SIMPLE_BACKUP_SUFFIX SIMPLE_BACKUP_SUFFIX nu este setata, valoare implicita este ‘~’. |
|
−V METODA, −−version−control=METODA |
|
Specifica cum sa fie numite fisierele de rezerva. Argumentul METODA poate fi ‘numbered’ (sau ‘t’), ‘existing’ (sau ‘nil’), sau ‘never’ (sau ‘simple’). Daca aceasta optiune nu este specificata, este folosita valoarea variabilei de mediu VERSION_CONTROL VERSION_CONTROL nu este setata, valoare implicita este ‘existing’. Aceasta optiune corespunde variabilei Emacs ‘version-control’. Valori valide pentru METODA sunt (abrevieri unice sunt acceptate): |
|
t, numbered |
|
Creaza intotdeauna copii de rezerva numerotate. |
|
nil, existing |
|
Creaza copii de rezerva pentru fisierele care le au deja, copii de rezerva simple pentru celelalte. |
|
never, simple |
|
Creaza intotdeauna copii de rezerva simple. |
|
−−help |
Afiseaza un mesaj de folosire la iesirea standard, apoi termina cu succes. |
|
−−version |
|
Afiseaza informatii despre versiune la iesirea standard, apoi termina cu succes. |
|
−− |
Termina lista de optiuni. |
|
Variabilele de mediu LANG, LC_ALL, LC_CTYPE si LC_MESSAGES au intelesul obisnuit. Pentru versiunea GNU, variabilele SIMPLE_BACKUP_SUFFIX si VERSION_CONTROL controleaza numirea fisierelor de rezerva, asa cum este descris deasupra. |
|
POSIX 1003.2 |
|
Aceasta pagina descrie cp asa cum este gasit in pachetul fileutils-4.1; alte versiuni pot fi usor diferite. Trimiteti corectii si adaugiri la aeb@cwi.nl. Raportati bug-uri in program la fileutils-bugs@gnu.ai.mit.edu. |
|
Pagina a fost tradusa pentru RoLix.org de man_la_rolix_punct_org. |