Linux文件壓縮和(hé)解壓(yā)縮命令使用(yòng)詳解
在Linux係統中,我們通常使用的文件(jiàn)壓縮(suō)命令有:bunzip2 , bzip2 , cpio , gunzip , gzip ,split(切(qiē)割文(wén)件(jiàn)) , zgrep(在壓縮文件中尋(xún)找匹配的正(zhèng)則表達式), zip ,unzip, tar ,rar。
最後(hòu)四個是我比(bǐ)較常用的,今天的筆記就(jiù)寫這四個的好了。
1、tar:
tar命令:tar [選項...] [FILE]...
輸入“tar -?”獲取相關幫助(zhù)信息,tar的幫助文(wén)檔(dàng)給出示例如(rú)下:
示例
tar -cf archive.tar foo bar # 從(cóng)文件 foo 和 bar 創建歸檔文(wén)件archive.tar。
tar -tvf archive.tar # 詳細(xì)列舉歸檔文件 archive.tar中的(de)所有文件。
tar -xf archive.tar # 展開歸檔文件 archive.tar中的(de)所有文件。
如(rú)果是要壓(yā)縮(suō)文(wén)件夾的(de)話,輸(shū)入:
tar -cvf dirArchive.tar /dirName
同樣的,要將歸檔文(wén)件解壓到特定文件夾的話,則是:
tar -xvf dirArchive.tar /dirName
下麵複習一下。我們先人為做個(gè)文件(jiàn)夾出來,裏麵放置若幹文件夾和文(wén)件:
我(wǒ)們(men)首先創建一個tar文件,先壓縮一個(gè)文件夾(testdir):
tar -cf testdir.tar testdir
然後列出該壓縮包裏的結構(gòu):
接著我們向這個壓縮包追加(jiā)文(wén)件:
當(dāng)然了(le),上述單步操作沒(méi)必要做了,壓縮(suō)包裏麵已經有(yǒu)這(zhè)個文件。
然後再看看這(zhè)個壓縮包裏(lǐ)的結構(gòu):
如果使用示例中的-v選項,則會(huì)將壓縮包裏的文件屬性全部(bù)列出。包括(kuò)權(quán)限,創建(jiàn)人,字(zì)節(jiē)大小,修改時間和文件名(míng):
從tar壓縮文(wén)件中解壓並顯示文件列表:
一般來說比較常用(yòng)到的選項有主操作選(xuǎn)項:
另外再練習一下其他的一些用法:
1、當壓縮testdir目(mù)錄的(de)時候,需要將文件夾根路徑內的test文件排除(chú):
2、隻壓縮比指定時間更新(xīn)的(de)文件(jiàn):
3、壓縮所有文(wén)件名前(qián)綴為“te”的文件或文件(jiàn)夾(或者壓(yā)縮後綴為“st”的文件):
最後(hòu)補充一下常(cháng)用的選項:
-p, --preserve-permissions, --same-permissions
保留解(jiě)壓文件權(quán)限信息(默認隻(zhī)為超(chāo)級用戶服務)
--preserve 與 -p 和 -s 一樣
--same-owner 嚐試解壓時保持所有者關係一致(超級用戶默認此項)
-r, --append 追加文件至歸檔結尾
-u, --update 僅追加比歸檔中副本更新的文件
-k, --keep-old-files 解(jiě)壓時不要替換存在的文件
--keep-newer-files
不要替換比歸檔(dàng)中副本更新的已存在(zài)的文件
--no-overwrite-dir 保留已(yǐ)存在目錄的元數據
--overwrite 解壓時重寫存在的文件
--overwrite-dir
解壓時重寫已存(cún)在(zài)目錄的(de)元數據(默認)
--recursive-unlink 解壓(yā)目錄之前先清除目錄(lù)層次
--remove-files 在添加文(wén)件至歸(guī)檔後刪除它們(men)
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE 隻保存比 DATE-OR-FILE 更新(xīn)的文件
2、rar:
rar <command> -<switch 1> -<switch N> <archive> <files...><@listfiles...> <path_to_extract\>
Linux係統的默認軟件包裏是不(bú)包含rar壓縮工具的,所以我們先安(ān)裝rar:
sudo apt-get install rar
<command>選項隻可以從給(gěi)出的選項中輸(shū)入一個(gè)(且(qiě)隻能一個(gè)),我們看一下它提供的命(mìng)令(lìng)列(liè)表:
使用舉例,比如說現在我們要進(jìn)行文件壓縮:
在(zài)完成壓縮之後,我們可以通過命令l獲取壓縮文件內具體的結構信(xìn)息:
甚至可以通(tōng)過命令p將壓縮文件內的所有(yǒu)信(xìn)息輸出到控(kòng)製台:
<switch N>部分則(zé)提供了一些功能性的選(xuǎn)項(xiàng)。
比如說以(yǐ)追加性(xìng)的方式更(gèng)新壓(yā)縮文件可選用(yòng)-ad:
或者說想把某個文件排除在外可以選(xuǎn)用開關-x(注意,要排除的串要緊跟在x後(hòu)麵,不用加任何符號),比如我(wǒ)們這(zhè)裏(lǐ)想要將文件夾根路徑下(xià)凡是(shì)“te”開頭的文件都排除(chú):
還有加密,用開關-p,同(tóng)樣的,密碼緊隨p後(hòu)麵即可(kě):
如果(guǒ)相對文件進(jìn)行解壓或者直接打開文件(jiàn),就會要求你(nǐ)輸入密(mì)碼:
除此之外,還有一些常用的選項有(yǒu):
ag[format] Generate archive name using the current date
cl Convert names to lower case
cu Convert names to upper case
df Delete files after archiving
ed Do not add empty directories
dw Wipe files after archiving
其他(tā)的(de)命令和開關可參照(zhào)幫(bāng)助手冊。
3、zip , unzip:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
zip和unzip的使用方(fāng)法(fǎ)是(shì)比較簡(jiǎn)單的,甚(shèn)至(zhì)連幫(bāng)助文檔都寫得很簡單,所以也就(jiù)沒什麽筆記好寫的了,直(zhí)接看幫助文檔即(jí)可。
linux zip 命令詳解
功能說明:壓縮文件。
語 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目(mù)錄>][-ll][-n <字尾字符(fú)串(chuàn)>][-t <日期時間>][-<壓縮效率>][壓縮文件][文件...][-i <範本樣(yàng)式>][-x <範本樣式>]
補充說明:zip是個使(shǐ)用廣泛的壓縮程序,文件(jiàn)經它壓(yā)縮後會另外產生具(jù)有".zip"擴展名的壓縮文(wén)件。
參 數:
-A 調整可執行的自動解壓縮(suō)文(wén)件。
-b<工(gōng)作(zuò)目錄(lù)> 指定暫時存放文件的(de)目(mù)錄。
-c 替每(měi)個被壓縮的文(wén)件(jiàn)加上注釋。
-d 從壓縮文件內刪除指定的文(wén)件。
-D 壓縮文件內不建立目錄名稱。
-f 此參數(shù)的效(xiào)果(guǒ)和指定"-u"參數類似,但不僅更新既(jì)有文件,如果某些文件原本不存在於壓縮文(wén)件內(nèi),使(shǐ)用(yòng)本參數會(huì)一並將其加入壓縮文(wén)件中。
-F 嚐(cháng)試修複已損壞的壓縮文(wén)件。
-g 將文(wén)件壓(yā)縮後(hòu)附加(jiā)在既有的壓縮文件之後,而非另行建立新的(de)壓(yā)縮文(wén)件。
-h 在線幫助(zhù)。
-i<範(fàn)本樣式(shì)> 隻壓縮符合條件的(de)文件。
-j 隻保存文件(jiàn)名稱及其內(nèi)容,而不存放任何目錄名稱(chēng)。
-J 刪除壓縮文件前麵不必要的數據。
-k 使用MS-DOS兼容格式的(de)文件名稱。
-l 壓縮文(wén)件時,把(bǎ)LF字符置換成LF+CR字符。
-ll 壓縮(suō)文件(jiàn)時(shí),把LF+CR字符置換成LF字符。
-L 顯示版權信息。
-m 將文件壓縮並加入壓縮(suō)文件後(hòu),刪(shān)除原始文件,即把文件移到壓縮文件中。
-n<字尾字符串(chuàn)> 不(bú)壓(yā)縮具有特定字尾字符串的文件。
-o 以壓縮文件內(nèi)擁有最新更改時(shí)間(jiān)的文件
關鍵詞:Linux
閱(yuè)讀(dú)本文後您有什麽感(gǎn)想? 已有 人給出(chū)評價!
- 0
- 0
- 0
- 0
- 0
- 0