Mga parameter ng Linux cp. Pagkopya ng mga file at folder sa mga Unix system. Mga karaniwang opsyon sa gnu

Na-update: 12/29/2017 ni Pag-asa sa Computer

Tungkol sa cp

Ang cp Ang command ay gumagawa ng mga kopya ng mga file at direktoryo.

Syntax

cp [opsyon]... [-T] pinagmulan patutunguhan cp [opsyon]... pinagmulan... direktoryo cp [opsyon]... -t direktoryo pinagmulan... cp --tulong cp --bersyon

Mga pagpipilian

-a,
--archive
Kapareho ng -dR --preserve=ALL. Kapag nagsasagawa ng kopya, subukang panatilihin ang karamihan sa orihinal na istraktura ng file, mga katangian, at nauugnay na metadata hangga't maaari. Kasama sa metadata na ito ang data ng konteksto ng seguridad kung nagpapatakbo ka ng SELinux .
--mga katangian-lamang Huwag kopyahin ang data ng file, gumawa lang ng file na may parehong mga katangian. Kung mayroon nang patutunguhang file, huwag baguhin ang mga nilalaman nito. Makokontrol mo nang eksakto kung aling mga katangian ang kinokopya sa --preserba opsyon.
--backup[= kontrol] Gumawa ng backup ng bawat umiiral na patutunguhang file na kung hindi man ay ma-overwrite o maalis. Ang kontrol Tinutukoy ng parameter kung anong paraan ng pagkontrol sa bersyon ang gagamitin; tingnan para sa mga detalye.

Bilang isang espesyal na kaso, cp --force --backup gagawa ng backup ng pinagmulan kailan pinagmulan at dest ay pareho, regular na file.

-b Parang --backup, ngunit hindi tumatanggap ng a kontrol argumento; ang default na paraan ng kontrol ay palaging ginagamit.
--kopya-nilalaman Kapag gumagana nang recursive, kopyahin ang mga nilalaman ng mga espesyal na file, tulad ng mga FIFO at device na matatagpuan sa /dev. Karaniwang ayaw mong gamitin ang opsyong ito, dahil maaari itong magkaroon ng hindi kanais-nais na mga resulta, gaya ng pag-hang magpakailanman o pagpuno ng iyong buong disk. Gayunpaman, available ang opsyong ito para sa mga espesyal, kaso ng paggamit ng eksperto.
-d Kopyahin ang mga simbolikong link mismo, sa halip na ang mga file na kanilang tinutukoy, at panatilihin ang mga matitigas na link sa pagitan ng mga source file sa mga kopya. Pareho ng " --no-dereference --preserve=links".
-f,
--puwersa
Kung hindi mabuksan ang isang kasalukuyang patutunguhang file, alisin ito at subukang muli. Walang epekto ang opsyong ito kung ang -n/--walang-clobber ginagamit ang opsyon. Gayunpaman, nalalapat ito nang hiwalay sa -i/--interactive; walang opsyon ang nakakakansela sa epekto ng isa.
-i,
--interactive
I-prompt bago i-overwrite (i-override ang nauna -n opsyon).
-H Sundin ang mga symlink na tinukoy sa command line, ngunit panatilihin ang mga natuklasang link.

Kokopyahin ang direktoryo na kumakatawan sa mismong mount point, ngunit hindi dadaanan.

Kung -v ay tinukoy, makikita mo kung aling mga file ang nalaktawan.

--tulong Magpakita ng mensahe ng tulong, at lumabas.
--bersyon Impormasyon ng bersyon ng output, at lumabas.

Bilang default, kalat-kalat pinagmulan ang mga file ay natukoy ng isang krudo na heuristic at ang kaukulang patutunguhan Ang file ay ginawang kalat-kalat din. Iyon ay ang pag-uugali na pinili ng --sparse=auto. Tukuyin --sparse=laging upang lumikha ng kalat-kalat patutunguhan file kahit kailan pinagmulan Ang file ay naglalaman ng sapat na mahabang pagkakasunod-sunod ng zero bytes. Gamitin --sparse= hindi kailanman upang pigilan ang paglikha ng mga kalat-kalat na file.

kailan --reflink[= palagi] ay tinukoy, cp gumaganap ng isang magaan na kopya, kung saan ang mga bloke ng data ay kinokopya lamang kapag binago. Kung hindi ito posible, nabigo ang kopya; o, kung --reflink=auto ay tinukoy, cp bumabalik sa isang karaniwang operasyon ng pagkopya.

Kontrol ng bersyon

Kapag gumagamit -b/--backup, ang backup suffix ay " ~ ", maliban kung itinakda sa --panlapi o SIMPLE_BACKUP_SUFFIX. Ang paraan ng pagkontrol ng bersyon ay maaaring piliin sa pamamagitan ng --backup=kontrol opsyon o sa pamamagitan ng VERSION_CONTROL variable ng kapaligiran. Ang mga posibleng halaga ng kontrol o VERSION_CONTROL ay:

wala, off Huwag kailanman gumawa ng mga backup (kahit na --backup ay ibinigay).
may bilang, t Gumawa ng mga may bilang na backup.
umiiral, wala May bilang kung may numerong backup, simple lang kung hindi.
simple lang, hindi kailanman Palaging gumawa ng mga simpleng backup.

Bilang isang espesyal na kaso, cp gumagawa ng backup ng pinagmulan kapag ang puwersa at backup mga pagpipilian ay ibinigay at pinagmulan at patutunguhan ay ang parehong pangalan para sa isang umiiral, regular na file.

Mga halimbawa

Sabihin nating mayroon kang file na pinangalanan larawan.jpg sa iyong gumaganang direktoryo , at gusto mong gumawa ng kopya nito na tinatawag na larawan-02.jpg. Patakbuhin mo ang utos:

Cp picture.jpg picture-02.jpg

At ang file ay makokopya. dito, larawan.jpg ay ang pinagmulan ng operasyon ng pagkopya, at larawan-02.jpg ay ang patutunguhan. Ang parehong mga file ay umiiral na ngayon sa iyong gumaganang direktoryo.

Ang pinagmulan at patutunguhang mga file ay maaari ding naninirahan sa iba't ibang mga direktoryo. Halimbawa,

Cp /home/chuck/pictures/picture.jpg /home/chuck/backup/picture.jpg

Gagawa ng kopya ng file /home/chuck/pictures/picture.jpg sa direktoryo /home/chuck/backup. Pangalanan din ang patutunguhang file larawan.jpg.

Kung ikaw ang gumagamit chuck, maaari mong paikliin ang iyong home directory (" /home/chuck") gamit ang isang tilde (" ~ "). Halimbawa,

Cp ~/pictures/picture.jpg ~/backup/picture.jpg

Parehong gumagana ang utos sa itaas kapag pinapatakbo ito chuck.

Pagkopya ng maraming file sa isang direktoryo

O, baka gusto mong kopyahin maramihan mga file sa isa pang direktoryo. Upang magawa ito, maaari mong tukuyin ang maramihang mga file bilang pinagmulan, at isang pangalan ng direktoryo bilang patutunguhan. Sabihin nating ikaw ang gumagamit sally, at mayroon kang isang bungkos ng mga file sa direktoryo /home/sally/pictures/ pinangalanan larawan-01.jpg, larawan-02.jpg, atbp. at gusto mong kopyahin ang mga ito sa direktoryo /home/sally/picture-backup/. Gagawin ng utos na ito ang lansihin:

Cp ~/pictures/picture-*.jpg ~/picture-backup cp -i oldfile newfile

Kung bagong file mayroon na, ipo-prompt ka:

Cp: ​​​​i-overwrite ang 'newfile'?

Kung type mo y(o oo, Y, OO, o anumang iba pang kumbinasyon ng upper at lowercase ng mga ito), pagkatapos bagong file ay mapapatungan ng kopya ng origfile. Ang pag-type ng anupaman ay magpapatigil sa operasyon.

Kopyahin ang isang file sa isa pang direktoryo

cp origfile /directory/subdirectory

origfile. Ang kopya ay matatagpuan sa direktoryo /directory/subdirectory at papangalanan origfile.

Cp origfile /directory/subdirectory/.

Pareho sa utos sa itaas. Ang slash-dot ( /. ) ay ipinahiwatig sa itaas na anyo ng utos. (Ang tuldok ay isang espesyal na file sa bawat direktoryo ng Linux na nangangahulugang "direktoryong ito.")

Kopyahin ang isang file sa isa pang direktoryo, at bigyan ito ng bagong pangalan

cp origfile /directory/subdirectory/newfile

Lumilikha ng isang kopya ng file sa gumaganang direktoryo na pinangalanan origfile. Pangalanan ang kopya bagong file, at matatagpuan sa direktoryo /directory/subdirectory.

Kopyahin ang maramihang mga file sa isa pang direktoryo, gamit ang isang wildcard

cp file* /directory/subdirectory

file sa direktoryo /directory/subdirectory. Ang asterisk (" * ") ay isang wildcard — isang espesyal na character na lumalawak upang tumugma sa iba pang mga character. Sa partikular, ang asterisk wildcard ay tumutugma sa zero o higit pang mga non-whitespace na character. Halimbawa, kokopyahin ng command na ito ang anumang mga file na pinangalanan file, file001, file.txt, fileone.jpg, file-archive.zip, atbp.

Cp file*.jpg /directory/subdirectory

