文件的歸檔和壓縮

文件的歸檔和壓縮

?一、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 :可以使用絕對路徑來壓縮?。ㄒ簿褪侵付╬ath) 
-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
下一篇 2017-04-16

相關推薦

  • NET25-第11周作業

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 第一步:他們需要實現協商好對稱加密算法,單向加密算法,公鑰加密算法,交換公鑰等。 第二步:B用戶想要將數據傳給A,首先需要使用單向加密算法取出數據的特征碼,并用自己的私鑰對這段特征碼進行加密(數字簽名),B用戶生成臨時對稱密鑰,并用對稱密鑰加密整段數據,B用戶使用 A用戶的公鑰加密一次性對稱密鑰,附加在整段數據…

    Linux干貨 2017-05-15
  • 編譯安裝Linux內核

    實驗前準備:在https://www.kernel.org/下載內核 這里我們下載的是:linux-4.14.10.tar.xz du -sh /app/linux.tar/ 此命令可查看內核文件大小 編譯完成后/lib/modules下會生成4.14.10版的內核 1,tar xvf linux-4.14.10.tar.xz -C /app/解壓縮準備好的…

    2018-01-03
  • linux網絡管理

    Linux網絡配置 摘要:Linux 對網絡的管理分為 靜態指定和動態管理。 靜態指定 靜態指定ip一般有命令              ifconfig       &…

    Linux干貨 2016-04-05
  • LVS負載均衡集群詳解

    一、LVS概述  1.LVS:Linux Virtual Server          四層交換(路由):根據請求報文的目標IP和目標PORT將其轉發至后端主機集群中的某臺服務器(根據調度算法);      …

    系統運維 2016-04-30
  • 一個開發眼中的運維

    在云計算時代,開發和運維的結合變得越來越重要。在DIFF論壇第一期,前新浪SAE運維主管,鄭志勇,分享了《一個開發眼中的運維》根據自己從開發人員轉型運維之后的心得,談如何把在開發上的運用抽象思維方式運用到運維領域。 1. 運維不是什么? 運維不是打雜的,運維不是客服,運維也不是服務開發的,但要做好合作。 2. 運維是什么? 運維服務于整個產品,保證架構合理,…

    Linux干貨 2015-03-11
  • 第十二周作業

    1、 請描述一次完整的http請求處理過程;  HTTP:超文本傳輸協議 完整的http請求過程 1)、建立TCP/IP連接:經過3次握手,建立連接或拒絕。 2)、瀏覽器向服務器發送HTTP請求。 3)、瀏覽器發送請求頭信息。 4)、服務器應答:服務器接受請求后,會回送應答。 5)、服務器發送應答頭信息。 6)、服務器向瀏覽器發送數據。 7)、服務…

    2017-05-17

評論列表(1條)

  • renjin
    renjin 2017-04-21 10:49

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

欧美性久久久久