文件的歸檔和壓縮

文件的歸檔和壓縮

?一、tar命令使用 
?二、其他壓縮方式 
?三、進程管理基本概念。

前言:

本節主要介紹文件的歸檔和壓縮相關方法。歸檔和壓縮有利于linux系統中文件的管理和磁盤空間的利用,善于利用歸檔和壓縮能為我們工作中帶來很多便捷。另外將簡單介紹進程的一些概念,方便下一節進程管理內容的學習。

一、 tar命令使用(tar命令用于文件的打包和壓縮)

1:tar命令的歸檔與解壓

1.1: tar命令對文件的歸檔 
tar命令最基本的用法是對文件進行歸檔,其使用方式為: 
tar [參數] [打包名] [filename] 
在歸檔中運用比較多的參數為:c、v、f、

詳細參數:

-c:表示添加(create 的意思) 
-v:表示顯示詳細信息 
-f:表示文件 
-x :解開一個壓縮文件的參數指令 
-t :查看 tarfile 里面的文件注:(-c -x -t三個參數僅能存在一個,不可同時存在!) 
-z :使用 gzip 的屬性壓縮 
-j : 使用 bzip2 的屬性壓縮 
-p :使用原文件的原來屬性 
-P :可以使用絕對路徑來壓縮!(也就是指定path) 
-N :比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中


Example:

以打包/boot/grub2為例,我們的指令應該是:tar –cvf grub2.tar /boot/grub2。 
注意:在使用tar命令進行歸檔時,參數前面的”-“號是可以省略的;歸檔時雖然隨意命名可以歸檔成功,但為了方便管理我們一般以.tar結尾進行命名;要查看一個文件的類型用到的指令是:#file filename。 
[root@xuegod60 ~]# tar cvf grub2.tar /boot/grub2 
[root@xuegod60 ~]# tar cvf a.txt /boot/grub2 
在歸檔時如果需要打包多個內容只需在后面添加相應文件即可,比如:#tar cvf ss.tar /boot /etc/passwd 表示將/boot /etc/passwd兩個文件打包到ss.tar。要在不解包的情況下查看壓縮包中包含的內容需要用到參數t,參數t表示列出歸檔中內容,#tar tvf ss.tar 
[root@xuegod60 ~]# tar cvf ss.tar /etc/passwd /boot/grub2


1.2:使用tar命令對歸檔文件解壓

Example:

使用tar命令進行解壓時需要用到x和C參數,x參數用于對文件解壓,C參數用于指定解壓的位置,當然也可以不加參數C表示解壓到本地。解壓到本地格式為:tar xvf 壓縮文件,解壓到指定目錄命令格式是:tar xvf 壓縮文件 –C 目的文件 
以解壓grub2.tar為例,解壓到當前目錄: 
[root@shrak ~]tar xvf grub2.tar 
解壓到指定/opt/目錄: 
[root@shrak ~]tar xvf grub2.tar –C /opt/ 
文件的歸檔和壓縮


1.3:tar歸檔小結 
使用tar命令歸檔主要是方便文件管理,而壓縮空間是很少的,可以#du –shfilename查看歸檔前后文件大小進行比較 
Alt text


2、tar歸檔+壓縮

2.1:文件格式為.tar.gz的壓縮 
前面提過,使用tar命令進行歸檔時對文件壓縮的比率是非常小的,那么如何使用tar對文件進行歸檔壓縮呢,要實現tar的壓縮格式與歸檔類似,壓縮的文件名必須以.tar.gz或.tgz結尾,同時需要用到[參數z]規定壓縮的格式,z表示以gzip格式進行壓縮,語法格式為: 
tar zcvf newfile.tar.gz sourcefile

Example:

以壓縮/boot/grub2/為例,壓縮命令為: 
tar zcvf grub2.tar.gz /boot/grub2/ 
壓縮完后使用ll –h grub2.tar*對壓縮文件大小進行對比,可以看到壓縮后文件小了很多 
Alt text


