Android

Cum să copiați fișiere și directoare în linux

The Great Gildersleeve: Labor Trouble / New Secretary / An Evening with a Good Book

The Great Gildersleeve: Labor Trouble / New Secretary / An Evening with a Good Book

Cuprins:

Anonim

Copierea fișierelor și directoarelor este una dintre cele mai comune sarcini pe care le veți efectua atunci când lucrați pe linia de comandă. În Linux, există mai multe comenzi pentru copierea fișierelor cu cp și rsync fiind cele mai utilizate instrumente.

Este o practică obișnuită să folosești comanda cp la copierea fișierelor și comanda rsync la copierea directoarelor.

Pentru a putea copia fișiere și directoare, trebuie să aveți cel puțin permisiuni de citire în fișierul sursă și autorizație de scriere în directorul destinație.

Copierea fișierelor cu comanda cp

Pe sistemele de operare Linux și Unix, comanda cp 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 în fișierul nume file_backup.txt în directorul curent, aveți să executați următoarea comandă:

cp file.txt file_backup.txt

Dacă fișierul de destinație există, acesta va fi suprascris. Pentru a obține o solicitare 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 comanda cp 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 fișier, proprietatea și timestamps-urile:

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 tipărește 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. Dacă directorul destinație este omis, fișierul este copiat în directorul curent.

În următorul exemplu, copiem fișierul file.txt în directorul /backup :

cp file.txt /backup

Când specificați doar numele de director ca destinație, fișierul copiat va avea același nume ca fișierul original.

cp file.txt /backup/new_file.txt

Comanda de mai sus va copia fișierul în directorul specificat ca new_file.txt .

Copiați mai multe fișiere

Pentru a copia mai multe fișiere și directoare, specificați simultan numele fișierelor sursă și directoarele 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.

Comanda cp vă permite, de asemenea, să utilizați potrivirea modelului. De exemplu, pentru a copia toate fișierele .png din directorul curent în directorul /backup , ar trebui să 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 destinație și va copia recursiv toate fișierele și subdirectoarele de la sursă la directorul destinație.

Dacă directorul destinație există deja, directorul sursă în sine și întregul conținut al acestuia vor fi copiate în directorul destinație. Pentru a copia numai fișierele și subdirectoarele, dar nu directoarele țintă, utilizați opțiunea -T :

cp -RT Pictures Pictures_backup

Opțiunile utilizate la copierea fișierelor pot fi, de asemenea, utilizate la copierea directorului. Principala diferență este că atunci când copiați directoarele, trebuie să utilizați opțiunea -R .

Copierea fișierelor și a directoarelor cu comanda rsync

rsync este o utilitate linie de comandă rapidă și versatilă care sincronizează fișierele și directoarele între două locații. Poate fi utilizat pentru copierea fișierelor în locații locale și la distanță.

rsync include o serie de opțiuni care controlează fiecare aspect al comportamentului său. Cea mai utilă opțiune este -a care copiază directorii recursiv, transferă dispozitive speciale și blochează, păstrează legături simbolice, timpi de modificare, grup, proprietate și permisiuni.

Pentru a copia un singur fișier dintr-o altă locație, aveți să executați următoarea comandă:

rsync -a file.txt file_backup.txt

Dacă există fișierul de destinație, rsync va suprascrie.

Aceeași comandă poate fi folosită 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 tăiere obținută / diferit. Dacă adăugați o lamă de final în directorul sursă, comanda va copia numai conținutul directorului sursă în directorul destinație. Când omologarea finală este omisă, rsync va copia directorul sursă din directorul destinație. Cea mai sigură opțiune este să includeți întotdeauna slash-ul / atât pe destinație cât și pe sursă.

Pentru a afla mai multe despre rsync verificați următoarele articole:

Concluzie

În acest ghid, v-am arătat cum puteți copia fișierele și directoarele în sistemele bazate pe Linux și Unix folosind utilitățile cp și rsync .

terminal cp rsync