壓縮篇:
把/usr/webgames目錄下的文件打包.命名為bak.tar.gz 放到/usr/db-bak目錄里
下面命令可以在任意目錄執行.無視當前目錄和將要存放文件的目錄.
tar -zcvf /usr/db-bak/bak.tar.gz /usr/webgames
當用戶在/usr/db-bak/目錄的時候.可以使用下面這條命令.
tar -zcvf bak.tar.gz /usr/webgames
當用戶在/usr/webgames目錄的時候.可以使用下面這條命令.
tar -zcvf /usr/db-bak/bak.tar.gz *
用戶壓縮目錄的時候.如果設置了具體路徑.壓縮的時候這些目錄也會包含在壓縮包中.
如tar -zcvf bak.tar.gz /usr/webgames 解壓后的文件是 /usr/webgames/被壓縮的文件.
而tar -zcvf /usr/db-bak/bak.tar.gz * 解壓后的文件直接就是被壓縮的文件.沒有上級目錄.
谷歌和百度推薦大家壓縮的時候使用相對路徑.也就是命令3那樣的方式.
方法1和2使用時會提示 tar: Removing leading ‘/’ from member names 我一直都是無視系統提示的.
解壓篇:
已知bak.tar.gz在usr/db-bak目錄.要解壓到/usr/webgames目錄.
下面命令可以在任意目錄執行.無視當前目錄和將要存放文件的目錄.
tar zxvf /usr/db-bak/bak.tar.gz -C /usr/webgames
如果當前在usr/db-bak目錄的話.可以使用下面這條命令.
tar zxvf bak.tar.gz -C /usr/webgames
如果當前在usr/webgames目錄的話.可以使用下面這條命令.
tar zxvf /usr/db-bak/bak.tar.gz -C .
上面3種方法可以理解為一句話解壓.下面的這個比較羅嗦.但我經常用.
cd /usr/webgames // 進入/usr/webgames目錄
cp /usr/db-bak/bak.tar.gz . // 把db-bak目錄下的bak.tar.gz文件復制到當前目錄
tar zxvf bak.tar.gz // 解壓bak.tar.gz
rm bak.tar.gz // 刪除bak.tar.gz
cd /usr/webgames&&cp /usr/db-bak/bak.tar.gz .&&tar zxvf bak.tar.gz&&rm bak.tar.gz
一個&的話是在前台運行命令.運行完會返回信息.兩個&的話直接同時運行.不會返回信息的.
普通解壓不需用-C參數的.但是解壓到指定目錄的時候就必須帶了.注意結尾的點.
如果是上面方法1和2的壓縮方式.那我們還要繼續移動文件.方法3的話就可以省去繁瑣的移動了.