logo

Cum să copiați fișiere și directoare în Linux | Comanda cp

În lumea computerelor Linux, o sarcină comună și importantă este copierea fișierelor. Instrumentul cheie pentru această sarcină este comanda cp. În acest ghid simplu, vom explora cum să copiați un fișier în Linux, analizând pașii de bază, diferitele alegeri pe care le puteți face și oferind exemple clare. De asemenea, vom arunca o privire în culise pentru a înțelege cum funcționează comanda cp. Să începem această călătorie ușoară pentru a ne familiariza cu dezavantajele copierii fișierelor în Linux!

Cuprins



Sintaxa comenzii cp

Sintaxa de bază pentru copierea unui fișier folosindcp>comanda este următoarea:

cp source_file destination>

Această comandă creează o copie a fișierului ` source_file`> la ` specificat destination`> . Dacă destinația este a director , fișierul este copiat în acel director.

Cum să copiați fișiere în Linux cucp>Comanda

` cp`> comanda este un instrument versatil utilizat în sistemele de operare asemănătoare Unix pentru a copia fișiere și directoare. Oferă trei moduri principale de operare, fiecare având scopuri diferite.



1. Copierea între două fișiere în Linux

Dacă ` cp`> comanda conține două nume de fișiere, copiază conținutul primului fișier în al doilea fișier. Dacă al doilea fișier nu există, acesta este creat și conținutul este copiat în el. Cu toate acestea, dacă al doilea fișier există deja, acesta este suprascris fără avertisment.

algoritm de sortare heap
cp Src_file Dest_file>
  • Dacă ` Dest_file`> nu există, este creat.
  • Dacă ` Dest_file`> există deja, este suprascris fără niciun avertisment.

Exemplul 1:

  • Inițial, există un singur fișier (` a.txt`> ) în director.
  • ` cp`> comanda este folosită pentru a copia conținutul lui ` a.txt`> la ` b.txt`> .
  • După executarea comenzii, ambele ` a.txt`> iar noul creat ` b.txt`> coexistă în director.
cp a.txt b.txt>
Copiați un fișier în Linux

copiați un fișier în Linux



Am folosit ` ls ` comandă pentru a afișa toate fișierele din directorul curent.

Exemplul 2:

  • Inițial, există două fișiere (` a.txt`> și ` c.txt`> ) în director.
  • ` cp`> comanda este folosită pentru a copia conținutul lui ` a.txt`> la ` c.txt`> .
  • După executarea comenzii, conținutul lui ` c.txt`> este suprascris cu conținutul lui ` a.txt`.>
cp a.txt c.txt>
Copiați un fișier în Linux

Copiați un fișier în Linux

Am folosit ` ls ` comandă pentru a afișa toate fișierele din directorul curent și utilizate ` pisică `comandă pentru a afișa conținutul în fișierul text.

2. Copiați fișierele într-un Director în Linux

Candcp>comanda are unul sau mai multe argumente de fișier sursă și este urmată de un argument de director de destinație, acesta copiază fiecare fișier sursă în directorul de destinație cu același nume. Dacă directorul de destinație nu există, acesta este creat. Dacă există deja, fișierele sunt suprascrise fără avertisment.

cp Src_file1 Src_file2 Src_file3 Dest_directory>

Exemplu:

Să presupunem că trebuie să copiem numele a trei fișiere a.txt , b.txt și c.txt la un nume de director nou

cp a.txt b.txt c.txt new/>
Copiați mai multe fișiere într-un alt director

Copiați mai multe fișiere într-un alt director

Am folosit ` ls ` comandă pentru a afișa toate fișierele din noul director pentru a confirma copierea cu succes a fișierului din acel director.

3. Cum să copiați directoare în Linux

În acest mod, dacăcp>comanda conține două nume de directoare, copiază toate fișierele din directorul sursă în directorul de destinație. ` -R`> opțiunea este de obicei folosită pentru a indica copierea recursivă pentru directoare.

cp -R Src_directory Dest_directory>
copierea fișierelor între două directoare

copierea fișierelor între două directoare

Comportamentul depinde dacă ` Dest_directory`> există sau nu. Dacă nu există, ` cp`> îl creează și copiază conținutul lui ` Src_directory`> recursiv. Dacă ` Dest_directory`> există, copia lui ` Src_directory`> devine un subdirector sub ` Dest_directory`>

Opțiuni disponibile în comanda cp în Linux

Există multe opțiuni de cp comandă, aici vom discuta câteva dintre opțiunile utile:

Opțiune Detaliu
-i

Copiere interactivă cu un avertisment înainte de a suprascrie fișierul destinație.

-b

Creează o copie de rezervă a fișierului de destinație în același folder cu un nume și format diferit.

-f

Forțează copierea, chiar dacă utilizatorul nu are permisiunea de scriere; șterge fișierul destinație dacă este necesar.

-r sau -R

Copiază structura directorului în mod recursiv.

-p

Păstrează caracteristicile fișierului (timp de modificare, timp de acces, proprietate, biți de permisiune).

