第12章 壓縮命令與查找系統(tǒng)_第1頁
第12章 壓縮命令與查找系統(tǒng)_第2頁
第12章 壓縮命令與查找系統(tǒng)_第3頁
第12章 壓縮命令與查找系統(tǒng)_第4頁
第12章 壓縮命令與查找系統(tǒng)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第12章壓縮命令與查找系統(tǒng)12.3Shell壓縮指令

壓縮文件使用較少磁盤空間,并且比未壓縮的大文件下載速度要快。主要的壓縮工具如下:壓縮工具文件擴展名解壓工具gzip.gzgunzipbzip2.bz2bunzip2zip.zipunzip12.3.1compress指令

compress是個相當古老的Unix文件壓縮指令,壓縮后的文件會加上一個.z擴展名以區(qū)別于未壓縮的歸檔文件,壓縮后的文件能夠以uncompress解壓。若要將多個文件壓成一個壓縮文件,必須先將文件tar起來再壓縮。語法

compress[-d][file...]參數(shù)說明-d將壓縮檔解壓縮-r:連同目錄下的文件一起壓縮-c:輸出結(jié)果至標準輸出設(shè)備(一般指熒幕)范例一:將/etc/man.config復制到/tmp,并加以壓縮

[root@linux~]#cd/tmp

[root@linuxtmp]#cp/etc/manpath.config.

[root@linuxtmp]#compressmanpath.config

[root@linuxtmp]#ls-l

-rw-r--r--1rootroot2605Jul2711:43man.config.Z

范例二:將剛剛的壓縮檔解開

[root@linuxtmp]#compress-dmanpath.config.Z范例三:將manpath.config壓縮成另外一個文件來備份

[root@linuxtmp]#compress-cman.config>man.config.back.Z

[root@linuxtmp]#llmanpath.config*

-rw-r--r--1rootroot4506Jul2711:43man.config

-rw-r--r--1rootroot2605Jul2711:46man.config.back.Z

#這個-c的參數(shù)比較有趣!他會將壓縮過程的資料輸出到螢?zāi)簧?,而不是寫入成?file.Z文件。所以,我們可以透過資料流重導向的方法將資料輸出成為另一個檔名。12.3.2bzip2、bunzip2和bzcat指令

bzip2和bunzip2的功能基本相同,都是用來壓縮或解壓文件擴展名為bz2的命令,而bzcat命令則是用來讀取數(shù)據(jù)而不需要解開。語法

user@ubuntuer:~$bzip2[-dz]檔名

user@ubuntuer:~$bunzip2[-dz]檔名

user@ubuntuer:~$bzcat檔名.bz2參數(shù):

-d:解壓縮的參數(shù)

-z:壓縮的參數(shù)

-#:與gzip同樣的,都是在計算壓縮比的參數(shù),-9最佳,-1最快!范例:

范例一:將剛剛的/tmp/manpath.config以bzip2壓縮

user@ubuntuer:~tmp$bzip2-zmanpath.config

#此時man.config會變成man.config.bz2!范例二:將范例一的文件內(nèi)容讀出來!

user@ubuntuer:~tmp$bzcatmanpath.config.bz2

#此時螢?zāi)簧蠒@示man.config.bz2解壓縮之后的文件內(nèi)容??!范例三:將范例一的文件解壓縮

user@ubuntuer:~tmp$bzip2-dmanpath.config.bz2范例四:將范例三解開的manpath.config用最佳的壓縮比壓縮,并保留原本的文件

user@ubuntuer:~tmp$bzip2-9-cmanpath.config>man.config.bz212.3.3gzip、gunzip和zcat指令

gzip和gunzip的功能基本上相同,都是用來壓縮或解壓文件擴展名為gz的命令,而用zcat命令用來讀取數(shù)據(jù)而不需要解開。語法:

