Gamitin ang command na 'cp' upang kopyahin at i-paste ang buong mga direktoryo mula sa isang lugar patungo sa isa pa
Anuman ang Operating System na iyong pinapatakbo, ang pagkopya ng isang file o isang folder mula sa isang lokasyon patungo sa isa pa ay ang pinakapangunahing gawain na ginagawa mo araw-araw. Sa isang abalang araw sa trabaho, sa panahon ng pagtatalaga ng proyekto sa paaralan, o sa panahon ng patuloy na pagbuo ng isang proyekto, ang pagkopya ng mga file mula sa lokasyon A patungo sa lokasyon B ay hindi maiiwasan.
Ang pagkopya ng mga file o folder ay karaniwang ginagawa gamit ang GUI. Pinangangalagaan ng Linux ang iyong ugali na magtrabaho sa terminal sa pamamagitan ng pagbibigay ng command-line utility na nagbibigay-daan sa iyong kopyahin ang mga file o folder mula sa isang lokasyon patungo sa isa pa. Gamit ang cp
Ang command na may iba't ibang opsyon ay nagbibigay sa iyo ng kalayaang kumopya ng mga file at folder sa maraming paraan.
Hayaan akong gabayan ka sa artikulong ito kung saan matututunan mo ang tungkol sa cp
command at ang mga paraan upang kopyahin ang mga direktoryo kasama ang kanilang nilalaman.
Available ang mga opsyon sa cp
utos
Ito ang mga pinakakaraniwang opsyon na ginagamit sa cp
utos sa konteksto ng pagkopya ng isang direktoryo at lahat ng nilalaman nito.
Mga pagpipilian | Paglalarawan |
-v | verbose mode (nagpapakita ng pag-unlad) |
-r/R | kopyahin ang mga direktoryo nang paulit-ulit |
-n | huwag i-overwrite ang isang umiiral na file o folder |
-i | prompt bago i-overwrite |
Kopyahin ang isang direktoryo mula sa isang lokasyon patungo sa isa pa
Magsimula tayo sa pinakapangunahing paggamit ng cp
utos. Gagamitin namin ang command na ito na may opsyon -r
.
Gamit ang -r
Tinitiyak ng opsyon na ang mga sub-folder at mga file sa loob ng direktoryo na iyong kinokopya, ay makokopya din.
Syntax:
cp -r [source_location] [target_location]
Halimbawa:
Mayroon akong dalawang direktoryo sa loob ng aking kasalukuyang gumaganang direktoryo na tinatawag na 'proyekto' at 'workspace'.
Sa halimbawang ito, gagamitin ko ang cp -r
command na kopyahin ang direktoryo na 'proyekto' kasama ang lahat ng nilalaman nito sa isang bagong lokasyon i.e. '/home/gaurav/workspace'. Nangangahulugan lamang ito na kinokopya ko ang direktoryo na pinangalanang 'proyekto' sa isang direktoryo na pinangalanang 'workspace'.
Ito ang mga nilalaman ng 'proyekto' ng direktoryo. Gamit ang ls
utos na ipakita ang mga nilalaman nito.
gaurav@ubuntu:~/project$ ls -al total 288 drwxr-xr-x 6 gaurav gaurav 4096 Set 17 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 Set 17 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 Set 17 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096: drwxr-xr-x 4096: drwxr-xr-x -x 2 gaurav gaurav 4096 Set 17 18:25 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Set 17 18:25 dem4 -rw-r--r-- 1 gaurav gaurav 24 Set 17 18:26 temp@c. ubuntu:~/project$
Ngayon, gamit ang cp -r
command na maaari naming kopyahin ang direktoryo na 'proyekto' sa anumang nais na lokasyon.
gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$
Output:
gaurav@ubuntu:~/workspace$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 Set 17 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 Mar 22 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096: Sep-17 project - 17 Sep- -- 1 gaurav gaurav 1535 Set 16 17:13 source.c gaurav@ubuntu:~/workspace$
Sa output sa itaas, makikita natin na ang direktoryo na 'proyekto' ay kinopya mula sa orihinal na lokasyon patungo sa bagong lokasyong '/home/gaurav/workspace' na ito. Ngayon, buksan natin ang direktoryo na 'proyekto' at suriin kung ang lahat ng nilalaman sa loob nito ay kinopya rin.
gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$
Tandaan: gumamit ako ./
dito sa halip na pumasok sa kumpletong landas. Nangangahulugan lamang ito na ito ang aking home directory path at ang workspace ay matatagpuan sa aking tahanan o kasalukuyang working directory. Para sa karagdagang paglilinaw tungkol dito, maaari mong tingnan ang artikulong ito.
Output:
gaurav@ubuntu:~/workspace/project$ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 Set 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 Set 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 Set 17 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 Set: 27x-dem1 2 gaurav gaurav 4096 Set 17 18:27 dem3 drwxr-xr-x 2 gaurav gaurav 4096 Set 17 18:27 dem4 -rw-r--r-- 1 gaurav gaurav 24 Set 17 18:27 temp.c: gaurav@ubuntu ~/workspace/project$
Mula sa output na ito, maaari nating tapusin na ang lahat ng nilalaman ng 'proyekto' ng direktoryo ay inilipat din sa bagong lokasyon.
Pagkopya ng maramihang mga direktoryo mula sa isang lokasyon patungo sa isa pa
Upang kopyahin ang maramihang mga direktoryo, cp
Ang command ay maaaring gamitin sa parehong paraan tulad ng nabanggit sa itaas. Ang tanging pagbabago dito ay kakailanganin mong ipasok ang maramihang pinagmulang landas ng maramihang mga direktoryo na makokopya.
Syntax:
cp -r [source_path_1] [source_path_n] [destination_path]
Suriin natin ang utos na ito gamit ang isang halimbawa.
Halimbawa:
gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat
Dito, kinopya ko ang dalawang direktoryo na 'snap' at 'proyekto' mula sa aking kasalukuyang gumaganang direktoryo patungo sa isang bagong lokasyon na '/home/gaurav/tomcat'.
Ngayon tingnan natin kung ang mga direktoryo ay kinopya kasama ang kanilang nilalaman sa bagong lokasyon.
gaurav@ubuntu:~/tomcat$ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 Set 19 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 Set 19 12:16 project drwxr-xr-x 7 gaurav gaurav 4096 Sep 16 snap
Sinusuri kung ang nilalaman ng mga direktoryo na ito ay kinopya din.
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$
Gamit cp
utos na may verbose mode
Gamit ang cp
utos na may opsyon -v
pinapagana ang verbose mode. Ang tampok na ito ay nagpapakita ng mga file sa terminal na kinokopya. Ang pangalan ng File o Folder na kinokopya ay ipapakita sa iyong terminal.
Syntax:
cp -vr [source_directory] [target_location_path]
Halimbawa:
gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space
Sa halimbawang ito, ang direktoryo na 'apache' ay kinopya sa isang bagong folder na 'space'. Ginamit ko ang -v
opsyon na may -r
, upang ang lahat ng nilalaman ng direktoryo ng apache ay makopya din.
Output:
'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$
Ang output ay nagpapakita ng direktoryo na kinokopya. Ang parehong proseso ay maaaring gawin sa kaso ng pagkopya ng maramihang mga file.
Iwasan ang pag-overwrite kapag ginagamit cp
utos
Minsan habang ginagamit ang cp
utos na kopyahin ang maramihang mga file o folder, maaari kang ma-overwrite ang mga file na nakopya na sa bagong lokasyon. Upang maiwasan ito, ipinapayong gamitin ang -i
opsyon kasama ang cp
utos. Ipo-prompt ka nito bago i-overwrite ang anumang file o folder.
Syntax:
cp -ri [source_directory_path] [target_location_path]
Tandaan: Dito, sa syntax na ginamit ko -r
opsyon din. Ito ay kokopyahin din ang nilalaman ng mga direktoryo. Susuriin din nito kung ang alinman sa mga sub-folder at file na ito sa loob ng direktoryo ay na-overwrite.
Halimbawa:
gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: i-overwrite ang './tomcat/snap/pycharm-community/current'?
Dito, sinubukan kong kopyahin ang isang direktoryo na pinangalanang 'snap' sa isang bagong lokasyon. Ngunit ang pangalan ng direktoryo na 'snap' ay umiiral na sa bagong lokasyon. Kaya, ipo-prompt ako ng terminal bago i-overwrite ang kasalukuyang snap directory.
Maaari mong i-type ang 'Oo
'o'Hindi
' bilang tugon sa prompt na ito.
Kung sakaling, kung hindi mo gagamitin ang -i
opsyon, ang kasalukuyang direktoryo ay mapapatungan ng bagong direktoryo.
Laktawan ang pag-overwrit ng mga file at direktoryo na may cp
utos
Magagamit natin ang -n
opsyon na direktang atasan ang terminal na huwag i-overwrite at laktawan lang ang mga katulad na file at direktoryo habang ginagamit ang cp
utos.
Syntax:
cp -nr [source_directory_path] [target_location_path]
Gamit ang command na ito maaari kang makasigurado na ang iyong mga file at folder ay hindi ma-overwrite.
Halimbawa:
gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$
Dito, umiiral na ang direktoryo na 'snap' sa target na lokasyon. Samakatuwid, ang paggamit -n
Titiyakin ng opsyon na hindi i-overwrite ang direktoryo na ito.
Unlike -i
opsyon, dito hindi ka ipo-prompt tungkol sa pag-overwrit.
Konklusyon
Gamit ang cp
command na kopyahin ang mga direktoryo at ang kanilang nilalaman sa Linux ay isang madaling proseso. Upang matuto nang higit pa tungkol sa cp
command kasama ang iba pang magagamit na mga opsyon, maaari mong tingnan ang manu-manong pahina sa pamamagitan ng pag-type lalaki cp
sa iyong terminal ng Linux.