十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問題一站解決
打包: 指將多個(gè)文件(或目錄)合并成一個(gè)文件,方便在不同節(jié)點(diǎn)之間傳遞或在服務(wù)器集群上部署.
我們擁有10余年網(wǎng)頁(yè)設(shè)計(jì)和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁(yè)設(shè)計(jì)師為您提供的解決方案。為企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、微信開發(fā)、微信平臺(tái)小程序開發(fā)、成都做手機(jī)網(wǎng)站、H5頁(yè)面制作、等業(yè)務(wù)。無(wú)論您有什么樣的網(wǎng)站設(shè)計(jì)或者設(shè)計(jì)方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計(jì)服務(wù)并滿足您的需求。
壓縮或打包文件常見擴(kuò)展名: *.tar, *.tar.gz, *.gz, *.bz2, *.Z;
Linux系統(tǒng)一般文件的擴(kuò)展名用途不大,但是壓縮或打包文件的擴(kuò)展名是必須的.因?yàn)閘inux支持的壓縮命令較多,不同的壓縮技術(shù)使用的壓縮算法區(qū)別較大,根據(jù)擴(kuò)展名能夠使用對(duì)應(yīng)的解壓算法.
將文件夾打包,也能將包解開成文件夾.
例1: 在/tmp文件夾下創(chuàng)建demo文件夾,將/etc目錄拷貝到/tmp/demo目錄里,然后打包壓縮成gz格式,要求顯示壓縮詳情。
1)在/tmp文件夾下創(chuàng)建demo文件夾,將/etc目錄拷貝到/tmp/demo目錄里.
注意: 拷貝非空目錄要加 -r
2)將etc文件夾打包壓縮成gz格式,并顯示壓縮詳情.
tar -czvf 打包壓縮后文件名 被打包壓縮的文件夾
如果打包壓縮成.bz2格式,那么tar命令的參數(shù): -cjvf.
例2: 先刪除etc目錄,解壓縮myetc.tar.gz到當(dāng)前目錄.
1)刪除etc目錄
2)解壓縮myetc.tar.gz到當(dāng)前目錄
例3: 將myetc.tar.gz解壓縮到指定目錄/home
例4: 僅僅解壓縮myetc.tar.gz里的某個(gè)目錄,例如etc/udev
1)先刪除etc目錄
2)解壓縮myetc.tar.gz到etc/udev目錄
解壓
語(yǔ)法:tar [主選項(xiàng)+輔選項(xiàng)] 文件或者目錄
使用該命令時(shí),主選項(xiàng)是必須要有的,它告訴tar要做什么事情,輔選項(xiàng)是輔助使用的,可以選用。
主選項(xiàng):
c 創(chuàng)建新的檔案文件。如果用戶想備份一個(gè)目錄或是一些文件,就要選擇這個(gè)選項(xiàng)。相當(dāng)于打包。
x 從檔案文件中釋放文件。相當(dāng)于拆包。
t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。
特別注意,在參數(shù)的下達(dá)中, c/x/t 僅能存在一個(gè)!不可同時(shí)存在!因?yàn)椴豢赡芡瑫r(shí)壓縮與解壓縮。
輔助選項(xiàng):
-z :是否同時(shí)具有 gzip 的屬性?亦即是否需要用 gzip 壓縮或解壓? 一般格式為xx.tar.gz或xx. tgz
-j :是否同時(shí)具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮或解壓?一般格式為xx.tar.bz2
-v :壓縮的過程中顯示文件!這個(gè)常用
-f :使用檔名,請(qǐng)留意,在 f 之后要立即接檔名喔!不要再加其他參數(shù)!
-p :使用原文件的原來(lái)屬性(屬性不會(huì)依據(jù)使用者而變)
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
范例:
范例一:將整個(gè) /etc 目錄下的文件全部打包成為 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc==僅打包,不壓縮!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc==打包后,以 gzip 壓縮
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc==打包后,以 bzip2 壓縮
特別注意,在參數(shù) f 之后的文件檔名是自己取的,我們習(xí)慣上都用 .tar 來(lái)作為辨識(shí)。
如果加 z 參數(shù),則以 .tar.gz 或 .tgz 來(lái)代表 gzip 壓縮過的 tar file ~
如果加 j 參數(shù),則以 .tar.bz2 來(lái)作為附檔名啊~
上述指令在執(zhí)行的時(shí)候,會(huì)顯示一個(gè)警告訊息:
『tar: Removing leading `/" from member names』那是關(guān)於絕對(duì)路徑的特殊設(shè)定。
范例二:查閱上述 /tmp/etc.tar.gz 文件內(nèi)有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由於我們使用 gzip 壓縮,所以要查閱該 tar file 內(nèi)的文件時(shí),
就得要加上 z 這個(gè)參數(shù)了!這很重要的!
范例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在預(yù)設(shè)的情況下,我們可以將壓縮檔在任何地方解開的!以這個(gè)范例來(lái)說(shuō)
我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz
則解開的目錄會(huì)在 /usr/local/src/etc ,另外,如果您進(jìn)入 /usr/local/src/etc
則會(huì)發(fā)現(xiàn),該目錄下的文件屬性與 /etc/ 可能會(huì)有所不同喔!
范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內(nèi)的 etc/passwd 解開而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
我可以透過 tar -ztvf 來(lái)查閱 tarfile 內(nèi)的文件名稱,如果單只要一個(gè)文件,
就可以透過這個(gè)方式來(lái)下達(dá)!注意到! etc.tar.gz 內(nèi)的根目錄 / 是被拿掉了!
范例五:我要備份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
另外:tar命令的C參數(shù)
$ tar -cvf file2.tar /home/usr2/file2
tar: Removing leading '/' from members names
home/usr2/file2
該命令可以將/home/usr2/file2文件打包到當(dāng)前目錄下的file2.tar中,需要注意的是:
使用絕對(duì)路徑標(biāo)識(shí)的源文件,在用tar命令壓縮后,文件名連同絕對(duì)路徑(這里是home/usr2/,根目錄'/'被自動(dòng)去掉了)一并被壓縮進(jìn)來(lái)
。使用tar命令解壓縮后會(huì)出現(xiàn)以下情況:
$ tar -xvf file2.tar
$ ls
…… …… home …… ……
解壓縮后的文件名不是想象中的file2,而是home/usr2/file2。
$ tar -cvf file2.tar -C /home/usr2 file2 該命令中的-C dir參數(shù),將tar的工作目錄從當(dāng)前目錄改為/home/usr2,將file2文件(不帶絕對(duì)路徑)壓縮到file2.tar中。注意
:-C dir參數(shù)的作用在于改變工作目錄,其有效期為該命令中下一次-C dir參數(shù)之前
。
使用tar的-C dir參數(shù),同樣可以做到在當(dāng)前目錄/home/usr1下將文件解壓縮到其他目錄,例如:
$ tar -xvf file2.tar -C /home/usr2
而tar不用-C dir參數(shù)時(shí)是無(wú)法做到的:
$ tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors
主要針對(duì)單個(gè)文件壓縮,而非目錄
此工具來(lái)自于ncompress包,此工具目前已經(jīng)很少使用
對(duì)應(yīng)的文件是 .Z 后綴
格式
常用選項(xiàng)
范例
zcat file.Z 不顯式解壓縮的前提下查看文本文件內(nèi)容
范例
來(lái)自于 gzip 包
對(duì)應(yīng)的文件是 .gz 后綴
格式
常用選項(xiàng)
范例
范例
來(lái)自于 bzip2 包
對(duì)應(yīng)的文件是 .bz2 后綴
格式
常用選項(xiàng)
范例
來(lái)自于 xz 包
對(duì)應(yīng)的文件是 .bz2 后綴
選項(xiàng)
范例
zip 可以實(shí)現(xiàn)打包目錄和多個(gè)文件成一個(gè)文件并壓縮,但可能會(huì)丟失文件屬性信息,如:所有者和組信息,一般建議使用 tar 代替
分別來(lái)自于 zip 和 unzip 包
選項(xiàng)
范例
范例:交互式加密和解密
范例: 非交互式加密和解密
tar 即 Tape ARchive 磁帶歸檔,可以對(duì)目錄和多個(gè)文件打包一個(gè)文件,并且可以壓縮,保留文件屬性不丟失,常用于備份功能,推薦使用
對(duì)應(yīng)的文件是 .tar 后綴
格式
選項(xiàng)
(1)創(chuàng)建歸檔,保留權(quán)限
(2)追加文件至歸檔:注:不支持對(duì)壓縮文件追加
(3) 查看歸檔文件中的文件列表
(4) 展開歸檔
(5) 結(jié)合壓縮工具實(shí)現(xiàn):歸檔并壓縮
范例
范例
范例
split 命令可以分割一個(gè)文件為多個(gè)文件
范例
將多個(gè)切割的小文件合并成一個(gè)大文件
cpio 是歷史悠久的打包和解包工具,不過目前也已較少使用
cpio 命令是通過重定向的方式將文件進(jìn)行打包備份,還原恢復(fù)的工具,它可以解壓以“.cpio”或者“.tar”結(jié)尾的文件
格式
常用選項(xiàng)
范例
tar -zcvf cm-11.tar.gz cm-11
//將cm-11文件夾壓縮成cm-11.tar.gz
split -b 4000M -d -a 1 cm-11.tar.gz cm-11.tar.gz.
//使用split命令,-b 4000M 表示設(shè)置每個(gè)分割包的大小,單位還是可以k
// -d "參數(shù)指定生成的分割包后綴為數(shù)字的形式
//-a x來(lái)設(shè)定序列的長(zhǎng)度(默認(rèn)值是2),這里設(shè)定序列的長(zhǎng)度為1
執(zhí)行命令后,生成壓縮包如下:
tar -zcvf cm-11.tar.gz cm-11 | split -b 4000M -d -a 1 - cm-11.tar.gz.
//采用管道,其中 - 參數(shù)表示將所創(chuàng)建的文件輸出到標(biāo)準(zhǔn)輸出上
tar -zxvf cm-11.tar.gz
cat cm-11.tar.gz.* | tar -zxv
tar可以用來(lái)壓縮打包單文件、多個(gè)文件、單個(gè)目錄、多個(gè)目錄。
Linux打包命令 tar
tar命令可以用來(lái)壓縮打包單文件、多個(gè)文件、單個(gè)目錄、多個(gè)目錄。
常用格式:
單個(gè)文件壓縮打包 tar -czvf my.tar.gz file1
多個(gè)文件壓縮打包 tar -czvf my.tar.gz file1 file2,...(file )(也可以給file 文件mv 目錄在壓縮)
單個(gè)目錄壓縮打包 tar -czvf my.tar.gz dir1
多個(gè)目錄壓縮打包 tar -czvf my.tar.gz dir1 dir2
解包至當(dāng)前目錄:tar -xzvf my.tar.gz
cpio
含子目錄find x* | cpio -o /y/z.cpio
不含子目錄ls x* | cpio -o /y/z.cpio
解包: cpio -i /y/z.cpio
[root@linux ~]# tar [-cxtzjvfpPN] 文件與目錄 ....
參數(shù):
-c :建立一個(gè)壓縮文件的參數(shù)指令(create 的意思);
-x :解開一個(gè)壓縮文件的參數(shù)指令!
-t :查看 tarfile 里面的文件!
特別注意,在參數(shù)的下達(dá)中, c/x/t 僅能存在一個(gè)!不可同時(shí)存在!
因?yàn)椴豢赡芡瑫r(shí)壓縮與解壓縮。
-z :是否同時(shí)具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時(shí)具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示文件!這個(gè)常用,但不建議用在背景執(zhí)行過程!
-f :使用檔名,請(qǐng)留意,在 f 之后要立即接檔名喔!不要再加參數(shù)!
例如使用『 tar -zcvfP tfile sfile』就是錯(cuò)誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對(duì)喔!
-p :使用原文件的原來(lái)屬性(屬性不會(huì)依據(jù)使用者而變)
-P :可以使用絕對(duì)路徑來(lái)壓縮!
-N :比后面接的日期(yyyy/mm/dd)還要新的才會(huì)被打包進(jìn)新建的文件中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
一般在linux下可以通過tar命令實(shí)現(xiàn)打包和壓縮(或解壓)。
tar-zcvffilefile.tar.gz打包并壓縮成gzip格式,其中-c命令是創(chuàng)建tar包,-z參數(shù)是指定壓縮成gzip格式。
ttar-zxvffile.tar.gz解包命令,其中-x是解包命令,-z指定解壓縮格式是gzip。
ttar-jcvffilefile.tar.bz2打包并壓縮成bzip2格式,其中-c是創(chuàng)建tar包,-j參數(shù)指定壓縮成bzip2格式。tar-zxvffile.tar.gz解包命令,其中-x是解包命令,-j指定解壓縮格式是bzip2。
linux打包壓縮命令tar的方法如下:
操作設(shè)備:戴爾筆記本電腦
操作系統(tǒng):win10
操作程序:linux主機(jī)2.01
1、首先進(jìn)入到等待輸入shell指令的linux命令行狀態(tài)下,如下圖所示。
2、輸入shell指令:tar -czf test.tar.gz test.txt,如下圖所示。
3、最后按下回車鍵就會(huì)看到test.txt被成功壓縮為test.tar.gz,如下圖所示。