`*`

Folosește caracterul metalic * pentru a reprezenta toate fișierele și directoarele care se potrivesc cu un model.

1. Copiați un fișier în Linux folosind opțiunea `-i`

-i(interactiv): i înseamnă Copiere interactivă. Cu această opțiune, sistemul avertizează mai întâi utilizatorul înainte de a suprascrie fișierul destinație. cp solicită un răspuns, dacă apăsați și apoi suprascrie fisierul si cu orice alta optiune il lasa necopiat.

Sintaxă de bază:

cp -i [Source_file] [Destination_file]>

Exemplu:

cp -i a.txt b.txt>
Copiați un fișier în Linux folosind `-i`

Copiați un fișier în Linux folosind `-i`

Aici,

  • `ls`> comanda arată fișierele existente: ` a.txt`> și ` b.txt`> .
  • `cat a.txt`> afișează conținutul lui ` a.txt`> .
  • `cat b.txt`> afișează conținutul lui ` b.txt`> .
  • `cp -i a.txt b.txt`> inițiază o copie interactivă.
  • Sistemul solicită să confirme suprascrierea lui` b.txt`> .
  • Utilizatorul răspunde cu „y” pentru a confirma.
  • `cat b.txt`> arată conținutul actualizat, care acum se potrivește cu ` a.txt`> .

2. Copiați un fișier în Linux folosind opțiunea `-f`

-f(forță): Dacă sistemul nu poate deschide fișierul destinație pentru operația de scriere, deoarece utilizatorul nu are permisiunea de scriere pentru acest fișier, atunci utilizând -f opțiunea cu cp comanda, fișierul destinație este șters mai întâi și apoi copierea conținutului se face din fișierul sursă în fișierul destinație.

Sintaxă de bază:

cp -f [Source_file] [Destination_file]>

Exemplu:

cp -f a.txt b.txt>
Copiați un fișier în Linux folosind `-f`

Copiați un fișier în Linux folosind `-f`

Aici,

  • `ls`> comanda arată fișierele existente: ` a.txt`> și ` b.txt`> .
  • `cat a.txt`> afișează conținutul lui ` a.txt`> .
  • `cat b.txt`> afișează conținutul lui ` b.txt`> .
  • `cp -f a.txt b.txt`> inițiază o copie forțată.
  • Fișierul de destinație (b.txt) este suprascris fără solicitări.
  • `cat b.txt`> arată conținutul actualizat, care acum se potrivește cu ` a.txt`> .

3. Copiați un fișier în Linux folosind opțiunea `-r` sau `-R`

Copierea structurii directoarelor în mod recursiv. Cu această opțiune cp comanda își arată comportamentul recursiv prin copierea întregii structuri de directoare în mod recursiv.

Sintaxă de bază:

subșir în bash
cp -r [Directory_name1] [Directory_name2]>

Exemplu:

cp -r geeksforgeeks gfg>

4. Copiați un fișier în Linux folosind opțiunea `-p`

-p(conservare): Cu -p opțiune cp păstrează următoarele caracteristici ale fiecărui fișier sursă în fișierul de destinație corespunzător: ora ultimei modificări de date și ora ultimului acces, proprietatea (doar dacă are permisiuni pentru a face acest lucru) și biții de permisiuni ale fișierului.

Notă: Pentru păstrarea caracteristicilor, trebuie să fii utilizator root a sistemului, altfel caracteristicile se schimbă.

Sintaxă de bază:

cp -p [Source_file] [Destination_file]>

Exemplu:

cp -p a.txt c.txt>

5. Copiați un fișier în Linux folosind opțiunea `*`

Copiere folosind * wildcard: Caracterul joker steaua reprezintă orice, adică toate fișierele și directoarele. Să presupunem că avem multe documente text într-un director și dorim să le copiam într-un alt director, este nevoie de mult timp dacă copiem fișierele 1 cu 1 sau comanda devine prea lungă dacă specificăm toate aceste nume de fișiere ca argument, dar folosind * wildcard devine simplu.

Sintaxă de bază:

cp *.txt [Destination Directory or file]>

Exemplu:

cp *.txt Folder1>
Copiați un fișier în Linux folosind `*`

Copiați un fișier în Linux folosind `*`

Concluzie

The `cp` comanda este un instrument esențial care este folosit pentru copierea fișierelor sau a grupurilor de fișiere și directoare în sistemele de operare asemănătoare Unix. Dacă vorbim despre sintaxa sa, este nevoie de cel puțin două nume de fișier ca argument (sursă și destinație). După cum sa menționat, comanda are trei principii: copierea a două nume de fișiere, copierea unuia sau mai multor argumente și copierea a două nume de directoare. Apoi menționăm și multiplele opțiuni disponibile în timpul utilizării `cp` comanda: `-i` , `-b` , `-f , `-r` , `-p` . Pentru a lucra cu ușurință în shell Unix pentru gestionarea fișierelor, ar trebui să cunoașteți funcționarea corectă a `cp` comanda.