Kā kopēt direktoriju un tā saturu operētājsistēmā Linux

Izmantojiet komandu “cp”, lai kopētu un ielīmētu veselus direktorijus no vienas vietas uz citu

Neatkarīgi no tā, kuru operētājsistēmu izmantojat, viena faila vai mapes kopēšana no vienas vietas uz citu ir visvienkāršākais ikdienas uzdevums. Saspringtā darba dienā, projekta uzdevuma laikā skolā vai projekta izstrādes laikā failu kopēšana no vietas A uz vietu B ir neizbēgama.

Failu vai mapju kopēšana parasti tiek veikta, izmantojot GUI. Linux rūpējas par jūsu ieradumu strādāt ar termināli, nodrošinot komandrindas utilītu, kas ļauj kopēt failus vai mapes no vienas vietas uz citu. Izmantojot cp komanda ar dažādām opcijām sniedz jums brīvību kopēt failus un mapes vairākos veidos.

Ļaujiet man iepazīstināt jūs ar šo rakstu, kurā jūs uzzināsit par cp komandu un veidus, kā kopēt direktorijus kopā ar to saturu.

Iespējas, kas pieejamas ar cp komandu

Šīs ir visizplatītākās opcijas, ko izmanto kopā ar cp komandu direktorija un visa tā satura kopēšanas kontekstā.

IespējasApraksts
-vdetalizēts režīms (rāda progresu)
-r/Rrekursīvi kopēt direktorijus
-nnepārrakstiet esošu failu vai mapi
-iuzvedne pirms pārrakstīšanas

Kopējiet direktoriju no vienas vietas uz citu

Sāksim ar visvienkāršāko lietošanu cp komandu. Mēs izmantosim šo komandu ar opciju -r.

Izmantojot -r opcija nodrošina, ka tiks kopētas arī apakšmapes un faili, kas atrodas kopētajā direktorijā.

Sintakse:

cp -r [avota_vieta] [mērķa_vieta]

Piemērs:

Manā pašreizējā darba direktorijā ir divi direktoriji, ko sauc par “projektu” un “darbvietu”.

Šajā piemērā es izmantošu cp -r komanda, lai kopētu direktoriju “projekts” kopā ar visu tā saturu uz jaunu vietu, t.i., “/home/gaurav/workspace”. Tas vienkārši nozīmē, ka es kopēju direktoriju ar nosaukumu “projekts” uz direktoriju ar nosaukumu “darbvieta”.

Tas ir direktorijas “projekts” saturs. Izmantojot ls komandu, lai parādītu tās saturu.

gaurav@ubuntu:~/project$ ls -al kopā 288 drwxr-xr-x 6 gaurav gaurav 4096 17. septembris 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 17. septembris 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17. septembris 18:25 dem1, drwxr-xr-x 2 gaurav gaurav: 40-7x18 -x 2 gaurav gaurav 4096 17. septembris 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17. septembris 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24. septembris 17 18:26 temp. ubuntu: ~/projekts$

Tagad, izmantojot cp -r komandu mēs varam kopēt direktoriju “projekts” uz jebkuru vēlamo vietu.

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

Izvade:

gaurav@ubuntu:~/workspace$ ls -al kopā 408 drwxrwxr-x 4 gaurav gaurav 4096 17. septembris 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 17. septembris 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. marts 2018 .metadata drwxr-xr-x 6 gaurav gaurav 409 - 18-7- 18-6 projekts -- 1 gaurav gaurav 1535, 16. septembris 17:13 source.c gaurav@ubuntu:~/workspace$ 

Iepriekš redzamajā izvadā mēs redzam, ka direktorijs “projekts” ir kopēts no sākotnējās atrašanās vietas uz šo jauno atrašanās vietu “/home/gaurav/workspace”. Tagad atveram direktoriju “projekts” un pārbaudīsim, vai viss tajā esošais saturs ir arī kopēts.

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

Piezīme: esmu lietojis ./ šeit tā vietā, lai ievadītu visu ceļu. Tas vienkārši nozīmē, ka tas ir mana mājas direktorija ceļš un darbvieta atrodas manā mājas vai pašreizējā darba direktorijā. Lai iegūtu plašāku informāciju, varat iepazīties ar šo rakstu.

Izvade:

gaurav@ubuntu:~/workspace/project$ ls -al kopā 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 17. septembris 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 17. septembris 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 drxw-2 2 gaurav gaurav 4096 17. septembris 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 17. septembris 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24. septembris 17 18:27 gaurav@ temp. ~/darbvieta/projekts$ 