Kopyahin ang bawat file sa gumaganang direktoryo na ang pangalan ay nagsisimula sa file, at nagtatapos sa extension ng file .jpg. Halimbawa, gagawa ito ng mga kopya ng anumang mga file na pinangalanan file, file001.jpg, file002.jpg, o file-new.jpg, atbp. Ang mga kopya ay ilalagay sa direktoryo /directory/subdirectory.

Kopyahin ang isang buong istraktura ng direktoryo sa ibang lokasyon

cp -R /isa/dalawa /tatlo/apat

Kopyahin ang direktoryo dalawa(matatagpuan sa direktoryo /isa), at lahat dalawa naglalaman, sa direktoryo ng patutunguhan /tatlo/apat. Tatawagin ang resulta /tatlo/apat/dalawa. Ang direktoryo /tatlo dapat mayroon na para magtagumpay ang utos. Kung ang direktoryo apat ay wala na sa direktoryo /tatlo, ito ay malilikha.

Cp file1.txt newdir

Kinokopya ang file1.txt sa working directory sa newdir subdirectory.

Cp /home/public_html/mylog.txt /home/public_html/backup/mylog.bak

Kinokopya ang file mylog.txt sa public_html direktoryo sa public_html/backup direktoryo bilang mylog.bak.

Cp -u *.txt newdir

Kopyahin ang lahat ng mga file na nagtatapos sa .txt sa newdir direktoryo, ngunit kung ang mga file ay wala pa sa bagong direktoryo, o kung ang mga file na kinokopya ay mas bago.

