如何解決Linux系統(tǒng)之間拷貝文件的問(wèn)題

小編給大家分享一下如何解決Linux系統(tǒng)之間拷貝文件的問(wèn)題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

做網(wǎng)站、成都做網(wǎng)站的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒(méi)有做好網(wǎng)站,給創(chuàng)新互聯(lián)一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。

第一種方法

首先,無(wú)論本地還是遠(yuǎn)程,需要移動(dòng)或拷貝的文件較多且都不太大時(shí),用cp命令和mv命令效率較低,可以先使用tar工具對(duì)將要拷貝/移動(dòng)的內(nèi)容進(jìn)行打包/壓縮,之后再進(jìn)行拷貝/移動(dòng),最后再解包/解壓縮。

另外,也是很關(guān)鍵的一個(gè)技巧,即,不必在tar打包/壓縮完畢之后再進(jìn)行拷貝,解包/解壓縮,可以通過(guò)管道一邊打包/壓縮另一邊執(zhí)行拷貝解包/解壓縮。

比如,tar命令可以和nc命令結(jié)合可以快速在兩臺(tái)機(jī)器之間傳輸文件和目錄:

B機(jī)器:

代碼如下:

</p> <p>   nc -l 5555 |tar -C /tmp/test/ -xf -</p> <p>

A機(jī)器:

代碼如下:

</p> <p>  tar cf - /tmp/test/ |nc B'IP 5555 </p> <p>

上述步驟將A機(jī)器/tmp/test/下的內(nèi)容拷貝到B機(jī)器對(duì)應(yīng)的目錄中,其中tar cf - /tmp/test/ |nc B'IP 5555 將內(nèi)容邊打包邊通過(guò)管道和nc命令傳輸?shù)接蓪?duì)應(yīng)IP地址和5555端口傳到B機(jī)器,nc -l 5555 |tar -C /tmp/test/ -xf - 監(jiān)聽(tīng)本機(jī)的555端口,并將接收到的內(nèi)容解包至指定的目錄(-C參數(shù)指定目標(biāo)目錄)

第二種方法

將tar與scp、ssh命令結(jié)合:

在A機(jī)打包后,復(fù)制到B機(jī)器并解包

代碼如下:

</p> <p>  tar -cf - /tmp/test | ssh B'IP &quot;cd /tmp; tar -xf -&quot;</p> <p>

在A機(jī)打包,并將打包好的文件復(fù)制到B機(jī)

代碼如下:

</p> <p>  tar -cf - /tmp/test | ssh B'IP &quot;cd /tmp; cat - &gt; test.tar&quot;</p> <p>  tar -cf - /tmp/test | scp - <a href="mailto:B'USER@B'IP:/tmp">B'USER@B'IP:/tmp</a></p> <p>

將A機(jī)的打包文件,復(fù)制到B機(jī)并解包

代碼如下:

</p> <p>  zcat test.tar | ssh B'IP &quot;cd /tmp; tar -xf -&quot;</p> <p>

也可以直接在本地這么使用:

代碼如下:

</p> <p>  cd /tmp/test1</p> <p>  tar -cf - . | (cd /tmp/test2 ; tar -xvpf -)</p> <p>

但有人試驗(yàn)后得出結(jié)論本地直接用cp較快

拷貝時(shí)除了拷貝單個(gè)文件還會(huì)拷貝目錄,有時(shí)需要連同文件/目錄的屬性一同拷貝??梢栽赾p命令中使用-R參數(shù)遞歸拷貝目錄,使用-p參數(shù)拷貝文件保留屬性(默認(rèn)是:mode,ownership,timestamps也可以通過(guò) --preserve[=ATTR_LIST]指定要特別保留的屬性如:context, links,xattr, all),使用-d參數(shù)拷貝文件保留連接?;蛘吆?jiǎn)單的使用-a參數(shù)(相當(dāng)于使用-dR --preserve=all)

如果想看到拷貝大量小文件的進(jìn)度可以寫(xiě)一個(gè)簡(jiǎn)單的小腳本:

代碼如下:

</p> <p>  cd /tmp/test</p> <p>  for i in *</p> <p>  do</p> <p>  cp $i 目標(biāo)目錄</p> <p>  echo $i is ok....</p> <p>  done</p> <p>

看完了這篇文章,相信你對(duì)“如何解決Linux系統(tǒng)之間拷貝文件的問(wèn)題”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章名稱:如何解決Linux系統(tǒng)之間拷貝文件的問(wèn)題
URL標(biāo)題:http://muchs.cn/article28/jchjjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站收錄、全網(wǎng)營(yíng)銷推廣、商城網(wǎng)站、自適應(yīng)網(wǎng)站網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)