tar語法mysql
#壓縮
tar -czvf ***.tar.gz
tar -cjvf ***.tar.bz2
#解壓縮
tar -xzvf ***.tar.gz
tar -xjvf ***.tar.bz2linux
tar [主選項+輔選項] 文件或目錄
主選項是必需要有的,它告訴tar要作什麼事情。
輔選項是輔助使用的,能夠選用。sql
tar經常使用命令:shell
主選項:
-x 從檔案文件中釋放文件。
-c 建立新的檔案文件。若是用戶想備份一個目錄或是一些文件,就要選擇這個選項。
-r 把要存檔的文件追加到檔案文件的末尾。例如用戶已經作好備份文件,又發現還有一個目錄或
是一些文件忘 記備份了,這時可使用該選項,將忘記的目錄或文件追加到備份文件中。
-t 列出檔案文件的內容,查看已經備份了哪些文件。
-u 更新文件。就是說,用新增的文件取代原備份文件,若是在備份文件中找不到要更新的文件,
則把它追加到備份文件的最後。
輔助選項:
-j 表明使用‘bzip2’程序進行文件的壓縮 tar.bz2
-z 用gzip來壓縮/解壓縮文件,加上該選項後能夠將檔案文件進行壓縮,但還原時也必定要使用該
選項進行解壓縮。 tar.gz
-v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。
-b 該選項是爲磁帶機設定的,其後跟一數字,用來講明區塊的大小,系統預設值爲20(20×512 bytes)。
-f 使用檔案文件或設備,這個選項一般是必選的。
-k 保存已經存在的文件。例如把某個文件還原,在還原的過程當中遇到相同的文件,不會進行覆蓋。
-m 在還原文件時,把全部文件的修改時間設定爲。
-M 建立多卷的檔案文件,以便在幾個磁盤中存放。
-w 每一步都要求確認。數據庫
tar包管理
一、tar包的建立
tar -cvf file.tar file1 file2
tar -zcvf file.tar.gz file1 file2
tar -jcvf file.tar.bz2 file1 file2
二、tar包的查看
tar -tvf file.tar
tar -ztvf file.tar.gz
tar -jtvf file.tar.bz2
三、釋放tar包
tar -xvf file.tar
tar -zxvf file.tar.gz
tar -jxvf file.tar.bz2ui
範例一:將整個 /etc 目錄下的檔案所有打包成爲 /tmp/etc.tar編碼
# 特別注意,在參數 f 以後的檔案檔名是本身取的,咱們習慣上都用 .tar 來做爲辨識。加密
# 若是加 z 參數,則以 .tar.gz 或 .tgz 來表明 gzip 壓縮過的 tar file ~spa
# 若是加 j 參數,則以 .tar.bz2 來做爲附檔名啊~code
# 上述指令在執行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/' from member names 』那是關於絕對路徑的特殊設定。
範例二:查閱上述 /tmp/etc.tar.gz 檔案內有哪些檔案?
# 因爲咱們使用 gzip 壓縮,因此要查閱該 tar file 內的檔案時,
# 就得要加上 z 這個參數了!這很重要的!
範例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
# 在預設的狀況下,咱們能夠將壓縮檔在任何地方解開的!以這個範例來講,
# 我先將工做目錄變換到 /usr/local/src 底下,而且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,若是您進入 /usr/local/src/etc
# 則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不一樣喔!
範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
# 我能夠透過 tar -tzvf 來查閱 tarfile 內的文件名稱,若是單隻要一個檔案,
# 就能夠透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
範例五:將 /etc/ 內的全部檔案備份下來,而且保存其權限!
# 這個 -p 的屬性是很重要的,尤爲是當您要保留本來檔案的屬性時!
範例六:在 /home 當中,比 2005/06/01 新的檔案才備份
範例七:我要備份 /home, /etc ,但不要 /home/dmtsai
範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生檔案!
# 這個動做有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
# 這分別表明 standard output, standard input 與管線命令啦!
# 這部分咱們會在 Bash shell 時,再次提到這個指令跟你們再解釋囉!
++++++++++++++++++++++++++++++++++++++++++++
============================================
============================================
============================================
============================================
============================================
zip:
$ zip -r -q -o shiyanzip /home/shiyan
$ du -h shiyan.zip
$ file shiyan.zip
上面命令將 shiyan 的 home 目錄打包成一個文件,並查看了打包後文件的大小和類型。
第一行命令中,
-r (recursive)參數表示遞歸打包包含子目錄的所有內容,
-q (quit)參數表示爲安靜模式,即不向屏幕輸出信息,
-o,表示輸出文件,需在其後緊跟打包輸出文件名。
後面使用du命令查看打包後文件的大小(後面會具體說明該命令)。
$ du -h -d 0 *.zip ~ | sort
74m /home/shiyan
34m shiyan_9.zip
37m shiyan_1.zip
這裏添加了一個參數用於設置壓縮級別-[1-9]
,1表示最快壓縮但體積大,9表示體積最小但耗時最久。
最後那個-x
是爲了排除咱們上一次建立的 zip 文件,不然又會被打包進這一次的壓縮文件中,
注意:這裏只能使用絕對路徑,不然不起做用。
咱們再用du
命令分別查看默認壓縮級別、最低、最高壓縮級別及未壓縮的文件的大小:
使用-e
參數能夠建立加密壓縮包:
$ zip -r -e -o shiyan_encryption.zip /home/shiyan
注意: 關於zip
命令,由於 Windows 系統與 Linux/Unix 在文本文件格式上的一些兼容問題,
好比換行符(爲不可見字符),在 Windows 爲 CR+LF(Carriage-Return+Line-Feed:回車加換行),
而在 Linux/Unix 上爲 LF(換行),
因此若是在不加處理的狀況下,在 Linux 上編輯的文本,在 Windows 系統上打開可能看起來是沒有換行的。
若是你想讓你在 Linux 建立的 zip 壓縮文件在 Windows 上解壓後沒有任何問題,那麼你還須要對命令作一些修改:
$ zip -r -l -o shiyanlou.zip /home/shiyanlou
須要加上-l
參數將LF
轉換爲CR+LF
來達到以上目的。
unzip
命令解壓縮zip文件將shiyanlou.zip
解壓到當前目錄:
$ unzip shiyan.zip
使用安靜模式,將文件解壓到指定目錄:
$ unzip -q shiyan.zip -d ziptest
上述指定目錄不存在,將會自動建立。若是你不想解壓只想查看壓縮包的內容你可使用-l
參數:
$ unzip -l shiyanlou.zip
注意: 使用unzip解壓文件時咱們一樣應該注意兼容問題,不過這裏咱們關心的再也不是上面的問題,而是中文編碼的問題.
一般 Windows 系統上面建立的壓縮文件,若是有有包含中文的文檔或以中文做爲文件名的文件時默認會採用 GBK 或其它編碼,而 Linux 上面默認使用的是 UTF-8 編碼,若是不加任何處理,直接解壓的話可能會出現中文亂碼的問題(有時候它會自動幫你處理),爲了解決這個問題,咱們能夠在解壓時指定編碼類型。
使用-O
(英文字母,大寫o)參數指定編碼類型:
unzip -O GBK 中文壓縮文件.zip
rar
打包壓縮命令: