Giunsa Paggamit ang cp Command nga Epektibo sa Linux [14 nga mga Ehemplo]
Mubo: Niining sayon-sundon nga giya, atong hisgotan ang pipila ka praktikal nga mga pananglitan sa cp command. Human sa pagsunod niini nga giya, ang mga tiggamit makahimo sa pagkopya sa mga file ug mga direktoryo nga sayon sa Linux gamit ang command line interface.
Isip mga tiggamit sa Linux, nakig-uban kami sa pagkopya sa mga file ug mga direktoryo. Sa tinuud, makagamit kami usa ka graphical file manager aron mahimo ang operasyon sa pagkopya. Bisan pa, kadaghanan sa mga tiggamit sa Linux gusto nga mogamit sa cp nga mando tungod sa kayano ug daghang gamit niini.
Niining bag-o nga mahigalaon nga giya, atong mahibal-an ang bahin sa cp command. Sama sa gisugyot sa ngalan, ang cp command gigamit sa pagkopya sa mga file ug mga direktoryo sa usa ka gihatag nga dalan.
Sa tibuok niini nga giya, atong masabtan ang paggamit sa cp command gamit ang praktikal nga mga ehemplo nga magamit sa adlaw-adlaw nga basehan.
Busa magsugod na ta.
Cp Command Syntax
Ang syntax sa cp command parehas sa ubang Linux commands. Sa taas nga lebel, gibahin kini sa duha ka bahin - mga kapilian ug mga argumento:
$ cp [OPTIONS] <SOURCE> <DEST>
$ cp [OPTIONS] <SOURCE-1> <SOURCE-2> ... <DIRECTORY>
Sa ibabaw nga syntax, ang square bracket ([])
nagrepresentar sa opsyonal nga argumento samtang angular bracket (<>)
nagrepresentar sa mandatory nga argumento.
1. Unsaon Pagkopya og File sa Linux
Usa sa sukaranang paggamit sa cp command mao ang pagkopya sa usa ka file ngadto sa kasamtangan nga direktoryo. Kadaghanan sa mga higayon nga ang mga tiggamit naghimo niini nga operasyon aron makakuha usa ka backup sa hinungdanon nga pag-configure.
Pananglitan, kanunay namong maghimo ug backup nga kopya sa /etc/ssh/sshd_config file sa dili pa i-update ang SSH configuration.
Aron masabtan ang paggamit, maghimo kita og yano nga file:
$ touch file-1.txt
Sunod, paghimo usa ka kopya sa file gamit ang mosunud nga mando:
$ cp file-1.txt file-2.txt

2. Ipakita ang Pag-uswag sa Copy Command
Sa miaging pananglitan, gigamit namon ang ls nga sugo aron masusi kung ang operasyon sa pagkopya sa file milampos o wala. Bisan pa, dili makatarunganon nga gamiton ang usa pa nga sugo aron lang mapamatud-an ang resulta sa miaging mga sugo.
Sa ingon nga mga kaso, mahimo namon nga magamit ang verbose mode gamit ang -v
nga kapilian, nga naghatag mga diagnostic alang sa matag giproseso nga file.
Maghimo kita og kopya sa file-1.txt file gamit ang mosunod nga sugo:
$ cp -v file-1.txt file-3.txt

Sa ibabaw nga output, ang arrow nagrepresentar sa file nga gikopya. Ang wala nga kilid nga argumento mao ang tinubdan nga file samtang ang tuo nga kilid nga argumento mao ang destinasyon nga file.
3. Giunsa Pagkopya ang Daghang mga File sa Direktoryo
Sa pagkakaron nagtrabaho kami sa usa ka file ug ang kasamtangan nga direktoryo sa pagtrabaho lamang. Bisan pa, sa tinuud nga palibot sa produksiyon, kinahanglan namon nga magtrabaho sa daghang mga file. Usa sa kasagaran nga mga kaso sa paggamit sa ingon nga mga palibot mao ang pagkopya sa daghang mga file sa usa ka direktoryo.
Dayag, mahimo natong ipatuman ang cp command sa daghang mga higayon aron makab-ot kini, apan dili kana ang labing epektibo nga paagi. Aron mahimo ang ingon nga operasyon nga epektibo, mahimo namong gamiton ang alternatibong syntax sa cp command.
Busa, una, paghimo og bag-ong direktoryo nga adunay ngalan nga dir-1:
$ mkdir dir-1
Karon, kopyahon nato ang tanang tulo ka mga file ngadto sa dir-1 nga direktoryo gamit ang usa ka sugo:
$ cp -v file-1.txt file-2.txt file-3.txt dir-1