2.2:對以.tar.gz結尾壓縮文件進行解壓 
對使用tar壓縮的文件解壓時使用的命令格式和解壓歸檔文件類似,加壓時只需加上參數z知道解壓文件格式即可,

Example:

以解壓grub2.tar.gz為例: 
tar zxvf grub2.tar.gz –C /opt 
Alt text


3、bz2壓縮文件

3.1:文件格式為.tar.bz2的壓縮 
在使用tar命令對文件進行壓縮時,除了上面提到的歸檔和.tar.gz格式還可以壓縮為.tar.bz2格式.bzip2壓縮文件的壓縮需要用的是[參數j],j參數用于指定壓縮格式為bzip2,壓縮格式為:tar jcvf newfile.tar.bz2 sourcefile

Example:

以壓縮/boot/grub2為例,命令為: 
tar jcvf grub2.tar.bz2 /boot/grub2,壓縮后,我們對歸檔壓縮的三個文件大小進行對比:ll –h grub2.tar* 
Alt text


3.2: bz2壓縮文件的解壓 
對.tar.bz2格式解壓的格式為:tar jxvf filename.tar.bz2 –C 目的文件

Example:

以解壓grub2.tar.bz2為例:tar jxvf grub2.tar.bz2 –C /opt/ 
Alt text


3.3:tar命令小結 
上面介紹了tar命令的一些常用參數,關于tar命令還有更多的使用方法,可以通過tar –help進行進一步的了解與學習。 
通過實驗可以看到,使用bzip2格式壓縮的比率是最高的,但是在實際使用中gzip格式的壓縮文件可能更多,這是因為,并不是壓縮比率越大就越好,壓縮比例大也意味著壓縮和解壓的時間更長,在實際使用中要根據具體的需求選擇合適的壓縮方式。


二、其他壓縮方式

1: zip壓縮包的創建和解壓 
zip軟件包壓縮命令:zip是壓縮程序,uzip是解壓程序。 
用zip壓縮文件格式為:zip newfile filename,要對一個目錄進行壓縮需要加上[參數r],格式為:zip –r newfile filename使用zip進行解壓時可以看到壓縮的比率。對zip格式文件進行解壓語法為:uzip filename –d目的目錄,這里[-d參數]用于指定解壓的位置。

Example:

壓縮 /etc/passwd:zip passwd.zip /etc/passwd 
壓縮 /boot/grub2:zip –r grub2.zip /boot/grub2 
解壓zip文件到/opt/目錄:uzip passwd.zip –d /opt/ 
Alt text
Alt text


2:只針對文件進行壓縮的指令

在linux中有幾個壓縮指令,只針對文件進行壓縮而不能壓縮目錄:gzip bzip2 xz


2.1: gzip指令使用 
使用gzip壓縮語法格式:gzip 文件,解壓格式:gzip –d 文件,不解壓查看壓縮包內容指令:zcat 文件,使用gzip進行壓縮時可以同時壓縮多個文件:gzip 文件1 文件2 
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用gzip壓縮后原文件會被刪除 
Alt text


2.2: bzip2指令使用 
使用bzip2壓縮語法格式:bzip2 文件,解壓格式:bzip2 –d 文件,不解壓查看壓縮包內容指令:bzcat 文件,使用bzip2進行壓縮時可以同時壓縮多個文件:bzip2 文件1 文件2 
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用bzip2壓縮后原文件會被刪除 
Alt text


2.3: xz指令使用 
使用xz壓縮語法格式:xz 文件,解壓格式:xz –d 文件,不解壓查看壓縮包內容指令:xzcat 文件,使用xz進行壓縮時可以同時壓縮多個文件:xz 文件1 文件2 
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用xz直接壓縮后原文件會被刪除,要保留原文件可以加一個[參數-k]xz –k 文件 
Alt text


三、進程管理基本概念

1.進程、程序、線程

