logo

cp naredba u Linux/Unix | Linux kopija datoteke

'cp' znači kopija. Naredba 'cp' koristi se za kopiranje datoteke ili direktorija.

Uvod u naredbu cp

Naredba cp koristi se za kopiranje direktorija i datoteka. Naredba sadrži tri primarna načina rada, predstavljena vrstama argumenata prikazanim programu za kopiranje datoteke u druge datoteke, više datoteka u bilo koji direktorij ili kopiranje cijelih direktorija u druge direktorije.

Nadalje, uslužni program prihvaća nekoliko zastavica opcija naredbenog retka za detaljiziranje implementiranih operacija. Dvije primarne specifikacije su GNU cp i POSIX cp. GNU cp sadrži razne dodatne opcije na POSIX verziji. Također, naredba je dostupna unutar EFI ljuske.

Načini rada cp naredbe

Naredba cp sadrži tri primarna načina rada. Ovi načini se dovršavaju iz broja i vrste argumenata prikazanih programu koji se poziva.

  • Program može kopirati sadržaj prve datoteke u drugu datoteku, čineći drugu datoteku ako je neophodna kada program sadrži dva argumenta naziva staze do datoteka.
  • Program može kopirati sve izvorne datoteke u željeni direktorij, čineći bilo koju datoteku koja još nije dostupna kada program sadrži jedan ili više argumenata naziva putanje datoteka i tražeći te argumente putanje do direktorija.
  • Naredba cp može kopirati svaku datoteku unutar izvornog direktorija u željeni direktorij, čineći sve direktorije ili datoteke potrebnim kada su argumenti programa nazivi staza za dva direktorija. Ovaj način rada zahtijeva dodatnu oznaku opcije koja predstavlja kopiranje rekurzivnog direktorija. Izvor će se kopirati u odredište, dok će se novi direktorij napraviti ako odredište ne postoji ako je odredišni direktorij već dostupan.

Opcije cp naredbe

Opcija Opis
--arhiv, -a To je ekvivalentno -dR --preserve=all.
--samo atributi Ne kopira podatke datoteke, samo atribute.
-b To je kao rezerva, ali ne prihvaća nikakve argumente.
--sigurnosna kopija[=CONTROL] Izrađuje sigurnosnu kopiju svih postojećih odredišnih datoteka.
--copy-contents Kada je rekurzivan, kopira poseban sadržaj datoteke.
-d To je ekvivalentno --no-dereference --preserve=links.
-- sila, -f Ako se bilo koja postojeća odredišna datoteka ne može otvoriti, izbrišite je i pokušajte ponovno (ova opcija se izbjegava ako se također koristi oznaka -n).
--interaktivan, -i Traži potvrdu prije prepisivanja (nadjačava prethodnu zastavicu -n).
-H U SOURCE-u slijedi simboličke veze naredbenog retka.
-- poveznica, -l Određuje datoteke tvrdih veza umjesto kopiranja.
--dereferencija, -L U SOURCE-u uvijek slijedi simboličke veze.
--no-clopa, -n Ne prepisuje nijednu postojeću datoteku (nadjačava oznaku -i).
--bez dereferencije, -P U SOURCE-u nikada ne slijedi simboličke veze.
-str To je ekvivalentno --preserve=mode, vremenske oznake, vlasništvo.
--sačuvati[=ATTR_LIST] Čuva opisane atribute. Ako je moguće, dodatni atributi: sve, xattr, veze, kontekst.
--no-preserve=ATTR_LIST Ne čuva opisane atribute.
--roditelji U direktoriju koristi puni naziv izvorne datoteke.
--rekurzivno, -r, -R Rekurzivno kopira direktorije.
--reflink[=KADA] Kontrolira CoW/klon kopije.
--ukloni-odredište Uklanja sve postojeće odredišne ​​datoteke prije pokušaja otvaranja (za razliku od --force).
--sparse=KADA Kontrolira uspostavljanje rijetkih datoteka.
--string-trailing-kose crte Uklanja kose crte na kraju iz svih argumenata SOURCE.
--simbolička-veza, -s Radije stvara simboličke veze nego kopira.
--sufiks=SUFIKS, -S On nadjačava zajednički rezervni sufiks.
--target-directory=DIREKTORIJ, -t Kopira svaki argument SOURCE u DIRECTORY.
--no-target-directory, -T Smatra DEST općom datotekom.
--ažurirati, -u Kopira se ako je IZVORNA datoteka novija u usporedbi s odredišnom datotekom ili ako odredišna datoteka nije navedena.
--opširno, -v Određuje što se radi.
--jedan-datotečni-sustav, -x Ostaje u datotečnom sustavu.
-S Postavlja SELinux sigurnosni kontekst odredišne ​​datoteke na zadanu vrstu.
--kontekst[=CTX] To je isto kao -Z, ili ako se spominje CTX, postavlja SMACK ili SELinux sigurnosni kontekst na CTX.
--Pomozite Prikazuje izbornik pomoći i izlazi.
--verzija Omogućuje pojedinosti o verziji i izlaze.

Rijetke SOURCE datoteke pronalaze se jeftinom heuristikom, a povezana DESR datoteka prema zadanim postavkama stvara se rijetka. To je ponašanje koje je izabrao --sparse=auto . Možemo opisati --sparse=uvijek da napravite rijetku DEST datoteku ako SOURCE datoteka uključuje dovoljno dugačak red od nula bajtova. Možemo se i prijaviti --rijetko=nikad ograničiti uspostavu rijetkih datoteka.

