新聞中心
Linux - CentOS 7 - 常用解壓命令 - xz
xz命令在linux不是常用,因?yàn)閤z命令壓縮時(shí)間較長(zhǎng)。但xz也有它的優(yōu)勢(shì),xz解壓率較高,并且可以指定壓縮率,壓縮率由-0 到 -9參數(shù)決定,數(shù)字越大壓縮率越高。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),仙居企業(yè)網(wǎng)站建設(shè),仙居品牌網(wǎng)站建設(shè),網(wǎng)站定制,仙居網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,仙居網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
參數(shù)解釋
實(shí)例
注意,如果是.tar.xz包,需要使用xz先將其解壓,再用tar解壓
xz文件如何解壓 linux?
下載一個(gè)xz壓縮包并解壓。
其他方法:
一、通過(guò) yum裝個(gè)xz壓縮包,然后解壓,操作如下:
yum search xz
xz -d 你的文件.tar.xz
tar -xvf 你的文件.tar.xz
二、創(chuàng)建或解壓tar.xz文件的方法
習(xí)慣了 tar czvf 或 tar xzvf 的人可能碰到 tar.xz也會(huì)想用單一命令搞定解壓或壓縮。
其實(shí)不行 tar里面沒(méi)有征對(duì)xz格式的參數(shù)比如 z是針對(duì) gzip,j是針對(duì) bzip2。
創(chuàng)建tar.xz文件:只要先 tar cvf xxx.tar xxx/ 這樣創(chuàng)建xxx.tar文件先,然后使用 xz -z xxx.tar 來(lái)將 xxx.tar壓縮成為 xxx.tar.xz
linux怎么裝后綴為tar.xz的軟件安裝包?
首先:\x0d\x0a你需要了解xz壓縮工具,具體百度(貌似比bzip2和gzip好用)..總之凡是以.xz結(jié)尾的都可以用命令unxzfilename解壓..解壓后就是tar文件.\x0d\x0atar文件直接tarzxffilename就行了...\x0d\x0a\x0d\x0a另:\x0d\x0a一般的都是.tar.gz文件直接用tar-xzvffilename.tar.gz就能解壓解檔....
Linux:文件解壓、復(fù)制和移動(dòng)的若干坑
Linux下進(jìn)行文件的解壓、復(fù)制、移動(dòng)應(yīng)該是最常見(jiàn)的操作了。尤其是我們?cè)陧?xiàng)目中使用大量的數(shù)據(jù)集文件(比如機(jī)器學(xué)習(xí))文件。然而使用這些命令時(shí)一不留神就會(huì)掉進(jìn)坑里,這篇文章我們就來(lái)細(xì)數(shù)用Shell進(jìn)行文件操作的這些坑。
Linux下壓縮文件的常見(jiàn)擴(kuò)展名包括 .gz , .tar , .tar.gz , .zip 等。這些壓縮格式都能夠跨平臺(tái)(Windows/Mac/Linux)使用。下面我們以 .zip 文件為例子來(lái)講解。我們已知一個(gè)文本文件壓縮包 test.zip ,想把它解壓,很簡(jiǎn)單,運(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 是待壓縮的文件列表。于是,我們這樣寫(xiě)即可成功壓縮:
當(dāng)然, zip 也支持將多個(gè)文件壓縮:
此時(shí)我們發(fā)現(xiàn)再解壓 test3.zip 會(huì)發(fā)現(xiàn)重新得到了兩個(gè)原始文件:
zip 也支持對(duì)目錄壓縮,如我們嘗試壓縮 test 目錄:
此時(shí)再解壓 test4.zip 則會(huì)重新生成 test 目錄:
不過(guò), zip 是將輸入的文件列表 分別 進(jìn)行壓縮的操作,即是對(duì)目錄來(lái)進(jìn)行壓縮也是對(duì)目錄內(nèi)的所有文件one-by-one的操作。那我們需要將很多文件先打包成一個(gè)文件,然后再壓縮呢?此時(shí)就要用到 tar 了。
很多人誤解 tar 是個(gè)壓縮命令,其實(shí)壓縮命令是 gzip 、 xz 以及我們上文提到的 zip 這些。 tar 是個(gè)打包命令,只不過(guò)附帶壓縮與解壓的功能。 tar 的選項(xiàng)多如牛毛,為了減輕大家的記憶負(fù)擔(dān),我們只介紹下面兩個(gè)選項(xiàng):
-c : 建立打包文件(可搭配 -v 將過(guò)程中打包的文件可視化);
-x :解包或解壓縮的功能(可搭配 -C 在特定目錄解壓);
(其實(shí)還有表示通過(guò)gzip進(jìn)行壓縮/解壓縮的 -z ,通過(guò)bzip2的支持進(jìn)行壓縮/解壓縮的 -j ,通過(guò)xz的支持進(jìn)行壓縮解壓縮的 -J 等,但我們這里統(tǒng)一用 .zip 示范,就省去這些參數(shù)了)
那么,我們只需要記住下面的命令即可:
壓縮: tar -cv -f filename.zip 要被壓縮的文件或目錄名稱(chēng)
解壓縮: tar -xv -f filename.zip -C 欲解壓的目錄(這個(gè)目錄必須已經(jīng)存在)
注意,壓縮傳參順序是壓縮后的.zip文件在前,壓縮前的文件在后 ,別搞錯(cuò)了。(讓人聯(lián)想到gcc編譯器,不過(guò) gcc 傳參時(shí)規(guī)定是 -o output_file.out 的形式來(lái)指定輸出的可執(zhí)行文件,就回避了這個(gè)順序問(wèn)題)
比如,我們要將 test 文件夾(該文件夾下有一個(gè) test.txt 文件)壓縮,可以運(yùn)行如下命令:
然后將其解壓到當(dāng)前目錄,可運(yùn)行如下命令:
多個(gè)文件壓縮:
然后將其解壓到當(dāng)前目錄:
由上面所說(shuō), zip / unzip 和 tar 都是壓縮什么解壓出來(lái)就是什么,原來(lái)是目錄就是目錄,原來(lái)沒(méi)目錄不會(huì)幫你自動(dòng)生成一個(gè)目錄 ,但Linux或Mac系統(tǒng)的可視化壓縮工具就不一樣了(在Mac中被稱(chēng)為「歸檔實(shí)用工具」)。Mac中對(duì)目錄壓縮時(shí)壓縮命令和 tar 命令是等效的,比如我們想用Mac自帶的壓縮工具壓縮 test 文件夾:
會(huì)生成對(duì)應(yīng)的歸檔文件:
再解壓會(huì)得到同樣的文件夾(會(huì)自動(dòng)幫我們重命名),不會(huì)幫我們生成多余的目錄:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
它會(huì)自動(dòng)幫我們生成一個(gè)名為 歸檔.zip 的文件:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
這個(gè)文件夾內(nèi)部才是我們需要的文件:
這在對(duì)大量文件操作時(shí)需要額外注意,否則會(huì)白白開(kāi)銷(xiāo)你一次拷貝文件的時(shí)間!
我們緊接著上面的情景。假設(shè)我們當(dāng)前的目錄為項(xiàng)目目錄,而我們手滑使用了系統(tǒng)自帶的可視化解壓工具生成了一個(gè)多余的目錄。我們接下來(lái)要把系統(tǒng)生成的多余的 歸檔 文件夾里的文件拷貝到當(dāng)前目錄,那么我們可以使用帶 r 參數(shù)的 cp 命令:
這里 -r 參數(shù)表示遞歸復(fù)制命令,用于目錄的遞歸復(fù)制。注意命令中的 歸檔/ 表示 歸檔 目錄下的所有文件,意思和 歸檔/* 相同:
選項(xiàng)參數(shù) -r 寫(xiě)成 -R 是等效的:
但如果直接傳入?yún)?shù) 歸檔 ,則表示將這個(gè)目錄整個(gè)地復(fù)制:
同一個(gè)目錄下不可能有兩個(gè)相同名稱(chēng)的子目錄,這當(dāng)然就會(huì)出錯(cuò),當(dāng)然我們可以將其復(fù)制到另外一個(gè)目錄里:
你可能要問(wèn),加 r 和不加 r 有啥區(qū)別?如果不加 r ,則默認(rèn)是跳過(guò)目錄的,也就是說(shuō)只能copy文件:
我們還是緊接著上面的場(chǎng)景。假定我們已經(jīng)將 歸檔 文件夾中的 test.txt 、 test2.txt 成功拷貝到當(dāng)前項(xiàng)目目錄了。現(xiàn)在我們有了個(gè)新的需求:我們?cè)陧?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 語(yǔ)句時(shí)要格外小心,因?yàn)樗扔幸苿?dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!
有移動(dòng)到目錄的作用,也有重命名的作用,一不注意就可能出錯(cuò)!
就可能出錯(cuò)!
說(shuō)說(shuō) Linux 中的壓縮與解壓縮指令(tar)
tar 的功能類(lèi)似于 Windows 中的 WinRAR。它可以將多個(gè)目錄或文件打包成一個(gè)大文件,在打包的過(guò)程中還可以透過(guò) gzip/bzip2/xz 的支持,對(duì)文件進(jìn)行壓縮 1 。
tar 的選項(xiàng)參數(shù)很多,主要用到的有以下這些:
還是太多,記不住怎么辦? 記住下面這些最常用的命令即可:
總結(jié)一下:z 為gzip;j 為bzip2;J 為xz。c 為壓縮;t 為查詢(xún);x 為解壓縮。最后跟著 vf。f 一定要是最后一個(gè),如果放在其他選項(xiàng)之前,tar 就會(huì)把文件名搞錯(cuò)。比如 tar -zcfv xxx 命令,tar 指令就會(huì)認(rèn)為壓縮文件名為 v!
壓縮的文件名稱(chēng)要根據(jù)壓縮算法加上響應(yīng)的后綴:
只有知道了壓縮算法,我們才能解的出來(lái),你說(shuō)是嗎?所以文件名規(guī)范很重要。
假設(shè)我們需要備份 /etc 文件夾,把它打成一個(gè)壓縮包 1 。這在實(shí)際應(yīng)用中很常見(jiàn),因?yàn)?/etc 文件夾存放了系統(tǒng)主要配置文件。在英文中完整單詞是etc.,也就是后面會(huì)帶上一個(gè)句點(diǎn),表示“等等”之意。
接下來(lái),我們分別使用 gzip、bzip2與 xz 算法對(duì) /etc 文件夾進(jìn)行打包壓縮。
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 的壓縮速度最慢。
從大小上來(lái)看,xz 的壓縮率最高,而gzip 壓縮率最差。
壓縮率高,自然需要時(shí)間成本。因此需要壓縮的文件夾很大,那么就要多多考慮時(shí)間成本咯。因?yàn)?gzip 壓縮速度快,這也是 *.tar.gz 比較流行的原因之一。
假設(shè)有這樣一種場(chǎng)景:我們需要打包某個(gè)文件夾(/root),但這個(gè)文件夾中的某個(gè)文件或者子文件夾不想打包進(jìn)去(帶 etc 前綴)。也就是希望這個(gè)文件夾部分打包,部分不打包。可以執(zhí)行以下指令:
tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root
加了 --exclude=/root/test.tar.gz 是為了排除自身,否則壓縮包中會(huì)包含一個(gè)大小為 0 的自身文件,這恐怕不是我們希望看到的:
通過(guò) tar -ztvf test.tar.gz 就可以查看剛剛新打的壓縮包中所包含的文件列表:
使用命令 tar -ztvf etc.tar.gz 查看剛剛打好的壓縮包。注意要使用匹配的解壓縮算法才能正確解壓,比如示例中是 gz 作為后綴,所以加了 -z 選項(xiàng)表示使用 gzip 算法進(jìn)行解壓。
部分輸出內(nèi)容:
可以看到該命令把文件的權(quán)限、賬戶(hù)以及歸屬組也一并打印出來(lái)了。
而且還有一點(diǎn)很關(guān)鍵,這些文件都沒(méi)有根目錄。如果沒(méi)有拿掉根目錄,解壓縮后的文件名就會(huì)是絕對(duì)路徑, 亦即解壓縮后的數(shù)據(jù)一定會(huì)被放置 到 /etc/xxx 去 1 !這樣系統(tǒng)的 /etc 文件夾就會(huì)被覆蓋,后果很?chē)?yán)重。所以,tar 打包指令默認(rèn)都會(huì)去除放入包中文件的根目錄。除非通過(guò) -P 顯示要求保留這些文件的根目錄。
(1)完全解壓
利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解壓到 /tmp。解壓成功后,就會(huì)在 /tmp 下看到 /etc 文件夾。
如果需要在本地路徑下直接解開(kāi),那直接執(zhí)行 tar -zxvf etc.tar.gz 即可。
(2)部分解壓
假設(shè)我們需要把壓縮包(etc.tar.gz)中的 vconsole.conf 解壓出來(lái)。可以先執(zhí)行以下命令,查詢(xún)出該文件所對(duì)應(yīng)的相對(duì)路徑:
tar -ztvf etc.tar.gz | grep ‘console’
拿到需要解壓的文件路徑之后,就可以執(zhí)行 tar -zxvf etc.tar.gz etc/vconsole.conf
進(jìn)入當(dāng)前目錄的 etc 文件夾,就可以看到 vconsole.conf 已經(jīng)被解壓出來(lái)了:
【1】 鳥(niǎo)哥. 鳥(niǎo)哥的Linux私房菜 基礎(chǔ)學(xué)習(xí)篇[M]. 第四版. 北京: 人民郵電出版社,2018:359-362.
linux基本命令
[root@localhost ~]#
用戶(hù) @ 主機(jī)名 當(dāng)前目錄
總結(jié)Linux命令輸入規(guī)律:
如何輸入命令:
命令 [選項(xiàng)]([參數(shù)])[選項(xiàng)的值]([參數(shù)的值])空格分割
常見(jiàn)選項(xiàng)(參數(shù)):-h --help ; 特點(diǎn):選項(xiàng)前有一個(gè) -字母 或 --加單詞
例:find /home -name mk
命令后:左邊是源 右邊是目標(biāo)
例:cp a.txt a.txt.bak
作用:查看目錄下的文檔
語(yǔ)法:ls 目錄
-l 顯示詳細(xì)信息
-a 顯示隱藏文件
. 當(dāng)時(shí)目錄
.. 上級(jí)目錄
-d 查看目錄
-h 增強(qiáng)可讀性
作用:查看當(dāng)前所在的路徑
語(yǔ)法:pwd
例:[root@iZ9403omxhxZ html]# pwd
/var/www/html
作用:切換目錄
語(yǔ)法:cd 目錄名
cd 回到用戶(hù)的家目錄
cd ~ 回到-用戶(hù)的家目錄
cd - 回到上級(jí)切換時(shí)目錄
切換到/etc下
[root@localhost html]# cd /etc/
切換到/etc/sysconfig/
[root@localhost sysconfig]# cd /etc/sysconfig/
-h --help
man find
shutdow、init 、reboot
作用:關(guān)機(jī),重啟,定時(shí)關(guān)機(jī)
-r #重啟
-h #關(guān)機(jī)
-h +2 # 2分鐘后關(guān)機(jī)
-c
shutdown -h 22:00
作用:切換系統(tǒng)級(jí)別
語(yǔ)法:init 0~6
init 0命令用于立即將系統(tǒng)運(yùn)行級(jí)別切換為0,即關(guān)機(jī);
init 6命令用于將系統(tǒng)運(yùn)行級(jí)別切換為6,即重新啟動(dòng)。
0是關(guān)機(jī)
1是單用戶(hù)
2是多用戶(hù),不聯(lián)網(wǎng)
3是多用戶(hù)
4是不使用的
5是xwindows,也就是有界面的
6是重啟
自己去查下reboot怎么使用吧,這里就不過(guò)多介紹了reboot --help
[root@localhost~]# runlevel
N 3
語(yǔ)法:
ln(選項(xiàng))(參數(shù))
它的功能是為某一個(gè)文件在另外一個(gè)位置建立一個(gè)同不的鏈接,這個(gè)命令最常用的參數(shù)是-s,具體用法是:ln –s 源文件 目標(biāo)文件。
在此我們只介紹下軟鏈接。
我們?yōu)閖s文件夾建一個(gè)軟鏈接
我們?yōu)?var/www/html/forestry/js/ 在/root/目錄下建立一個(gè)名叫js2的軟鏈接。
圖中我們可以看到j(luò)s2的連接目錄是/var/www/html/forestry/js/
文章標(biāo)題:linux系統(tǒng)中xz命令,linux安裝xz
文章轉(zhuǎn)載:http://ef60e0e.cn/article/hoecoi.html