Linux檔案在系統中的傳輸,打包及壓縮相關命令
阿新 • • 發佈:2018-11-07
一、Linux檔案在系統中的傳輸
- scp的上傳和下載
上傳:scp file [email protected]:/dir
下載:scp [email protected]:/file dir
詳細截圖可在文章:Linux系統中ssh與sshd服務 中看到,此處不再重複 - rsync傳輸
特點:遠端同步,速度快,預設會忽略檔案屬性,連結檔案,裝置檔案
為了驗證各引數功能,我們將做以下例項:
使用兩臺虛擬機器:
主機:node1——>ip:172.25.254.100
主機:node2——>ip:172.25.254.200
更改主機名稱的方法:
hostnamectl set-hostname node1.example.com
logout
退出後再連線則主機名字更改成功
ssh [email protected]
具體操作截圖在文章:Linux系統中ssh與sshd服務 中看到
rsync -r 同步目錄
rsync -p 同步許可權
rsync -o 同步檔案所有人
rsync -g 同步檔案所有組
rsync -l 同步連結
rsync -t 同步檔案時間戳
rsync -D 同步裝置檔案
/dev/pts是遠端登入後建立的控制檯裝置檔案所在的目錄
不加-D引數,會顯示跳過裝置檔案
注意:
(1)scp命令中,目錄後加不加/ 沒有區別,因為是一個新建的過程
(2)rsync命令中,目錄後加不加/ 有區別
/etc 傳輸目錄(目錄裡的還是原來內容)
/etc/ 傳輸目錄裡的內容
(3)rsync和scp區別
- rsync:可以映象儲存整個目錄樹和檔案系統,檔案傳輸效率高
scp:使用加密傳輸,安全性高 - rsync:只對差異檔案做更新,可以做增量或全量備份
scp:只能做全量備份
簡單點說:就是rsync只傳修改了的部分,如果改動較小就不需要全部傳輸,所以rsync備份速度較快,預設情況下,rsync通過比較檔案的最後修改時間(atime)和檔案的大小(size)來確認哪些檔案需要被同步過去
二、檔案的打包
- 打包:表示將目錄中的所有內容,捆綁在一起(歸檔),方便傳輸,打包後的檔案會變大,不一定回變小
- 打包的命令
- tar (不產生字尾名,所有建立的時候推薦命名加上字尾名.tar)
功能:將一個或多個檔案打包成一個檔案,源目錄還是存在的 - 常用引數: (加不加-都可以)
-c 建立(必選項),表示create一個打包檔案
-v 顯示過程 (可選項)
-f 指定歸檔檔名稱(必選項) 該引數必須放在所有引數的後面,引數後面跟住新的檔名
-x 解檔(原打包檔案的目錄還存在)
-t 檢視歸檔檔案內容
-r 新增檔案(已存在的)到歸檔中
- -get 解檔指定單個檔案
- -delete 刪除歸檔中的指定檔案
-C 將檔案歸檔到指定目錄中 (用在想在特定的目錄進行解壓縮)
-z gz格式壓縮|解壓檔案
-j bz2格式壓縮|解壓檔案
-J xz格式壓縮|解壓檔案
三、檔案的壓縮命令及其解壓
- 概念:
壓縮: 將檔案或目錄進行壓強,使檔案或目錄大小變小
解壓:壓縮的反過程將壓縮過的檔案恢復到壓縮之前的樣子 - 四種壓縮命令及其解壓方式:
-
zip
注意:該命令不自動產生字尾名,是用得最多的壓縮命令
zip有兩個優點:
(1)保留了原始檔
(2)可以壓縮目錄
壓縮目錄時,使用-r引數,如果不加-r,壓縮目錄不會報錯,但是壓縮比永遠都為0%,即壓縮後大小和源目錄一樣
壓縮:
du -sh 檢視檔案的大小
經過zip壓縮,檔案大小變小
解壓: unzip
不管是對檔案,還是對目錄,都不需要加 -r
在生成壓縮檔案時,原歸檔檔案不會自動刪除,所以解壓的時候會詢問是否覆蓋原歸檔檔案,所以在壓縮後可將原歸檔檔案刪除,則不會提示覆蓋資訊
以下是刪除原歸檔檔案後的解壓操作截圖:
(2)gzip
注意:
1)使用gzip的時候,字尾gz會自動填充
gzip newfile就表示壓縮newfile檔案
使用tar的時候,字尾名最好為tar
使用zip的時候,字尾名最好為zip
2)它只能壓縮檔案,不能壓縮目錄,不保留原始檔
壓縮:
解壓: gunzip
(3)bzip2
注意:不能壓縮目錄
bzip2和gzip非常相似,只是加了一個選項
-k(表示keep,保留),可以保留原始檔
不加-k,是跟gzip完全一樣的
壓縮及解壓
注意: (2)(3)方式在生成壓縮檔案時,不保留原始檔
(4)xz
壓縮:等候時間較長,因為壓縮程度高
解壓:
- 打包壓縮同時進行
以上的歸檔和壓縮都是獨立操作的以上的歸檔和壓縮都是獨立操作的
以下是歸檔和壓縮同時進行的相關命令:
- 既打包也壓縮(三種方法)
1)tar zcf etc.tar.gz /etc
2)tar jcf etc.tar.bz2 /etc
3)tar Jcf etc.tar.xz /etc - 解壓縮
1)tar zxf etc.tar.gz
2)tar jxf etc.tar.bz2
3)tar Jxf etc.tar.xz
注意:用file etc.tar.gz 可檢視壓縮包型別是gizp
即使mv etc.tar.gz etc.tar.exe 改變了檔名
但是用file 檢視後的檔案型別不會改變