真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux釋放包命令 linux打包的命令

linux解壓jar包命令

JAR包是Java中所特有一種壓縮文檔,我們可以通過相關(guān)命令解壓jar包,下面由我為大家整理了linux下解壓jar包命令的相關(guān)知識(shí),希望對(duì)大家有所幫助。

成都做網(wǎng)站、成都網(wǎng)站制作過程中,需要針對(duì)客戶的行業(yè)特點(diǎn)、產(chǎn)品特性、目標(biāo)受眾和市場(chǎng)情況進(jìn)行定位分析,以確定網(wǎng)站的風(fēng)格、色彩、版式、交互等方面的設(shè)計(jì)方向。創(chuàng)新互聯(lián)建站還需要根據(jù)客戶的需求進(jìn)行功能模塊的開發(fā)和設(shè)計(jì),包括內(nèi)容管理、前臺(tái)展示、用戶權(quán)限管理、數(shù)據(jù)統(tǒng)計(jì)和安全保護(hù)等功能。

一、linux解壓jar包命令——jar命令詳解

jar命令選項(xiàng):

jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目錄]文件名...

其中{ctxu}這四個(gè)選項(xiàng)必須選其一。[v f m e 0 M i ]是可選選項(xiàng),文件名也是必須的。

-c 創(chuàng)建一個(gè)jar包

-t 顯示jar中的內(nèi)容列表

-x 解壓jar包

-u 添加文件到j(luò)ar包中

-f 指定jar包的文件名

-v 生成詳細(xì)的報(bào)造,并輸出至標(biāo)準(zhǔn)設(shè)備

-m 指定manifest.mf文件.(manifest.mf文件中可以對(duì)jar包及其中的內(nèi)容作一些一設(shè)置)

-0 產(chǎn)生jar包時(shí)不對(duì)其中的內(nèi)容進(jìn)行壓縮處理

-M 不產(chǎn)生所有文件的清單文件(Manifest.mf)。這個(gè)參數(shù)與忽略掉-m參數(shù)的設(shè)置

-i 為指定的jar文件創(chuàng)建索引文件

-C 表示轉(zhuǎn)到相應(yīng)的目錄下執(zhí)行jar命令,相當(dāng)于cd到那個(gè)目錄,然后不帶-C執(zhí)行jar命令

二、linux解壓jar包命令——jar使用范例

(1)創(chuàng)建jar包

$ jar cf hello.jar hello 利用test目錄生成hello.jar包,如hello.jar存在,則覆蓋

(2)創(chuàng)建并顯示打包過程

$ jar cvf hello.jar hello 利用hello目錄創(chuàng)建hello.jar包,并顯示創(chuàng)建過程

例:E:\jar cvf hello.jar hello

標(biāo)明清單(manifest)

增加:hello/(讀入= 0) (寫出= 0)(存儲(chǔ)了 0%)

增加:hello/TestServlet2.class(讀入= 1497) (寫出= 818)(壓縮了 45%)

增加:hello/HelloServlet.class(讀入= 1344) (寫出= 736)(壓縮了 45%)

增加:hello/TestServlet1.class(讀入= 2037) (寫出= 1118)(壓縮了 45%)

(3)顯示jar包

$ jar tvf hello.jar 查看hello.jar包的內(nèi)容

指定的jar包必須真實(shí)存在,否則會(huì)發(fā)生FileNoutFoundException。

(4)解壓jar包

$ jar xvf hello.jar 解壓hello.jar至當(dāng)前目錄

(5)jar中添加文件

$ jar uf hello.jar HelloWorld.java 將HelloWorld.java添加到hello.jar包中

(6)創(chuàng)建不壓縮內(nèi)容jar包

$ jar cvf0 hello.jar *.class 利用當(dāng)前目錄中所有的.class文件生成一個(gè)不壓縮jar包

(7)創(chuàng)建帶manifest.mf文件的jar包

$ jar cvfm hello.jar manifest.mf hello

創(chuàng)建的jar包多了一個(gè)META-INF目錄,META-INF止錄下多了一個(gè)manifest.mf文件,至于manifest.mf的作用,后面會(huì)提到.

