Könyvtár és tartalmának másolása Linux alatt

A „cp” paranccsal teljes könyvtárakat másolhat és illeszthet be egyik helyről a másikra

Függetlenül attól, hogy melyik operációs rendszert futtatja, az egyik fájl vagy mappa egyik helyről a másikra másolása a legalapvetőbb napi feladat. Egy mozgalmas munkanapon, az iskolai projektfeladat során vagy egy projekt folyamatban lévő fejlesztése közben elkerülhetetlen a fájlok másolása A helyről B helyre.

A fájlok vagy mappák másolása általában a grafikus felhasználói felület segítségével történik. A Linux gondoskodik arról, hogy a terminálon dolgozzon, egy parancssori segédprogramot biztosít, amely lehetővé teszi a fájlok vagy mappák egyik helyről a másikra másolását. Használni a cp paranccsal számos opcióval szabadon másolhat fájlokat és mappákat többféle módon.

Hadd kísérjem végig ezt a cikket, ahol megtudhatja a cp parancsot és a könyvtárak tartalmukkal együtt másolásának módjait.

Opciók elérhetők cp parancs

Ezek a leggyakrabban használt opciók a cp parancsot egy könyvtár és annak teljes tartalmának másolásával összefüggésben.

OpciókLeírás
-vbőbeszédű mód (az előrehaladást mutatja)
-r/Rkönyvtárakat rekurzívan másolni
-nne írjon felül meglévő fájlt vagy mappát
-énfelülírás előtt

Könyvtár másolása egyik helyről a másikra

Kezdjük a legalapvetőbb használattal cp parancs. Ezt a parancsot az opcióval együtt fogjuk használni -r.

Használni a -r opció biztosítja, hogy a másolt könyvtárban lévő almappák és fájlok is másolásra kerüljenek.

Szintaxis:

cp -r [forráshely] [célhely]

Példa:

A jelenlegi munkakönyvtáramban két könyvtár van, ezek a „projekt” és a „munkaterület”.

Ebben a példában a cp -r paranccsal másolja a „projekt” könyvtárat annak teljes tartalmával együtt egy új helyre, azaz a „/home/gaurav/workspace” címre. Ez egyszerűen azt jelenti, hogy a „projekt” nevű könyvtárat egy „munkaterület” nevű könyvtárba másolom.

Ezek a „projekt” könyvtár tartalma. Használni a ls parancsot a tartalmának megjelenítéséhez.

gaurav@ubuntu:~/project$ ls -al összesen 288 drwxr-xr-x 6 gaurav gaurav 4096 szeptember 17. 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 17, 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem1, drwxr-xr-x 2 gaurav gaurav: 417 dem26 sep: 417-xr-8 -x 2 gaurav gaurav 4096 Sep 17 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:26@ temp. ubuntu:~/projekt$

Most, a cp -r paranccsal a „projekt” könyvtárat tetszőleges helyre másolhatjuk.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$

Kimenet:

gaurav@ubuntu:~/workspace$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 szeptember 17, 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 2018. március 22. .metadata drwxr-xr-x 6 gaurav gaurav 409 - 17 - 17 projekt -- 1 gaurav gaurav 1535 Sep 16 17:13 source.c gaurav@ubuntu:~/workspace$ 

A fenti kimenetben láthatjuk, hogy a „projekt” könyvtár az eredeti helyről ebbe az új „/home/gaurav/workspace” helyre lett másolva. Most nyissuk meg a „projekt” könyvtárat, és ellenőrizzük, hogy a benne lévő összes tartalom is át van-e másolva.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

Jegyzet: használtam ./ itt ahelyett, hogy a teljes elérési utat megadná. Ez egyszerűen azt jelenti, hogy ez a saját könyvtáram elérési útja, és a munkaterület az otthoni vagy az aktuális munkakönyvtáramban található. Ha többet szeretne megtudni erről, tekintse meg ezt a cikket.

Kimenet:

gaurav@ubuntu:~/workspace/project$ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 szep 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 szept 17 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 drxw8:2r7 des-xrx21 2 gaurav gaurav 4096 Sep 17 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 Sep 17 18:27 gaurav@ tempunctu: gaurav@ temp. ~/munkaterület/projekt$ 