Ang output sa ibabaw nagpakita nga ang tanan nga mga file gikopya sa dir-1 nga direktoryo. Usab, hinungdanon nga timan-an nga, aron magamit kini nga alternatibong syntax ang direktoryo kinahanglan nga naa na ug kinahanglan kini ang katapusan nga argumento sa mando.
4. Unsaon Paglikay sa Pag-overwrit sa File
Sa kasagaran, ang cp command nag-ilis sa destinasyon nga file, nga nagpasabot nga kini mag-overwrite sa file kung kini anaa sa destinasyon nga adunay parehas nga ngalan. Bisan pa, mahimo namon nga ma-disable kini nga default nga pamatasan gamit ang kapilian nga -n
.
Aron masabtan kini, atong sulayan nga i-overwrite ang kasamtangan nga file:
$ cp -n -v file-1.txt file-2.txt
Niini nga pananglitan, among gigamit ang -v
nga opsyon aron ihulagway nga ang file-2.txt nga file wala pa ma-overwrit.
5. Giunsa Pag-overwrite ang File nga adunay Pagkumpirma
Sa miaging pananglitan, among nakita kung unsaon paglikay sa pag-overwriting sa destinasyon nga file. Bisan pa, usahay gusto namong i-overwrite ang destinasyon sa file sa mas luwas nga paagi.
Sa ingon nga mga kaso, mahimo natong gamiton ang -i
nga opsyon sa command aron mahimo nga interactive ang operasyon sa pagkopya. Kini nga opsyon nagpakita sa mensahe sa pasidaan ug naghulat sa kumpirmasyon sa user sa dili pa i-overwrite ang file.
Aron mahulagway kini, atong sulayan nga i-overwrite ang kasamtangan nga file:
$ cp -i file-1.txt file-2.txt
cp: overwrite 'file-2.txt'?
Sama sa atong makita, ang sugo naghulat alang sa kumpirmasyon. Sama sa ubang Linux commands, mahimo natong gamiton ang y
para magpadayon o n
para i-abort ang operasyon.
Kining default nga dili interactive nga kinaiya sa cp command dili kaayo luwas. Adunay mga kahigayonan nga ang user mahimong mo-overwrite sa usa ka importante nga configuration sa sayop. Busa ang pipila sa mga distribusyon sa Linux nagpatuman sa interactive nga kinaiya pinaagi sa default gamit ang alias command:
$ alias cp='cp -i'
6. I-overwrite ang File Lamang kung ang Tinubdan Mas Bag-o
Sa miaging pananglitan, among nakita kung giunsa paggamit ang interactive mode. Bisan pa, usahay, ang usa ka tiggamit mahimong mag-overwrite sa bag-ong file nga wala tuyoa.
Aron malikayan ang ingon nga mga kaso nga prone sa sayop, mahimo namong gamiton ang -u
nga opsyon, nga mosulay sa pagkopya sa operasyon lamang kung ang tinubdan mas bag-o kay sa destinasyon o kung ang file wala diha sa destinasyon.
Una, i-update ang timestamp sa source file:
$ touch -t 10101010 file-1.txt
$ ls -l file-1.txt
Sa pananglitan sa ibabaw, gigamit namo ang -t
nga opsyon sa touch command aron itakda ang timestamp sa file ngadto sa 10-Oct-2010.
Sunod, atong i-update ang timestamp sa destinasyon nga file ngadto sa kasamtangan nga oras:
$ touch file-2.txt
Karon, sulayan nato ang paghimo sa operasyon sa pagkopya gamit ang -u
nga opsyon:
$ cp -u -v file-1.txt file-2.txt
Dinhi, atong makita nga ang operasyon sa pagkopya wala pa gisulayan tungod kay ang destinasyon nga file mas bag-o kay sa tinubdan.
Sa katapusan, ibaylo nato ang gigikanan ug destinasyon nga mga argumento ug ipahigayon ang operasyon sa pagkopya:
$ cp -u -v file-2.txt file-1.txt
Sa ibabaw nga output, atong maobserbahan nga ang operasyon sa pagkopya milampos tungod kay ang tinubdan nga file mas bag-o kay sa destinasyon.