(8)忽略manifest.mf文件

$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目錄及manifest.mf文件

(9)加-C應(yīng)用:

$ jar cvfm hello.jar mymanifest.mf -C hello/

表示在切換到hello目錄下然后再執(zhí)行jar命令

(10)-i為jar文件生成索引列表

當(dāng)一個(gè)jar包中的內(nèi)容很好的時(shí)候,你可以給它生成一個(gè)索引文件,這樣看起來很省事。

$ jar i hello.jar

執(zhí)行完這條命令后,它會(huì)在hello.jar包的META-INF文件夾下生成一個(gè)名為INDEX.LIST的索引文件,

它會(huì)生成一個(gè)列表,最上邊為jar包名。

(11)導(dǎo)出解壓列表

jar tvf hello.jar hello.txt

如果你想查看解壓一個(gè)jar的詳細(xì)過程,而這個(gè)jar包又很大,屏幕信息會(huì)一閃而過,

這時(shí)你可以把列表輸出到一個(gè)文件中,慢慢欣賞!

(12)jar -cvf hello.jar hello/*

例如原目錄結(jié)構(gòu)如下:

hello

|---com

|---org

你本想只把com目錄和org目錄打包,而這時(shí)jar命令會(huì)連同hello目洋也一塊打包進(jìn)。

這點(diǎn)大家要注意。jar命令生成的壓縮文件會(huì)包含它后邊出的目錄。我們應(yīng)該進(jìn)入到hello目錄再執(zhí)行jar命令。

注意:manifest.mf這個(gè)文件名,用戶可以任指定,但jar命令只認(rèn)識(shí)Manifest.mf,它會(huì)對(duì)用戶指定的文件名進(jìn)行相應(yīng)在的轉(zhuǎn)換,這不需用戶擔(dān)心。

三、linux解壓jar包命令——JAR命令使用技巧

(1) jar創(chuàng)建壓ZIP文件

jar cvfM TestZIP.jar test 加M參數(shù)為了不生成META-INF相關(guān)內(nèi)容

然后將TestZIP.jar改為TestZIP.zip就可以,是不是很簡單....

(2) 使用WinRAR解壓.jar文件

上邊我們已經(jīng)說過了,說JAR文件是一種特殊的壓縮文件,所以它當(dāng)然可以用我們常用的一些解壓縮工具來解了,

至于怎么解,這就不用我說了吧。

(3) 用WinRAR生成.jar文件

我們已經(jīng)說過JAR包與ZIP包主要區(qū)別就是JAR包中多一個(gè)META-INF的目錄,

META-INF目錄下有一個(gè)manifest.mf文件,我們只要建立好相關(guān)的目錄一壓縮就可以了。

目錄的結(jié)構(gòu)如下:

TestJar

|--META-INF

|--manifest.mf

|--相關(guān)的類文件

注意:還應(yīng)該在manifest.mf填寫內(nèi)容,不會(huì)寫?照著一個(gè)已有的抄不就行了

linux tar打包、解包命令

解壓

語法:tar [主選項(xiàng)+輔選項(xiàng)] 文件或者目錄

使用該命令時(shí),主選項(xiàng)是必須要有的,它告訴tar要做什么事情,輔選項(xiàng)是輔助使用的,可以選用。

主選項(xiàng):

c 創(chuàng)建新的檔案文件。如果用戶想備份一個(gè)目錄或是一些文件,就要選擇這個(gè)選項(xiàng)。相當(dāng)于打包。

x 從檔案文件中釋放文件。相當(dāng)于拆包。

t 列出檔案文件的內(nèi)容,查看已經(jīng)備份了哪些文件。

特別注意,在參數(shù)的下達(dá)中, c/x/t 僅能存在一個(gè)!不可同時(shí)存在!因?yàn)椴豢赡芡瑫r(shí)壓縮與解壓縮。

輔助選項(xiàng):

-z :是否同時(shí)具有 gzip 的屬性?亦即是否需要用 gzip 壓縮或解壓? 一般格式為xx.tar.gz或xx. tgz

-j :是否同時(shí)具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮或解壓?一般格式為xx.tar.bz2

-v :壓縮的過程中顯示文件!這個(gè)常用

-f :使用檔名,請(qǐng)留意,在 f 之后要立即接檔名喔!不要再加其他參數(shù)!

-p :使用原文件的原來屬性(屬性不會(huì)依據(jù)使用者而變)

--exclude FILE:在壓縮的過程中,不要將 FILE 打包!

范例:

范例一:將整個(gè) /etc 目錄下的文件全部打包成為 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc==僅打包,不壓縮!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc==打包后,以 gzip 壓縮

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc==打包后,以 bzip2 壓縮

特別注意,在參數(shù) f 之后的文件檔名是自己取的,我們習(xí)慣上都用 .tar 來作為辨識(shí)。

如果加 z 參數(shù),則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~

如果加 j 參數(shù),則以 .tar.bz2 來作為附檔名啊~

上述指令在執(zhí)行的時(shí)候,會(huì)顯示一個(gè)警告訊息:

『tar: Removing leading `/" from member names』那是關(guān)於絕對(duì)路徑的特殊設(shè)定。

范例二:查閱上述 /tmp/etc.tar.gz 文件內(nèi)有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

由於我們使用 gzip 壓縮,所以要查閱該 tar file 內(nèi)的文件時(shí),

就得要加上 z 這個(gè)參數(shù)了!這很重要的!

范例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

在預(yù)設(shè)的情況下,我們可以將壓縮檔在任何地方解開的!以這個(gè)范例來說

我先將工作目錄變換到 /usr/local/src 底下,并且解開 /tmp/etc.tar.gz

則解開的目錄會(huì)在 /usr/local/src/etc ,另外,如果您進(jìn)入 /usr/local/src/etc

則會(huì)發(fā)現(xiàn),該目錄下的文件屬性與 /etc/ 可能會(huì)有所不同喔!

范例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內(nèi)的 etc/passwd 解開而已

[root@linux ~]# cd /tmp

[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd

我可以透過 tar -ztvf 來查閱 tarfile 內(nèi)的文件名稱,如果單只要一個(gè)文件,

就可以透過這個(gè)方式來下達(dá)!注意到! etc.tar.gz 內(nèi)的根目錄 / 是被拿掉了!

范例五:我要備份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

另外:tar命令的C參數(shù)

$ tar -cvf file2.tar /home/usr2/file2

tar: Removing leading '/' from members names

home/usr2/file2

該命令可以將/home/usr2/file2文件打包到當(dāng)前目錄下的file2.tar中,需要注意的是:

使用絕對(duì)路徑標(biāo)識(shí)的源文件,在用tar命令壓縮后,文件名連同絕對(duì)路徑(這里是home/usr2/,根目錄'/'被自動(dòng)去掉了)一并被壓縮進(jìn)來

。使用tar命令解壓縮后會(huì)出現(xiàn)以下情況:

$ tar -xvf file2.tar

$ ls

…… …… home …… ……

解壓縮后的文件名不是想象中的file2,而是home/usr2/file2。

$ tar -cvf file2.tar -C /home/usr2 file2 該命令中的-C dir參數(shù),將tar的工作目錄從當(dāng)前目錄改為/home/usr2,將file2文件(不帶絕對(duì)路徑)壓縮到file2.tar中。注意

:-C dir參數(shù)的作用在于改變工作目錄,其有效期為該命令中下一次-C dir參數(shù)之前

。

使用tar的-C dir參數(shù),同樣可以做到在當(dāng)前目錄/home/usr1下將文件解壓縮到其他目錄,例如:

$ tar -xvf file2.tar -C /home/usr2

而tar不用-C dir參數(shù)時(shí)是無法做到的:

$ tar -xvf file2.tar /home/usr2

tar: /tmp/file: Not found in archive

tar: Error exit delayed from previous errors

Linux里 釋放一個(gè)包是什么意思?

Linux釋放內(nèi)存的命令:

sync

echo 1 /proc/sys/vm/drop_caches

drop_caches的值可以是0-3之間的數(shù)字,代表不同的含義:

0:不釋放(系統(tǒng)默認(rèn)值)

1:釋放頁緩存

2:釋放dentries和inodes

3:釋放所有緩存

釋放完內(nèi)存后改回去讓系統(tǒng)重新自動(dòng)分配內(nèi)存。

echo 0 /proc/sys/vm/drop_caches

free -m #看內(nèi)存是否已經(jīng)釋放掉了。

如果我們需要釋放所有緩存,就輸入下面的命令:

echo 3 /proc/sys/vm/drop_caches

######### Linux釋放內(nèi)存的相關(guān)知識(shí) ###############

在Linux系統(tǒng)下,我們一般不需要去釋放內(nèi)存,因?yàn)橄到y(tǒng)已經(jīng)將內(nèi)存管理的很好。但是凡事也有例外,有的時(shí)候內(nèi)存會(huì)被緩存占用掉,導(dǎo)致系統(tǒng)使用SWAP空 間影響性能,例如當(dāng)你在linux下頻繁存取文件后,物理內(nèi)存會(huì)很快被用光,當(dāng)程序結(jié)束后,內(nèi)存不會(huì)被正常釋放,而是一直作為caching。,此時(shí)就需 要執(zhí)行釋放內(nèi)存(清理緩存)的操作了。

Linux系統(tǒng)的緩存機(jī)制是相當(dāng)先進(jìn)的,他會(huì)針對(duì)dentry(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換)、Buffer Cache(針對(duì)磁盤塊的讀寫)和Page Cache(針對(duì)文件inode的讀寫)進(jìn)行緩存操作。但是在進(jìn)行了大量文件操作之后,緩存會(huì)把內(nèi)存資源基本用光。但實(shí)際上我們文件操作已經(jīng)完成,這部分 緩存已經(jīng)用不到了。這個(gè)時(shí)候,我們難道只能眼睜睜的看著緩存把內(nèi)存空間占據(jù)掉嗎?所以,我們還是有必要來手動(dòng)進(jìn)行Linux下釋放內(nèi)存的操作,其實(shí)也就是 釋放緩存的操作了。/proc是一個(gè)虛擬文件系統(tǒng),我們可以通過對(duì)它的讀寫操作做為與kernel實(shí)體間進(jìn)行通信的一種手段.也就是說可以通過修改 /proc中的文件,來對(duì)當(dāng)前kernel的行為做出調(diào)整.那么我們可以通過調(diào)整/proc/sys/vm/drop_caches來釋放內(nèi)存。要達(dá)到釋 放緩存的目的,我們首先需要了解下關(guān)鍵的配置文件/proc/sys/vm/drop_caches。這個(gè)文件中記錄了緩存釋放的參數(shù),默認(rèn)值為0,也就 是不釋放緩存。

一般復(fù)制了文件后,可用內(nèi)存會(huì)變少,都被cached占用了,這是linux為了提高文件讀取效率的做法:為了提高磁盤存取效率, Linux做了一些精心的設(shè)計(jì), 除了對(duì)dentry進(jìn)行緩存(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對(duì)磁盤塊的讀寫,后者針對(duì)文件inode的讀寫。這些Cache有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時(shí)間。"

釋放內(nèi)存前先使用sync命令做同步,以確保文件系統(tǒng)的完整性,將所有未寫的系統(tǒng)緩沖區(qū)寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射文件。否則在釋放緩存的過程中,可能會(huì)丟失未保存的文件。

[root@fcbu.com ~]# free -m

total used free shared buffers cached

Mem: 7979 7897 82 0 30 3918

-/ buffers/cache: 3948 4031

Swap: 4996 438 4558

第一行用全局角度描述系統(tǒng)使用的內(nèi)存狀況:

total 內(nèi)存總數(shù)

used 已經(jīng)使用的內(nèi)存數(shù),一般情況這個(gè)值會(huì)比較大,因?yàn)檫@個(gè)值包括了cache 應(yīng)用程序使用的內(nèi)存

free 空閑的內(nèi)存數(shù)

shared 多個(gè)進(jìn)程共享的內(nèi)存總額

buffers 緩存,主要用于目錄方面,inode值等(ls大目錄可看到這個(gè)值增加)

cached 緩存,用于已打開的文件

第二行描述應(yīng)用程序的內(nèi)存使用:

-buffers/cache 的內(nèi)存數(shù):used - buffers - cached

buffers/cache 的內(nèi)存數(shù):free buffers cached

前個(gè)值表示-buffers/cache 應(yīng)用程序使用的內(nèi)存大小,used減去緩存值

后個(gè)值表示 buffers/cache 所有可供應(yīng)用程序使用的內(nèi)存大小,free加上緩存值

第三行表示swap的使用:

used 已使用

free 未使用

可用的內(nèi)存=free memory buffers cached。

為什么free這么小,是否關(guān)閉應(yīng)用后內(nèi)存沒有釋放?

但實(shí)際上,我們都知道這是因?yàn)長inux對(duì)內(nèi)存的管理與Windows不同,free小并不是說內(nèi)存不夠用了,應(yīng)該看的是free的第二行最后一個(gè)值:-/ buffers/cache: 3948 4031 ,這才是系統(tǒng)可用的內(nèi)存大小。

實(shí)際項(xiàng)目中的經(jīng)驗(yàn)告訴我們,如果因?yàn)槭菓?yīng)用有像內(nèi)存泄露、溢出的問題,從swap的使用情況是可以比較快速可以判斷的,但free上面反而比較難查看。我覺得既然核心是可以快速清空buffer或cache,但核心并沒有這樣做(默認(rèn)值是0),我們不應(yīng)該隨便去改變它。

一般情況下,應(yīng)用在系統(tǒng)上穩(wěn)定運(yùn)行了,free值也會(huì)保持在一個(gè)穩(wěn)定值的,雖然看上去可能比較小。當(dāng)發(fā)生內(nèi)存不足、應(yīng)用獲取不到可用內(nèi)存、OOM錯(cuò) 誤等問題時(shí),還是更應(yīng)該去分析應(yīng)用方面的原因,如用戶量太大導(dǎo)致內(nèi)存不足、發(fā)生應(yīng)用內(nèi)存溢出等情況,否則,清空buffer,強(qiáng)制騰出free的大小,可 能只是把問題給暫時(shí)屏蔽了,所以說一般情況下linux都不用經(jīng)常手動(dòng)釋放內(nèi)存。

求linux上打tar包以及釋放的指令,還有釋放以及打其它壓縮包的指令。

用tar建立存檔

tar是“tape archive”(磁帶存檔)的簡稱,它出現(xiàn)在還沒有軟盤驅(qū)動(dòng)器、硬盤和光盤驅(qū)動(dòng)器的計(jì)算機(jī)早期階段。那時(shí)軟件的發(fā)行和備份都需要大卷的磁帶,計(jì)算機(jī)上運(yùn)行的頭幾個(gè)程序中就得有一個(gè)是磁帶的閱讀程序。隨著時(shí)間的推移, tar命令逐漸變?yōu)橐粋€(gè)將很多文件進(jìn)行存檔的工具,目前許多用于Linux操作系統(tǒng)的程序就是打包為tar檔案文件的形式。

tar 命令的格式是:

tar [option] file;

tar命令有很多參數(shù),利用f選項(xiàng)、設(shè)備或文件的名字可以指示tar命令將檔案置于特定的設(shè)備或文件中。當(dāng)為tar的檔案創(chuàng)建一個(gè)文件時(shí),這個(gè)文件名的擴(kuò)展通常是如果指定了一個(gè)目錄名,那么它所有的子目錄都會(huì)被包含在檔案之中。

利用tar命令和f選項(xiàng)的格式如下所示:

#tar opionsf archive-name.tar directory-and-filenames

要?jiǎng)?chuàng)建一個(gè)檔案應(yīng)使用c選項(xiàng),與f選項(xiàng)一起,c選項(xiàng)會(huì)在設(shè)備或文件中創(chuàng)建檔案,應(yīng)在f選項(xiàng)的左邊輸入這一選項(xiàng)。在下例中,目錄mydir和它所有的子目錄都被存入文件myarch.tar中。

#tar cf myarch.tar mydir

如果想要改動(dòng)已經(jīng)存檔的目錄中的文件,可以使用u選項(xiàng)使tar更新檔案中的文件。tar比較每一個(gè)檔案文件與相應(yīng)用戶目錄中文件最近一次修改的時(shí)間,然后將上一次存檔之后又被修改過的文件拷貝到檔案文件中去。在用戶目錄中新創(chuàng)建的文件也會(huì)被添加到檔案文件中。在下面的例子中,用戶用mydir目錄中最近被修改或添加的文件來對(duì)myarch.tar文件進(jìn)行更新。

#tar uf myarch.tar mydir

如果想查看在一個(gè)檔案中存儲(chǔ)著哪些文件,可以使用tar命令和t選項(xiàng)。下面命令列出所有存儲(chǔ)在myarch.tar檔案中的文件:

#tar tf myarch.tar

要將文件備份到一個(gè)特定的設(shè)備,只須把設(shè)備名作為檔案。在下面的例子中,用戶在/dev/fdo設(shè)備的軟盤中創(chuàng)建了一個(gè)檔案,并將mydir目錄中所有的文件都拷貝到檔案中。

#tar cf/dev/fdo mydir

要恢復(fù)設(shè)備磁盤中的文件,可使用xf選項(xiàng):

#tar xf/dev/fdo

如果所備份的文件大小超過設(shè)備可用的存儲(chǔ)器,比如軟盤,此時(shí)就可以創(chuàng)建一個(gè)使用多個(gè)標(biāo)號(hào)的tar檔案。當(dāng)使用m選項(xiàng)向一個(gè)軟驅(qū)進(jìn)行存檔時(shí),tar命令在一張軟盤已滿的時(shí)候會(huì)提醒再放入一張新的軟盤。

#tar cmf/dev/fdo mydir

要想恢復(fù)幾張盤中的檔案,只要將第一張軟盤放入軟驅(qū),然后輸入有x和m選項(xiàng)的tar命令。必要時(shí)會(huì)被提醒放入另外一張軟盤。

#tar xmf/dev/fdo

tar操作不會(huì)對(duì)檔案文件實(shí)行壓縮操作。如果想壓縮檔案文件,可以指示tar激活gzip實(shí)用工具,在存檔之前對(duì)文件進(jìn)行壓縮。利用z選項(xiàng),tar在對(duì)文件存檔之前首先要使用gzip來壓縮文件。當(dāng)恢復(fù)文件時(shí),同樣的Z選項(xiàng)將激活gzip對(duì)文件解壓。

#tar czf myarch.tar mydir

值得注意的是,壓縮檔案中的單個(gè)文件和整體壓縮檔案是不同的。通常檔案文件是為了便于傳輸而把幾個(gè)文件組合成為一個(gè)tar文件。為了縮短傳輸時(shí)間,檔案應(yīng)當(dāng)越小越好,可以將其壓縮然后傳送壓縮后的版本。接收者可以對(duì)之解壓縮,然后恢復(fù)tar文件。在tar文件上使用gzip將會(huì)產(chǎn)生有.tar.gz擴(kuò)展名的文件。擴(kuò)展名.gz被加到被壓縮的gzip文件名之后。

下面的例子創(chuàng)建了myarch.tar的一個(gè)壓縮的版本,它具有了.gz的擴(kuò)展名。

#gzip myarch.tar

#ls

#myarch.tar.gz

tar命令雖然有非常多的參數(shù),但是使用起來并不困難,可以快速而又簡單地為任何需要的子目錄生成檔案文件。

首先,我們來建立一個(gè)有三個(gè)文件的子目錄,再建立一個(gè)有另外三個(gè)文件的子目錄,如下所示:

# mkdir mydir

#cd mydir

# touch file1 file2 file3

# mkdir mydir2

#cd mydir2

# touch file21 file22 file23

#cd../..

#tree mydir

mydir

file1

file2

file3

mydir2

file21

file22

file23

現(xiàn)在已經(jīng)有了一個(gè)子目錄和其中的文件,使用這個(gè)命令的c(生成)和f(文件)參數(shù)來生成一個(gè)tar檔案文件:

# tar cf mydir.tar mydir

# ls -l *.tar

- r w - r - - r - - 1 bball u s e r s 10240 Jan 5 15 : 01 mydir. t a r

請(qǐng)注意,原來的子目錄并沒有發(fā)生變化。在缺省的情況下,tar命令不會(huì)刪除原來的子目錄和文件。如果想看看命令執(zhí)行的過程,可以使用v參數(shù),如下所示:

# tar cvf mydir.tar mydir

mydir/

mydir/file1

mydir/file2

mydir/file3

mydir/mydir2/

mydir/mydir2/file21

mydir/mydir2/file22

mydir/mydir2/file23

tar命令在進(jìn)行操作的時(shí)候,就會(huì)把正在添加到檔案文件中去的子目錄和文件的文件名顯示出來。使用w參數(shù),即交互參數(shù),這樣tar命令在執(zhí)行的過程當(dāng)中會(huì)詢問是否想加入每個(gè)文件。當(dāng)想有選擇地備份內(nèi)容不多的子目錄的時(shí)候,這樣就非常地方便,如下所示:

# tar cwf mydir.tar mydir

add mydir?y

add mydir/file1?n

add mydir/file2?y

add mydir/file3?n

add mydir/mydir2?y

add mydir/mydir2/file21?y

add mydir/mydir2/file22?n

add mydir/mydir2/file23?y

在上面的例子中,沒有把文件file1、file3和文件file22歸檔??梢允褂胻ar命令的t參數(shù)列出檔案文件中的內(nèi)容,f參數(shù)定義操作所使用的tar檔案文件,如下所示:

# tar tf mydir.tar

mydir/

mydir/file2

mydir/mydir2/

mydir/mydir2/file21

mydir/mydir2/file23

需要注意的是,如果參數(shù)的順序放錯(cuò)了,tar命令會(huì)顯示出錯(cuò)信息并退出。

下面就來看看如何來釋放整個(gè)的檔案文件或者其中的某一個(gè)文件。如果想釋放其中所有的文件,可以同時(shí)使用-x釋放參數(shù)和-f。為了了解命令執(zhí)行的過程,還可以加上-v參數(shù):

# tar xvf mydir.tar

mydir/

mydir/file2

mydir/mydir2/

mydir/mydir2/file21

mydir/mydir2/file23

如果只是想從檔案文件中釋放幾個(gè)文件的話,可以再次使用w參數(shù):

# tar xvwf mydir.tar

extract mydir/?y

mydir

extract mydir/file2?y

mydir/file2

extract mydir/mydir2/?y

mydir/mydir2/

extract mydir/mydir2/file21?y

mydir/mydir2/file21

extract mydir/mydir2/file23?y

mydir/mydir2/file23

上例表明查看了檔案文件,并交互地釋放了文件。如果只想從檔案文件中釋放某一個(gè)文件,可以在命令行中指定這個(gè)文件。作為示例,我先刪除了原始的mydir子目錄,然后使用一個(gè)空的子目錄進(jìn)行如下操作:

# tar xf mydir.tar mydir/mydir2/file23

# tree mydir

m y d i r

- - mydir2

- - file23

1 directory, 1 file

注意,正如所看到的只有一個(gè)文件被釋放出來。雖然tar命令不會(huì)覆蓋整個(gè)的子目錄,但是它會(huì)覆蓋掉那些有著相同文件名的文件。

值得一提的是,還可以使用其它程序,如BRU-2000或者taper腳本程序來備份系統(tǒng)或者選定的文件和子目錄。OpenLinux操作系統(tǒng)也可以通過cron日程安排來自動(dòng)進(jìn)行文件的歸檔整理工作。

建立cpio檔案文件

cpio命令可以從tar或者cpio檔案文件中拷入或者拷出文件。因?yàn)閏pio命令和tar命令兼容,所以我這里不再詳細(xì)介紹它如何工作。但是這個(gè)命令具備一些tar命令沒有的功能,如下所示:

◆ 支持cpio和tar兩種檔案文件格式;

◆ 支持許多老式磁帶數(shù)據(jù)格式;

◆ 能夠通過一個(gè)管道讀取文件的文件名。

只有很少的Linux軟件包是以cpio格式發(fā)行的。如果對(duì)cpio命令的詳細(xì)情況感興趣的話,可以閱讀它的使用手冊(cè)。

使用gzip壓縮文件

gzip命令是用來壓縮文件的。它不僅可以用來壓縮大的、較少使用的文件以節(jié)省磁盤空間,還可以和tar命令一起構(gòu)成Linux操作系統(tǒng)中比較流行的壓縮文件格式。據(jù)統(tǒng)計(jì),gzip命令對(duì)文本文件有60%~70%的壓縮率。

gzip命令的格式是:

gzip [option] [file]

gzip很容易使用。如果想壓縮某個(gè)文件或者磁帶檔案文件,可輸入下面的內(nèi)容:

# gzip mydir.tar

在缺省的狀態(tài)下,gzip會(huì)壓縮文件、再加上一個(gè).gz擴(kuò)展名,然后刪除掉原來的文件。如果想解壓縮文件,可以使用gzip的對(duì)應(yīng)程序命令gunzip或者gzip命令的-d解壓縮參數(shù)。但是必須保證這個(gè)用于解壓縮的文件有.gz(或者.Z、-gz、.z、-z、或者_(dá)z)擴(kuò)展名,否則gzip命令和gunzip命令都會(huì)顯示出錯(cuò)信息。如果想使用自己的擴(kuò)展名,可以使用-S后綴參數(shù),如下所示:

# gzip -S .gzipped mydir.tar

gzip還可以處理用zip命令、compress命令和pack命令壓縮的文件包。如果想在壓縮或者解壓縮的過程中看到更多的信息,可以使用-l列清單參數(shù)看到文件在被壓縮或解壓縮的時(shí)候的文件長度。在前一個(gè)例子中,壓縮完子目錄mydir之后,可以使用gzip命令按照下面的方法得到有關(guān)的數(shù)據(jù):

# gzip -l mydir.tar.gz

compressed uncompr.ratio uncompressed_name

312 21330 98.2% mydir.tar

此外,gzip還有一個(gè)很有用的參數(shù)-t,可以用來測(cè)試壓縮文件的完整性。如果文件正常,gzip不會(huì)給出任何顯示。如果想看到OK這兩個(gè)字母,可以在測(cè)試某個(gè)文件時(shí)使用-tv參數(shù)。

使用compress壓縮文件

compress命令就像它的文件名那樣是用來壓縮文件的。這是Unix中出現(xiàn)得比較早的一個(gè)壓縮程序,它通過使用自適應(yīng)的Lemple-Ziv編碼來縮小所指文件的大小。每一個(gè)文件將被一個(gè)帶有.Z擴(kuò)展名的壓縮文件所代替,但文件的屬主關(guān)系、訪問時(shí)間和修改時(shí)間將保持不變。如果沒有指點(diǎn)文件,則接受標(biāo)準(zhǔn)輸入的文件進(jìn)行壓縮并送到標(biāo)準(zhǔn)輸出。

compress命令格式是:

compress [option] [file]

與compress對(duì)應(yīng)的有一個(gè)解壓縮命令uncompress,其格式如下:

uncompress [option] [file]

它使“.Z”的壓縮文件恢復(fù)。

compress和uncompress命令的選項(xiàng)如下:

◆-c 寫到標(biāo)準(zhǔn)輸出,不改變文件。

◆-f 強(qiáng)制壓縮,即使文件并不真正減小或.Z文件已經(jīng)存在,也進(jìn)行壓縮。

◆-v 顯示每一個(gè)被壓縮文件的縮小的百分比。

下面舉例說明compress命令的用法:

#compress file

上面代碼表明將生成壓縮文件file.Z代替file,要解壓縮輸入:

#uncompress file.Z

注意,像使用gzip命令一樣,使用uncompress命令時(shí)必須給出一個(gè)帶有.Z擴(kuò)展名的文件名,否則uncompress命令顯示出錯(cuò)信息。


分享標(biāo)題:linux釋放包命令 linux打包的命令
文章地址:http://weahome.cn/article/hghddd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部