logo

Comanda cp în Linux/Unix | Fișier de copiere Linux

„cp” înseamnă copiere. Comanda „cp” este folosită pentru a copia un fișier sau un director.

Introducere în comanda cp

Comanda cp este folosită pentru a copia directoare și fișiere. Comanda conține trei moduri de operare primare, reprezentate de tipurile de argument afișate programului pentru a copia un fișier în alte fișiere, mai multe fișiere în orice director sau pentru a copia toate directoarele în alte directoare.

În plus, utilitarul acceptă mai multe opțiuni de linie de comandă pentru a detalia operațiunile implementate. Cele două specificații principale sunt GNU cp și POSIX cp. GNU cp conține diverse opțiuni suplimentare pentru versiunea POSIX. De asemenea, comanda este disponibilă în shell-ul EFI.

șiruri de caractere la numere întregi

Moduri de operare ale comenzii cp

Comanda cp conține trei moduri de operare principale. Aceste moduri sunt completate de la numărul și tipul de argumente afișate la programul aflat în invocare.

  • Programul poate copia conținutul primului fișier în al doilea fișier, făcând ca al doilea fișier să fie esențial atunci când programul conține două argumente de nume de cale către fișiere.
  • Programul poate copia toate fișierele sursă în directorul dorit, făcând orice fișier care nu este deja disponibil atunci când programul conține unul sau mai multe argumente de nume de cale ale fișierelor și urmărind acelea un argument de cale către un director.
  • Comanda cp poate copia fiecare fișier din directorul sursă în directorul dorit, făcând orice directoare sau fișiere necesare atunci când argumentele programului sunt numele căilor pentru două directoare. Acest mod de operare are nevoie de un indicator de opțiune suplimentar pentru a reprezenta copierea directorului recursiv. Sursa va fi copiată în destinație, în timp ce se face un nou director dacă destinația nu există dacă directorul de destinație este deja disponibil.

Opțiuni ale comenzii cp

Opțiune Descriere
--arhivă, -a Este echivalent cu -dR --preserve=all.
--doar atribute Nu copiază datele fișierului, ci doar atributele.
-b Este ca o copie de rezervă, dar nu acceptă niciun argument.
--backup[=CONTROL] Face o copie de rezervă a tuturor fișierelor de destinație existente.
--copie-conținut Când este recursiv, copiază conținutul fișierului special.
-d Este echivalent cu --no-dereference --preserve=links.
--forță, -f Dacă orice fișier destinație existent nu poate fi deschis, ștergeți-l și încercați din nou (această opțiune este evitată dacă este folosit și indicatorul -n).
--interactiv, -i Solicită confirmare înainte de suprascriere (înlocuiește steag-ul anterior -n).
-H În SOURCE, urmează legăturile simbolice din linia de comandă.
--link, -l Specifică fișierele hard link, mai degrabă decât copierea.
--dereferință, -L În SOURCE, urmează întotdeauna legături simbolice.
--no-clobber, -n Nu suprascrie niciun fișier existent (înlocuiește marcajul -i).
--fără-dereferință, -P În SOURCE, nu urmează niciodată legături simbolice.
-p Este echivalent cu --preserve=mode, marcaje temporale, proprietate.
--preserve[=ATTR_LIST] Păstrează atributele descrise. Dacă este posibil atribute suplimentare: all, xattr, links, context.
--no-preserve=ATTR_LIST Nu păstrează atributele descrise.
--părinţi Sub director, folosește numele complet al fișierului sursă.
--recursiv, -r, -R Copiază recursiv directoare.
--reflink[=CÂND] Controlează copiile CoW/clone.
--elimină-destinație Îndepărtează toate fișierele destinație existente înainte de a încerca să le deschidă (opus --force).
--sparse=CÂND Acesta controlează stabilirea fișierelor rare.
--string-trailing-slashes Îndepărtează barele oblice finale din toate argumentele SOURCE.
--legătură-simbolică, -s Face linkuri simbolice mai degrabă decât copierea.
--sufix=SUFIX, -S Acesta suprascrie sufixul comun de rezervă.
--target-directory=DIRECTORY, -t Copiază fiecare argument SOURCE în DIRECTORY.
--no-target-directory, -T Consideră DEST ca un fișier general.
--actualizare, -u Copiază dacă fișierul SOURCE este mai nou în comparație cu fișierul destinație sau dacă fișierul destinație nu este specificat.
--verbos, -v Ea precizează ce se face.
--un sistem de fișiere, -x Rămâne pe sistemul de fișiere.
-CU Setează contextul de securitate SELinux al fișierului destinație la tipul implicit.
--context[=CTX] Este la fel ca -Z, sau dacă este menționat CTX, setează contextul de securitate SMACK sau SELinux la CTX.
--Ajutor Afișează meniul de ajutor și iese.
--versiune Oferă detalii despre versiune și ieșiri.

Fișierele SOURCE rare sunt găsite printr-o euristică ieftină, iar fișierul DESR aferent este creat implicit. Este comportamentul ales de --sparse=auto . Putem descrie --sparse=intotdeauna pentru a face un fișier DEST rar dacă fișierul SOURCE include o ordine suficient de lungă de zero octeți. Putem aplica si noi --sparse=niciodată pentru a constrânge constituirea de dosare rare.

