重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
JAR包是Java中所特有一種壓縮文檔,我們可以通過相關命令解壓jar包,下面由我為大家整理了linux下解壓jar包命令的相關知識,希望對大家有所幫助。
成都創新互聯公司專業為企業提供拱墅網站建設、拱墅做網站、拱墅網站設計、拱墅網站制作等企業網站建設、網頁設計與制作、拱墅企業網站模板建站服務,十年拱墅做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。
一、linux解壓jar包命令——jar命令詳解
jar命令選項:
jar命令格式:jar {c t x u f }[ v m e 0 M i ][-C 目錄]文件名...
其中{ctxu}這四個選項必須選其一。[v f m e 0 M i ]是可選選項,文件名也是必須的。
-c 創建一個jar包
-t 顯示jar中的內容列表
-x 解壓jar包
-u 添加文件到jar包中
-f 指定jar包的文件名
-v 生成詳細的報造,并輸出至標準設備
-m 指定manifest.mf文件.(manifest.mf文件中可以對jar包及其中的內容作一些一設置)
-0 產生jar包時不對其中的內容進行壓縮處理
-M 不產生所有文件的清單文件(Manifest.mf)。這個參數與忽略掉-m參數的設置
-i 為指定的jar文件創建索引文件
-C 表示轉到相應的目錄下執行jar命令,相當于cd到那個目錄,然后不帶-C執行jar命令
二、linux解壓jar包命令——jar使用范例
(1)創建jar包
$ jar cf hello.jar hello 利用test目錄生成hello.jar包,如hello.jar存在,則覆蓋
(2)創建并顯示打包過程
$ jar cvf hello.jar hello 利用hello目錄創建hello.jar包,并顯示創建過程
例:E:\jar cvf hello.jar hello
標明清單(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包的內容
指定的jar包必須真實存在,否則會發生FileNoutFoundException。
(4)解壓jar包
$ jar xvf hello.jar 解壓hello.jar至當前目錄
(5)jar中添加文件
$ jar uf hello.jar HelloWorld.java 將HelloWorld.java添加到hello.jar包中
(6)創建不壓縮內容jar包
$ jar cvf0 hello.jar *.class 利用當前目錄中所有的.class文件生成一個不壓縮jar包
(7)創建帶manifest.mf文件的jar包
$ jar cvfm hello.jar manifest.mf hello
創建的jar包多了一個META-INF目錄,META-INF止錄下多了一個manifest.mf文件,至于manifest.mf的作用,后面會提到.
(8)忽略manifest.mf文件
$ jar cvfM hello.jar hello 生成的jar包中不包括META-INF目錄及manifest.mf文件
(9)加-C應用:
$ jar cvfm hello.jar mymanifest.mf -C hello/
表示在切換到hello目錄下然后再執行jar命令
(10)-i為jar文件生成索引列表
當一個jar包中的內容很好的時候,你可以給它生成一個索引文件,這樣看起來很省事。
$ jar i hello.jar
執行完這條命令后,它會在hello.jar包的META-INF文件夾下生成一個名為INDEX.LIST的索引文件,
它會生成一個列表,最上邊為jar包名。
(11)導出解壓列表
jar tvf hello.jar hello.txt
如果你想查看解壓一個jar的詳細過程,而這個jar包又很大,屏幕信息會一閃而過,
這時你可以把列表輸出到一個文件中,慢慢欣賞!
(12)jar -cvf hello.jar hello/*
例如原目錄結構如下:
hello
|---com
|---org
你本想只把com目錄和org目錄打包,而這時jar命令會連同hello目洋也一塊打包進。
這點大家要注意。jar命令生成的壓縮文件會包含它后邊出的目錄。我們應該進入到hello目錄再執行jar命令。
注意:manifest.mf這個文件名,用戶可以任指定,但jar命令只認識Manifest.mf,它會對用戶指定的文件名進行相應在的轉換,這不需用戶擔心。
三、linux解壓jar包命令——JAR命令使用技巧
(1) jar創建壓ZIP文件
jar cvfM TestZIP.jar test 加M參數為了不生成META-INF相關內容
然后將TestZIP.jar改為TestZIP.zip就可以,是不是很簡單....
(2) 使用WinRAR解壓.jar文件
上邊我們已經說過了,說JAR文件是一種特殊的壓縮文件,所以它當然可以用我們常用的一些解壓縮工具來解了,
至于怎么解,這就不用我說了吧。
(3) 用WinRAR生成.jar文件
我們已經說過JAR包與ZIP包主要區別就是JAR包中多一個META-INF的目錄,
META-INF目錄下有一個manifest.mf文件,我們只要建立好相關的目錄一壓縮就可以了。
目錄的結構如下:
TestJar
|--META-INF
|--manifest.mf
|--相關的類文件
注意:還應該在manifest.mf填寫內容,不會寫?照著一個已有的抄不就行了
tar 的功能類似于 Windows 中的 WinRAR。它可以將多個目錄或文件打包成一個大文件,在打包的過程中還可以透過 gzip/bzip2/xz 的支持,對文件進行壓縮 1 。
tar 的選項參數很多,主要用到的有以下這些:
還是太多,記不住怎么辦? 記住下面這些最常用的命令即可:
總結一下:z 為gzip;j 為bzip2;J 為xz。c 為壓縮;t 為查詢;x 為解壓縮。最后跟著 vf。f 一定要是最后一個,如果放在其他選項之前,tar 就會把文件名搞錯。比如 tar -zcfv xxx 命令,tar 指令就會認為壓縮文件名為 v!
壓縮的文件名稱要根據壓縮算法加上響應的后綴:
只有知道了壓縮算法,我們才能解的出來,你說是嗎?所以文件名規范很重要。
假設我們需要備份 /etc 文件夾,把它打成一個壓縮包 1 。這在實際應用中很常見,因為 /etc 文件夾存放了系統主要配置文件。在英文中完整單詞是etc.,也就是后面會帶上一個句點,表示“等等”之意。
接下來,我們分別使用 gzip、bzip2與 xz 算法對 /etc 文件夾進行打包壓縮。
gzip 壓縮指令: time tar -zpcvf /root/etc.tar.gz /etc
bzip2壓縮指令: time tar -jpcvf /root/etc.tar.bz2 /etc
xz 壓縮指令: time tar -Jpcvf /root/etc.tar.xz /etc
從 real 中可以看出: gzip 的壓縮速度最快,而 xz 的壓縮速度最慢。
從大小上來看,xz 的壓縮率最高,而gzip 壓縮率最差。
壓縮率高,自然需要時間成本。因此需要壓縮的文件夾很大,那么就要多多考慮時間成本咯。因為 gzip 壓縮速度快,這也是 *.tar.gz 比較流行的原因之一。
假設有這樣一種場景:我們需要打包某個文件夾(/root),但這個文件夾中的某個文件或者子文件夾不想打包進去(帶 etc 前綴)。也就是希望這個文件夾部分打包,部分不打包。可以執行以下指令:
tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root
加了 --exclude=/root/test.tar.gz 是為了排除自身,否則壓縮包中會包含一個大小為 0 的自身文件,這恐怕不是我們希望看到的:
通過 tar -ztvf test.tar.gz 就可以查看剛剛新打的壓縮包中所包含的文件列表:
使用命令 tar -ztvf etc.tar.gz 查看剛剛打好的壓縮包。注意要使用匹配的解壓縮算法才能正確解壓,比如示例中是 gz 作為后綴,所以加了 -z 選項表示使用 gzip 算法進行解壓。
部分輸出內容:
可以看到該命令把文件的權限、賬戶以及歸屬組也一并打印出來了。
而且還有一點很關鍵,這些文件都沒有根目錄。如果沒有拿掉根目錄,解壓縮后的文件名就會是絕對路徑, 亦即解壓縮后的數據一定會被放置 到 /etc/xxx 去 1 !這樣系統的 /etc 文件夾就會被覆蓋,后果很嚴重。所以,tar 打包指令默認都會去除放入包中文件的根目錄。除非通過 -P 顯示要求保留這些文件的根目錄。
(1)完全解壓
利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解壓到 /tmp。解壓成功后,就會在 /tmp 下看到 /etc 文件夾。
如果需要在本地路徑下直接解開,那直接執行 tar -zxvf etc.tar.gz 即可。
(2)部分解壓
假設我們需要把壓縮包(etc.tar.gz)中的 vconsole.conf 解壓出來。可以先執行以下命令,查詢出該文件所對應的相對路徑:
tar -ztvf etc.tar.gz | grep ‘console’
拿到需要解壓的文件路徑之后,就可以執行 tar -zxvf etc.tar.gz etc/vconsole.conf
進入當前目錄的 etc 文件夾,就可以看到 vconsole.conf 已經被解壓出來了:
【1】 鳥哥. 鳥哥的Linux私房菜 基礎學習篇[M]. 第四版. 北京: 人民郵電出版社,2018:359-362.
unzip [參數] 壓縮文件 [壓縮包中將被釋放的文件]
解壓zip壓縮包文件
-P 密碼 zip壓縮包的密碼
-d 路徑 指定解壓路徑
-n 解壓縮時不覆蓋原有文件
-f 覆蓋原有文件
-o 不經詢問,直接覆蓋原有文件
-u 覆蓋原有文件,并將壓縮文件中的其他文件解壓縮到目錄中
-l 顯示壓縮文件內所包含的文件 《Linux就該這么學》 一起學習linux
-t 檢查壓縮文件是否正確理里排除壓縮包中的指定文
unzip -p 'password' test.zip
Linux----UnZip命令 功能說明:解壓縮zip文件 語 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P 密碼][.zip文件][文件][-d 目錄][-x 文件] 或 unzip [-Z] 補充說明:unzip為.zip壓縮文件的解壓縮程序。 參 數:-c 將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換。-f 更新現有的文件。-l 顯示壓縮文件內所包含的文件。-p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。-t 檢查壓縮文件是否正確。-u 與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。-v 執行是時顯示詳細的信息。-z 僅顯示壓縮文件的備注文字。-a 對文本文件進行必要的字符轉換。-b 不要對文本文件進行字符轉換。 -C 壓縮文件中的文件名稱區分大小寫。-j 不處理壓縮文件中原有的目錄路徑。-L 將壓縮文件中的全部文件名改為小寫。-M 將輸出結果送到more程序處理。-n 解壓縮時不要覆蓋原有的文件。-o 不必先詢問用戶,unzip執行后覆蓋原有文件。-P密碼 使用zip的密碼選項。-q 執行時不顯示任何信息。-s 將文件名中的空白字符轉換為底線字符。-V 保留VMS的文件版本信息。-X 解壓縮時同時回存文件原來的UID/GID。[.zip文件] 指定.zip壓縮文件。[文件] 指定要處理.zip壓縮文件中的哪些文件。-d目錄 指定文件解壓縮后所要存儲的目錄。-x文件 指定不要處理.zip壓縮文件中的哪些文件。-Z unzip -Z等于執行zipinfo指令。 Linux命令:gunzip 功能說明:解壓文件。 語 法:gunzip [-acfhlLnNqrtvV][-s 壓縮字尾字符串][文件...] 或 gunzip [-acfhlLnNqrtvV][-s 壓縮字尾字符串][目錄]補充說明:gunzip是個使用廣泛的解壓縮程序,它用于解開被gzip壓縮過的文件,這些壓縮文件預設最后的擴展名為".gz"。事實上gunzip就是gzip的硬連接,因此不論是壓縮或解壓縮,都可通過gzip指令單獨完成。 參 數: -a或--ascii 使用ASCII文字模式。 -c或--stdout或--to-stdout 把解壓后的文件輸出到標準輸出設備。 -f或-force 強行解開壓縮文件,不理會文件名稱或硬連接是否存在以及該文件是否為符號連接。 -h或--help 在線幫助。 -l或--list 列出壓縮文件的相關信息。 -L或--license 顯示版本與版權信息。 -n或--no-name 解壓縮時,若壓縮文件內含有遠來的文件名稱及時間戳記,則將其忽略不予處理。 -N或--name 解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上。 -q或--quiet 不顯示警告信息。 -r或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。 -S壓縮字尾字符串或--suffix壓縮字尾字符串 更改壓縮字尾字符串。 -t或--test 測試壓縮文件是否正確無誤。 -v或--verbose 顯示指令執行過程。 -V或--version 顯示版本信息。
7z文件類型屬于一個壓縮文件類型,在linux要通過命令可以將其解壓出來,下面由我為大家整理了linux下解壓7z文件命令的相關知識,希望對大家有所幫助。
一、linux解壓7z文件命令詳解
解壓縮7z文件
7za x phpMyAdmin-3.3.8.1-all-languages.7z -r -o./
參數含義:
x 代表解壓縮文件,并且是按原始目錄樹解壓(還有個參數 e 也是解壓縮文件,但其會將所有文件都解壓到根下,而不是自己原有的文件夾下)
phpMyAdmin-3.3.8.1-all-languages.7z 是壓縮文件,這里我用phpadmin做測試。這里默認使用當前目錄下的phpMyAdmin-3.3.8.1-all-languages.7z
-r 表示遞歸解壓縮所有的子文件夾
-o 是指定解壓到的目錄,-o后是沒有空格的,直接接目錄。這一點需要注意。
二、補充:linux壓縮7z文件/文件夾命令
7za a -t7z -r Mytest.7z /opt/phpMyAdmin-3.3.8.1-all-languages/*
參數含義:
a 代表添加文件/文件夾到壓縮包
-t 是指定壓縮類型,這里定為7z,可不指定,因為7za默認壓縮類型就是7z。
-r 表示遞歸所有的子文件夾
Mytest.7z 是壓縮好后的壓縮包名
/opt/phpMyAdmin-3.3.8.1-all-languages/*:是壓縮目標。
注意:7za不僅僅支持.7z壓縮格式,還支持.tar.bz2等壓縮類型的。如上所述,用-t指定即可。
linux怎么解壓zip包,操作方法如下。
設備:華為筆記本。
系統:linux。
軟件:zip文件。
版本:8.0.11。
1、首先在電腦中,連接到linux遠程主機,并進入zip文件所在目錄,如下圖所示。
2、然后使用LS命令列出目錄中文件,確認zip文件的全稱,如下圖所示。
3、接著使用unzip命令解壓zip壓縮包,如下圖所示。
4、然后輸入inflating ,看到該單詞,表明ZIP解壓縮成功了,如下圖所示。
5、如果不放心,可以再次LS查看一下目錄中的文件,如下圖所示解壓成功了。