這一節學習了壓縮,歸檔以及如何利用scp和rsync的傳送檔案。
歸檔(archive)和壓縮(compress)是兩個不同的概念,盡管我們經常放在一起使用。歸檔類似打包的概念,把一堆内容放入一個檔案;而壓縮則是把歸檔好的檔案進行壓縮以便節約空間。
先看看歸檔,tar指令,最常用的是 tar -cvf, c=create(建立),v=verbose(詳細),f=file(檔案名)這樣會建立一個歸檔的tar檔案
可以通過-t 來檢視已經建立的歸檔檔案的内容
取消歸檔很簡單,把 c(建立)替換成 x (extract,解壓)就行了
接下來看看壓縮,rhel常用的壓縮方式有 gzip,bzip2,zip
做個試驗,首先建立一個100m的資料塊
看看大小
用gzip進行壓縮
壓縮之後變成100k了,注意壓縮檔案的字尾變成gz了
看看gzip的文法,如果希望解壓 用-d就行了
類似的,我們可以用bzip2來壓縮和解壓,字尾變成了bz2
或者zip和unzip來壓縮和解壓,注意zip是windows和linux都通用的格式
如何把歸檔和壓縮指令放在一起使用呢?
例如,可以用z代表gzip,j代表bzip2 生成的檔案字尾使用.tar.gz 或者 tar.bz2
利用tar和gzip進行歸檔壓縮和解壓
利用tar和bzip2進行歸檔壓縮和解壓
接下來看看本節的第二個部分,如何進行檔案的傳遞。這裡學習了scp和rsync指令,這兩個指令都是基于ssh的,是以如果熟悉前面的ssh,這裡學習很容易。
首先傳遞一個之前的歸檔壓縮檔案到遠端伺服器,因為我之前已經配置過root賬戶的密鑰了,是以這裡确認了指紋資訊之後直接就傳送過去了
檢視确認一下
類似的,我也可以指定使用者來傳遞,比如我用beanxyz來傳遞,這個賬戶沒有配置密鑰,那麼就通過密碼來進行驗證。
确認一下
注意,使用上面的指令之前,必須确認openssh已經在雙方伺服器安裝,如果是最小化界面安裝,這個包是沒有的,需要手動安裝
上面的例子是拷貝一個檔案,如果拷貝一個目錄呢?
直接拷貝會報錯,這個和cp指令差不多,需要-r 進行遞歸的操作
最後我們看看另外一個指令 rsync,這個指令在備份檔案的時候很常見。這個指令的最大好處是可以進行同步檔案。
比如 -a 可以直接歸檔了,簡單的說是保持檔案所有的權限,時間戳和快捷方式
豆子個人習慣喜歡加vv參數, 這樣可以超詳細的列出拷貝的内容是否最新,有的時候拷貝幾個t的檔案,還需要根據需要重定向正确結果和錯誤的結果,以便查詢
喜歡圖像界面的話,還可以下載下傳安裝grsync,這個軟體我曾經試過在windows 下面也是可以運作的。