logo

cp Parancs Linux/Unix rendszerben | Linux másolófájl

A „cp” másolást jelent. A 'cp' parancs egy fájl vagy könyvtár másolására szolgál.

A cp Command bemutatása

A cp parancs könyvtárak és fájlok másolására szolgál. A parancs három elsődleges működési módot tartalmaz, amelyeket a program számára megjelenített argumentumtípusok képviselnek egy fájl más fájlba másolásához, több fájl bármely könyvtárba másolásához, vagy a teljes könyvtárak más könyvtárakba másolásához.

Ezenkívül a segédprogram számos parancssori opciójelzőt fogad el a végrehajtott műveletek részletezésére. A két elsődleges specifikáció a GNU cp és a POSIX cp. A GNU cp különféle extra opciókat tartalmaz a POSIX verzióhoz. Ezenkívül a parancs elérhető az EFI shellben.

A cp parancs működési módjai

A cp parancs három elsődleges működési módot tartalmaz. Ezek a módok a meghívott program számára megjelenített argumentumok számától és típusától kezdve teljesülnek.

  • A program képes az első fájl tartalmát a második fájlba másolni, és szükség esetén a második fájlt létrehozni, ha a program két elérési útnév argumentumot tartalmaz a fájlokhoz.
  • A program az összes forrásfájlt átmásolhatja a kívánt könyvtárba, és minden olyan fájlt elérhetővé tesz, amely még nem elérhető, ha a program egy vagy több fájlok elérési út-név argumentumát tartalmazza, és ezeket elérheti egy könyvtár elérési útjaként.
  • A cp parancs a forráskönyvtárban lévő összes fájlt átmásolhatja a kívánt könyvtárba, és minden könyvtárat vagy fájlt szükségessé tesz, ha a program argumentumai két könyvtár elérési útjai. Ehhez a működési módhoz szükség van egy extra beállításjelzőre, amely a rekurzív könyvtár másolását jeleníti meg. A forrás bemásolódik a célhelyre, míg ha a cél nem létezik, új könyvtár készül, ha a célkönyvtár már elérhető.

A cp Command beállításai

választási lehetőség Leírás
--archívum, -a Ez egyenértékű a -dR --preserve=all paraméterrel.
--csak attribútumok Nem másolja a fájl adatait, csak az attribútumokat.
-b Ez olyan, mint a tartalék, de nem fogad el semmilyen érvet.
--tartalék[=CONTROL] Biztonsági másolatot készít az összes létező célfájlról.
--másolat-tartalom Rekurzív esetben speciális fájltartalmakat másol.
-d Ez egyenértékű a --no-dereference --preserve=links kifejezéssel.
--erő, -f Ha valamelyik meglévő célfájlt nem lehet megnyitni, törölje azt, és próbálkozzon újra (ez az opció elkerülhető, ha az -n kapcsolót is használja).
--interaktív, -i Felülírás előtt megerősítést kér (felülbírálja az előző -n jelzőt).
-H A SOURCE-ban a parancssori szimbolikus hivatkozásokat követi.
--link, -l Másolás helyett merev hivatkozású fájlokat ad meg.
--hivatkozás, -L A SOURCE-ban mindig szimbolikus linkeket követ.
--no-clobber, -n Nem ír felül egyetlen meglévő fájlt sem (felülbírálja az -i jelzőt).
--hivatkozás nélkül, -P A SOURCE-ban soha nem követi a szimbolikus hivatkozásokat.
-o Ez egyenértékű a --preserve=mode, timestamps, property-vel.
--betartani[=ATTR_LIST] Megőrzi a leírt tulajdonságokat. Ha lehetséges, extra attribútumok: minden, xattr, linkek, kontextus.
--no-preserve=ATTR_LIST Nem őrzi meg a leírt tulajdonságokat.
-- szülők A könyvtár alatt a teljes forrásfájlnevet használja.
--rekurzív, -r, -R Rekurzívan másolja a könyvtárakat.
--reflink[=MIKOR] Ez vezérli a CoW/klón másolatokat.
--remove-destination Eltávolítja az összes létező célfájlt, mielőtt megpróbálná megnyitni őket (a --force helyett).
--sparse=MIKOR Szabályozza a ritka fájlok létrehozását.
--string-trailing-slashes Eltávolítja a záró perjeleket az összes SOURCE argumentumból.
--szimbolikus link, -s Másolás helyett szimbolikus linkeket készít.
--suffix=SUFFIX, -S Felülírja a közös biztonsági másolat utótagot.
--target-directory=KÖNYVTÁR, -t Minden SOURCE argumentumot a KÖNYVTÁRba másol.
--no-target-directory, -T A DEST-et általános fájlnak tekinti.
--frissítés, -u Másolja, ha a SOURCE fájl újabb a célfájlhoz képest, vagy ha a célfájl nincs megadva.
--bőbeszédű, -v Meghatározza, hogy mi történik.
--egy fájlrendszer, -x A fájlrendszerben marad.
-VAL VEL Beállítja a célfájl SELinux biztonsági környezetét az alapértelmezett típusra.
--context[=CTX] Ez ugyanaz, mint a -Z, vagy ha a CTX szerepel, akkor a SMACK vagy a SELinux biztonsági környezetét CTX-re állítja.
--Segítség Megjeleníti a súgó menüt és kilép.
--változat Verziórészleteket és kilépéseket biztosít.

