linux移動(dòng)壓縮包命令 linux移動(dòng)壓縮包到指定目錄

linux壓縮包解壓命令tar.gz

linux壓縮包解壓命令tar.gz需分兩步進(jìn)行,下面是具體介紹:

創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)祁縣,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

1、使用命令tar-zcvfmywork/打包壓縮mywork目錄。

2、使用命令tar-zxvfmywork.tar.gz?解壓mywork.tar.gz,解壓的文件只能放在當(dāng)前目錄。

以上就是小編今天的分享了,希望可以幫助到大家。

本文章基于thinkpadE15品牌、centos7系統(tǒng)撰寫的。

linux解壓7z文件命令

7z文件類型屬于一個(gè)壓縮文件類型,在linux要通過命令可以將其解壓出來,下面由我為大家整理了linux下解壓7z文件命令的相關(guān)知識,希望對大家有所幫助。

一、linux解壓7z文件命令詳解

解壓縮7z文件

7za x phpMyAdmin-3.3.8.1-all-languages.7z -r -o./

參數(shù)含義:

x 代表解壓縮文件,并且是按原始目錄樹解壓(還有個(gè)參數(shù) e 也是解壓縮文件,但其會(huì)將所有文件都解壓到根下,而不是自己原有的文件夾下)

phpMyAdmin-3.3.8.1-all-languages.7z 是壓縮文件,這里我用phpadmin做測試。這里默認(rèn)使用當(dāng)前目錄下的phpMyAdmin-3.3.8.1-all-languages.7z

-r 表示遞歸解壓縮所有的子文件夾

-o 是指定解壓到的目錄,-o后是沒有空格的,直接接目錄。這一點(diǎn)需要注意。

二、補(bǔ)充:linux壓縮7z文件/文件夾命令

