一、使用tar命令進行打包與解包
?1.0、tar命令簡介和常用選項
????????tar命令是Linux中經常使用的歸檔工具,它的主要功能是【對文件或者目錄進行打包歸檔】,歸檔為一個文件,但是并不進行壓縮;tar命令的歸檔操作效果如下:
序號 | tar命令常用選項 | 說明 |
1 | -c,--create | 創建一個新的歸檔 |
2 | -x,--extract | 從現有歸檔中提取出文件 |
3 | -t,--list | 列出存檔的目錄 |
4 | -f,--file=ARCHIVE | 輸出結果到文件或設備 |
5 | -z,--gzip | 通過gzip/gunzip進行壓縮/解壓縮,使用.tar.gz后綴 |
6 | -j,--bzip2 | 使用bzip2進行壓縮/解壓,使用.tar.bz2后綴,通常比gzip有更好的壓縮率 |
7 | -J,--xz | 使用xz壓縮/解壓,使用.tar.xz后綴,通常比bzip2有更好的壓縮率 |
8 | -C,--directory=DIR | 解包至目錄DIR |
9 | -v,--verbose | 詳細地列出處理的文件 |
10 | -p,--preserve-permissions | 在提取檔案時保留文件和目錄的權限,而不減去umask |
GNU tar 1.35: 3.4 所有 tar 選項 如何在 Linux 中使用 “tar” 存檔和提取文件/目錄 |
序號 | tar常用命令 |
1 | |
2 | |
3 | |
?1.1、tar命令的歸檔壓縮用法
? 1.1.1、將指定目錄或文件歸檔
#《1》將指定目錄或文件歸檔
#1-將指定單個目錄及其包含內容都歸檔在指定目錄且命名命令(如:將/etc目錄及其內容都歸檔在/opt目錄下且命名為etc.tar)
tar -cvf /opt/etc.tar /etc#2-將指定單個目錄及其包含內容都歸檔在當前工作目錄且命名命令(如:將/etc目錄及其內容都歸檔在當前工作目錄下且命名為etc.tar)
tar -cvf etc.tar /etc#3-將指定多個目錄及其包含內容都歸檔在指定目錄且命名命令(如:將/etc /mnt /boot目錄及其內容都歸檔在/opt目錄下且命名為test.tar)
tar -cvf /opt/test.tar /etc /mnt /boot#4-將指定多個文件都歸檔在指定目錄且命名命令(如:將/etc/host.conf、/root/anaconda-ks.cfg、/proc/version文件都歸檔到/opt目錄下命名為testfile.tar)
tar -cvf /opt/testfile.tar /etc/host.conf /root/anaconda-ks.cfg /proc/version
? 1.1.2、將指定目錄或文件歸檔壓縮
#《2》將指定目錄或文件歸檔壓縮#1-將指定單個目錄及其包含內容都歸檔在指定目錄并壓縮且命名命令(如:將/etc目錄及其內容都歸檔在/opt目錄下并壓縮且命名為etc.tar.gz)
tar -zcvf /opt/etc.tar.gz /etc#2-將指定多個目錄及其包含內容都歸檔在指定目錄并壓縮且命名命令(如:將/etc、/root、/proc目錄及其內容都歸檔在/opt目錄下并壓縮且命名為testmutifloder.tar.gz)
tar -zcvf /opt/testmutifloder.tar.gz /etc /root /boot
?1.2、tar命令的解包解壓縮用法
? 1.2.1、將指定歸檔文件進行解包
#1-將指定的歸檔文件進行解包到當前工作目錄下(如:將/opt目錄下的etc.tar歸檔文件解包到當前工作目錄下)
tar -xvf /opt/etc.tar#2-將當前工作目錄下的歸檔文件解包到指定目錄下(如:將當前工作目錄下的etc.tar歸檔文件解包到/opt目錄下)
tar -xvf etc.tar -C /opt
? 1.2.2、將指定歸檔壓縮文件進行解包解壓縮
#1-將指定目錄下的歸檔壓縮文件解壓到當前工作目錄下命令(如:將/opt目錄下的etc.tar.gz歸檔壓縮文件解壓到當前工作目錄下)
tar -zxvf /opt/etc.tar.gz#2-將指定目錄下的歸檔壓縮文件解壓到制定工作目錄下命令(如:將/opt目錄下的etc.tar.gz歸檔壓縮文件解壓到/data目錄下)
tar -zxvf /opt/etc.tar.gz -C /data
?1.3、tar命令的歸檔壓縮與解包解壓縮方法2
#1-tar命令的歸檔壓縮命令(如:將/etc目錄及其內容都歸檔壓縮到當前工作目錄下的etc.tar.bz2文件下)
tar -jcvf etc.tar.bz2 /etc#1.1-tar命令的歸檔壓縮命令(如:將/etc目錄及其內容都歸檔壓縮到/opt目錄下的etc.tar.bz2文件下)
tar -jcvf /opt/etc.tar.bz2 /etc#2-tar命令解包解壓縮命令(如:將當前工作目錄下的etc.tar.bz2文件解包解壓縮到當前工作目錄下)
tar -jxvf etc.tar.bz2#2.1-tar命令解包解壓縮命令(如:將當前工作目錄下的etc.tar.bz2文件解包解壓縮到/opt目錄下)
tar -jxvf etc.tar.bz2 -C /opt#3-tar命令的歸檔壓縮命令(如:將/etc目錄及其內容都歸檔壓縮到當前工作目錄下的etc.tar.xz文件下)
tar -Jcvf etc.tar.xz /etc#3.1-tar命令的歸檔壓縮命令(如:將/etc目錄及其內容都歸檔壓縮到/opt目錄下的etc.tar.xz文件下)
tar -Jcvf /opt/etc.tar.xz /etc#4-tar命令解包解壓縮命令(如:將當前工作目錄下的etc.tar.xz文件解包解壓縮到當前工作目錄下)
tar -Jxvf etc.tar.xz
tar xvf etc.tar.xz#4.1-tar命令解包解壓縮命令(如:將當前工作目錄下的etc.tar.xz文件解包解壓縮到/opt目錄下)
tar -Jxvf etc.tar.xz -C /opt
tar -xvf etc.tar.xz -C /opt
二、使用gzip/gunzip進行壓縮與解壓縮
?2.1、gzip/gunzip的簡介
????????gzip/gunzip命令的功能是【將一般的文件進行壓縮或解壓縮;壓縮文件預設的擴展名稱是“.gz”】(其實,gunzip還是調用gzip實現解壓縮的,因此無論是壓縮還是解壓都可以通過gzip來實現)。
????????注意:gzip只能對文件進行壓縮,不能壓縮目錄,即使指定壓縮的目錄,也只能壓縮目錄內的所有文件。
GNU Gziphttps://www.gnu.org/software/gzip/manual/gzip.html13 gzip 命令示例 [在 Linux 中壓縮文件]
https://cn.linux-console.net/?p=29424
?2.2、gzip/gunzip的用法
#1-將文件壓縮并刪除原文件(如:壓縮/opt/testfile.cfg文件)
gzip /opt/testfile.cfg#2-將壓縮文件解壓(如解壓/opt/testfile.cfg.gz文件)
gunzip testfile.cfg.gz
gzip -d testfile.cfg.gz# 3-將文件壓縮并保留原文件(如:壓縮/opt/testfile.cfg文件)
gzip -k /opt/testfile.cfg
?
三、其他資料
如何在 Linux 中壓縮文件 |Tar 命令 - GeeksforGeekshttps://www.geeksforgeeks.org/linux-unix/tar-command-linux-examples/
The gzip home pagehttps://gzip.org/