No šīs izvades mēs varam secināt, ka arī viss direktorijas “projekts” saturs tiek pārvietots uz jauno vietu.

Vairāku direktoriju kopēšana no vienas vietas uz citu

Lai kopētu vairākus direktorijus, cp komandu var izmantot tādā pašā veidā, kā minēts iepriekš. Vienīgās izmaiņas šeit būs tādas, ka jums būs jāievada vairāku kopējamo direktoriju vairāki avota ceļi.

Sintakse:

cp -r [avota_ceļš_1] [avota_ceļš_n] [galamērķa_ceļš]

Pārbaudīsim šo komandu ar piemēru.

Piemērs:

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

Šeit esmu nokopējis divus direktorijus “snap” un “projekts” no pašreizējā darba direktorija uz jaunu atrašanās vietu “/home/gaurav/tomcat”.

Tagad pārbaudīsim, vai direktoriji ar to saturu ir kopēti uz jauno atrašanās vietu.

gaurav@ubuntu:~/tomcat$ ls -al kopā 9316 drwxrwxr-x 5 gaurav gaurav 4096 Sep 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 12:19 12.

Pārbauda, ​​vai tiek kopēts arī šo direktoriju saturs.

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$

Izmantojot cp komanda ar detalizētu režīmu

Izmantojot cp komandu ar opciju -v iespējo runīgo režīmu. Šī funkcija parāda terminālī esošos failus, kas tiek kopēti. Kopējamā faila vai mapes nosaukums tiek parādīts jūsu terminālī.

Sintakse:

cp -vr [avota_direktorijs] [mērķa_vietas_ceļš]

Piemērs:

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

Šajā piemērā direktorijs "apache" tiek kopēts uz jaunu mapi "Space". Esmu izmantojis -v variants ar -r, lai tiktu kopēts arī viss apache direktorija saturs.

Izvade:

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

Izvade parāda direktoriju, kas tiek kopēta. To pašu procesu var veikt, ja tiek kopēti vairāki faili.

Lietojot, izvairieties no pārrakstīšanas cp komandu

Dažreiz, lietojot cp komandu, lai kopētu vairākus failus vai mapes, jūs varat pārrakstīt failus, kas jau ir kopēti jaunajā vietā. Lai no tā izvairītos, ieteicams izmantot -i opcija ar cp komandu. Tas parādīs uzvedni pirms jebkura faila vai mapes pārrakstīšanas.

Sintakse:

cp -ri [avota_direktorija_ceļš] [mērķa_vietas_ceļš]

Piezīme: Šeit, sintaksē, ko esmu izmantojis -r variants arī. Tādējādi tiks kopēts arī direktoriju saturs. Tas arī pārbaudīs, vai kāda no šīm apakšmapēm un failiem direktorijā netiek pārrakstīta.

Piemērs:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: pārrakstīt './tomcat/snap/pycharm-community/current'?

Šeit es mēģināju kopēt direktoriju ar nosaukumu “snap” uz jaunu vietu. Bet direktorija nosaukums “snap” jau pastāv jaunajā vietā. Tāpēc terminālis man parādīs uzvedni pirms esošā snap direktorija pārrakstīšanas.

Jūs varat ierakstīt ""vai"kā atbildi uz šo uzvedni.

Gadījumā, ja neizmantojat -i opciju, esošais direktorijs tiks pārrakstīts ar jauno direktoriju.

Izlaist failu un direktoriju pārrakstīšanu ar cp komandu

Mēs varam izmantot -n iespēja tieši norādīt terminālim nekad nepārrakstīt un vienkārši izlaist līdzīgus failus un direktorijus, izmantojot cp komandu.

Sintakse:

cp -nr [avota_direktorija_ceļš] [mērķa_vietas_ceļš]

Izmantojot šo komandu, varat būt drošs, ka faili un mapes netiks pārrakstīti.

Piemērs:

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

Šeit direktorijs “snap” jau pastāv mērķa vietā. Līdz ar to, izmantojot -n opcija nodrošinās, ka šis direktorijs netiks pārrakstīts.

Atšķirībā no -i opciju, šeit jums netiks prasīts par pārrakstīšanu.

Secinājums

Izmantojot cp komandu, lai kopētu direktorijus un to saturu operētājsistēmā Linux, ir vienkāršs process. Lai uzzinātu vairāk par cp komandu ar citām pieejamajām opcijām, varat apskatīt rokasgrāmatas lapu, ierakstot vīrietis kp savā Linux terminālī.