文件的歸檔和壓縮
?一、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查看歸檔前后文件大小進行比較![]()
2、tar歸檔+壓縮
2.1:文件格式為.tar.gz的壓縮
前面提過,使用tar命令進行歸檔時對文件壓縮的比率是非常小的,那么如何使用tar對文件進行歸檔壓縮呢,要實現tar的壓縮格式與歸檔類似,壓縮的文件名必須以.tar.gz或.tgz結尾,同時需要用到[參數z]規定壓縮的格式,z表示以gzip格式進行壓縮,語法格式為:
tar zcvf newfile.tar.gz sourcefileExample:
以壓縮/boot/grub2/為例,壓縮命令為:
tar zcvf grub2.tar.gz /boot/grub2/
壓縮完后使用ll –h grub2.tar*對壓縮文件大小進行對比,可以看到壓縮后文件小了很多![]()
2.2:對以.tar.gz結尾壓縮文件進行解壓
對使用tar壓縮的文件解壓時使用的命令格式和解壓歸檔文件類似,加壓時只需加上參數z知道解壓文件格式即可,Example:
以解壓grub2.tar.gz為例:
tar zxvf grub2.tar.gz –C /opt![]()
3、bz2壓縮文件
3.1:文件格式為.tar.bz2的壓縮
在使用tar命令對文件進行壓縮時,除了上面提到的歸檔和.tar.gz格式還可以壓縮為.tar.bz2格式.bzip2壓縮文件的壓縮需要用的是[參數j],j參數用于指定壓縮格式為bzip2,壓縮格式為:tar jcvf newfile.tar.bz2 sourcefileExample:
以壓縮/boot/grub2為例,命令為:
tar jcvf grub2.tar.bz2 /boot/grub2,壓縮后,我們對歸檔壓縮的三個文件大小進行對比:ll –h grub2.tar*![]()
3.2: bz2壓縮文件的解壓
對.tar.bz2格式解壓的格式為:tar jxvf filename.tar.bz2 –C 目的文件Example:
以解壓grub2.tar.bz2為例:tar jxvf grub2.tar.bz2 –C /opt/
![]()
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/![]()
2:只針對文件進行壓縮的指令
在linux中有幾個壓縮指令,只針對文件進行壓縮而不能壓縮目錄:gzip bzip2 xz
2.1: gzip指令使用
使用gzip壓縮語法格式:gzip 文件,解壓格式:gzip –d 文件,不解壓查看壓縮包內容指令:zcat 文件,使用gzip進行壓縮時可以同時壓縮多個文件:gzip 文件1 文件2
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用gzip壓縮后原文件會被刪除![]()
2.2: bzip2指令使用
使用bzip2壓縮語法格式:bzip2 文件,解壓格式:bzip2 –d 文件,不解壓查看壓縮包內容指令:bzcat 文件,使用bzip2進行壓縮時可以同時壓縮多個文件:bzip2 文件1 文件2
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用bzip2壓縮后原文件會被刪除![]()
2.3: xz指令使用
使用xz壓縮語法格式:xz 文件,解壓格式:xz –d 文件,不解壓查看壓縮包內容指令:xzcat 文件,使用xz進行壓縮時可以同時壓縮多個文件:xz 文件1 文件2
以新建一個a.txt文件并對其進行壓縮與解壓操作,注意,使用xz直接壓縮后原文件會被刪除,要保留原文件可以加一個[參數-k]xz –k 文件![]()
三、進程管理基本概念
1.進程、程序、線程
1.1:概念
程序:程序是為實現特定目標或解決特定問題而用計算機語言編寫的命令序列的集合。
進程:進程是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位。
線程:線程是程序執行流的最小單元,線程是進程中的一個實體,是被系統獨立調度和分配的基本單元。
1.2:程序與進程的區別
程序是靜態的(文件),進程是動態的(運行的程序)。
1.3:進程與線程的區別
一個程序至少有一個進程,而一個進程至少有一個線程。進程之間內存是獨立的,而線程之間內存是共享的,也就是說在運行同一程序時打開多個進程,其中某個進程故障時不會影響到其他進程的,而同一個進程中運行的多個線程出現問題時會影響到其他線程,線程是高并發的,同時由于線程的相互影響其安全性相對差一些。
2:pstree進程樹查看
要查看進程樹使用的指令是:pstree –p,-p用來顯示進程號。
要顯示一個目錄的樹形結構需要用到tree命令,Rhel7中默認未裝tree,試用前需要對其進行安裝:
rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
顯示一個目錄的樹形結構格式為:tree 目錄![]()
原創文章,作者:谷歌 shark,如若轉載,請注明出處:http://www.www58058.com/73631
文章介紹文件的歸檔和壓縮相關方法,內容寫的很詳細,排版也很不錯,贊!