Cum să copiați fișiere și directoare în Linux
copierea fișierelor și directoarelor este una dintre cele mai frecvente sarcini pe care le veți efectua atunci când lucrați la linia de comandă. Există mai multe comenzi pentru copierea fișierelor în Linux, cp
și rsync
fiind cele mai utilizate instrumente.
este o practică obișnuită să folosiți comandacp
pentru a copia fișiere șirsync
pentru a copia directoare.
pentru a putea copia fișiere și directoare, trebuie să aveți cel puțin permisiuni de citire în fișierul sursă și permisiunea de scriere în directorul de destinație.
copierea fișierelor cu comanda cp #
pe sistemele de operare Linux și UNIX, comandacp
este utilizată pentru copierea fișierelor și directoarelor.
cel mai simplu caz de utilizare este copierea unui fișier în directorul de lucru curent. De exemplu, pentru a copia un fișier numit file.txt
într-un fișier numit file_backup.txt
în directorul curent, executați următoarea comandă:
cp file.txt file_backup.txt
Dacă fișierul destinație există, acesta va fi suprascris. Pentru a obține un prompt de confirmare înainte de a suprascrie fișierele, utilizați opțiunea -i
.
cp -i file.txt file_backup.txt
în mod implicit, atunci când utilizați comandacp
pentru a copia un fișier, noul fișier va fi deținut de utilizatorul care efectuează comanda. Utilizați opțiunea -p
pentru a păstra modul de fișier, proprietatea și marcajele de timp:
cp -p file.txt file_backup.txt
o altă opțiune care poate fi utilă este -v
. Când utilizați această opțiune, comanda imprimă ceea ce se face:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
copiați un fișier într-un director #
pentru a copia un fișier într-un director, specificați calea absolută sau relativă către director. Când directorul destinație este omis, fișierul este copiat în directorul curent.
în exemplul următor, copiem fișierul file.txt
în directorul/backup
:
cp file.txt /backup
când specificați doar numele directorului ca destinație, fișierul copiat va avea același nume ca fișierul original.
dacă doriți să copiați fișierul sub un alt nume, trebuie să specificați numele de fișier dorit:
cp file.txt /backup/new_file.txt
comanda de mai sus va copia fișierul în directorul specificat canew_file.txt
.
Copiere mai multe fișiere #
pentru a copia mai multe fișiere și directoare simultan, specificați numele fișierelor sursă și directoarelor urmate cu directorul destinație ca ultim argument:
cp file.txt dir file1.txt file2.txt dir1
când copiați mai multe fișiere, destinația trebuie să fie un director.
comandacp
vă permite, de asemenea, să utilizați potrivirea modelelor. De exemplu, pentru a copia toate fișierele .png
din directorul curent în directorul /backup
, utilizați:
cp *.png /backup
copierea directoarelor cu comanda cp #
pentru a copia un director, inclusiv toate fișierele și subdirectoarele sale, utilizați opțiunea -R
sau -r
. În exemplul următor, copiem directorul Pictures
în Pictures_backup
:
cp -R Pictures Pictures_backup
comanda de mai sus va crea directorul de destinație și va copia recursiv toate fișierele și subdirectoarele din sursă în directorul de destinație.
dacă directorul de destinație există deja, directorul sursă în sine și conținutul său sunt copiate în directorul de destinație. Pentru a copia numai fișierele și subdirectoarele, dar nu și directorul țintă, utilizați opțiunea -T
:
cp -RT Pictures Pictures_backup
opțiunile utilizate la copierea fișierelor pot fi utilizate și la copierea directoarelor. Principala diferență este că atunci când copiați directoarele, trebuie să utilizați opțiunea -R
.
copierea fișierelor și directoarelor cu comanda rsync #
rsync
este un utilitar de linie de comandă rapid și versatil care sincronizează fișierele și directoarele între două locații. Poate fi folosit pentru a copia fișiere în locații locale și la distanță.
rsync
include multe opțiuni care controlează fiecare aspect al comportamentului său
cea mai utilă opțiune este-a
care copiază recursiv directoare, transferă dispozitive speciale și blochează și păstrează legături simbolice, timpi de modificare, grup, proprietate și permisiuni.
pentru a copia un singur fișier dintr-o locație în alta, executați următoarea comandă:
rsync -a file.txt file_backup.txt
Dacă fișierul destinație există, rsync
îl va suprascrie.
aceeași comandă poate fi utilizată pentru a copia un director:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync
amenință directoarele sursă care se termină cu o bară oblică/
diferit. Dacă adăugați o bară oblică în directorul sursă, comanda va copia numai conținutul directorului sursă în directorul destinație. Când slash-ul final este omis, rsync
va copia directorul sursă din directorul destinație. Cea mai sigură opțiune este întotdeauna să includeți slash-ul final /
atât pe destinație, cât și pe sursă.
pentru a afla mai multe desprersync
verificați următoarele articole:
- cum să utilizați Rsync pentru transferul și sincronizarea datelor locale și la distanță
- cum să excludeți fișierele și directoarele cu Rsync
concluzie #
v-am arătat cum să copiați fișierele și directoarele în sistemele Linux și Unix, folosindcp
șirsync
utilități.
Leave a Reply