<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Fork me on GitHub

      Linux(四):Linux的打包和壓縮詳解

      關(guān)于Linux的文件操作,這里匯總一下打包和壓縮的一些命令,以及命令使用的詳情。

      打包(歸檔)和壓縮

      歸檔,也稱為打包,指的是一個(gè)文件或目錄的集合,而這個(gè)集合被存儲在一個(gè)文件中。歸檔文件沒有經(jīng)過壓縮,因此,它占用的空間是其中所有文件和目錄的總和。通常,歸檔總是會和系統(tǒng)(數(shù)據(jù))備份聯(lián)系在一起

      和歸檔文件類似,壓縮文件也是一個(gè)文件和目錄的集合,且這個(gè)集合也被存儲在一個(gè)文件中,但它們的不同之處在于,壓縮文件采用了不同的存儲方式,使其所占用的磁盤空間比集合中所有文件大小的總和要小。

      壓縮是指利用算法將文件進(jìn)行處理,已達(dá)到保留最大文件信息,而讓文件體積變小的目的。其基本原理為,通過查找文件內(nèi)的重復(fù)字節(jié),建立一個(gè)相同字節(jié)的詞典文件,并用一個(gè)代碼表示。比如說,在壓縮文件中,有不止一處出現(xiàn)了 "C語言中文網(wǎng)",那么,在壓縮文件時(shí),這個(gè)詞就會用一個(gè)代碼表示并寫入詞典文件,這樣就可以實(shí)現(xiàn)縮小文件體積的目的。由于計(jì)算機(jī)處理的信息是以二進(jìn)制的形式表示的,因此,壓縮軟件就是把二進(jìn)制信息中相同的字符串以特殊字符標(biāo)記,只要通過合理的數(shù)學(xué)計(jì)算,文件的體積就能夠被大大壓縮。把一個(gè)或者多個(gè)文件用壓縮軟件進(jìn)行壓縮,形成一個(gè)文件壓縮包,既可以節(jié)省存儲空間,有方便在網(wǎng)絡(luò)上傳送。

      如果你能夠理解文件壓縮的基本原理,那么很容易就能想到,對文件進(jìn)行壓縮,很可能損壞文件中的內(nèi)容,因此,壓縮又可以分為有損壓縮和無損壓縮。無損壓縮很好理解,指的是壓縮數(shù)據(jù)必須準(zhǔn)確無誤;有損壓縮指的是即便丟失個(gè)別的數(shù)據(jù),對文件也不會造成太大的影響。有損壓縮廣泛應(yīng)用于動畫、聲音和圖像文件中,典型代表就是影碟文件格式 mpeg、音樂文件格式 mp3 以及圖像文件格式 jpg。

      采用壓縮工具對文件進(jìn)行壓縮,生成的文件稱為壓縮包,該文件的體積通常只有原文件的一半甚至更小。需要注意的是,壓縮包中的數(shù)據(jù)無法直接使用,使用前需要利用壓縮工具將文件數(shù)據(jù)還原,此過程又稱解壓縮。

      Linux 下,常用歸檔命令有 2 個(gè),分別是 tar 和 dd(相對而言,tar 的使用更為廣泛);常用的壓縮命令有很多,比如 gzip、zip、bzip2 等。

      Linux tar打包命令詳解

      Linux 系統(tǒng)中,最常用的歸檔(打包)命令就是 tar,該命令可以將許多文件一起保存到一個(gè)單獨(dú)的磁帶或磁盤中進(jìn)行歸檔。不僅如此,該命令還可以從歸檔文件中還原所需文件,也就是打包的反過程,稱為解打包。注:使用 tar 命令歸檔的包通常稱為 tar 包(tar 包文件都是以“.tar”結(jié)尾的)

      tar 命令最初被用來在磁帶上創(chuàng)建備份,現(xiàn)在可以在任何設(shè)備上創(chuàng)建備份。利用 tar 命令可以把一大堆的文件和目錄打包成一個(gè)文件,這對于備份文件或是將幾個(gè)文件組合成為一個(gè)文件進(jìn)行網(wǎng)絡(luò)傳輸是非常有用的。

      tar命令做打包操作

      當(dāng) tar 命令用于打包操作時(shí),該命令的基本格式為:

      [root@localhost ~]#tar [選項(xiàng)] 源文件或目錄

        選項(xiàng):

       tar 打包命令常用選項(xiàng)及含義
      選項(xiàng)含義
      -c 將多個(gè)文件或目錄進(jìn)行打包。
      -A 追加 tar 文件到歸檔文件。
      -f 包名 指定包的文件名。包的擴(kuò)展名是用來給管理員識別格式的,所以一定要正確指定擴(kuò)展名;
      -v 顯示打包文件過程;

       

       

      例如我們要打包文件:

      #把config.xml打包為 config.xml.tar文件
      [root@localhost ~]# tar -cvf config.xml.tar config.xml

      選項(xiàng) "-cvf" 一般是習(xí)慣用法,可以忽略“-”,記住打包時(shí)需要指定打包之后的文件名,而且要用 ".tar" 作為擴(kuò)展名

      tar命令也可以打包多個(gè)文件或目錄,只要用空格分開即可。例如:

      #把a(bǔ)naconda-ks.cfg文件和/tmp目錄打包成ana.tar文件包
      [root@localhost ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/

      tar打包并壓縮

      聲明一點(diǎn),壓縮命令不能直接壓縮目錄,必須先用 tar 命令將目錄打包,然后才能用 gzip 命令或 bzip2 命令對打包文件進(jìn)行壓縮。

      tar命令做解打包操作

      當(dāng) tar 命令用于對 tar 包做解打包操作時(shí),該命令的基本格式如下:

      [root@localhost ~]#tar [選項(xiàng)] 壓縮包

      選項(xiàng):

       tar 解打包常用選項(xiàng)及含義
      選項(xiàng)含義
      -x 對 tar 包做解打包操作。
      -f 指定要解壓的 tar 包的包名。
      -t 只查看 tar 包中有哪些文件或目錄,不對 tar 包做解打包操作。
      -C 目錄 指定解打包位置。
      -v 顯示解打包的具體過程。

       其實(shí)解打包和打包相比,只是把打包選項(xiàng) "-cvf" 更換為 "-xvf",例如我們要解包c(diǎn)onfig.xml.tar

      #解打包到當(dāng)前目錄下
      [root@localhost ~]# tar -xvf config.xml.tar

      如果使用 "-xvf" 選項(xiàng),則會把包中的文件解壓到當(dāng)前目錄下。如果想要指定解壓位置,則需要使用 "-C(大寫)" 選項(xiàng)。例如:

      #把文件包test.tar解打包到/tmp/目錄下
      [root@localhost ~]# tar -xvf test.tar -C /tmp

      如果只想查看文件包中有哪些文件,則可以把解打包選項(xiàng) "-x" 更換為測試選項(xiàng) "-t"。例如:

      [root@localhost ~]# tar -tvf test.tar

      tar命令做 打包壓縮 和 解壓縮解打包 操作

      你可能會覺得 Linux 實(shí)在太不智能了,一個(gè)打包壓縮,居然還要先打包成 ".tar" 格式,再壓縮成 ".tar.gz" 或 ".tar.bz2" 格式。其實(shí) tar 命令是可以同時(shí)打包壓縮的,前面的講解之所打包和壓縮分開,是為了讓大家了解在 Linux 中打包和壓縮的不同。當(dāng) tar 命令同時(shí)做打包壓縮的操作時(shí),其基本格式如下:

      [root@localhost ~]#tar [選項(xiàng)] 壓縮包 源文件或目錄

      此處常用的選項(xiàng)有以下 2 個(gè),分別是:

        • -z:壓縮和解壓縮 ".tar.gz" 格式;
        • -j:壓縮和解壓縮 ".tar.bz2"格式。

      例如:壓縮與解壓縮 ".tar.gz"格式

      #把/temp/目錄直接打包壓縮為".tar.gz"格式,通過"-z"來識別格式,"-cvf"和打包選項(xiàng)一致
      [root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/

      解壓縮也只是在解打包選項(xiàng) "-xvf" 前面加了一個(gè) "-z" 選項(xiàng)。

      #解壓縮與解打包".tar.gz"格式
      [root@localhost ~]# tar -zxvf tmp.tar.gz

      前面的選項(xiàng) "-C" 用于指定解壓位置、"-t" 用于查看壓縮包內(nèi)容,在這里同樣適用。

      例如:壓縮與解壓縮 ".tar.bz2" 格式。

      和".tar.gz"格式唯一的不同就是"-zcvf"選項(xiàng)換成了 "-jcvf",如下所示:

       

      #打包壓縮為".tar.bz2"格式,注意壓縮包文件名
      [root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/
      
      
      
      
      #解壓縮與解打包".tar.bz2"格式
      [root@localhost ~]# tar -jxvf tmp.tar.bz2

       

      Linux zip命令:壓縮文件或目錄

      我們經(jīng)常會在 Windows 系統(tǒng)上使用 “.zip”格式壓縮文件,其實(shí)“.zip”格式文件是 Windows 和 Linux 系統(tǒng)都通用的壓縮文件類型,屬于幾種主流的壓縮格式(zip、rar等)之一,是一種相當(dāng)簡單的分別壓縮每個(gè)文件的存儲格式,本節(jié)要講的 zip 命令,類似于 Windows 系統(tǒng)中的 winzip 壓縮程序,其基本格式如下:

      [root@localhost ~]#zip [選項(xiàng)] 壓縮包名 源文件或源目錄列表

        注意,zip 壓縮命令需要手工指定壓縮之后的壓縮包名,注意寫清楚擴(kuò)展名,以便解壓縮時(shí)使用。

      選項(xiàng):

      zip 命令常用選項(xiàng)及含義
      選項(xiàng) 含義
      -r 遞歸壓縮目錄,及將制定目錄下的所有文件以及子目錄全部壓縮。
      -m 將文件壓縮之后,刪除原始文件,相當(dāng)于把文件移到壓縮文件中。
      -v 顯示詳細(xì)的壓縮過程信息。
      -q 在壓縮的時(shí)候不顯示命令的執(zhí)行過程。
      -壓縮級別 壓縮級別是從 1~9 的數(shù)字,-1 代表壓縮速度更快,-9 代表壓縮效果更好。
      -u 更新壓縮文件,即往壓縮文件中添加新文件。

       

      例子:zip 命令的基本使用

      #壓縮
      [root@localhost ~]# zip ana.zip anaconda-ks.cfg

      壓縮命令同時(shí)壓縮多個(gè)文件

      #同時(shí)壓縮多個(gè)文件到test.zip壓縮包中
      [root@localhost ~]# zip test.zip install.log install.log.syslog

      使用 zip 命令壓縮目錄,需要使用“-r”選項(xiàng),例如:

      #壓縮目錄
      [root@localhost ~]# zip -r dir1.zip dir1

      Linux unzip命令:解壓zip文件

      unzip 命令可以查看和解壓縮 zip 文件。該命令的基本格式如下:

      [root@localhost ~]# unzip [選項(xiàng)] 壓縮包名

      選項(xiàng):

      unzip 命令常用選項(xiàng)及含義
      選項(xiàng) 含義
      -d 目錄名 將壓縮文件解壓到指定目錄下。
      -n 解壓時(shí)并不覆蓋已經(jīng)存在的文件。
      -o 解壓時(shí)覆蓋已經(jīng)存在的文件,并且無需用戶確認(rèn)。
      -v 查看壓縮文件的詳細(xì)信息,包括壓縮文件中包含的文件大小、文件名以及壓縮比等,但并不做解壓操作。
      -t 測試壓縮文件有無損壞,但并不解壓。
      -x 文件列表 解壓文件,但不包含文件列表中指定的文件。

       不論是文件壓縮包,還是目錄壓縮包,都可以直接解壓縮,例如:

      #解壓縮
      [root@localhost ~]# unzip dir1.zip

      使用 -d 選項(xiàng)手動指定解壓縮位置,例如:

      #把壓縮包解壓到指定位置
      [root@localhost ~]# unzip -d /tmp/ ana.zip

      Linux gzip命令:壓縮文件或目錄

      gzip 是 Linux 系統(tǒng)中經(jīng)常用來對文件進(jìn)行壓縮和解壓縮的命令,通過此命令壓縮得到的新文件,其擴(kuò)展名通常標(biāo)記為“.gz”。注意:gzip 命令只能用來壓縮文件,不能壓縮目錄,即便指定了目錄,也只能壓縮目錄內(nèi)的所有文件。

      gzip 命令的基本格式如下:

      [root@localhost ~]# gzip [選項(xiàng)] 源文件

      命令中的源文件,當(dāng)進(jìn)行壓縮操作時(shí),指的是普通文件;當(dāng)進(jìn)行解壓縮操作時(shí),指的是壓縮文件。該命令常用的選項(xiàng)及含義如下表 所示。

       gzip 命令常用選項(xiàng)及含義
      選項(xiàng)含義
      -c 將壓縮數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出中,并保留源文件。
      -d 對壓縮文件進(jìn)行解壓縮。
      -r 遞歸壓縮指定目錄下以及子目錄下的所有文件。
      -v 對于每個(gè)壓縮和解壓縮的文件,顯示相應(yīng)的文件名和壓縮比。
      -l 對每一個(gè)壓縮文件,顯示以下字段:
      • 壓縮文件的大小;
      • 未壓縮文件的大小;
      • 壓縮比;
      • 未壓縮文件的名稱。
      -數(shù)字 用于指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高。默認(rèn)壓縮比是 -6。

       例:基本壓縮

      #壓縮instal.log 文件
      [root@localhost ~]# gzip install.log

      保留源文件壓縮

      在使用 gzip 命令壓縮文件時(shí),源文件會消失,從而生成壓縮文件。這時(shí)候如果不想讓源文件消失:

      #使用-c選項(xiàng),但是不讓壓縮數(shù)據(jù)輸出到屏幕上,而是重定向到壓縮文件中,這樣可以縮文件的同時(shí)不刪除源文件
      [root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz

      壓縮目錄

      #建立測試目錄,并在里面建立幾個(gè)測試文件
      [root@localhost ~]# mkdir test
      [root@localhost ~]# touch test/test1
      [root@localhost ~]# touch test/test2
      [root@localhost ~]# touch test/test3
      #壓縮目錄,并沒有報(bào)錯(cuò)
      [root@localhost ~]# gzip -r test/
      
      
      
      #但是查看發(fā)現(xiàn)test目錄依然存在,并沒有變?yōu)閴嚎s文件
      [root@localhost ~]# ls
      anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog test
      
      [root@localhost ~]# ls test/
      testl .gz test2.gz test3.gz

        gzip命令不會打包目錄,而是把目錄下所有的子文件分別壓縮,在 Linux 中,打包和壓縮是分開處理的。而 gzip 命令只會壓縮,不能打包,所以才會出現(xiàn)沒有打包目錄,而只把目錄下的文件進(jìn)行壓縮的情況。

      Linux gunzip命令:解壓縮文件或目錄

      gunzip 是一個(gè)使用廣泛的解壓縮命令,它用于解壓被 gzip 壓縮過的文件(擴(kuò)展名為 .gz)。

      對于解壓被 gzip 壓縮過的文件,還可以使用 gzip 自己,即 gzip -d 壓縮包。gunzip 命令的基本格式為:

      [root@localhost ~]# gunzip [選項(xiàng)] 文件

      選項(xiàng):

      gunzip 命令常用選項(xiàng)及含義
      選項(xiàng)含義
      -r 遞歸處理,解壓縮指定目錄下以及子目錄下的所有文件。
      -c 把解壓縮后的文件輸出到標(biāo)準(zhǔn)輸出設(shè)備。
      -f 強(qiáng)制解壓縮文件,不理會文件是否已存在等情況。
      -l 列出壓縮文件內(nèi)容。
      -v 顯示命令執(zhí)行過程。
      -t 測試壓縮文件是否正常,但不對其做解壓縮操作。

       例:直接解壓縮文件

      [root@localhost ~]# gunzip install.log.gz

        當(dāng)然,"gunzip -r"依然只會解壓縮目錄下的文件,而不會解打包。要想解壓縮".gz"格式,還可以使用 "gzip -d"命令,例如:

      [root@localhost ~]# gzip -d anaconda-ks.cfg.gz

      要解壓縮目錄下的內(nèi)容,則需使用 "-r" 選項(xiàng),例如:

      [root@localhost ~]# gunzip -r test/

      注意,如果我們壓縮的是一個(gè)純文本文件,則可以直接使用 zcat 命令在不解壓縮的情況下查看這個(gè)文本文件中的內(nèi)容。例如:

      [root@localhost ~]# zcat anaconda-ks.cfg.gz

       

      Linux bzip2命令:壓縮文件(.bz2格式)

      bzip2 命令同 gzip 命令類似,只能對文件進(jìn)行壓縮(或解壓縮),對于目錄只能壓縮(或解壓縮)該目錄及子目錄下的所有文件。當(dāng)執(zhí)行壓縮任務(wù)完成后,會生成一個(gè)以“.bz2”為后綴的壓縮包。".bz2"格式是 Linux 的另一種壓縮格式,從理論上來講,".bz2"格式的算法更先進(jìn)、壓縮比更好;而 ".gz"格式相對來講的時(shí)間更快。

      bzip2 命令的基本格式如下:

      [root@localhost ~]# bzip2 [選項(xiàng)] 源文件

      選項(xiàng):

       bzip2 命令常用選項(xiàng)及含義
      選項(xiàng)含義
      -d 執(zhí)行解壓縮,此時(shí)該選項(xiàng)后的源文件應(yīng)為標(biāo)記有 .bz2 后綴的壓縮包文件。
      -k bzip2 在壓縮或解壓縮任務(wù)完成后,會刪除原始文件,若要保留原始文件,可使用此選項(xiàng)。
      -f bzip2 在壓縮或解壓縮時(shí),若輸出文件與現(xiàn)有文件同名,默認(rèn)不會覆蓋現(xiàn)有文件,若使用此選項(xiàng),則會強(qiáng)制覆蓋現(xiàn)有文件。
      -t 測試壓縮包文件的完整性。
      -v 壓縮或解壓縮文件時(shí),顯示詳細(xì)信息。
      -數(shù)字 這個(gè)參數(shù)和 gzip 命令的作用一樣,用于指定壓縮等級,-1 壓縮等級最低,壓縮比最差;-9 壓縮比最高

       注意,gzip 只是不會打包目錄,但是如果使用“-r”選項(xiàng),則可以分別壓縮目錄下的每個(gè)文件;而 bzip2 命令則根本不支持壓縮目錄,也沒有“-r”選項(xiàng)

       例:直接壓縮文件

      #壓縮成".bz2"格式,此壓縮命令會在壓縮的同時(shí)刪除源文件。
      [root@localhost ~]# bzip2 anaconda-ks.cfg

      壓縮的同時(shí)保留源文件

      #壓縮
      [root@localhost ~]# bzip2 -k install.log.syslog

       

      Linux bunzip2命令:bz2格式的解壓縮命令

      要解壓“.bz2”格式的壓縮包文件,除了使用“bzip2 -d 壓縮包名”命令外,還可以使用 bunzip2 命令。bunzip2 命令的使用和 gunzip 命令大致相同,bunzip2 命令只能用于解壓文件,即便解壓目錄,也是解壓該目錄以及所含子目錄下的所有文件。

      bunzip2 命令的基本格式為:

      [root@localhost ~]# bunzip2 [選項(xiàng)] 源文件

        選項(xiàng):

       bunzip2 命令選項(xiàng)及含義
      選項(xiàng)含義
      -k 解壓縮后,默認(rèn)會刪除原來的壓縮文件。若要保留壓縮文件,需使用此參數(shù)。
      -f 解壓縮時(shí),若輸出的文件與現(xiàn)有文件同名時(shí),默認(rèn)不會覆蓋現(xiàn)有的文件。若要覆蓋,可使用此選項(xiàng)。
      -v 顯示命令執(zhí)行過程。
      -L 列出壓縮文件內(nèi)容。

       先試試使用 gunzip2 命令來進(jìn)行解壓縮,例如:

      [root@localhost ~]# bunzip2 anaconda-ks.cfg.bz2

      ".bz2" 格式也可以使用 "bzip2 -d 壓縮包" 命令來進(jìn)行解壓縮,例如:

      [root@localhost ~]# bzip2 -d install.log.syslog.bz2

      和 ".gz" 格式一樣,".bz2" 格式壓縮的純文本文件也可以不解壓縮直接查看,使用的命令是 bzcat。例如:

      [root@localhost ~]# bzcat install.log.syslog.bz2

       

      posted @ 2021-01-05 13:22  糖拌西紅柿  閱讀(13526)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产亚洲999精品aa片在线爽| 免费a级黄毛片| 精品无码久久久久久久久久| 亚洲欧美高清在线精品一区二区| 亚洲中文字幕无码av在线| 精品国产精品午夜福利| 日韩乱码人妻无码中文字幕视频| 欧美乱人伦人妻中文字幕| 四虎国产精品永久在线看| 99久久精品费精品国产一区二| 国产日韩精品欧美一区灰| 色欧美片视频在线观看| 天堂在线最新版av观看| 99热精品国产三级在线观看| 漂亮人妻被强中文字幕久久| 亚洲国产精品一区二区久| 亚洲最大福利视频网| 国产成人高清精品免费软件| 亚洲女同在线播放一区二区| 亚洲日韩中文字幕在线播放| 熟女人妻aⅴ一区二区三区电影| 亚洲一精品一区二区三区| 色婷婷久久综合中文久久一本 | 欧美巨大极度另类| 绥中县| 精品婷婷色一区二区三区| 国产成人MV视频在线观看| 视频一区视频二区制服丝袜| 亚洲国产性夜夜综合| 卡一卡2卡3卡精品网站| 宜宾市| 欧美成人精品一级在线观看| 亚洲色大成网站www久久九九 | 国产亚洲999精品AA片在线爽| 神马久久亚洲一区 二区| 中文字幕国产精品综合| 极品少妇无套内射视频| 办公室强奷漂亮少妇视频| 久9视频这里只有精品| 深夜精品免费在线观看| 精品亚洲国产成人|