Linux的檔案傳輸
阿新 • • 發佈:2018-11-02
前言
linux伺服器之間傳輸檔案的有四種方式
1. wget是一個從網路上自動下載檔案的自由工具,支援通過HTTP、HTTPS、FTP三個最常見的TCP/IP協議下載,並可以使用HTTP代理。
2. scp就是secure copy,是用來進行遠端檔案拷貝的。資料傳輸使用 ssh,並且和ssh 使用相同的認證方式,提供相同的安全保證 。
3. rcp指令用在遠端複製檔案或目錄,如同時指定兩個以上的檔案或目錄,且最後的目的地是一個已經存在的目錄,則它會把前面指定的所有檔案或目錄複製到該目錄中。
4. rsync是類unix系統下的資料映象備份工具,從軟體的命名上就可以看出來了remote sync。它的操作方式和scp和相似,但是比scp強大很多。使用雙冒號分割主機名和檔案路徑時,是使用rsync伺服器,這裡主要介紹rsysnc的用法
rsync 的遠端同步
環境:真機使用ssh連線兩臺虛擬機器上一臺client:172.25.254.1一臺server:172.25.254.2
例1:將server內的/etc目錄傳同步到client的/mnt目錄下
[[email protected] mnt]# rsync -r /etc [email protected]:/mnt/ #注意:要將etc目錄傳遞過去,則不可以加斜槓"/":etc/ 。否則就是傳遞etc內全部檔案不包括etc目錄
例2:區分rsync不同引數的作用
首先已知server裡的dir檔案的資訊為:
1. [[email protected] mnt]# rsync -r dir [email protected]:/mnt/ #默認同步會忽略掉檔案屬性,連結檔案,裝置檔案等...
2. -rp dir [email protected]:/mnt/ #t同步許可權
3. -rpo dir [email protected]:/mnt/ #同步檔案的所有人
4. -rpog dir [email protected]:/mnt/ #同步檔案的所有組
5. -rt dir [email protected]:/mnt/ #同步時間
6. -rl dir [email protected]:/mnt/ #同步連結
7. -rD dir [email protected]:/mnt/ #同步裝置檔案
歸檔和壓縮檔案
歸檔
tar
打包:將一大堆檔案或目錄變成一個總的檔案【tar命令】
壓縮:將一個大的檔案通過一些壓縮演算法變成一個小檔案【gzip,bzip2等】
Linux中很多壓縮程式只能針對一個檔案進行壓縮,這樣當你想要壓縮一大堆檔案時,你得將這一大堆檔案先打成一個包(tar命令),然後再用壓縮程式進行壓縮(gzip bzip2命令)。
tar 常用的引數
tar -c #建立一個歸檔檔案
-v #顯示過程
-f #指定歸檔檔名稱
-x #解檔
-t #檢視歸檔檔案內容
-r #新增檔案到歸檔中
--get #解檔指定檔案
--delete #刪除歸檔中的指定檔案
-C #指定解檔目錄
例項
將etc目錄歸檔和解檔
tar -cf etc.tar etc/ #歸檔
tar -xf etc.tar #解檔
tar -rf etc.tar file #將file新增到歸檔中
tar -tf etc.tar #檢視歸檔檔案內容
tar -f etc.tar --get file #將file從歸檔檔案中解檔
tar -f etc.tar --delete file #將file從歸檔中刪除
tar -xf etc.tar -C /etc/ #將目錄etc從歸檔中解檔
壓縮
常用的壓縮打包方式有zip gz gz2 xz這四種
而壓縮可以把檔案的大小變小進而提升傳輸速度
例項:
使用zip壓縮38M的etc.atr歸檔檔案並檢視壓縮後大小
關鍵命令:
zip -r etc.tar.zip etc.tar #壓縮為 .zip格式
unzip etc.tar.zip #解壓
可以看到壓縮少了22M
使用gz壓縮38M的etc.atr歸檔檔案並檢視壓縮後大小
關鍵命令:
gzip etc.tar #t壓縮為 .gz 格式
gunzip etc.tar.gz #解壓
===等價於
tar zcf etc.tar.gz /etc
tar zxf etc.tar.gz
縮小了26M
使用gz壓縮38M的etc.atr歸檔檔案並檢視壓縮後大小
關鍵命令:
bzip2 etc.tar #壓縮為 .gz2 格式
bunzip2 etc.tar.gz2 #解壓
===也等價於
tar jcf etc.tar.ba2 /etc/
縮小到了9.5M
同樣的xz為
xz etc.tar #壓縮為 .xz格式
unxz etc.tar.xz #解壓
這四種打包格式中 gz xz bz2 可以打包壓縮一步完成
所以有
tar zcf etc.tar.gz /etc/ #打包為 .gz格式
tar xcf etc.tar.bz2 /etc #打包為 .bz2格式
tar Jcf etc.tar.xz etc #打包壓縮為 .xz格式