Ako --reflink[=uvijek] spomenuto, implementirajte laganu kopiju, u kojoj su blokovi podataka kopirani samo ako su promijenjeni. Ako nije moguće ili --reflink=automatski spomene, kopija ne uspijeva i vraća se na standardnu ​​kopiju. Možemo se i prijaviti --reflink=nikad kako bi se zajamčila implementacija standardne kopije.

Za kopiranje datoteke u isti direktorij sintaksa će biti,

 cp 

Linux datoteka cp

Na gornjoj snimci napravili smo kopiju 'docu' i nazvao ga kao 'novi' . Ako u slučaju, (u našem slučaju to je 'newdocu') već postoji, tada će jednostavno prepisati prethodnu datoteku.

Za kopiranje datoteke u drugi direktorij

Moramo spomenuti stazu odredišnog direktorija.

Na snimci ispod, ranije nema 'tekstualne' datoteke. Nakon davanja naredbe, 'tekst' datoteka je kopirana u odredišni direktorij, tj 'Desktop' .

Linux datoteka cp

Linux cp -r

Opcija 'r' s naredbom copy može se koristiti za kopiranje direktorija uključujući sav njegov sadržaj iz izvornog direktorija u odredišni direktorij.

Sintaksa:

 cp -r 

Primjer:

 cp -r library /home/sssit/Documents 

linux cp -r

U gornjem primjeru, kopirali smo imenik 'knjižnica' u odredišni direktorij /home/sssit/Dokumenti . Ovdje je sav sadržaj direktorija 'biblioteke', uključujući njegov sadržaj, kopiran u odredišni direktorij.

Linux Kopiraj više datoteka ili direktorija

Više datoteka ili direktorija može se kopirati u odredišni direktorij odjednom. U ovom slučaju cilj mora biti direktorij. Za kopiranje više datoteka koje možete koristiti zamjenski znakovi (cp *.ekstenzija) s istim uzorkom.

Sintaksa:

 cp *. 

Primjer:

 cp *.txt /home/sssit/Documents 

Linux kopira više datoteka

U gornjem primjeru, kopirali smo datoteke (datoteka1, datoteka2, datoteka3) s istom ekstenzijom '.txt' u imenik dokumenata.

Linux cp --backup

Ako datoteka koju želite kopirati već postoji u odredišnom direktoriju, možete sigurnosno kopirati postojeću datoteku pomoću ove naredbe.

isključite način rada za razvojne programere

Sintaksa:

 cp --backup 

Primjer:

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

Linux datoteka cp sigurnosna kopija

Kao što možete vidjeti gore, 'datoteka2.txt' već postoji u odredišnom direktoriju. Stoga smo napravili sigurnosnu kopiju ove datoteke i kopirali je u isti direktorij (s istim nazivom).

Sada naš odredišni direktorij koji je 'Preuzimanja' ima dvije datoteke s istim imenom (to je 'file2.txt').

Linux cp -i

Opcija cp '-i' omogućuje vam potvrdu jednom prije prepisivanja vaše datoteke.

Sintaksa:

 cp -i 

Primjer:

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

Linux cp -i

Kao što vidite, traži dopuštenje za prepisivanje datoteke 'datoteka3.txt' jer ova datoteka već postoji u odredišnom direktoriju. Sada možete pritisnuti i za prepisivanje datoteke i n da ne prebriše datoteku.

Linux cp -l

Ako želite stvoriti tvrdu vezu datoteke umjesto kopiranja te datoteke, možete koristiti opciju 'l'.

Bilješka: U stvaranju tvrde veze datoteke inode broj dviju datoteka ostat će isti. Dok se u slučaju kopiranja, inode broj mijenja.

Sintaksa:

 cp -l 

Primjer:

 cp -l file1.txt usr/ 

Linux datoteka cp -l

Imajte na umu da smo stvorili čvrstu vezu datoteke 'datoteka1.txt' u 'usr' . Inode broj obje datoteke je isti.

Linux cp -p

Opcija cp '-p' koristi se za očuvanje svojstava i atributa datoteke. Također možete sačuvati odabrana svojstva koja želite.

Sintaksa:

 cp -p 

Primjer:

 cp -p file2.txt usr/ 

Linux cp -p

Sada možete spojiti dvije datoteke (izvornu i kopiranu) na gornjoj slici, obje imaju ista svojstva.

Linux cp -u -v

Naredba cp -u -v se koristi kada želite biti sigurni da odredišna datoteka nedostaje ili ne postoji.

Sintaksa:

 cp -u -v 

Primjer:

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

Linux cp -u -v

Na gornjoj slici možete vidjeti da postoje dvije datoteke 'tuš' i 'datoteka1.txt' . Sada želimo kopirati ove dvije datoteke u direktorij 'Preuzimanje'. Ali ne znamo da u direktoriju 'Preuzimanja' datoteka 'file1.txt' već postoji.

Davanje zapovijedi 'cp -u -v' automatski će se pobrinuti za već postojeću datoteku (file1.txt) i neće je prepisati.

Ova naredba je korisna za kopiranje velikih datoteka.

pretvorba niza u cijeli broj u Javi