Ebből a kimenetből arra a következtetésre juthatunk, hogy a „projekt” könyvtár minden tartalma is átkerül az új helyre.

Több könyvtár másolása egyik helyről a másikra

Több könyvtár másolásához cp parancs a fent említett módon használható. Az egyetlen változás itt az lesz, hogy meg kell adnia a több másolandó könyvtár több forrásútvonalát.

Szintaxis:

cp -r [forrás_útvonala_1] [forrás_útvonala] [cél_útvonala]

Vizsgáljuk meg ezt a parancsot egy példával.

Példa:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat

Itt átmásoltam két „snap” és „projekt” könyvtárat a jelenlegi munkakönyvtáramból egy új helyre „/home/gaurav/tomcat”.

Most nézzük meg, hogy a könyvtárak a tartalmukkal együtt át vannak-e másolva az új helyre.

gaurav@ubuntu:~/tomcat$ ls -al összesen 9316 drwxrwxr-x 5 gaurav gaurav 4096 szeptember 19. 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 Sep 19 12:16 project drwxr-xr-x 7 gaurav gaurav 4096 1.szep:19.12.

Annak ellenőrzése, hogy ezeknek a könyvtáraknak a tartalma is másolásra került-e.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

Használata cp parancs bőbeszédű móddal

Használni a cp parancsot az opcióval -v lehetővé teszi a bőbeszédű módot. Ez a funkció megjeleníti a terminálon lévő fájlokat, amelyek másolás alatt állnak. A másolandó fájl vagy mappa neve megjelenik a terminálon.

Szintaxis:

cp -vr [forráskönyvtár] [célhely_útvonal]

Példa:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

Ebben a példában az „apache” könyvtárat egy új „space” mappába másoljuk. Használtam a -v opcióval -r, így az apache könyvtár minden tartalma is másolásra kerül.

Kimenet:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

A kimeneten megjelenik a másolás alatt álló könyvtár. Ugyanez a folyamat elvégezhető több fájl másolásakor is.

Használat közben kerülje a felülírást cp parancs

Néha használat közben a cp paranccsal több fájl vagy mappa másolásához, akkor előfordulhat, hogy felülírja azokat a fájlokat, amelyek már át vannak másolva az új helyre. Ennek elkerülése érdekében tanácsos a -én opcióval a cp parancs. Ez megkérdezi, mielőtt felülírna bármilyen fájlt vagy mappát.

Szintaxis:

cp -ri [forrás_könyvtár_útvonala] [cél_hely_útvonala]

Jegyzet: Itt, az általam használt szintaxisban -r opciót is. Ez a könyvtárak tartalmát is átmásolja. Azt is ellenőrzi, hogy a könyvtárban lévő almappák és fájlok valamelyike ​​felülírásra kerül-e.

Példa:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: felülírja: './tomcat/snap/pycharm-community/current'?

Itt megpróbáltam átmásolni egy „snap” nevű könyvtárat egy új helyre. De a „snap” könyvtárnév már létezik az új helyen. Ezért a terminál kérni fog a meglévő snap könyvtár felülírása előtt.

beírhatod, hogyIgen"vagy"Nem’ válaszként erre a felszólításra.

Abban az esetben, ha nem használja a -én opciót, a meglévő könyvtárat felülírja az új könyvtár.

A fájlok és könyvtárak felülírásának kihagyása a cp parancs

Használhatjuk a -n opció, amellyel közvetlenül utasíthatja a terminált, hogy soha ne írjon felül, és egyszerűen átugorja a hasonló fájlokat és könyvtárakat a használata közben cp parancs.

Szintaxis:

cp -nr [forrás_könyvtár_útvonala] [cél_hely_útvonala]

Ezzel a paranccsal biztos lehet benne, hogy a fájlok és mappák nem kerülnek felülírásra.

Példa:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

Itt a „snap” könyvtár már létezik a célhelyen. Ezért használva -n opció biztosítja, hogy ne írja felül ezt a könyvtárat.

nem úgy mint -én opciót, itt nem kap értesítést a felülírásról.

Következtetés

Használni a cp paranccsal a könyvtárak és tartalmuk másolása Linuxon egy egyszerű folyamat. Ha többet szeretne megtudni a cp parancsot a többi elérhető lehetőséggel, gépelve megtekintheti a kézikönyv oldalát férfi cp a Linux terminálon.