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
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 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
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
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
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
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/
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/
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/
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.