Cp -R /home/hope/files/* /home/hope/backup

Paulit-ulit na kinokopya ang lahat ng mga file, direktoryo, at mga subdirektoryo sa /home/hope/files direktoryo sa /home/hope/backup direktoryo. Kung ang direktoryo backup ay wala sa direktoryo /home/hope, ito ay malilikha.

cp --backup origfile newfile

Kung bagong file bagong file origfile. Bilang default, ang backup ng bagong file papangalanan bagong file~.

cp --backup=numbered origfile newfile

Kung bagong file mayroon na, gumawa ng backup ng umiiral na bagong file bago ito i-overwrite ng kopya ng origfile. Ang backup ng bagong file papangalanan bagong file.~1~ kung walang ibang backup, o bagong file.~2~ kung bagong file.~1~ umiiral, atbp.

Mga kaugnay na utos

dd— Kopyahin at i-convert ang pag-encode ng mga file.
ln— Lumikha ng isang link, o isang simbolikong link, sa isang file o direktoryo.
mv— Ilipat ang mga file at direktoryo mula sa isang lokasyon patungo sa isa pa, at opsyonal na palitan ang pangalan ng mga ito.

Madalas na operasyon sa istraktura ng file ay gumagawa ng mga file at direktoryo, pagkopya, paglipat, pagpapalit ng pangalan, at pagtanggal. Malinaw para sa mga naturang aksyon sa command shell Ang Linux ay dapat magbigay ng mga espesyal na utos.

Pagkopya ng mga file at direktoryo

Sa Bash, ang utos na ginamit upang kopyahin ang mga file ay cp(mula sa "kopya"), na karaniwang tumatagal ng dalawang argumento:

    address na may pangalan ng source file,

    isang bagong address na may pangalan o simpleng address ng direktoryo kung saan inilalagay ang kopya.

Ang address ay maaaring maging ganap o kamag-anak. Kung ang mga pagpapatakbo ng file ay ginanap sa kasalukuyang direktoryo, kung gayon walang punto sa pagtukoy ng address. Ang pangalan lamang ng orihinal na file at ang pangalan ng kopya ang nakasulat. Dahil hindi maaaring magkaroon ng mga file na may parehong mga pangalan at address, ang pangalan ng kopya ay dapat na iba sa pangalan ng orihinal na file.

Tingnan natin ang mga halimbawa.

cp readme readme2

SA sa kasong ito isang kopya ng readme file ang ginawa at nananatili sa parehong direktoryo sa ilalim ng pangalang readme2.

cp readme Desktop/

Ang readme file ay kinopya sa Desktop folder. Dito, ang kasalukuyang direktoryo ay ang pangunahing direktoryo ng Desktop Ang mga pangalan ng kopya at ang orihinal na file ay magtutugma, ngunit ang buong mga address ay hindi.

cp / home/ irina/ tux.png / mnt/ D/ pingvin.png

Narito ang isang file ay kinopya mula sa isang direktoryo patungo sa isa pa, ang mga ganap na address ay ginagamit, ang pangalan ng kopya ay binago.

Kung kailangan mong kopyahin ang ilan iba't ibang mga file sa parehong direktoryo, pagkatapos pagkatapos ng cd command ang lahat ng mga orihinal na file ay unang nakalista, at ang direktoryo kung saan ang mga kopya ay ilalagay sa huli. Malinaw na sa ganitong pagkilos ng grupo, hindi mababago ang mga pangalan ng file.

Upang kopyahin ang isang direktoryo kasama ang lahat ng nilalaman nito, dapat mong gamitin ang -r na opsyon ng cp command:

cp -r ./ letra ./ lumang titik

Paglipat at pagpapalit ng pangalan

Sa Bash- Linux shell Ang parehong utos ay ginagamit upang ilipat at palitan ang pangalan - mv(mula sa "move" - ​​​​move). Ang pagpapalit ng pangalan ay maaaring ituring bilang isang espesyal na kaso ng paglipat, dahil sa esensya nagbabago ito buong address file, na kapareho ng paglipat nito, kahit na ang file ay nananatili sa parehong direktoryo.

Tulad ng sa kaso ng cp, para sa mv kailangan mong tukuyin ang isang pares ng mga argumento. Ang pagpili sa pagitan ng paglipat at pagpapalit ng pangalan ay depende sa kung ano ang mga argumento. Kapag inilipat, binabago ng file ang address nito, samakatuwid, kung ang iba't ibang mga address ay tinukoy sa una at pangalawang argumento, pagkatapos ay magaganap ang paglipat. Kung ang mga address ay pareho, ngunit ang mga pangalan lamang ang naiiba, ang pagpapalit ng pangalan ay nangyayari. Bilang karagdagan, ang paglipat ay maaaring isama sa pagpapalit ng pangalan.

Sa kaso ng isang paglipat nang walang pagpapalit ng pangalan, ang pangalawang argumento ay tumutukoy lamang sa direktoryo ng patutunguhan.

mv document.txt Trabaho

mv document.txt Trabaho/ doc23.txt

Dito sa unang kaso, inilipat ang document.txt file sa direktoryo ng Trabaho. Sa pangalawang kaso, ang file ay inilipat at pinalitan ng pangalan nang sabay-sabay: ang document.txt file ay inilipat sa direktoryo ng Trabaho at binigyan ng bagong pangalan na doc23.txt.

Kapag ginagamit ang mv command upang palitan ang pangalan, ang pangalawang argumento ay ang bagong pangalan:

mv order.txt orderNew.txt

mv Trabaho/ list.odt Trabaho/ names.odt

Ang mga direktoryo ay inilipat at pinapalitan ang pangalan sa parehong paraan tulad ng mga file. Gumagana ang mga batch moving file tulad ng sa cp command.

Paglikha ng mga file at direktoryo

Ang mga bagong direktoryo ay nilikha sa pamamagitan ng utos mkdir. Halimbawa, upang lumikha ng direktoryo ng Trabaho sa kasalukuyang direktoryo, kailangan mong patakbuhin ang sumusunod na command:

mkdir Trabaho
o
mkdir./Trabaho

Mayroong maraming mga paraan upang lumikha ng mga file, kadalasan ang mga ito ay nilikha ng ilang uri ng programa. Kung kailangan mo pa ring lumikha ng isang walang laman na file, magagawa mo ito gamit ang touch program. Ang pangalan ng file na gagawin ay ipinapasa dito bilang isang argumento. Ang isa pang paraan ay . Halimbawa:

cal > ./ Trabaho/ Enero

Dito ay ipinapakita ng cal program ang kalendaryo para sa kasalukuyang buwan, at dahil mayroong isang output redirection sign, ang output ng command ay isusulat sa January file na matatagpuan sa Work folder.

Sa mga nakaraang seksyon nabanggit na namin ang ilang mga utos para sa pagtatrabaho sa mga file at direktoryo: pwd, cd, ls, ln, chmod. Sa seksyong ito, titingnan natin (nang maikli) ang ilang mas karaniwang ginagamit na mga utos.

4.6.1. Mga koponan chown At chgrp

Ang mga utos na ito ay ginagamit upang baguhin ang may-ari ng isang file at ang pangkat ng isang file. Ang superuser lang ang makakapagpalit ng may-ari; Upang magkaroon ng karapatang baguhin ang grupo, ang may-ari ay dapat na karagdagang miyembro ng grupo kung saan gusto niyang bigyan ng mga karapatan. ang file na ito. Ang format ng dalawang utos na ito ay magkatulad:

# chown vasja filename

# chgrp usersgrp filename

4.6.2. Koponan mkdir

Koponan mkdir nagbibigay-daan sa iyo na lumikha ng isang subdirectory sa kasalukuyang direktoryo. Bilang argumento, ang utos na ito ay dapat bigyan ng pangalan ng direktoryo na gagawin. Dalawang entry ang awtomatikong nilikha sa bagong likhang direktoryo: . (link sa mismong catalog na ito) at .. (link sa direktoryo ng magulang). Upang lumikha ng isang subdirectory, dapat ay mayroon kang access sa pagsulat sa kasalukuyang direktoryo. Maaari kang lumikha ng isang subdirectory hindi sa kasalukuyang isa, ngunit sa ilang iba pang direktoryo, ngunit pagkatapos ay kailangan mong tukuyin ang landas sa direktoryo na nilikha:

$ mkdir /home/kos/book/glava5/part1

Koponan mkdir maaaring gamitin sa mga sumusunod na opsyon:

    M mode— nagtatakda ng access mode para sa bagong direktoryo (halimbawa, -m 755) ;

    P— lumikha ng tinukoy na mga intermediate na direktoryo (kung wala ang mga ito).

4.6.3. Koponan pusa

Koponan pusa kadalasang ginagamit upang lumikha ng mga file (bagaman maaari mo ring gamitin ang command hawakan). Sa pamamagitan ng utos pusa Ang mga nilalaman ng tinukoy na file (o ilang mga file, kung ang kanilang mga pangalan ay tinukoy nang sunud-sunod bilang mga argumento ng command) ay ipinapakita sa karaniwang output (i.e., sa screen). Kung ang command output pusa mag-redirect sa isang file, maaari kang makakuha ng kopya ng isang file:

$ cat file1 > file2

Actually, ang original purpose ng team pusa ito ay tiyak na inilaan upang i-redirect ang output, dahil ang command na ito ay nilikha para sa concatenation, ibig sabihin, pagsasama-sama ng ilang mga file sa isa:

$ cat file1 file2 ... fileN > new-file

Ito ang mga kakayahan sa pag-redirect ng input at output ng command na ito na ginagamit upang lumikha ng mga bagong file. Upang gawin ito, ang command input pusa nagdidirekta ng data mula sa karaniwang input (ibig sabihin, ang keyboard) at ang output ng command sa isang bagong file:

$ cat > newfile

Kapag nai-type mo na ang lahat ng gusto mo, pindutin ang key combination< Ctrl>+o< Ctrl>+, at lahat ng iyong ipinasok ay isusulat bagong file. Siyempre, karamihan sa mga maikling text file ay nilikha sa ganitong paraan.

4.6.4. Koponan cp

Kahit na ang utos ay minsan ginagamit upang kopyahin ang mga file pusa, ngunit sa Linux mayroong layunin para dito espesyal na koponan cp. Maaari itong magamit sa isa sa dalawang anyo:

$cp source destination

$ cp source_directory new_directory

Sa unang kaso, ang source file o direktoryo ay kinokopya, ayon sa pagkakabanggit, sa patutunguhang file o direktoryo, at sa pangalawang kaso, ang mga file na nakapaloob sa source_directory directory ay kinopya sa new_directory directory. Upang kopyahin, dapat ay mayroon kang mga karapatan sa pagbabasa sa mga file na kinokopya at pagsulat ng mga karapatan sa direktoryo kung saan ka kinokopya.

Kung ang isang umiiral na file ay tinukoy bilang ang target, ang mga nilalaman nito ay mapapatungan, kaya dapat kang maging maingat sa pagkopya. Gayunpaman, maaari mong gamitin ang utos cp gamit ang -i na opsyon, pagkatapos ay hihilingin ang kumpirmasyon bago i-overwrite ang isang umiiral na file (Lubos kong inirerekomenda na palagi mong gamitin ang opsyong ito!).

Ang koponan cp Mayroong ilang iba pang mga kapaki-pakinabang na opsyon (Talahanayan 4.3).

Talahanayan 4.3. Mga pangunahing opsyon para sa cd command.

Pagpipilian

Ibig sabihin

Sine-save ang oras ng pagbabago ng file at maximum na posibleng mga pahintulot. Kung wala ang pagpipiliang ito, ang bagong file ay itinalaga ang mga pahintulot na naaayon sa mga pahintulot ng user na naglunsad ng command

R o -r

Kung ang pinagmulan ay isang direktoryo, ito at ang lahat ng mga subdirectory na kasama dito ay kinokopya, ibig sabihin, ang orihinal na anyo ng puno ng direktoryo ay napanatili

Kung itinakda mo ang opsyong ito, ang mga simbolikong link ay mananatiling mga link (kung hindi man, sa halip na ang link, ang file kung saan ibinigay ang link ay kinokopya)

I-overwrite ang mga file kapag kinokopya (kung mayroon na sila) nang walang karagdagang babala

4.6.5. Koponan mv

Kung kailangan mong ilipat ang isang file mula sa isang direktoryo patungo sa isa pa sa halip na kopyahin ito, maaari mong gamitin ang command mv. Ang syntax ng command na ito ay katulad ng command syntax cp. Bukod dito, kinokopya muna nito ang file (o direktoryo) at pagkatapos ay tatanggalin ang orihinal na file (direktoryo). At ang mga pagpipilian nito ay pareho sa mga iyon cp.

Koponan mv ay maaaring gamitin hindi lamang upang ilipat, ngunit din upang palitan ang pangalan ng mga file at direktoryo (iyon ay, ilipat ang mga ito sa loob ng parehong direktoryo). Upang gawin ito, kailangan mo lamang na tukuyin ang luma at bagong mga pangalan ng file bilang mga argumento:

$mv lumang pangalan bagong pangalan

Ngunit tandaan na ang koponan mv ay hindi nagpapahintulot sa iyo na palitan ang pangalan ng maramihang mga file nang sabay-sabay (gamit ang isang template ng pangalan), kaya ang command mv *.xxx *.yyy hindi gagana.

Kapag gumagamit ng utos mv, pati na rin kapag ginagamit cp, huwag kalimutang gamitin ang -i na opsyon upang makatanggap ng babala kapag na-overwrite ang file.

4.6.6. Mga koponan rm At rmdir

Upang alisin ang mga hindi kinakailangang file at direktoryo sa Linux, gamitin ang mga command rm(tinatanggal ang mga file) at rmdir(nag-aalis ng walang laman na direktoryo). Upang magamit ang mga utos na ito, dapat ay mayroon kang access sa pagsulat sa direktoryo kung saan matatagpuan ang mga file o direktoryo na tatanggalin. Gayunpaman, hindi kinakailangan ang pahintulot na baguhin ang mga file mismo. Kung gusto mong makatanggap ng karagdagang kahilingan para kumpirmahin ang operasyon bago magtanggal ng file, gamitin ang -i na opsyon.

Kung susubukan mong gamitin ang command rm(nang walang anumang mga pagpipilian) upang tanggalin ang isang direktoryo, isang mensahe ay ipapakita na ito ay isang direktoryo, at ang pagtanggal ay hindi magaganap. Upang tanggalin ang isang direktoryo, kailangan mong tanggalin ang lahat ng mga file sa loob nito, at pagkatapos ay tanggalin ang direktoryo mismo gamit ang command rmdir. Gayunpaman, maaari mo ring tanggalin ang isang hindi walang laman na direktoryo kasama ang lahat ng mga subdirectory at file nito kung gagamitin mo ang command rm gamit ang -r na opsyon.

Kung magbibigay ka ng utos rm *, pagkatapos ay tanggalin ang lahat ng mga file sa kasalukuyang direktoryo. Ang mga subdirectory ay hindi tatanggalin. Upang tanggalin ang parehong mga file at subdirectory ng kasalukuyang direktoryo, dapat mo ring gamitin ang opsyon -r. Gayunpaman, laging tandaan na ang Linux ay walang utos na ibalik ang mga file pagkatapos tanggalin ang mga ito (kahit na mahuli mo ang iyong sarili kaagad pagkatapos maling tanggalin ang isang file o direktoryo)!

Kaya mag-isip nang dalawang beses bago magtanggal ng anuman at huwag pabayaan ang opsyon -i.

4.6.7. Mga koponan higit pa At mas kaunti

Koponan pusa ay nagbibigay-daan sa iyo upang ipakita ang mga nilalaman ng anumang file sa karaniwang output (sa screen), ngunit ito ay ginagamit para sa mga layuning ito napakabihirang, maliban sa outputting napakaliit na mga file. Ang katotohanan ay ang mga nilalaman ng isang malaking file ay agad na kumikislap sa screen, at ang gumagamit ay nakikita lamang ang mga huling linya ng file. kaya lang pusa pangunahing ginagamit para sa layunin nito - upang pagsamahin ang mga file, at upang tingnan ang mga nilalaman ng mga file (siyempre, teksto) mga utos ay ginagamit higit pa At mas kaunti(o mga text editor).

Utos ng filter higit pa ipinapakita ang mga nilalaman ng file sa screen sa magkahiwalay na mga pahina, eksakto ang laki ng buong screen. Upang makita ang susunod na pahina, kailangan mong pindutin ang spacebar. Keystroke< Enter>nagreresulta sa isang offset ng isang linya. Bilang karagdagan sa spacebar at< Enter>Sa pause mode, nagsisilbing control key ang ilang iba pang key (halimbawa, ang ibabalik sa iyo ang isang screen pabalik), ngunit hindi kami magbibigay ng kumpletong listahan ng mga ito dito, pati na rin ang isang listahan ng mga opsyon sa command. Upang magsimula, kailangan mo lamang tandaan na maaari kang lumabas sa mode ng pagtingin gamit ang key< Q>, dahil kung hindi mo alam ito, kakailanganin mong pindutin ang spacebar nang matagal at nakakapagod hanggang sa makarating ka sa dulo ng mahabang file. Tungkol sa lahat ng mga pagpipilian sa command higit pa mababasa mo sa online manual man o info.

Utility mas kaunti, na binuo bilang bahagi ng GNU Project, ay naglalaman ng lahat ng mga function at output control command na makikita sa programa higit pa, at ilang mga karagdagang, halimbawa, ay nagbibigay-daan sa iyong gamitin ang mga cursor key (<Стрелка вверх>, <Стрелка вниз>, , ) upang ilipat sa pamamagitan ng teksto. Tandaan, napag-usapan na natin ito nang tingnan natin ang interactive na tooltipman.

Mga koponan higit pa At mas kaunti nagbibigay-daan sa iyo na maghanap para sa isang substring sa file na tinitingnan, at ang command mas kaunti nagbibigay-daan sa iyo na maghanap sa parehong pasulong at paatras. Upang ayusin ang isang paghahanap para sa isang string ng mga character, dapat na i-type ang string sa command line ng program sa ibaba ng screen (kung saan ang colon) /string. Kung natagpuan ang string ng paghahanap, ang katumbas na piraso ng teksto ay ipapakita, na ang natagpuang string ay matatagpuan sa pinakatuktok ng screen.

4.6.8. Koponan hanapin at mga wildcard na character para sa mga filename

Ang isa pang karaniwang ginagamit na utos para sa pagtatrabaho sa mga file sa Linux ay ang utos upang mahanap ang nais na file hanapin. Koponan hanapin maaaring maghanap ng mga file ayon sa pangalan, laki, petsa ng paglikha o pagbabago, at ilang iba pang pamantayan.

Pangkalahatang command syntax hanapin ay may sumusunod na anyo:

hanapin ang [directory_list] search_criteria

Tinutukoy ng parameter na "listahan ng mga direktoryo" kung saan hahanapin ang kinakailangang file. Ang pinakamadaling paraan ay ang itakda ang root directory / bilang paunang direktoryo ng paghahanap, gayunpaman, sa kasong ito, ang paghahanap ay maaaring tumagal ng napakatagal, dahil ang buong istraktura ng direktoryo ay hahanapin, kabilang ang mga naka-mount na file system (kabilang ang mga network, kung anumang). Maaari mong bawasan ang dami ng paghahanap sa pamamagitan ng pagtukoy, sa halip na isang root directory, isang listahan ng ilang mga direktoryo (natural, ang mga kung saan maaaring matatagpuan ang hinanap na file):

$ find /usr/share/doc /usr/doc /usr/locale/doc -name instr.txt

Ang simula ng "search_criteria", na tumutukoy kung ano ang eksaktong dapat hanapin ng program hanapin, ang unang argumento na nagsisimula sa "-", "(", ")"", "," o "!" ay isinasaalang-alang. Lahat ng mga argumento na nauuna sa "search_criteria" ay itinuturing bilang mga pangalan ng mga direktoryo na hahanapin. Kung hindi tinukoy hindi isang solong landas, ang paghahanap ay ginagawa lamang sa kasalukuyang direktoryo at mga subdirectory nito.

Kadalasan, ang paghahanap ay isinasagawa sa pamamagitan ng mga pangalan ng file, tulad ng ipinakita sa nakaraang halimbawa, i.e. ang "search_criteria" ay tinukoy bilang "-name file_name". Sa halip na ang -name na opsyon, maaari mong gamitin ang -path na opsyon, pagkatapos ay maghahanap ang command ng mga tugma sa buong pangalan ng file, na sinusundan ng path. Halimbawa, ang utos

$hanapin. -path "./sr*sc"

ay mahahanap ang subdirectory "./src/misc" sa kasalukuyang direktoryo. Sa halip na ang buong file o pangalan ng direktoryo, ang halimbawang ito ay gumagamit ng tinatawag na "template ng pangalan". Dahil ang mga pattern ng filename ay maaaring gamitin hindi lamang sa command hanapin, ngunit pati na rin sa maraming iba pang mga utos (kabilang ang napag-usapan na mga utos chmod, chown, chgrp, cp, rm, pusa, mv), kung gayon ang mga patakaran para sa paglikha ng mga template ay dapat bigyan ng ilang pansin.

Kadalasan, ang mga pattern ng pangalan ng file ay itinayo gamit ang mga espesyal na character na "*" at "?". Ang simbolo na "*" ay ginagamit upang palitan ang isang arbitrary na string ng mga character. Sa Linux

    "*" - tumutugma sa lahat ng mga file, maliban sa mga nakatago;

    ".*" - tugma sa lahat nakatagong mga file(kundi pati ang kasalukuyang direktoryo " . "at ang antas ng direktoryo sa itaas" .. ": huwag kalimutan ang tungkol dito!);

    "*.*" - tumutugma lamang sa mga file at direktoryo na mayroong " . " sa gitna ng pangalan, o nagtatapos sa isang tuldok;

    "p*r" - tumutugma sa parehong "peter" at "piper";

    Ang "*c*" ay tumutugma sa parehong "pinili" at "peck".

Icon ? pinapalitan ang isang arbitrary na character, kaya ang index?.htm ay tutugma sa mga pangalang index0.htm, index5.htm at indexa.htm.

Bukod sa "*" at "?" Sa Linux, kapag tinutukoy ang mga pattern ng pangalan, maaari kang gumamit ng mga square bracket, na nagbibigay ng alinman sa listahan ng mga posibleng character o isang hanay kung saan dapat mahulog ang mga posibleng character. Halimbawa, * tumutugma sa lahat ng mga filename na nagsisimula sa a, b, c; * tumutugma sa mga file na ang mga pangalan ay nagtatapos sa I, J, K, L, M, N, 1, 2, 3.

Ngayon bumalik tayo sa koponan hanapin at sasabihin namin sa iyo nang mas detalyado tungkol sa kung anong pamantayan sa paghahanap ang posible. Ilang halimbawa ng simpleng pamantayan sa paghahanap ang nakalista sa Talahanayan. 4.4.

Talahanayan 4.4. Pamantayan sa paghahanap para sa utos ng paghahanap.

Pagpipilian

Ibig sabihin

Pangalan sample

Naghahanap ng mga file na ang mga pangalan ay tumutugma sa isang pattern

Pangalan ng grupo

Naghahanap ng mga file na kabilang sa tinukoy na pangkat

Sukat numero[c]

Naghahanap ng mga file na may sukat numero 512-byte na mga bloke. Kung mayroong isang c pagkatapos ng numero, kung gayon ang laki ay ipinahiwatig sa mga byte (mga character)

Mtime numero

Mga paghahanap para sa mga file na huling binago ng tinukoy numero araw na nakalipas

Mas bago sample

Mga paghahanap para sa mga file na nagbago mula noong binago ang file na tinukoy sa sample

Uri file_type

Naghahanap ng mga file ng tinukoy na uri. Ang uri ay tinukoy ng isa sa mga character b(block-oriented na mga device), c(mga byte-oriented na device), d(catalog file), f(regular na file), p(pinangalanang tubo) o l(symbolic na link)

Maaari mong malaman ang iba pang simpleng pamantayan kung titingnan mo ang man page tungkol sa command hanapin. Dito kailangan mo lamang sabihin na mula sa mga simpleng pamantayan maaari kang bumuo ng mga mas kumplikado gamit ang mga lohikal na operasyon at, o o isang operasyon ng negation, na ang tanda ay isang tandang padamdam. Halimbawa, kung gusto mong hanapin ang lahat ng mga file na ang mga pangalan ay nagtatapos sa .txt at .doc, maaaring isulat ang pamantayan bilang (-name *.txt -or -name *.doc). Maaari mong pagsamahin ang anumang bilang ng mga pamantayan sa ganitong paraan (at hindi lamang mga simple!). Kung ang operasyon ay hindi tahasang tinukoy, ito ay ipinahiwatig -at, ibig sabihin, sa halip (-name *.txt -and -name *.doc) maaaring isulat nang simple (-name *.txt -name *.doc). Kung isang operasyon lamang ang inilapat -at o ! , kung gayon ang mga panaklong ay karaniwang maaaring tanggalin, at kasama ang operasyon -o at sa mga kumplikadong expression, kailangan ang mga panaklong. Kailangan mong maglagay ng backslash bago ang bracket at isang puwang pagkatapos ng bracket. Halimbawa, kung gusto mong makahanap ng isang direktoryo ayon sa pangalan nito, magagawa mo ito gamit ang command

$ find /usr -name doc -type d

o (napapailalim sa mga panuntunan para sa pagbuo ng kumplikadong pamantayan)

$ find /usr \(-name doc -and -type d \)

Sa sumusunod na halimbawa, naghahanap kami ng mga file batay sa sumusunod na pamantayan: alinman sa pangalan ng file ay nagtatapos sa *.tmp, o ang laki ng file ay higit sa 100 KB.

$ find /home/kos \(\(-name *.tmp \) -o \(-size +200 \) \)

Sa huling halimbawa, ito ay nagkakahalaga ng pagbibigay pansin sa katotohanan na mayroong isang "+" sign sa harap ng halaga ng laki. Maaaring gamitin ang sign na ito sa anumang numeric na parameter sa pamantayan sa paghahanap ng command hanapin. Nangangahulugan ito na kailangan mong maghanap ng mga file na ang halaga ng parameter ay mas malaki kaysa sa tinukoy. Alinsunod dito, ang tanda " - " nangangahulugan na kailangan mong maghanap ng mga file na ang halaga ng parameter ay mas mababa kaysa sa tinukoy. Kung walang + o - na mga palatandaan, hahanapin ang mga file kung saan ang halaga ng parameter ay katumbas ng tinukoy.

Upang tapusin ang pagsusuri sa utos hanapin, dapat ding sabihin na pagkatapos ng criterion sa paghahanap sa command na ito, maaari mong agad na tukuyin ang isang operasyon na ilalapat sa lahat ng mga file na natagpuan ng tinukoy na criterion. Ang pinakasimpleng halimbawa ng paggamit ng feature na ito ay ang tukuyin ang command -print.

$ find /home/kos -name *.tmp -print

na nagpapakita ng isang listahan ng mga pangalan ng lahat ng mga nahanap na file, na nagpapahiwatig ng buong landas sa file. Ginagamit ang operasyong ito bilang default, iyon ay, kapag walang mga operasyon na tinukoy sa lahat (tulad ng nangyari sa lahat ng mga halimbawa sa itaas). Ang isa pang halimbawa ng isang operasyon na nalalapat sa lahat ng mga nahanap na file ay ang operasyon -exec cmd()\;, Saan cmd- di-makatwirang utos kabibi. Iyon ay, sa kasong ito, ang utos ay inilapat sa lahat ng nahanap na mga file (ang kanilang mga pangalan ay pinapalitan nang paisa-isa ng mga kulot na braces) cmd. Para sa cmd() sa kasong ito, dapat itong sundan ng semicolon, na tinakasan ng backslash.

Halimbawa, kung gusto mong tanggalin ang lahat ng mga file sa kasalukuyang direktoryo na hindi na-access ng mga user sa loob ng 30 araw, ilabas ang command:

#hanapin . -type f -atime +30 -exec rm()\;

Sa halip na -exec maaari mong ilagay -ok, pagkatapos ay bago isagawa ang tinukoy mga utos ng cmd Hihilingin ang kumpirmasyon para sa bawat file.

Sa pangkalahatan, ang koponan hanapin ay isang napakalakas, kapaki-pakinabang at lubhang madaling ibagay na tool sa paghahanap ng file system. Ang lahat ng mga kakayahan nito ay hindi nakalista dito, mangyaring basahin ang kaukulang man page. At maging maingat sa paggamit ng mga feature ng command tulad ng pagtawag sa iba pang mga command na nalalapat sa lahat ng mga file na natagpuan. Tandaan na ang mga pagbabago ay kadalasang hindi maibabalik!

4.6.9. Koponan hati— hatiin ang file sa ilang bahagi

Minsan kinakailangan na hatiin ang isang malaking file sa ilang mas maliliit na file. Halimbawa, isaalang-alang ang isang sitwasyon kung saan gusto mong maglipat ng song.mp3 file sa "MP3" na format, 4,894,425 bytes ang laki, sa iyong computer sa bahay. Wala kang kakayahang i-download ang file na ito sa network, at ang tanging posibleng paraan ng paglilipat ay ang paggamit ng mga floppy disk. Ngunit, dahil ang file ay hindi magkasya sa isang floppy disk, kailangan mong hatiin ito sa ilang maliliit na file at pagkatapos ay "i-assemble" muli. Upang malutas ang problemang ito maaari mong gamitin ang command hati.

Koponan hati kinokopya ang isang file, hinahati ito sa magkakahiwalay na mga file ng isang naibigay na haba. Bilang mga argumento, dapat itong tukuyin ang pangalan ng source file at ang prefix ng mga pangalan ng output file. Ang mga pangalan ng file ng output ay bubuuin ng prefix na ito at dalawang karagdagang titik `aa", `ab", `ac" atbp.(walang mga puwang o tuldok sa pagitan ng prefix at mga titik). Kung ang prefix ng filename ay hindi tinukoy, kung gayon ang default ay 'x', kaya ang mga output file ay pinangalanan `xaa", ` xab ", atbp..

Bilang karagdagan sa mga argumento, maaari mong tukuyin ang -b na opsyon, na tumutukoy sa laki ng mga output file sa mga byte. Ang -b ay dapat na sundan ng isang numero, na sinusundan ng letrang k (nagpapahiwatig na ang laki ng output file ay nasa kilobytes) o m (nagsasaad na ang laki ay nasa megabytes). Kung ang opsyon ay hindi tinukoy, pagkatapos ay bilang default ang laki ng mga output file ay ipinapalagay na 1 MB. Kaya, upang mailipat ang song.mp3 file sa mga floppy disk, kailangan mo munang magbigay ng utos

$ split -b1400k kanta.mp3 kanta.

kopyahin ang mga resultang file song.aa, song.ab, song.ac, song.ad, song.ae para paghiwalayin ang mga floppy disk, ilipat ang mga ito sa iyong computer sa bahay, kopyahin ang mga ito sa ilang direktoryo at ibalik ang orihinal na file gamit ang command

$ kanta ng pusa.* > kanta.mp3

pagkatapos nito maaari mong tanggalin ang pansamantalang song.xx file.

4.6.10. Paghahambing ng file at patch command

Napansin mo ba na ang gawain ng paghahambing ng nilalaman ng dalawa iba't ibang mga file nangyayari kapag nagtatrabaho sa isang computer na nakakagulat na madalas? Siyempre, napakadaling kopyahin ang isang file, at pagkatapos ay nakalimutan mo kung aling bersyon ang mas bago o mas mahusay (ayon sa pamantayan ng isang may-akda). Kaya't ang mga tool para sa paghahambing ng mga file ay kailangan lang, at ang Linux ay nagbibigay ng mga naturang tool.

Ang pinakasimple sa kanila ay ang utos cmp. Ang utos na ito ay naghahambing lamang ng mga nilalaman ng dalawang file byte sa pamamagitan ng byte:

$ cmp file1 file2

Kung ang mga file ay eksaktong pareho, ito ay tahimik na nagtatapos (bumalik sa command line nang walang anumang karagdagang mga mensahe), at kung ang mga file ay magkaiba, ito ay nagpi-print ng numero ng linya at byte na numero sa linya kung saan naganap ang unang pagkakaiba.

Siyempre, ang impormasyong ginawa ng utos cmp, ay hindi sapat upang makagawa, halimbawa, ng desisyon tungkol sa kung alin sa dalawang file ang mas mahalaga sa amin. Samakatuwid ito ay nagkakahalaga ng paggamit ng utos diff para makakuha ng buong ulat kung ano ang mga pagkakaiba sa mga file na interesado kami. Para makakuha ng ulat, sabihin lang sa command kung aling mga file ang ihahambing:

$ diff paper.lumang papel.bago

Ang isang ulat ng mga nakitang pagkakaiba ay ibibigay sa karaniwang output. Naturally, mas mahusay na i-redirect ito sa isang file:

$ diff paper.lumang papel.bago >papel.diff

Upang suriin ang mga bersyon ng parehong file, ang command ay maaaring maging mas maginhawa sdiff, na gumagawa ng resulta ng paghahambing bilang dalawang column na pinaghihiwalay ng mga puwang. Kung ang mga linya na may parehong mga numero sa mga file ay naiiba, pagkatapos ay sa command output sdiff sila ay pinaghihiwalay ng isang patayong linya | . Kung ang isang linya ay umiiral lamang sa unang file, ito ay minarkahan ng < . Alinsunod dito, ang isang linya na matatagpuan lamang sa pangalawang file ay minarkahan ng > .

May utos din diff3, na nagbibigay-daan sa iyong paghambingin ang 3 file nang sabay-sabay.

Ngunit gayon pa man, ang tradisyonal na utos para sa mga sistema ng UNIX ay kadalasang ginagamit diff. Ang katanyagan na ito ay ipinaliwanag sa pamamagitan ng katotohanan na ang ulat na nilikha nito sa mga pagkakaiba sa pagitan ng dalawang file ay maaaring gamitin ng command patch. Ang mga tampok na ito ay kadalasang ginagamit kapag namamahagi ng mga update sa software. Ipagpalagay natin na ang ilang software application ay naipamahagi sa mga user sa anyo ng program.c file na naglalaman ng source code ng program sa C language. Pagkatapos nito, gumawa ang developer ng ilang pagwawasto sa program at nai-save ang text bilang isang file program.c.new. Kinakailangang dalhin ang naitama na teksto ng programa sa mga gumagamit. Malinaw, sapat na para sa mga gumagamit na mag-ulat lamang ng mga pagwawasto, ibig sabihin, isang ulat ng pagbabago na nabuo ng command

$ diff program.c program.c.bago > program.c.diff

Naturally, ang laki ng program.c.diff file ay makabuluhang mas maliit kaysa sa laki ng program.c.new file, kaya maaari kang makakuha ng malaking matitipid sa mga paglilipat ng file kung ipapadala mo lang ang program.c.diff file sa mga user ( tapos ang dami ng modern mga aplikasyon ng software sa sampu-sampung megabytes). Gayunpaman, dapat magawa ng mga user ang mga pagwawasto na ito sa bersyon ng program na mayroon sila. Ang problemang ito ay maaaring malutas ng pangkat patch. Ang pagkakaroon ng program.c at program.c.diff file , ang gumagamit ay maaaring magbigay ng utos

$ patch program.c program.c.diff > program.c.new

bilang resulta kung saan matatanggap niya ang programa.c.bagong file.

V. Kostromin (kos at rus-linux dot net) - 4.6. Mga utos para sa pagtatrabaho sa mga file at direktoryo cp - kopyahin ang mga file at direktoryo

REVIEW

cp [ mga pagpipilian] file landas cp [ mga pagpipilian] file... katalogo Mga opsyon sa POSIX: [-fiprR] [--] Mga karagdagang opsyon POSIX 1003.1-2003: [-HLP] GNU file-utils 4.0 na mga opsyon (maikling anyo): [-abdfilprsuvxPR] [-S SUFFIX] [-V (numero, umiiral, simple)] [--backup=KONTROL] [--kaunti=KAILAN] [--tulong] [--bersyon] [--] GNU file-utils 4.1 karagdagang mga opsyon (maikling anyo): [-HLP] [--copy-contents] [--no-preserve] [--reply=PAANO] [--remove-destination] [--strip-trailing-slashes] [--target-directory=DIR]

PAGLALARAWAN

cp kinokopya ang mga file (o, kung tatanungin, mga direktoryo). Maaari mong kopyahin ang isang file sa isa pa, isang naibigay na file, o kopyahin ang maraming mga file hangga't gusto mo sa isang ibinigay na direktoryo. cp Kung ang huling argumento ay isang umiiral na direktoryo kung gayon file kopyahin ang bawat orihinal cp sa direktoryong ito (pinapanatili ang mga pangalan). Kung hindi, kung dalawang file lamang ang ibinigay, kung gayon kinokopya ang unang file sa pangalawa. Kung higit sa dalawang argumento ang ibinigay na hindi mga opsyon, at ang huling argumento ay hindi ang pangalan ng anumang direktoryo, magreresulta ito sa isang error.(1) user (maliban kung ang -p na opsyon ay tinukoy). (Ngunit sa panahon ng recursive na kopya ng mga direktoryo, ang mga bagong likhang direktoryo ay pansamantalang bibigyan ng mga karapatan OR na may halagang S_IRWXU (0700) upang payagan ang pagbabasa, pagsulat at paghahanap ng mga bagong likhang direktoryo.) cp Kung susubukan mong kopyahin ang isang file sa sarili nito, walang mangyayari (maliban sa posibleng mensahe ng error). Kapag ang isang file ay kinopya sa isa pang umiiral na file, ito ay bubuksan gamit ang open(path, O_WRONLY | O_TRUNC) na tawag. Kapag kumukopya sa isang bagong likhang file, ito ay nilikha gamit ang open(path, O_WRONLY | O_CREAT, mode) na tawag. Kung nabigo ang mga tawag na ito, ang file ay ipinapalagay na umiiral, at sa

sinubukang tanggalin ito (i-unlink), dapat mong tukuyin ang -f na opsyon. Kung matagumpay ang pagtanggal, pagkatapos ay gumagana ang lahat para sa kaso na may bagong file. MGA OPSYON

POSIX -f Ang POSIX ay may apat at kalahating opsyon: -i Kung kinakailangan, tatanggalin ang mga umiiral nang file na kinokopya. (Tingnan sa itaas) Nagtatanong kung dapat bang ma-overwrite ang mga kasalukuyang file na kinokopya. (Ibinibigay ang kahilingan sa karaniwang output ng error, at binabasa ang tugon mula sa karaniwang input. Isinasagawa lamang ang pagkopya kung positibo ang tugon.)-p Pinapanatili ang orihinal na mga parameter ng file tulad ng may-ari, grupo, mga karapatan sa pag-access (kabilang ang suid at sgid bits), huling oras ng pagbabago, at huling oras ng pag-access ng file. Kung sakaling magresulta sa error ang pagtatakda ng may-ari o grupo, ang suid at sgid bit ay iki-clear. (Tandaan na sa ibang pagkakataon ang orihinal na file at ang kopya nito ay maaaring may magkaibang panahon huling pag-access, dahil ang operasyon ng pagkopya ay isang pag-access sa source file).-R Kopyahin ang mga direktoryo nang paulit-ulit; wastong pangasiwaan ang mga sitwasyon kung saan nakatagpo ang mga bagay na hindi ordinaryong file o direktoryo. (Kaya, ang isang kopya ng isang FIFO o espesyal na file ay magiging isang FIFO o espesyal na file).-r cp Kopyahin ang mga direktoryo nang paulit-ulit; magsagawa ng ilang mga aksyon na hindi tinukoy ng pamantayan kapag ang mga bagay na hindi ordinaryong mga file o direktoryo ay nakatagpo. -- (Kaya, pinapayagan, at sa katunayan ay hinihikayat, na magkaroon ng -r na opsyon bilang kasingkahulugan para sa -R. Gayunpaman, ang hangal na pag-uugali na ipinapakita ng bersyon ay

hindi ipinagbabawal sa GNU 4.0.) sinubukang tanggalin ito (i-unlink), dapat mong tukuyin ang -f na opsyon. Kung matagumpay ang pagtanggal, pagkatapos ay gumagana ang lahat para sa kaso na may bagong file. MGA OPSYON 2003

Ang pamantayang POSIX 1003.1-2003 ay nagdaragdag ng tatlong opsyon na tumutukoy kung paano pamahalaan ang mga simbolikong link. Kapag ang isang hindi recursive na kopya ay ginanap, ang mga simbolikong link ay binabalewala (ang mga bagay na kanilang itinuturo ay kinuha sa halip na ang link mismo - humigit-kumulang). Kapag nagsasagawa ng recursive copy gamit ang -r na opsyon, ang mga resulta ay nakadepende sa pagpapatupad. Kapag nagsasagawa ng recursive copy gamit ang -R na opsyon: -H Mga dereference na simbolikong link na tinukoy sa listahan ng parameter. Hindi binabalewala ang mga simbolikong link na nakatagpo sa panahon ng recursive na pagkopya, ngunit kinokopya lamang ang mga ito. -L Tinatanggal ang sanggunian sa lahat ng simbolikong link, parehong tinukoy sa listahan ng parameter at ang mga naranasan sa panahon ng recursive na pagkopya. -P Hindi binabalewala ang anumang mga simbolikong link, alinman sa tinukoy sa listahan ng parameter o nakatagpo sa panahon ng recursive na pagkopya. Kopyahin lamang ang mga ito bilang simbolikong mga link.

Walang default na opsyon - dapat mong tukuyin ang isa sa mga opsyon upang makamit ang ninanais na resulta. MGA DETALYE MGA BERSYON

GNU Karaniwan, ang mga file ay isinulat nang eksakto sa parehong anyo kung paano sila nabasa. Tingnan sa ibaba para sa opsyon--kaunti Kopyahin ang mga direktoryo nang paulit-ulit; wastong pangasiwaan ang mga sitwasyon kung saan nakatagpo ang mga bagay na hindi ordinaryong file o direktoryo. (Kaya, ang isang kopya ng isang FIFO o espesyal na file ay magiging isang FIFO o espesyal na file).). cp, na isang exception. --puwersa --backup Bilang default, hindi kinokopya ng cp ang mga direktoryo (tingnan ang opsyon karaniwang tinatanggihan ang pagkopya ng isang file sa sarili nito, kasama ang sumusunod na pagbubukod: kung ang mga pagpipilian ay ibinigay file At file at kasabay nito cp orihinal

sinubukang tanggalin ito (i-unlink), dapat mong tukuyin ang -f na opsyon. Kung matagumpay ang pagtanggal, pagkatapos ay gumagana ang lahat para sa kaso na may bagong file. MGA BERSYON

, kung saan isinasagawa ang pagkopya, ay magkapareho at ordinaryong mga file, kung gayon --archive gagawa ng backup na kopya ng file: regular o numbered, gaya ng sinasabi mo. Ito ay kapaki-pakinabang kapag gusto mo lang gumawa ng backup na kopya ng isang umiiral na file bago ito baguhin. Bilang default, ang mga simbolikong link ay hindi binabalewala.. -b-a, --kopya-nilalaman Pinapanatili ang istraktura at mga katangian ng orihinal na mga file kapag kinopya hangga't maaari (ngunit hindi pinapanatili ang istraktura ng direktoryo). Katumbas ng mga pagpipilian sa pagtatakda -d Kinokopya ang mga simbolikong link bilang mga simbolikong link sa halip na ang mga file na itinuturo nila, at pinapanatili ang mga matitigas na link sa pagitan ng mga source file sa mga kopya. Sa file-utils 4.0 ang long --no-dereference na opsyon ay kasingkahulugan para sa -d na opsyon, ngunit sa file-utils 4.1 ito ay kasingkahulugan para sa -P na opsyon, habang ang -d na opsyon ay katumbas ng --no -dereference --preserve options = mga link. --puwersa-f, Tinatanggal ang mga umiiral nang file kung may naganap na error kapag binubuksan ang mga ito para sa pagbabasa at hindi kailanman humihingi ng kumpirmasyon bago gawin ito. (Ang pag-uugaling ito ay nagsimula sa file-utils 4.1. Sa file-utils 4.0 ang opsyong ito ay katumbas ng bagong opsyon -H--alisin-destinasyon.) (since file-utils 4.1) Tingnan ang paglalarawan ng POSIX sa itaas. --interactive-ako, Nagtatanong kung dapat bang ma-overwrite ang mga kasalukuyang regular na file. -l,--link Gumagawa ng mga hard link sa halip na kopyahin ang mga regular na file (hindi mga direktoryo). -L,--dereference (since file-utils 4.1) Tingnan ang paglalarawan ng POSIX sa itaas.--no-preserve= MGA KATANGIAN (since file-utils 4.1) Hindi nagse-save ng mga tinukoy na attribute. Tingnan ang --preserve na opsyon sa ibaba. --preserba-p, Pinoprotektahan ang orihinal na mga parameter ng file tulad ng may-ari, grupo, mga pahintulot at timestamp.--no-preserve=--preserba= (since file-utils 4.1) Dito ang parameter na ATTRIBUTES ay maaaring kumuha ng isa sa mga value na "mode" (mga karapatan sa pag-access), "pagmamay-ari" (may-ari at grupo), "timestamps" (time stamps), "links", "all "(lahat ng nasa itaas). -P,--no-dereference (since file-utils 4.1) Tingnan ang paglalarawan ng POSIX sa itaas. Pinapalitan ng opsyong ito ang -P na opsyon sa file-utils 4.0, na kasingkahulugan ng --parents na opsyon. Tingnan din ang -d na opsyon sa itaas.--mga magulang cp(dahil ang file-utils 4.0 din -P) Binubuo ang pangalan ng bawat file na kokopyahin sa pamamagitan ng pagdugtong ng pangalan ng direktoryo kung saan ito kumukopya ng forward slash (/) at ang tinukoy na buong pangalan ng source file. Huling argumentong ibinigay Kopyahin ang mga direktoryo nang paulit-ulit; wastong pangasiwaan ang mga sitwasyon kung saan nakatagpo ang mga bagay na hindi ordinaryong file o direktoryo. (Kaya, ang isang kopya ng isang FIFO o espesyal na file ay magiging isang FIFO o espesyal na file). dapat ay ang pangalan ng isang kasalukuyang direktoryo. Halimbawa, ang command na cp --parents a/b/c existing_dir copies file a/b/c sa existing_dir/a/b/c, na lumilikha ng nawawalang intermediate na mga direktoryo. Sa file-utils 4.1: isang kasingkahulugan para sa -R na opsyon. Sa file-utils 4.0: Kinokopya ang mga direktoryo nang paulit-ulit, kinokopya ang anumang mga hindi direktoryo at hindi simbolikong mga link (iyon ay, mga FIFO at mga espesyal na file) na parang mga regular na file. Ang hangal na pag-uugali na ito ay maaaring makamit sa file-utils 4.1 sa pamamagitan ng pagtukoy sa --copy-contents na opsyon. -R,--recursive Kinokopya ang mga direktoryo nang paulit-ulit, pinoprotektahan ang mga hindi direktoryo.PAANO(since file-utils 4.1) Dito ang HOW argument ay maaaring tumagal ng isa sa mga value na "yes", "no", "query", pagtukoy kung aling sagot ang awtomatikong ibibigay sa lahat ng tanong: "yes", "no" or "query" sa gumagamit nang naaayon. --alisin-destinasyon(since file-utils 4.1) Tinatanggal ang bawat umiiral na (sa lugar kung saan nangyayari ang pagkopya) na file bago kumopya. Sa file-utils 4.0, ang opsyong ito ay tahasang pinagana kapag ang -f na opsyon ay tinukoy. --kaunti=KAILAN Ang isang kalat-kalat na file ay naglalaman ng mga butas - mga pagkakasunud-sunod ng zero byte na hindi sumasakop sa mga pisikal na bloke sa disk; tawag sa sistema basahin ang mga ito bilang mga zero. Ang diskarte na ito ay maaaring parehong makatipid ng puwang sa disk at mapataas ang bilis ng pagpapatakbo, dahil marami binary file cp naglalaman ng maraming magkakasunod na zero byte. Bilang default, KAILAN kinikilala ang mga butas sa source file gamit ang simpleng heuristics at ginagawang kalat din ang kaukulang output file. Parameter maaaring kunin ang mga sumusunod na halaga: sasakyan Default na gawi: Ang output file ay kalat-kalat kung ang input file ay kalat din. palagi Palaging gawing hiwa-hiwalay ang output file. Ito ay kapaki-pakinabang kapag hindi kailanman input file ay matatagpuan sa isang file system na hindi sumusuporta sa mga kalat-kalat na file, at ang output file ay matatagpuan sa isang file system na sumusuporta sa kanila. Huwag kailanman gawing kalat-kalat ang mga output file. Kung makakita ka ng paggamit para sa opsyong ito, mangyaring ipaalam sa amin. --strip-trailing-slashes (since file-utils 4.1) Tinatanggal ang lahat ng sumusunod na `´ na character mula sa bawat argument. (Maaaring baguhin nito ang interpretasyon ng argumento kung ito ay simbolikong link sa isang direktoryo.)-s, --symbolic-link Gumagawa ng mga simbolikong link sa halip na kopyahin ang mga hindi direktoryo. Ang lahat ng mga pangalan ng source file ay dapat na ganap na kwalipikado, ibig sabihin, magsimula sa isang / character, maliban kung ang mga simbolikong link ay gagawin sa kasalukuyang direktoryo. Bumubuo ang opsyong ito ng mensahe ng error kung hindi sinusuportahan ng system ang mga simbolikong link. -SBackup suffix, tingnan sa ibaba.--target-directory= CATALOG(since file-utils 4.1) Tinutukoy ang patutunguhang direktoryo kung saan gagawin ang kopya. Sinadya para gamitin sa xargs (1), tulad ng sa "ls | xargs cp --target- directory=../d".-ikaw, --update Huwag kumopya ng mga hindi direktoryo na mayroon na sa lokasyong kinokopya kung mayroon silang pareho o mas maagang oras ng pagbabago.-v, -x, --isang-file-system Laktawan ang mga subdirectory na matatagpuan sa mga file system maliban sa kung saan nagsimula ang kopya.

sinubukang tanggalin ito (i-unlink), dapat mong tukuyin ang -f na opsyon. Kung matagumpay ang pagtanggal, pagkatapos ay gumagana ang lahat para sa kaso na may bagong file. RESERVE PAGKOPYA MGA BERSYON

Mga bersyon ng GNU ng mga programa tulad ng cp, mv, ln, i-install At patch maaari, kung kinakailangan, gawin mga backup mga file na o-overwrite, babaguhin o sisirain. Kung nais, ang mga backup na kopya ng mga file ay nilikha gamit ang -b na opsyon. Ang itatawag sa kanila ay tinukoy ng -V na opsyon. Kung ang backup na pangalan ng file ay nilikha sa pamamagitan ng pagdaragdag ng suffix sa pangalan ng orihinal na file, ang suffix ay tinukoy gamit ang -S na opsyon. -b, --backup Gumawa ng mga backup na kopya ng mga file na ma-overwrite o tatanggalin. --backup=KONTROL(Dahil fileutils-4.1.) --symbolic-link SUFFIX, --suffix=SUFFIX Idagdag SUFFIX sa pangalan ng file kapag gumagawa ng backup na kopya. SIMPLE_BACKUP_SUFFIX Kung hindi tinukoy ang opsyong ito, maaari ding itakda ang suffix gamit ang environment variable Kung walang tinukoy na opsyon o variable, ang default na suffix ay ~. -V, PARAAN-V--version-control= -V Tinutukoy kung paano papangalanan ang mga backup na file. Pangangatwiran VERSION_CONTROL maaaring kunin ang mga halaga na may numero (o t), umiiral (o wala) at hindi kailanman (o simple). Kung hindi tinukoy ang opsyong ito, gagamitin ang value ng environment variable . Kung hindi nakatakda ang halaga ng variable na ito, bilang default, nakatakda ang uri ng backup sa umiiral na. Ang pagpipiliang ito -V tumutugma sa variable na kontrol ng bersyon sa Emacs. Mga wastong halaga t, may bilang ay (pinahihintulutan ang mga hindi malabo na pagdadaglat): wala, umiiral Palaging gumawa ng may bilang na backup na mga kopya ng mga file. hindi kailanman, simple lang Gumawa ng mga backup na file na may numero para sa mga file na mayroon na ng mga ito at simpleng pag-backup para sa iba pang mga file.

Palaging gumawa ng mga simpleng backup. sinubukang tanggalin ito (i-unlink), dapat mong tukuyin ang -f na opsyon. Kung matagumpay ang pagtanggal, pagkatapos ay gumagana ang lahat para sa kaso na may bagong file. MGA BERSYON

--tulong STANDARD --bersyon Mag-print ng pahiwatig sa karaniwang output at matagumpay na lumabas. -- I-print ang impormasyon ng bersyon sa karaniwang output at matagumpay na lumabas.

Nagsisilbing markahan ang dulo ng isang listahan ng mga opsyon.

KAPALIGIRAN Kapag nagtatrabaho sa karaniwang paraan, ginagamit ang mga halaga mga variable ng LANG

, LC_ALL, LC_COLLATE, LC_CTYPE at LC_MESSAGES. Para sa bersyon ng GNU, ang SIMPLE_BACKUP_SUFFIX at VERSION_CONTROL na mga variable ay ginagamit din upang kontrolin ang paglikha ng mga backup, tulad ng inilarawan sa itaas.

PAGKAKAtugma

POSIX 1003.2

MGA TALA cp Inilalarawan ng pahinang ito ang bersyon package fileutils-4.1; ang ibang mga bersyon ay maaaring may kaunting pagkakaiba. Mangyaring magpadala ng mga pagwawasto at pagdaragdag sa:[email protected] package fileutils-4.1; ang ibang mga bersyon ay maaaring may kaunting pagkakaiba. Mangyaring magpadala ng mga pagwawasto at pagdaragdag sa:.

. Mangyaring magpadala ng mga ulat ng bug sa program na ito sa:

PAGSASALIN 2003

Ipapakita sa iyo ng gabay na ito kung paano kumopya ng mga file at direktoryo sa ginagamit ng iyong system command line Linux.

Ang utos na ginagamit upang kopyahin ang mga file ay Wed

Paano kopyahin ang isang file mula sa isang direktoryo patungo sa isa pa gamit ang Linux

Ang syntax upang kopyahin ang isang file mula sa isang lokasyon patungo sa isa pa ay ang mga sumusunod:

Cp /source/path/name /target/path/name

  • bahay
    • andreyex
      • mga dokumento
        • folder_one
          • file_one
          • file_two
          • file_three
        • folder_dalawa
          • file4

Kung gusto mong kopyahin ang file_one mula sa kasalukuyang lokasyon sa /home/documents/folder_one sa /home/documents/folder_two, kailangan mong ipasok ang sumusunod na command sa command prompt:

Cp /home/andreyex/documents/folder_one/file_one /home/andreyex/documents/folder_two/file_one

Mayroong ilang mga shortcut na maaari mong gawin dito.

/ Ang pangunahing bahagi ay maaaring mapalitan ng isang tilde (~), na ipinaliwanag sa artikulong ito. Binabago nito ang utos dito

cp ~/documents/folder_one/file_one ~/documents/folder_two/file_one

Maaari mo lamang alisin ang filename para sa target kung gagamitin mo ang parehong filename

Cp ~/documents/folder_one/file_one ~/documents/folder_two

Kung ikaw ay nasa target na folder maaari mo lamang palitan ang target na landas ng isang ganap na hinto.

Cp ~/documents/folder_one/file_one

Bilang kahalili, kung nakapasok ka na orihinal na folder maaari mo lamang tukuyin ang filename bilang pinagmulan tulad nito:

Paano Gumawa ng Backup Bago Kopyahin ang mga File sa Linux

Sa nakaraang seksyon, ang folder_one ay naglalaman ng isang file na pinangalanang file_one at folder_two ay hindi. Isipin na ang folder_two ay may isang file na pinangalanang file_one at pinapatakbo mo ang sumusunod na command:

Cp file_one ~/documents/folder_two

Ang utos sa itaas ay mao-overwrite ang file_one, na kasalukuyang nasa folder_two. Walang mga prompt, walang babala, at walang mga mensahe ng error dahil nagbigay ka ng wastong utos.

Maaari kang mag-ingat sa pagkopya ng mga file sa pamamagitan ng pagkuha sa Linux na gumawa ng backup na kopya ng file bago ito ma-overwrite. Gamitin lamang ang sumusunod na utos:

Cp -b /source/file /target/file

Halimbawa:

Cp -b ~/documents/folder_one/file_one ~/documents/folder_two/file_one

Ang destination folder ay magkakaroon na ngayon ng file na nakopya at magkakaroon din ng file na may tilde (~) sa dulo, na isang backup na kopya ng orihinal na file.

Maaari mong baguhin ang backup na command upang gumana sa isang bahagyang naiibang paraan upang makalikha ito ng mga may bilang na backup. Magagawa mo ito kung nakopya mo na ang mga file at umiiral na ang mga backup. Ito ay isang paraan ng kontrol sa bersyon

Cp --backup=numbered ~/documents/folder_one/file_one ~/documents/folder_two/file_one

Ang pangalan ng file para sa mga backup ay magbabago sa daan 1.~1~, file_one.~2~, atbp.

Paano mag-prompt bago mag-overwrite ng mga file kapag kumukopya sa Linux

Kung hindi mo gustong mag-back up ng mga file sa iyong file system, ngunit gusto mo ring tiyakin na ang copy command ay hindi basta-basta mag-overwrite ng isang file, maaaring ma-prompt kang ipahiwatig kung gusto mong mag-overwrite.

Upang gawin ito, gamitin ang sumusunod na syntax:

Cp -i /source/file /target/file

Halimbawa:

Cp -i ~/documents/folder_one/file_one ~/documents/folder_two/file_one

Magiging ganito ang mensahe: cp: i-overwrite ang './file1'?

Upang i-overwrite ang isang file, pindutin ang Y sa iyong keyboard, o upang kanselahin, pindutin ang N o CTRL at C nang sabay.

Ano ang mangyayari kapag kinopya mo ang mga simbolikong link sa Linux

Isipin na mayroon kang sumusunod na istraktura ng folder:

  • bahay
    • andreyex
      • mga dokumento
        • folder_one
          • file_one
        • folder_dalawa
          • file_one (mga simbolikong link na tumuturo sa folder_one/file_one)
        • folder3

Tingnan ang sumusunod na utos:

Cp ~/documents/folder_one/file_one ~/documents/folder3/file_one

Hindi dapat ito bago dahil ito ay pangongopya pisikal na file mula sa isang folder patungo sa isa pa.

Ano ang mangyayari, gayunpaman, kung kopyahin mo ang simbolikong link mula sa folder_two patungo sa folder3?

Cp ~/documents/folder_two/file_one ~/documents/folder3/file_one

Ang file na kinopya sa folder3 ay hindi isang simbolikong link. Ito talaga ang file na itinuturo ng symlink, kaya sa katunayan ay makakakuha ka ng parehong resulta na parang kinopya mo ang file_one mula sa folder_one.

Sa pamamagitan ng paraan, maaari kang makakuha ng parehong resulta sa sumusunod na utos:

Cp -H ~/documents/folder_two/file_one ~/documents/folder3/file_one

Para makasigurado kahit may isa pang switch na talagang pinipilit ang file na makopya at hindi ang symlink:

Cp -L ~/documents/folder_two/file_one ~/documents/folder3/file_one

Kung gusto mong kopyahin ang isang simbolikong link dapat mong tukuyin ang sumusunod na command:

Cp -d ~/documents/folder_two/file_one ~/documents/folder3/file_one

Cp -P ~/documents/folder_two/file_one ~documents/folder3/file_one

Paano gumawa ng mga hard link gamit ang cp command

Sasabihin sa iyo ng gabay na ito ang lahat ng kailangan mong malaman tungkol sa mga hard link.

Cp -l ~/source/file ~/target/file

Bilang isang halimbawa kung bakit maaari kang gumamit ng isang hard link, isaalang-alang na mayroon kang isang folder na tinatawag na mga video at sa loob ng folder na iyon ng video na mayroon ka talaga magandang video file na may pangalang honeymoon_video.mp4. Ngayon isipin na gusto mo ring kilalanin ang video bilang barbados_video.mp4 dahil mayroon din itong footage ng Barbados.

Maaari mo lamang kopyahin ang file at bigyan ito ng bagong pangalan, ngunit nangangahulugan ito na nagdaragdag ka ng dalawang beses na mas maraming espasyo sa disk para sa kung ano ang mahalagang parehong video.

Sa halip, maaari kang gumawa ng simbolikong link na tinatawag na barbados_video.mp4 na tumuturo sa file na honeymoon_video.mp4. Ito ay gagana nang maayos, ngunit kung may nagtanggal ng honeymoon_video.mp4 ay maiiwan sa iyo ang link at wala nang iba pa at ang link ay kukuha pa rin ng espasyo sa disk.

Ang pagkakaiba lamang ay naglalaman ang mga ito iba't ibang dami index descriptors. (mga natatanging identifier). Ang pagtanggal sa honeymoon_video.mp4 file ay hindi nagtatanggal ng file, ngunit binabawasan lamang ang bilang para sa file na iyon ng 1. Ang file ay tatanggalin lamang kung ang lahat ng mga reference sa file na iyon ay tatanggalin.

Cp -l /videos/honeymoon_video.mp4 /videos/barbados_video.mp4

Paano gumawa ng mga simbolikong link gamit ang cp command

Cp -s /source/file /target/file

Muli, sa pangkalahatan ay gagamitin ko ang ln -s command, ngunit ito ay gumagana nang maayos sa halip.

Paano kopyahin ang mga file kung mas bago ang mga ito

Kung gusto mong kopyahin ang mga file sa isang folder, ngunit i-overwrite lamang ang mga patutunguhang file kung mas bago ang source file, maaari mong gamitin ang sumusunod na command:

Cp -u /source/file /target/file

Ito ay nagkakahalaga ng noting na kung ang file ay hindi umiiral sa target na bahagi, pagkatapos ay isang kopya ay magaganap.

Paano kopyahin ang maramihang mga file

Maaari kang magbigay ng higit sa isang source file sa loob ng copy command tulad nito:

Cp /source/file_one /source/file_two /source/file_three /target

Kokopyahin ng command sa itaas ang file_one, file_two at file_three sa target na folder.

Kung tumutugma ang mga file sa isang partikular na pattern, maaari mo ring gamitin ang mga wildcard na tulad nito:

Cp /home/andreyex/music/*.mp3 /home/andreyex/music2

Kokopyahin ng command sa itaas ang lahat ng file na may extension na .mp3 sa music2 folder.

Paano kopyahin ang mga folder

Ang pagkopya ng mga folder ay kapareho ng pagkopya ng mga file.

Halimbawa, isipin na mayroon kang sumusunod na istraktura ng folder:

  • bahay
    • andreyex
      • mga dokumento
        • folder_one
          • file_one
          • file_two
        • folder_dalawa

Isipin na gusto mong ilipat ang folder na folder_one sa folder na folder_two tulad nito:

  • bahay
    • andreyex
      • mga dokumento
        • folder_dalawa
          • folder_one
            • file_one
            • file_two

Maaari mong gamitin ang sumusunod na command:

Cp -r /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

Bilang kahalili, maaari mong gamitin ang sumusunod na command:

Cp -R /home/andreyex/documents/folder_one /home/andreyex/documents/folder_two

Kinokopya nito ang mga nilalaman ng folder_one, pati na rin ang anumang mga sub-directory at mga file sa loob ng mga sub-directory.

Ipagpatuloy

Ang gabay na ito ay nagbigay sa iyo ng mga tool na kailangan mo upang kopyahin ang mga file sa Linux. Para sa lahat ng iba pang magagamit mo Linux command lalaki.