7. Unsaon Pag-backup sa File Sa Dili pa I-overwriting
Mahimo natong itudlo ang cp command sa pagkuha og backup sa destinasyon nga file sa dili pa kini i-overwrite. Aron makab-ot kini mahimo namong gamiton ang --backup
nga opsyon, nga nagpahigayon og automated backups.
$ cp --backup=numbered -v file-1.txt file-2.txt
Sa kini nga pananglitan, among gigamit ang gi-numero nga backup nga palisiya. Kini nga polisiya naggamit ug incremental nga mga numero sa backup file names.
Aron masabtan kini, atong ipatuman ang samang sugo sa makadaghang higayon ug obserbahan ang output:
$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt
$ cp --backup=numbered -v file-1.txt file-2.txt

8. Giunsa Pagpugos ang Kopya aron I-overwrite ang File
Sa miaging pipila ka mga pananglitan, among nakita kung giunsa ang pag-overwrite sa file sa mas luwas nga paagi. Apan, sa pipila ka talagsaon nga mga kaso, ang gikinahanglan mao ang pag-overwrite sa file. Bisan pa, wala’y garantiya nga magmalampuson ang operasyon matag higayon.
Pananglitan, ang operasyon sa pagkopya mapakyas kung ang destinasyon nga file walay mga pagtugot sa pagsulat. Atong iilustrar kini sa usa ka pananglitan.
Una, usba ang mga permiso sa destinasyon nga file:
$ chmod 444 file-2.txt
$ ls -l file-2.txt
Karon, atong sulayan nga i-overwrite ang file-2.txt file:
$ cp file-1.txt file-2.txt
Sa ibabaw nga output, atong makita nga ang sugo napakyas sa pagtugot nga gilimod sayop.
Aron mabuntog kini nga limitasyon, mahimo natong gamiton ang -f
nga opsyon, nga magtangtang sa destinasyon nga mga file ug mosulay sa operasyon sa pagkopya kon ang destinasyon nga file dili maablihan.
Karon, atong gamiton ang -f
nga opsyon aron ma-overwrite ang file nga kusog:
$ cp -f -v file-1.txt file-2.txt

9. Unsaon Pagtangtang sa Destination File Sa dili pa Kopyahon
Sa miaging pananglitan, among nakita kung giunsa pagtangtang ang destinasyon nga file kung adunay sayup samtang nag-operate niini. Bisan pa, usahay ang kinahanglanon mao ang pagtangtang una sa destinasyon nga file ug dayon ipahigayon ang operasyon sa pagkopya.
Aron matuman ang ingon nga kinahanglanon, mahimo namong gamiton ang --remove-destination
nga kapilian.
$ cp --remove-destination -v file-1.txt file-2.txt

Sa ibabaw nga output, atong makita nga ang cp command unang nagtangtang sa destinasyon nga file ug dayon naghimo sa operasyon sa pagkopya.
10. Unsa nga paagi sa Paghimo sa usa ka Lisud nga Link File Imbes sa Pagkopya
Makahimo kami og lisud nga link imbes nga maghimo og bag-ong kopya sa source file. Kini nga kapilian adunay hinungdanon nga papel kung adunay kakulang sa espasyo sa disk.
Busa, atong gamiton ang -l
nga opsyon sa paghimo og hard link:
$ cp -l -v file-1.txt file-4.txt
Karon, atong susihon ang mga numero sa inode sa duha ka mga file aron mapamatud-an ang lisud nga mga link:
$ ls -i1 file-1.txt file-4.txt

Sa output sa ibabaw, ang mga numero sa unang kolum nagrepresentar sa mga numero sa inode.
11. Unsaon Paghimo ug Soft Link File Imbes nga Magkopya
Sa susamang paagi, makahimo kita ug humok nga sumpay imbes maghimo ug bag-ong kopya gamit ang -s
nga opsyon sama sa gipakita sa ubos:
$ cp -s -v file-1.txt file-5.txt
Karon, atong pamatud-an nga ang simbolikong sumpay nabuhat sa husto:
$ ls -l file-5.txt