Dacă --reflink[=intotdeauna] este menționat, implementați o copie ușoară, în care blocurile de date au fost copiate numai dacă au fost modificate. Dacă nu este posibil sau --reflink=auto este menționat, copia eșuează și revine la copia standard. Putem aplica si noi --reflink=niciodată pentru a garanta implementarea unei copii standard.

Pentru a copia un fișier în aceeași sintaxă a directorului va fi,

 cp 

Fișier Linux cp

În instantaneul de mai sus, am creat o copie a 'docu' și l-a numit ca 'nou' . Dacă în caz, (în cazul nostru este „newdocu”) deja există, atunci pur și simplu va suprascrie fișierul anterior.

Pentru a copia un fișier într-un alt director

Trebuie să menționăm calea directorului de destinație.

În instantaneul de mai jos, mai devreme nu există niciun fișier „text”. După ce a dat comanda, 'text' fișierul a fost copiat în directorul de destinație, adică „Desktop” .

Fișier Linux cp

Linux cp -r

Opțiune 'r' cu comanda copy poate fi folosit pentru a copia un director care include tot conținutul său dintr-un director sursă în directorul de destinație.

Sintaxă:

 cp -r 

Exemplu:

 cp -r library /home/sssit/Documents 

Linux cp -r

În exemplul de mai sus, am copiat directorul 'bibliotecă' la directorul de destinație /home/sssit/Documente . Aici, tot conținutul directorului „bibliotecă”, inclusiv conținutul acestuia, a fost copiat în directorul de destinație.

cel mai frumos zâmbet

Linux Copiați mai multe fișiere sau directoare

Mai multe fișiere sau directoare pot fi copiate simultan într-un director de destinație. În acest caz, ținta trebuie să fie un director. Pentru a copia mai multe fișiere pe care le puteți folosi wildcards (cp *.extension) având același model.

Sintaxă:

 cp *. 

Exemplu:

 cp *.txt /home/sssit/Documents 

Linux copiază mai multe fișiere

În exemplul de mai sus, am copiat fișiere (fișier1, fișier2, fișier3) având aceeași extensie '.TXT' în directorul Documente.

Linux cp --backup

Dacă fișierul pe care doriți să-l copiați există deja în directorul de destinație, puteți face o copie de rezervă a fișierului existent folosind această comandă.

Sintaxă:

cum să descărcați videoclipuri de pe youtube vlc
 cp --backup 

Exemplu:

 cp --backup file2.txt /home/sssit/Downloads 

Backup fișier Linux cp

După cum puteți vedea mai sus, „fișier2.txt” există deja în directorul de destinație. Prin urmare, am creat o copie de rezervă a acestui fișier și l-am copiat în același director (având același nume).

Acum directorul nostru de destinație care este „Descărcări” are două fișiere cu același nume (adică „fișier2.txt”).

Linux cp -i

Opțiunea cp „-i” vă permite să confirmați o dată înainte de a vă suprascrie fișierul.

Sintaxă:

 cp -i 

Exemplu:

 cp -i file3.txt /home/sssit/Desktop 

Linux cp -i

După cum puteți vedea, cere permisiunea de a suprascrie fișierul „fișier3.txt” deoarece acest fișier există deja în directorul de destinație. Acum, puteți apăsa și pentru a suprascrie fișierul și n pentru a nu suprascrie fișierul.

Linux cp -l

Dacă doriți să creați o legătură hard a unui fișier în loc să copiați acel fișier, puteți utiliza opțiunea „l”.

când începe q2

Notă: La crearea unei legături hard a fișierului, numărul inodul celor două fișiere va rămâne același. În timp ce, în cazul copierii, numărul inodului se modifică.

Sintaxă:

 cp -l 

Exemplu:

 cp -l file1.txt usr/ 

Fișier Linux cp -l

Rețineți că am creat un link hard al fișierului „fișier1.txt” în 'usr' . Numărul de inod al ambelor fișiere este același.

Linux cp -p

Opțiunea cp „-p” este utilizată pentru a păstra proprietățile și atributele unui fișier. De asemenea, puteți păstra proprietățile selectate pe care le doriți.

Sintaxă:

 cp -p 

Exemplu:

 cp -p file2.txt usr/ 

Linux cp -p

Acum, puteți potrivi cele două fișiere (cel original și cel copiat) din imaginea de mai sus, ambele având aceleași proprietăți.

Linux cp -u -v

Comanda cp -u -v este folosită atunci când doriți să vă asigurați că fișierul destinație lipsește sau nu există.

Sintaxă:

str.substring în java
 cp -u -v 

Exemplu:

 cp -u -v docc file1.txt /home/sssit/Downloads/ 

Linux cp -u -v

În imaginea de mai sus, puteți vedea că există două fișiere 'duș' și „fișier1.txt” . Acum vrem să copiem aceste două fișiere în directorul „Descărcare”. Dar nu știm că în directorul „Descărcări” fișierul „file1.txt” există deja.

Dând comanda 'cp -u -v' se va ocupa automat de fișierul deja existent (fișier1.txt) și nu îl va suprascrie.

Această comandă este utilă pentru a copia fișiere mari.