1.1:概念 
程序:程序是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。 
進程:進程是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位。 
線程:線程是程序執行流的最小單元,線程是進程中的一個實體,是被系統獨立調度和分配的基本單元。


1.2:程序與進程的區別 
程序是靜態的(文件),進程是動態的(運行的程序)。


1.3:進程與線程的區別 
一個程序至少有一個進程,而一個進程至少有一個線程。進程之間內存是獨立的,而線程之間內存是共享的,也就是說在運行同一程序時打開多個進程,其中某個進程故障時不會影響到其他進程的,而同一個進程中運行的多個線程出現問題時會影響到其他線程,線程是高并發的,同時由于線程的相互影響其安全性相對差一些。


2:pstree進程樹查看

要查看進程樹使用的指令是:pstree –p,-p用來顯示進程號。 
Alt text
要顯示一個目錄的樹形結構需要用到tree命令,Rhel7中默認未裝tree,試用前需要對其進行安裝: 
rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
顯示一個目錄的樹形結構格式為:tree 目錄 
Alt text

原創文章,作者:谷歌 shark,如若轉載,請注明出處:http://www.www58058.com/73631

(0)
谷歌 shark谷歌 shark
上一篇 2017-04-16 20:21
下一篇 2017-04-16 21:28

相關推薦

  • Basic認證

    basic認證: (1) 定義安全域 [root@bluee htdocs]# mkdir admin [root@bluee htdocs]# vim admin/index.html 刷新瀏覽器,可以看到admin/index.html文件內容“Page FOR Adminstration” 編輯配置文件: 找個位置增加一個Directoty: <…

    Linux干貨 2016-08-05
  • 編程真難啊

    上周,在Sun的Java論壇上出現了一個這樣的帖子,這個貼子的鏈接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的貼子翻譯如下: 大家好,我是一個Java的新手,我有一個簡單的問題:請問我怎么才能反轉一個整數的符號啊。比如把-12轉成+12。是…

    Linux干貨 2015-04-03
  • bash基礎特性的應用

    1:使用命令行展開功能來完成以下練習:     (1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d ~]# touch  /tmp/{a_{c,d},b_{c,d}}     (2)、創建/tmp/mylinux目錄下的:      mkdir…

    Linux干貨 2016-11-06
  • 從Linux小白到大?!c狼共舞的日子12(上)

    馬哥教育網絡班21期+第12周課程練習 1、請描述一次完整的http請求處理過程; 1)建立或處理連接:客戶端發送http請求報文,服務器端接收或拒絕請求; 2)接收請求:服務器端接收來自客戶端對某些資源的請求; 3)處理請求:服務器端解析客戶端請求報文,獲取客戶端請求的資源及請求方法等信息; 4)訪問資源:服務器端獲取客戶端請求的資源; 5)構建響應報文;…

    Linux干貨 2016-12-26
  • 馬哥教育網絡班22期第一周課程練習1-未聞花名

    一、cpu架構 計算機體系結構: 運算器、控制器(cpu還包含寄存器)、存儲器(內存)、輸入設備(鍵盤、硬盤等)、輸出設備(顯示器、硬盤等) cpu組成: 核心部件:運算器(加法器)、控制器()、寄存器(由于數據總線復用,為cpu保存現場,過程數據記錄)。 輔助部件:一、二、三級緩存:彌合CPU和內存速率不匹配。頻率控制器? 地址總線:內存尋址。 數據總線:…

    Linux干貨 2016-08-15
  • linux作業管理和任務計劃

    一、作業管理 Linux 的作業控制     前臺作業:通過終端啟動,且啟動后一直占據終端;     后臺作業:可通過終端啟動,但啟動后即轉入后臺運行(釋放終端) 如何讓作業運行于后臺? (1)  運行中的作業: Ctrl+z (2)&nb…

    Linux干貨 2016-09-13

評論列表(1條)

  • renjin
    renjin 2017-04-21 10:49

    文章介紹文件的歸檔和壓縮相關方法,內容寫的很詳細,排版也很不錯,贊!

欧美性久久久久