7za a -t7z -r Mytest.7z /opt/phpMyAdmin-3.3.8.1-all-languages/*

參數(shù)含義:

a 代表添加文件/文件夾到壓縮包

-t 是指定壓縮類型,這里定為7z,可不指定,因?yàn)?za默認(rèn)壓縮類型就是7z。

-r 表示遞歸所有的子文件夾

Mytest.7z 是壓縮好后的壓縮包名

/opt/phpMyAdmin-3.3.8.1-all-languages/*:是壓縮目標(biāo)。

注意:7za不僅僅支持.7z壓縮格式,還支持.tar.bz2等壓縮類型的。如上所述,用-t指定即可。

Linux:文件解壓、復(fù)制和移動(dòng)的若干坑

Linux下進(jìn)行文件的解壓、復(fù)制、移動(dòng)應(yīng)該是最常見的操作了。尤其是我們在項(xiàng)目中使用大量的數(shù)據(jù)集文件(比如機(jī)器學(xué)習(xí))文件。然而使用這些命令時(shí)一不留神就會(huì)掉進(jìn)坑里,這篇文章我們就來細(xì)數(shù)用Shell進(jìn)行文件操作的這些坑。

Linux下壓縮文件的常見擴(kuò)展名包括 .gz , .tar , .tar.gz , .zip 等。這些壓縮格式都能夠跨平臺(Windows/Mac/Linux)使用。下面我們以 .zip 文件為例子來講解。我們已知一個(gè)文本文件壓縮包 test.zip ,想把它解壓,很簡單,運(yùn)行 unzip 命令即可:

如果我們想要將 test.txt 重新壓縮呢?你可能情不自禁會(huì)執(zhí)行 zip test.txt ,然后我們發(fā)現(xiàn)提示:

其實(shí)是傳參數(shù)傳錯(cuò)了,導(dǎo)致 zip 誤把 test.txt 當(dāng)成壓縮后的文件名了,這當(dāng)然不是合法的。我們看 zip 的參數(shù)構(gòu)成:

[-b path] 是壓縮后的 .zip 文件的路徑, zipfile list 是待壓縮的文件列表。于是,我們這樣寫即可成功壓縮:

當(dāng)然, zip 也支持將多個(gè)文件壓縮:

此時(shí)我們發(fā)現(xiàn)再解壓 test3.zip 會(huì)發(fā)現(xiàn)重新得到了兩個(gè)原始文件:

zip 也支持對目錄壓縮,如我們嘗試壓縮 test 目錄:

此時(shí)再解壓 test4.zip 則會(huì)重新生成 test 目錄:

不過, zip 是將輸入的文件列表 分別 進(jìn)行壓縮的操作,即是對目錄來進(jìn)行壓縮也是對目錄內(nèi)的所有文件one-by-one的操作。那我們需要將很多文件先打包成一個(gè)文件,然后再壓縮呢?此時(shí)就要用到 tar 了。

很多人誤解 tar 是個(gè)壓縮命令,其實(shí)壓縮命令是 gzip 、 xz 以及我們上文提到的 zip 這些。 tar 是個(gè)打包命令,只不過附帶壓縮與解壓的功能。 tar 的選項(xiàng)多如牛毛,為了減輕大家的記憶負(fù)擔(dān),我們只介紹下面兩個(gè)選項(xiàng):

-c : 建立打包文件(可搭配 -v 將過程中打包的文件可視化);

-x :解包或解壓縮的功能(可搭配 -C 在特定目錄解壓);

(其實(shí)還有表示通過gzip進(jìn)行壓縮/解壓縮的 -z ,通過bzip2的支持進(jìn)行壓縮/解壓縮的 -j ,通過xz的支持進(jìn)行壓縮解壓縮的 -J 等,但我們這里統(tǒng)一用 .zip 示范,就省去這些參數(shù)了)

那么,我們只需要記住下面的命令即可:

壓縮: tar -cv -f filename.zip 要被壓縮的文件或目錄名稱

解壓縮: tar -xv -f filename.zip -C 欲解壓的目錄(這個(gè)目錄必須已經(jīng)存在)

注意,壓縮傳參順序是壓縮后的.zip文件在前,壓縮前的文件在后 ,別搞錯(cuò)了。(讓人聯(lián)想到gcc編譯器,不過 gcc 傳參時(shí)規(guī)定是 -o output_file.out 的形式來指定輸出的可執(zhí)行文件,就回避了這個(gè)順序問題)

比如,我們要將 test 文件夾(該文件夾下有一個(gè) test.txt 文件)壓縮,可以運(yùn)行如下命令:

然后將其解壓到當(dāng)前目錄,可運(yùn)行如下命令:

多個(gè)文件壓縮:

然后將其解壓到當(dāng)前目錄:

由上面所說, zip / unzip 和 tar 都是壓縮什么解壓出來就是什么,原來是目錄就是目錄,原來沒目錄不會(huì)幫你自動(dòng)生成一個(gè)目錄 ,但Linux或Mac系統(tǒng)的可視化壓縮工具就不一樣了(在Mac中被稱為「歸檔實(shí)用工具」)。Mac中對目錄壓縮時(shí)壓縮命令和 tar 命令是等效的,比如我們想用Mac自帶的壓縮工具壓縮 test 文件夾:

會(huì)生成對應(yīng)的歸檔文件:

再解壓會(huì)得到同樣的文件夾(會(huì)自動(dòng)幫我們重命名),不會(huì)幫我們生成多余的目錄:

這個(gè)文件夾內(nèi)部才是我們需要的文件:

它會(huì)自動(dòng)幫我們生成一個(gè)名為 歸檔.zip 的文件:

這個(gè)文件夾內(nèi)部才是我們需要的文件:

這個(gè)文件夾內(nèi)部才是我們需要的文件:

這在對大量文件操作時(shí)需要額外注意,否則會(huì)白白開銷你一次拷貝文件的時(shí)間!

我們緊接著上面的情景。假設(shè)我們當(dāng)前的目錄為項(xiàng)目目錄,而我們手滑使用了系統(tǒng)自帶的可視化解壓工具生成了一個(gè)多余的目錄。我們接下來要把系統(tǒng)生成的多余的 歸檔 文件夾里的文件拷貝到當(dāng)前目錄,那么我們可以使用帶 r 參數(shù)的 cp 命令:

這里 -r 參數(shù)表示遞歸復(fù)制命令,用于目錄的遞歸復(fù)制。注意命令中的 歸檔/ 表示 歸檔 目錄下的所有文件,意思和 歸檔/* 相同:

選項(xiàng)參數(shù) -r 寫成 -R 是等效的:

但如果直接傳入?yún)?shù) 歸檔 ,則表示將這個(gè)目錄整個(gè)地復(fù)制:

同一個(gè)目錄下不可能有兩個(gè)相同名稱的子目錄,這當(dāng)然就會(huì)出錯(cuò),當(dāng)然我們可以將其復(fù)制到另外一個(gè)目錄里:

你可能要問,加 r 和不加 r 有啥區(qū)別?如果不加 r ,則默認(rèn)是跳過目錄的,也就是說只能copy文件:

我們還是緊接著上面的場景。假定我們已經(jīng)將 歸檔 文件夾中的 test.txt 、 test2.txt 成功拷貝到當(dāng)前項(xiàng)目目錄了?,F(xiàn)在我們有了個(gè)新的需求:我們在項(xiàng)目目錄中建了一個(gè) data 子目錄,現(xiàn)在需要將項(xiàng)目目錄中的 test.txt 、 test2.txt 移動(dòng)到 data 子目錄中。這就需要如下命令:

注意,如果有多個(gè)源文件或目錄,則最后一個(gè)目標(biāo)文件(也就是這里的data)一定是目錄 。當(dāng)我們只移動(dòng)一個(gè)文件時(shí),就有潛在的二義性。這里因?yàn)? data 目錄本身存在,我們移動(dòng) test.txt 到 data 目錄還能正常執(zhí)行:

但是如果data目錄不存在,就會(huì)將 mv 解釋為重命名的意思,比如如果我們將 data 目錄刪除再執(zhí)行:

此時(shí)就等效于把 test.txt 更名為 data 文件:

可以看出,第一個(gè)字母是 - ,也就意味著 data 是普通文件,不是目錄(是目錄的話第一個(gè)字母是 d )。

因此,使用 mv 語句時(shí)要格外小心,因?yàn)樗扔幸苿?dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!

有移動(dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!

就可能出錯(cuò)!

linux解壓jar包命令

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

一、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文件中可以對jar包及其中的內(nèi)容作一些一設(shè)置)

-0 產(chǎn)生jar包時(shí)不對其中的內(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)(存儲了 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)識Manifest.mf,它會(huì)對用戶指定的文件名進(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è)已有的抄不就行了

文章標(biāo)題:linux移動(dòng)壓縮包命令 linux移動(dòng)壓縮包到指定目錄
URL地址:http://www.muchs.cn/article48/docsghp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作定制網(wǎng)站、營銷型網(wǎng)站建設(shè)Google、建站公司、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)