user@ubuntuer:~$gzip[-d#]檔名

user@ubuntuer:~$gunzip[-d#]檔名

user@ubuntuer:~$zcat檔名.gz

◆參數(shù):

-d:解壓縮的參數(shù);

-#:壓縮等級,-1最快,但是壓縮比最差、-9最慢,但是壓縮比最好!預設(shè)是-6~范例:范例一:將/etc/man.config複制到/tmp,并且以gzip壓縮

user@ubuntuer:~$cd/tmp

user@ubuntuer:~tmpcp/etc/man.config.

user@ubuntuer:~tmpgzipman.config

#此時man.config會變成man.config.gz!范例二:將范例一的文件內(nèi)容讀出來!

user@ubuntuer:~tmpzcatman.config.gz

#此時螢?zāi)簧蠒@示man.config.gz解壓縮之后的文件內(nèi)容?。》独簩⒎独坏奈募鈮嚎s

user@ubuntuer:tmp$gzip-dman.config.gz范例四:將范例三解開的man.config用最佳的壓縮比壓縮,并保留原本的文件

user@ubuntuer:tmp$gzip-9-cman.config>man.config.gz12.3.4.zip和unzip

zip和unzip命令基本功能和參數(shù)類似,都可以用來進行文件的壓縮和解壓縮。語法user@ubuntuer:~$zip[filename]filenameuser@ubuntuer:~$unzipfilename.zip例子

user@ubuntuer:~$ziptesttest

user@ubuntuer:~$unziptest.zip12.4Shell歸檔命令

Ubuntu和其他Linux一樣,主要的處理歸檔文件的指令有tar指令和cpio指令。12.4.1tar指令語法

user@ubuntuer:~$tar[-cxtzjvfpPN]文件與目錄....參數(shù):

-c:建立一個壓縮文件的參數(shù)指令(create的意思);

-x:解開一個壓縮文件的參數(shù)指令!

-t:查看tarfile里面的文件!

特別注意,在參數(shù)的下達中,c/x/t僅能存在一個不可同時存在,因為不可能同時壓縮與解壓縮。

-z:是否同時具有g(shù)zip的屬性?亦即是否需要用gzip壓縮?

-j:是否同時具有bzip2的屬性?亦即是否需要用bzip2壓縮?

-v:壓縮的過程中顯示文件.這個常用,但不建議用在背景執(zhí)行過程!

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

例如使用『tar-zcvfPtfilesfile』就是錯誤的寫法,要寫成

『tar-zcvPftfilesfile』才對喔!

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

-P:可以使用絕對路徑來壓縮!

-N:比后面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的文件中!

--excludeFILE:在壓縮的過程中,不要將FILE打包。范例:

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

user@ubuntuer:~$tar-cvf/tmp/etc.tar/etc<==僅打包,不壓縮!

user@ubuntuer:~$tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip壓縮

user@ubuntuer:~$tar-jcvf/tmp/etc.tar.bz2/etc<==打包后,以bzip2壓縮

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

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

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

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

#『tar:Removingleading`/'frommembernames』那是關(guān)於絕對路徑的特殊設(shè)定。范例二:查閱上述/tmp/etc.tar.gz文件內(nèi)有哪些文件?

user@ubuntuer:~$tar-ztvf/tmp/etc.tar.gz

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

#就得要加上z這個參數(shù)了!這很重要的!范例三:將/tmp/etc.tar.gz文件解壓縮在/usr/local/src底下

user@ubuntuer:~$cd/usr/local/src

[user@ubuntuer:/usr/local/src$

tar-zxvf/tmp/etc.tar.gz

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

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

#則解開的目錄會在/usr/local/src/etc呢!另外,如果您進入/usr/local/src/etc

#則會發(fā)現(xiàn),該目錄下的文件屬性與/etc/可能會有所不同喔!范例四:在/tmp底下,我只想要將/tmp/etc.tar.gz內(nèi)的etc/passwd解開而已

user@ubuntuer:~$cd/tmp

[user@ubuntuer:tmp$tar-zxvf/tmp/etc.tar.gzetc/passwd

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

#就可以透過這個方式來下達!注意到!etc.tar.gz內(nèi)的根目錄/是被拿掉了!范例五:將/etc/內(nèi)的所有文件備份下來,并且保存其權(quán)限!

user@ubuntuer:~$tar-zxvpf/tmp/etc.tar.gz/etc

#這個-p的屬性是很重要的,尤其是當您要保留原本文件的屬性時!范例六:在/home當中,比2005/06/01新的文件才備份

user@ubuntuer:~$tar-N'2005/06/01'-zcvfhome.tar.gz/home范例七:我要備份/home,/etc,但不要/home/dmtsai

user@ubuntuer:~$tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc范例八:將/etc/打包后直接解開在/tmp底下,而不產(chǎn)生文件!

user@ubuntuer:~$cd/tmp

user@ubuntuer:tmp$tar-cvf-/etc|tar-xvf-

#這個動作有點像是cp-r/etc/tmp啦~依舊是有其有用途的!

#要注意的地方在於輸出檔變成-而輸入檔也變成-,又有一個|存在~

#這分別代表standardoutput,standardinput與管線命令啦!

#這部分我們會在Bashshell時,再次提到這個指令跟大家再解釋啰!12.4.2cpio指令語法

user@ubuntuer:~$cpio-covB>[file|device]<==備份

user@ubuntuer:~$cpio-icduv<[file|device]<==還原

參數(shù):

-o:將資料copy輸出到文件或裝置上

-i:將資料自文件或裝置copy出來系統(tǒng)當中

-t:查看cpio建立的文件或裝置的內(nèi)容

-c:一種較新的portableformat方式儲存

-v:讓儲存的過程中文件名稱可以在螢?zāi)簧巷@示

-B:讓預設(shè)的Blocks可以增加至5120bytes,預設(shè)是512bytes!

這樣的好處是可以讓大文件的儲存速度加快(請參考i-nodes的觀念)

-d:自動建立目錄!由於cpio的內(nèi)容可能不是在同一個目錄內(nèi),

如此的話在反備份的過程會有問題!這個時候加上-d的話,

就可以自動的將需要的目錄建立起來了!

-u:自動的將較新的文件覆蓋較舊的文件!范例:

范例一:將所有系統(tǒng)上的資料通通寫入磁帶機內(nèi)!

[user@ubuntuer:~$find/-print|cpio-covB>/dev/st0

#一般來說,使用SCSI介面的磁帶機,代號是/dev/st0喔!

范例二:檢查磁帶機上面有什么文件?

user@ubuntuer:~$cpio-icdvt</dev/st0

[user@ubuntuer:~$cpio-icdvt</dev/st0>/tmp/content

#第一個動作當中,會將磁帶機內(nèi)的檔名列出到螢?zāi)簧厦妫覀兛梢酝高^第二個動作,

#將所有的檔名通通紀錄到/tmp/content文件去!

范例三:將磁帶上的資料還原回來~

[user@ubuntuer:~$cpio-icduv</dev/st0

#一般來說,使用SCSI介面的磁帶機,代號是/dev/st0喔!

范例四:將/etc底下的所有『文件』都備份到/root/etc.cpio中!

user@ubuntuer:~$find/etc-type-f|cpio-o>/root/etc.cpio

#這樣就能夠備份啰~您也可以將資料以cpio-i</root/etc.cpio

#來將資料捉出來?。。。?2.5文件查找

在ubuntu下的查找功能跟Windows下的功能很相似,但是ubuntu下的查找功能更加細化,提供更多的查詢參數(shù)設(shè)置。12.5.1文件搜索器

位置|搜索文件,進入ubuntu的文件搜索器。12.5.2find指令

find命令的作用是在目錄中搜索文件,它的使用權(quán)限是所有用戶。格式

find[路徑][參數(shù)]參數(shù)說明

-aminn:查找系統(tǒng)中最后N分鐘訪問的文件

-atimen:查找系統(tǒng)中最后n*24小時訪問的文件

-cminn:查找系統(tǒng)中最后N分鐘被改變狀態(tài)的文件

-ctimen:查找系統(tǒng)中最后n*24小時被改變狀態(tài)的文件

-mminn:查找系統(tǒng)中N分鐘以內(nèi)文件內(nèi)容被修改過的所有文件。

-mtimen:查找系統(tǒng)中n*24小時以內(nèi)文件內(nèi)容被修改過的所有文件。

-neverfile:查找比file還要新的所有文件。

使用名稱和文件屬性-name:按照文件名查找文件。-perm:按照文件權(quán)限來查找文件。-prune:使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那么-prune將被find命令忽略。-user:按照文件屬主來查找文件。-group:按照文件所屬的組來查找文件。-mtime-n+n:按照文件的更改時間來查找文件,-n表示文件更改時間距現(xiàn)在n天以內(nèi),+n表示文件更改時間距現(xiàn)在n天以前。find命令還有-atime和-ctime選項,但它們都和-mtime選項。type查找某一類型的文件,諸如:b-塊設(shè)備文件。d-目錄。c-字符設(shè)備文件。p-管道文件。l-符號鏈接文件。f-普通文件。1、查找當前用戶主目錄下名為aa的文件或目錄:zcq@zcq-laptop:~$find-nameaa

2、查找當前用戶主目錄下包含aa的文件或目錄:zcq@zcq-laptop:~$find-name‘a(chǎn)a*’

3、尋找用戶主目錄下一天內(nèi)新增的目錄或文件。zcq@zcq-laptop:~$find-ctime1

4、尋找/home/zcq/a目錄下比.bashrc還要新的文件。zcq@zcq-laptop:~$find/home/zcq/a-newer.bashrc5、為了查找系統(tǒng)中所有屬于root組的文件;zcq@zcq-laptop:~$$find-grouproot6、尋找/dev下文件屬性為b的文件。zcq@zcq-laptop:~$find/dev-typeb12.6文件定位

在ubuntu下有相當優(yōu)異的文件定位系統(tǒng),包括“最近的文檔”,還有常用的一些Shell命令,但通常find不是很常用的,因為除了速度慢之外,它也很耗費硬盤資源,通常情況下我們都是先使用whereis或者是locate來檢查,如果真的找不到才用find來查找。這是因為whereis或者是locate是利用數(shù)據(jù)庫來查找數(shù)據(jù),所以相當?shù)目?,而且實際并沒有搜尋硬盤,因此比較省時間。12.6.1最近文檔窗口“位置”|“最近的文檔”以查看最近看過或修改過的文件。12.6.2搜索和索引編制“系統(tǒng)”|“首選項”|“搜索和索引編制”

通過這個設(shè)置窗口,用戶可以定制索引文件的方方面面,包括指定索引文件的監(jiān)視路徑和非監(jiān)視路徑,排除指定的文件或文件類型,設(shè)定是否對郵件進行監(jiān)視等。除此之外,為了提高搜索性能,還可以對索引文件的大小、內(nèi)存占用等進行設(shè)置,以滿足用戶對系統(tǒng)部署的要求。12.6.3which指令

which命令能夠按PATH變量所規(guī)定的路徑進行查找。語法

user@ubuntuer:~$which[文件名稱]

補充說明:which指令會在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件。參數(shù):

-n<文件名長度>指定文件名長度,指定的長度必須大于或等于所有文件中最長的文件名。

-p<文件名長度>與-n參數(shù)相同,但此處的<文件名長度>包括了文件的路徑。

-w指定輸出時欄位的寬度。

-V顯示版本信息例子

例如,現(xiàn)在想知道which命令本身的絕對路徑,可以下達命令:

#which

which這樣查詢到的結(jié)果為:

/usr/bin/which

Which命令一般只查詢到第一個匹配的結(jié)果,如果想將所有匹配的結(jié)果全部顯示出來可以加上-a參數(shù)。12.6.4whereis指令

whereis命令會在指定的目錄中查找符合條件的文件。語法

user@ubuntuer:~$whereis[-bmsu]

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論