這一節學習了壓縮,歸檔以及如何利用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 下面也是可以運行的。