Sa ibabaw nga output, ang katapusang mga kolum nagrepresentar sa simbolikong link nga relasyon.
12. Unsaon Pagpreserbar sa File Attributes Samtang Nagkopya
Adunay lain-laing mga hiyas nga nalangkit sa file, sama sa iyang access time, kausaban sa panahon, pagtugot, ug uban pa. Aron ma-override kining default nga kinaiya mahimo natong gamiton ang -p
nga opsyon.
Aron masabtan kini, una, i-update ang timestamp sa file-1.txt:
$ touch -t 10101010 file-1.txt
Karon, maghimo kita og kopya niini nga file pinaagi sa pagpreserbar sa tanang mga hiyas niini:
$ cp -p -v file-1.txt file-6.txt
Sa katapusan, pamatud-i ang timestamp sa file-6.txt file:
$ ls -l file-6.txt

13. Giunsa Pagbuhat ang Operasyon sa Pagkopya nga Balikbalik
Sa pagkakaron nakita namo kung unsaon pagkopya sa usa ka file. Bisan pa, kanunay nga kinahanglan namon kopyahon ang tanan nga mga file ug mga sub-direktoryo sa partikular nga direktoryo.
Sa maong mga kaso, mahimo natong gamiton ang recursive mode gamit ang -r
o -R
nga opsyon.
Busa, maghimo kita og direktoryo ug magdugang og pipila ka mga file ug sub-direktoryo ubos niini:
$ mkdir -p dir-1/dir-2
$ touch dir-1/file-1.txt dir-1/dir-2/file-2.txt
Sunod, pamatud-i nga ang istruktura sa direktoryo nahimo nga husto:
$ tree dir-1
Karon, kopyahon nato ang direktoryo nga dir-1 nga recursively gamit ang mosunod nga sugo:
$ cp -r -v dir-1 dir-3
Sa katapusan, pamatud-i nga ang tanan nga mga file ug mga sub-direktoryo malampuson nga nakopya:
$ tree dir-3

14. Unsaon Pagkopya sa Daghang Direktoryo
Sama sa mga file, mahimo naton kopyahon ang daghang mga direktoryo nga recursive gamit ang usa ka mando. Bisan pa, aron makab-ot kini ang direktoryo sa destinasyon kinahanglan nga naa na ug kinahanglan kini ang katapusan nga argumento sa mando. Atong sabton kini uban ang usa ka pananglitan.
Una, paghimo og direktoryo ug bag-ong direktoryo:
$ mkdir dir-4
Karon, kopyahon nato ang dir-1 ug dir-3 nga mga direktoryo sa dir-4 nga direktoryo gamit ang ubos nga sugo:
$ cp -r -v dir-1 dir-3 dir-4
Sa samang paagi, mahimo natong gamiton ang -t
nga opsyon sa sugo aron makab-ot ang samang resulta. Kini nga opsyon nagtugot kanamo sa pagtino sa destinasyon nga direktoryo. Mao nga magamit usab naton kini ingon usa ka una nga argumento:
$ cp -t dir-4 -r -v dir-1 dir-3

Niini nga artikulo, among gihisgutan kung unsaon pagkopya sa mga file ug mga direktoryo gamit ang cp command. Ang mga nagsugod mahimong maghisgot niini nga mga pananglitan sa adlaw-adlaw nga kinabuhi samtang nagtrabaho sa mga sistema sa Linux.
Mahimong ganahan ka usab:
- Pag-uswag – Ipakita ang Porsiyento sa Nakopya nga Data para sa (cp, mv, dd, tar) nga mga Sugo
- Subaya ang Pag-uswag sa (Kopya/Backup/Compress) Data gamit ang ‘pv’ Command
- Advanced Copy Command – Nagpakita sa Progress Bar Samtang Nagkopya sa Dagkong mga File/Folder sa Linux
Nakahibalo ka ba sa uban pang labing maayo nga pananglitan sa cp command sa Linux? Ipahibalo kanamo ang imong mga panglantaw sa mga komento sa ubos.