A ritka SOURCE fájlokat egy olcsó heurisztika találja meg, a kapcsolódó DESR fájl pedig alapértelmezés szerint ritka lesz. Ez az általa választott viselkedés --sparse=auto . Leírhatjuk --sparse=mindig ritka DEST fájl létrehozásához, ha a SOURCE fájl elég hosszú, nulla bájtos sorrendet tartalmaz. Pályázhatunk is --sparse=soha hogy korlátozza a ritka fájlok létrehozását.

Ha --reflink[=mindig] megemlítve, valósítson meg egy könnyű másolatot, amelyben az adatblokkok csak akkor lettek másolva, ha megváltoztak. Ha ez nem lehetséges ill --reflink=auto meg van említve, a másolat meghiúsul, és visszaáll a szabványos másolatra. Pályázhatunk is --reflink=soha garantálja a szabványos másolat megvalósítását.

Ha egy fájlt ugyanabba a könyvtár szintaxisába másol, akkor

 cp 

Linux fájl cp

A fenti pillanatképen elkészítettük a másolatot 'dokumentum' és így nevezte el 'új' . Ha abban az esetben, (esetünkben ez 'newdocu') már létezik, akkor egyszerűen átírja a korábbi fájlt.

Fájl másolása egy másik könyvtárba

Meg kell említenünk a célkönyvtár elérési útját.

Az alábbi pillanatképen korábban nem volt 'szöveg' fájl. Miután kiadta a parancsot, 'szöveg' fájlt a célkönyvtárba másolták 'Asztali' .

Linux fájl cp

Linux cp -r

választási lehetőség 'r' a copy paranccsal egy könyvtárat és annak teljes tartalmát másolhatja át a forráskönyvtárból a célkönyvtárba.

Szintaxis:

 cp -r 

Példa:

 cp -r library /home/sssit/Documents 

linux cp -r

A fenti példában a könyvtárat másoltuk 'könyvtár' a célkönyvtárba /home/sssit/Dokumentumok . Itt a „könyvtár” könyvtár összes tartalma, beleértve annak tartalmát is, átmásolódott a célkönyvtárba.

Linux Több fájl vagy könyvtár másolása

Egyszerre több fájl vagy könyvtár másolható egy célkönyvtárba. Ebben az esetben a célnak egy könyvtárnak kell lennie. Több fájl másolásához használhatja helyettesítő karakterek (cp *.extension) ugyanazzal a mintával.

Szintaxis:

 cp *. 

Példa:

 cp *.txt /home/sssit/Documents 

Linux több fájlt másol

A fenti példában azonos kiterjesztésű fájlokat másoltunk (fájl1, fájl2, fájl3). '.txt' a Dokumentumok könyvtárba.

Linux cp --backup

Ha a másolni kívánt fájl már létezik a célkönyvtárban, akkor ezzel a paranccsal biztonsági másolatot készíthet a meglévő fájlról.

Szintaxis:

 cp --backup 

Példa:

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

Linux fájl cp biztonsági mentése

Mint fentebb láthatod, 'fájl2.txt' már létezik a célkönyvtárban. Ezért készítettünk egy biztonsági másolatot erről a fájlról, és bemásoltuk ugyanabba a könyvtárba (azonos névvel).

java egyenlő

Most a 'Letöltések' célkönyvtárunkban két azonos nevű fájl található (azaz 'file2.txt').

Linux cp -i

A cp '-i' opció lehetővé teszi, hogy egyszer megerősítse a fájl felülírását.

Szintaxis:

 cp -i 

Példa:

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

Linux cp -i

Amint látja, engedélyt kér a fájl felülírására 'fájl3.txt' mivel ez a fájl már létezik a célkönyvtárban. Most megnyomhatod és fájl felülírására és n hogy ne írja felül a fájlt.

Linux cp -l

Ha a fájl másolása helyett merev hivatkozást szeretne létrehozni, használhatja az 'l' opciót.

Jegyzet: A fájl kemény hivatkozásának létrehozásakor a két fájl inode száma ugyanaz marad. Míg másolás esetén az inód száma megváltozik.

Szintaxis:

 cp -l 

Példa:

 cp -l file1.txt usr/ 

Linux fájl cp -l

Jegyezze meg itt, hogy létrehoztunk egy kemény hivatkozást a fájlhoz 'fájl1.txt' ban ben 'usr' . Mindkét fájl inode száma megegyezik.

Linux cp -p

A cp '-p' opció a fájl tulajdonságainak és attribútumainak megőrzésére szolgál. Megőrizheti a kívánt tulajdonságokat is.

Szintaxis:

 cp -p 

Példa:

 cp -p file2.txt usr/ 

Linux cp -p

Most összeegyeztetheti a fenti képen látható két fájlt (az eredetit és a másoltot), mindkettő ugyanazokkal a tulajdonságokkal rendelkezik.

Linux cp -u -v

A cp -u -v parancs akkor használható, ha meg akar győződni arról, hogy a célfájl hiányzik vagy nem létezik.

Szintaxis:

 cp -u -v 

Példa:

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

Linux cp -u -v

A fenti képen látható, hogy két fájl van 'zuhany' és 'fájl1.txt' . Ezt a két fájlt most a „Letöltés” ​​könyvtárba szeretnénk másolni. De nem tudjuk, hogy a „Letöltések” könyvtárban már létezik a „file1.txt” fájl.

Kiadva a parancsot 'cp -u -v' automatikusan gondoskodik a már meglévő fájlról (fájl1.txt), és nem írja túl.

Ez a parancs nagy fájlok másolásakor hasznos.