服務(wù)器
前言
10年的雙峰網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整雙峰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“雙峰網(wǎng)站設(shè)計(jì)”,“雙峰網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。tar命令用來(lái)歸檔多個(gè)文件或目錄到單個(gè)歸檔文件中,并且歸檔文件可以進(jìn)一步使用gzip或者bzip2等技術(shù)進(jìn)行壓縮。
命令格式
tar [OPTION...] [FILE]...
命令功能
Tar(Tape ARchive,磁帶歸檔的縮寫(xiě),最初設(shè)計(jì)用于將文件打包到磁帶上,現(xiàn)在大都使用它來(lái)實(shí)現(xiàn)備份某個(gè)分區(qū)或者某些重要的目錄)是類Unix系統(tǒng)中使用最廣泛的命令,用于歸檔多個(gè)文件或目錄到單個(gè)歸檔文件中,并且歸檔文件可以進(jìn)一步使用gzip或者bzip2等技術(shù)進(jìn)行壓縮,還能保留其文件權(quán)限。換言之,tar命令也可以用于備份:先是歸檔多個(gè)文件和目錄到一個(gè)單獨(dú)的tar文件或歸檔文件,然后在需要之時(shí)將tar文件中的文件和目錄釋放出來(lái)。
命令選項(xiàng)
選項(xiàng)
含義
-A或–catenate
新增文件到以存在的備份文件
-B
設(shè)置區(qū)塊大小
-c或–create
建立新的備份文件
-C<目錄>
這個(gè)選項(xiàng)用在解壓縮,若要在特定目錄解壓縮,可以使用這個(gè)選項(xiàng)
-d
記錄文件的差別
-x或–extract或–get
從備份文件中還原文件
-t或–list
列出備份文件的內(nèi)容
-z或–gzip或–ungzip
通過(guò)gzip指令處理備份文件
-Z或–compress或–uncompress
通過(guò)compress指令處理備份文件
-f<備份文件>或–file=<備份文件>
指定備份文件
-v或–verbose
顯示指令執(zhí)行過(guò)程
-r
添加文件到已經(jīng)壓縮的文件
-u
添加改變了和現(xiàn)有的文件到已經(jīng)存在的壓縮文件
-j
支持bzip2解壓文件
-v
顯示操作過(guò)程
-l
文件系統(tǒng)邊界設(shè)置
-k
保留原有文件不覆蓋
-m
保留文件不被覆蓋
-w
確認(rèn)壓縮文件的正確性
-p或–same-permissions
用原來(lái)的文件權(quán)限還原文件
-P或–absolute-names
文件名使用絕對(duì)名稱,不移除文件名稱前的“/”號(hào)
-N
<日期格式>或–newer=<日期時(shí)間>只將較指定日期更新的文件保存到備份文件里
–exclude=<范本樣式>
排除符合范本樣式的文件
什么是“文件壓縮”?
我們知道,在計(jì)算機(jī)系統(tǒng)中文件的內(nèi)容是信息,信息實(shí)際上就是一個(gè)由值0和值1組成的位(又稱為比特)序列,8個(gè)位被組織成一組,稱為字節(jié)。一般來(lái)說(shuō),一個(gè)字節(jié)的8位是沒(méi)有被全部利用起來(lái)的,這些沒(méi)有被利用的位占據(jù)了一個(gè)文件的大部分空間,而“文件壓縮”就是利用復(fù)雜的計(jì)算方式,將這些沒(méi)有利用的空間騰出來(lái),以讓文件占用的空間變小。
簡(jiǎn)單來(lái)說(shuō),「壓縮」就是把文件中沒(méi)有完全填滿的空間填滿。壓縮過(guò)的文件不能直接被操作系統(tǒng)所使用,因此,「解壓縮」就是指把文件「還原」為未壓縮之前的模樣。壓縮前與壓縮后的文件所占用的磁盤(pán)空間大小之比就是「壓縮比」。
常見(jiàn)的壓縮格式
Linux 中常見(jiàn)的壓縮格式有:
*.Z:compress 程序壓縮的文件。
*.gz:gzip 程序壓縮的文件。
*.bz2:bzip2 程序壓縮的文件。
*.tar:tar 程序打包的數(shù)據(jù),沒(méi)有被壓縮過(guò)。
*.tar.gz(簡(jiǎn)寫(xiě)為 .tgz):tar 程序打包的數(shù)據(jù),經(jīng)過(guò) gzip 的壓縮。
*.tar.bz2(簡(jiǎn)寫(xiě)為 .tbz2):tar 程序打包的數(shù)據(jù),經(jīng)過(guò) bzip2 的壓縮。
上面的壓縮格式中,主要是gzip和bzip2兩個(gè)壓縮命令,它們是GNU計(jì)劃的中的一部分,在此之前是compress命令,但它已經(jīng)不再流行了。bzip2比gzip的壓縮比很好,不過(guò)bzip2通常只能針對(duì)一個(gè)文件來(lái)壓縮和解壓縮。如果是這樣的話,壓縮整個(gè)開(kāi)發(fā)環(huán)境目錄就太繁瑣了。
因此tar命令就出現(xiàn)了,tar不是一個(gè) “壓縮命令”,而是一個(gè)“打包命令”。也就是說(shuō),tar可以把很多文件「打包」成一個(gè)文件,甚至連目錄也可以進(jìn)行打包。一開(kāi)始tar命令的確是不支持壓縮的功能,后來(lái)GNU計(jì)劃為了提供給使用者更方便并且更加強(qiáng)大的壓縮與打包功能,就把整個(gè)tar與壓縮的功能結(jié)合在一起了。
僅僅打包起來(lái)的tar文件俗稱tarfile文件,經(jīng)過(guò)壓縮的tar文件叫做tarball文件。
全能的 tar 命令
概要
tar可以將多個(gè)目錄或文件打成一個(gè)大文件,同時(shí)支持gzip/bzip2
歸檔:tar {-c} [option…] -f destination source
追加歸檔:tar {-r | -u} -f source [option…] destination
解壓:tar {-t | -x} -f source [option…] -C destination
最簡(jiǎn)單的使用 tar 只要記住下面的方式:
filename.tar.bz2 既然tar不是一個(gè)壓縮命令,是個(gè)打包命令,那么是如何做到打包并壓縮的呢?我們先來(lái)看一下tar命令的常用參數(shù):
模式參數(shù)
tar分為三種模式,-c,-r,-u三個(gè)一類,為歸檔/壓縮模式,在該模式下,tar會(huì)遞歸遍歷指定目錄下的所有目錄和文件,并創(chuàng)建歸檔文件。-x表示為去歸檔/解壓模式,-t表示為打印列表模式。
通用參數(shù)
打包并創(chuàng)建歸檔文件
示例:打包一個(gè)目錄。
描述:將/home/test這個(gè)目錄打包,生成文件名為command-18-06-02.tar的歸檔文件,保存在當(dāng)前目錄下。
# tar -cv -f command-18-06-02.tar /home/test /home/test/.bash_logout /home/test/.bashrc /home/test/apache-tomcat-9.0.7.tar.gz /home/test/.bash_profile /home/test/nginx-1.10.1.tar.gz
-c(–create的簡(jiǎn)寫(xiě))參數(shù),這表示為指定的文件或者目錄創(chuàng)建新的歸檔文件。使用-f指定讀取或者寫(xiě)入的歸檔文件,可以用-表示標(biāo)準(zhǔn)輸入或者標(biāo)準(zhǔn)輸出,-f可以與其他參數(shù)連起來(lái)寫(xiě),必須保證f參數(shù)后面跟的是文件名。但不推薦這樣寫(xiě),因?yàn)閰?shù)調(diào)換順序是允許的,如果寫(xiě)成-cfv就會(huì)導(dǎo)致壓縮后的文件名變成了v。
使用-v表示生成詳細(xì)的輸出,在壓縮或者解壓的模式中,會(huì)列出正在向歸檔文件讀或者寫(xiě)的文件名字。
創(chuàng)建tar.gz歸檔文件
示例:打包并且使用gzip壓縮。
描述:將/home/test/images目錄下的所有文件以及目錄中的文件打包,并用gzip進(jìn)行壓縮,生成名為MyImages-18-06-02.tar.gz的歸檔文件,放在當(dāng)前目錄下。
# tar -zcv -f MyImages-18-06-02.tar.gz /home/test/images OR # tar -zcv -f MyImages-18-06-02.tar.tgz /home/test/images /home/test/images/alejandro-gonzalez-17189.jpg /home/test/images/brooke-lark-275181.jpg /home/test/images/brenda-godinez-228181.jpg /home/test/images/artur-rutkowski-97622.jpg /home/test/images/ben-white-138743.jpg
-z表示要使用gzip支持來(lái)壓縮或者解壓文件,注意gzip的壓縮的文件格式最好寫(xiě)成tar.gz。(注:tar.gz 和 tgz 是同一個(gè)意思)
打包壓縮排除某些文件
示例:打包壓縮并排除某些文件。
描述:將/home/test/images目錄下,排除brooke-lark-275181.jpg和ben-white-138743.jpg之外的所有文件打包,并用gzip進(jìn)行壓縮,生成名為MyImages-18-06-02.tar.gz的歸檔文件,放在當(dāng)前目錄下。
# tar -czv -f MyImages-18-06-02.tar.gz --exclude=./brooke-lark-275181.jpg --exclude=./ben-white-138743.jpg /home/test/images /home/test/images/alejandro-gonzalez-17189.jpg /home/test/images/brenda-godinez-228181.jpg /home/test/images/artur-rutkowski-97622.jpg
解壓歸檔文件(默認(rèn))
示例:解壓,默認(rèn)解壓。
描述:將名為MyImages-18-06-02.tar的歸檔文件解壓至當(dāng)前目錄下。
# tar -xvf MyImages-18-06-02.tar home/test/images/alejandro-gonzalez-17189.jpg home/test/images/brenda-godinez-228181.jpg home/test/images/artur-rutkowski-97622.jpg
其中,-x參數(shù)表示去解壓一個(gè)歸檔文件,如果歸檔文件中有兩個(gè)相同名字的文件,那么每一個(gè)文件都會(huì)被解壓出來(lái),然后最新的會(huì)覆蓋舊的文件。注意這里沒(méi)有指定-j參數(shù),因?yàn)閠ar看到指定了-x參數(shù),就知道這是解壓操作,會(huì)自動(dòng)判斷該解壓包的壓縮類型。
解壓歸檔文件并指定目錄
示例:解壓到一個(gè)指定目錄。
描述:將名為MyImages-18-06-02.tar.gz的歸檔文件解壓至一個(gè)指定的目錄。
# tar -xv -f MyImages-18-06-02.tar -C /home/test/public_images home/test/public_images/alejandro-gonzalez-17189.jpg home/test/public_images/brenda-godinez-228181.jpg home/test/public_images/artur-rutkowski-97622.jpg
查看壓縮包文件信息
示例:查看壓縮包文件信息。
描述:列出MyImages-18-06-02.tar.bz2中的文件信息,-v參數(shù),會(huì)生成與ls(1)命令相近的輸出。
# tar -tv -f MyImages-18-06-02.tar.gz OR # tar -tv -f MyImages-18-06-02.tar.bz2 -rw-r--r-- root/root 2176861 2018-06-02 21:26 home/test/images/alejandro-gonzalez-17189.jpg -rw-r--r-- root/root 8452524 2018-06-02 21:26 home/test/images/brenda-godinez-228181.jpg -rw-r--r-- root/root 1131986 2018-06-02 21:26 home/test/images/artur-rutkowski-97622.jpg
解壓?jiǎn)蝹€(gè)文件
示例:解壓?jiǎn)蝹€(gè)文件。
描述:將home/test/.bashrc這一個(gè)文件從歸檔文件中提取出來(lái)。
# tar -xv -f command-18-06-02.tar home/test/.bashrc home/test/.bashrc
解壓多個(gè)指定的文件
示例:解壓多個(gè)指定的文件。
描述:將file1、file2等多個(gè)文件從歸檔文件中提取出來(lái),可以用空格隔開(kāi)多個(gè)文件,也可以用通配符的形式。
# tar -zxv -f MyImages-18-06-02.tar.gz file 1 file 2 OR # tar -zxv -f MyImages-18-06-02.tar.gz --wildcards \'*b*.jpg\' home/test/images/brooke-lark-275181.jpg home/test/images/brenda-godinez-228181.jpg home/test/images/ben-white-138743.jpg home/test/images/aleks-dahlberg-274646.jpg
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)創(chuàng)新互聯(lián)的支持。