Am executat comenzile și exemplele menționate în acest articol pe un sistem Debian 10 Buster, dar le puteți reproduce pe aproape toate distribuțiile Linux.
Linia de comandă Linux, Terminalul, poate fi accesată cu ușurință prin intermediul aplicației. Căutare lansator după cum urmează:
Exemplul 1: Copierea unui singur fișier într-un director țintă
Cea mai simplă utilizare a comenzii cp este copierea unui singur fișier sursă într-un director țintă. Iată sintaxa pe care o puteți utiliza pentru a face acest lucru:
$ cp fișier sursă / țintă / directorExemplu:
În acest exemplu, copiez un fișier numit sample_file.txt în dosarul meu Documente:
Ulterior, am verificat prezența fișierului în folderul țintă prin comanda ls.
Exemplul 2: Copierea mai multor fișiere într-un director țintă
Cu comanda cp, puteți copia mai multe fișiere într-un director țintă utilizând următoarea sintaxă:
$ cp sourcefile1 sourcefile2 sourcefile3 ... / target / directorExemplu:
În acest exemplu, copiez două fișiere eșantion în folderul Documente prin comanda cp:
Ulterior, am verificat prezența acestor fișiere în folderul țintă prin comanda ls.
Exemplul 3: Copierea fișierelor într-o manieră interactivă
Dacă există un fișier cu același nume în folderul țintă, puteți utiliza comanda cp pentru a vă solicita înainte de a suprascrie fișierul țintă. Puteți utiliza comutatorul -i în modul următor:
$ cp -i fișier sursă / țintă / directorExemplu:
În acest exemplu, un fișier numit sample_file.txt există deja în folderul meu Documente, prin urmare comanda cp, cu steagul -i, mă solicită dacă vreau să îl suprascriu. Fișierul va fi suprascris dacă introduc y la acest prompt.
Exemplul 4: Copierea fișierelor împreună cu o ieșire Verbose
O ieșire detaliată imprimă ceea ce face comanda. Acest lucru poate fi încorporat în comanda cp cu comutatorul -v după cum urmează:
$ cp -v fișier sursă / țintă / directorExemplu:
Puteți vedea în exemplul următor cum comanda cp tipărește o ieșire detaliată în timp ce copiați o comandă:
Exemplul 5: Copierea unui director recursiv
Utilizarea opțiunii -r cu comanda cp copiază recursiv toate fișierele și folderele dintr-un director într-o altă locație. Acesta este modul în care puteți utiliza comanda cp în acest scenariu:
$ cp -r director1 director2Exemplu:
În exemplul următor, întregul folder 1, cu toate fișierele sale, va fi copiat în folderul2.
Ulterior am verificat conținutul folderului2 prin comanda ls. Dosarul 2 conține acum o copie a dosarului sursă.
Exemplul 6: Copierea recursivă a unui director în timp ce păstrați o arhivă
Utilizând comutatorul -a cu comanda cp, puteți face două lucruri simultan:
- Copiați fișierele unui director recursiv într-un alt director
- Păstrați intacte permisiunile, ștampila de timp, linkurile simbolice și toate aceste proprietăți în timpul copierii fișierelor.
Acesta este modul în care puteți utiliza comanda cp în acest scenariu:
$ cp -a director1 director2Exemplu:
În exemplul următor, întregul folder 1, cu toate fișierele sale, vor fi copiate în folderul2. De asemenea, fișierele vor fi arhivate după cum s-a verificat ulterior prin comanda 'ls -l'.
Exemplul 7: Copiați un fișier în cazul în care acesta este mai nou decât fișierul țintă
Uneori doriți să copiați un fișier în directorul țintă numai dacă este mai nou decât fișierul țintă. Acest lucru se poate face folosind comutatorul -u cu comanda cp:
$ cp -u sourcefileORsircedory / director / target / directorExemplu:
În acest exemplu, am editat un fișier sample_file.txt din folderul meu sursă. Aceste fișiere au fost deja copiate în folderul țintă înainte de a edita fișierul. Acest lucru poate fi văzut în următoarea ieșire a comenzii 'ls -l':
Acum, când am copiat folderul sursă în folderul țintă, rezultatul detaliat a verificat că va fi copiat doar acel fișier care a fost editat de mine.
Exemplul 8: Copiați un fișier, dar nu suprascrieți dacă există deja un fișier țintă
Puteți spune comenzii cp să nu suprascrie fișierul dacă acesta există deja în locația țintă. Acest lucru se poate face prin comutatorul -n după cum urmează:
$ cp -n fișier sursă / țintă / directorExemplu:
În acest exemplu, am încercat mai întâi să copiez un fișier în locația țintă unde a existat deja. Comutatorul -i m-a solicitat dacă vreau să îl suprascriu.
În a doua comandă, am adăugat comutatorul -n. A ignorat comutatorul -i, dar nu a suprascris fișierul deja existent în directorul țintă.
Exemplul 9: Creați o legătură simbolică către un fișier din directorul țintă
Cu comutatorul -s din comanda cp, puteți crea o legătură simbolică către fișierul sursă din folderul țintă în loc să copiați fișierul sursă.
$ cp -s sourcefile / target / directoryExemplu:
În exemplul următor, am creat un link simbolic către fișierul sample_file.txt în folderul țintă.
Ulterior am verificat prezența link-ului simbolic în folderul țintă prin comanda „ls -l”.
Exemplul 10: Creați un link dur către un fișier din directorul țintă
Când creați un link dur către un fișier dintr-un alt folder, fișierul nu este copiat în folderul țintă; în schimb, este creat un link dur către fișierul sursă. Numărul de inod al fișierului sursă și al legăturii hard copiate este același. Iată cum puteți crea un link dur:
$ cp -l fișier sursă / țintă / directorExemplu:
În acest exemplu, am creat un link dur către fișierul sursă din folderul Documente.
Prin comanda „ls -il”, am verificat că atât fișierul original, cât și link-ul hard au aceleași numere de inode.
Acesta a fost tot ce trebuia să știți pentru a stăpâni comanda cp în Linux. Utilizând o combinație a acestor comutate, puteți face copierea fișierelor mult mai personalizabilă.