學(xué)習(xí)的內(nèi)容來(lái)自于Linux Shell腳本攻略(2)
內(nèi)容只做了簡(jiǎn)單的記錄羔挡,方便自己學(xué)習(xí)
shell 命令查詢地址:http://man.linuxde.net/
用Tar歸檔
tar命令可以對(duì)文件進(jìn)行歸檔。他最初時(shí)設(shè)計(jì)用來(lái)將數(shù)據(jù)存儲(chǔ)再磁帶上迷捧。
tar可以將多個(gè)文件和文件夾保存為單個(gè)文件,同時(shí)還能保留所有的文本屬性仪吧,如所有者催首,權(quán)限等。由tar創(chuàng)建的文件通常稱為T(mén)arball
支持的一些參數(shù)
A 合并歸檔文件
c 或者--create 建立新的備份文件
d 記錄文件的差別
r 添加文件到已經(jīng)歸檔的文件
u 根據(jù)時(shí)間戳判斷是否添加文件
x 或者--extract或--get 從備份文件中提取文件到當(dāng)前目錄
C(目錄) 與x搭配,在解壓縮的時(shí)候指定解壓縮的地址
f 或者--file 指定備份文件
v 或者--verbose 冗長(zhǎng)模式朱巨,顯示指令執(zhí)行過(guò)程
t 或者--list 列出備份文件內(nèi)容
--delete 刪除文件
1)用tar對(duì)文件進(jìn)行歸檔
tar -cf output.tar file1 file2 file3..
2)使用選項(xiàng)-t理出歸檔文件中包含的文件
tar -tf output.tar
3)在歸檔或者列出歸檔的時(shí)候獲得更多信息史翘。使用-v或者-vv
tar -tvf output.tar
4)解壓縮文件
tar -xf output.tar
指定壓縮文件中的一些文件進(jìn)行解壓縮(部分提取)
tar -xf output.tar file1 file2
5)合并歸檔文件
tar -Af file1.tar file2.tar
6)歸檔文件重名的問(wèn)題
我們?cè)跉w檔的過(guò)程中放進(jìn)了兩個(gè)相同的文件冀续,接下來(lái)我又使用了-rf追加進(jìn)入了一個(gè)新的文件
同樣是與原文件同名琼讽,這個(gè)時(shí)候我們會(huì)發(fā)現(xiàn)我們無(wú)法區(qū)別哪一個(gè)是新的文件哪一個(gè)是舊的文件
使用-u更新選項(xiàng)可以指明,只有比歸檔文件中的同名文件更新時(shí)才會(huì)被添加
使用-v 或者-vv查看時(shí)間戳洪唐,現(xiàn)在我們?cè)偻锩孀芳右粋€(gè)printf_sh.sh文件
首先我們先改變這個(gè)文件的時(shí)間戳钻蹬,使用touch或者vim編輯文件
修改之前
修改之后
再把這個(gè)文件追加進(jìn)去
雖然沒(méi)有覆蓋上面之前的文件,但是再提取文件的時(shí)候凭需,他會(huì)自動(dòng)選擇最近時(shí)間戳的文件
比較歸檔文件與文件系統(tǒng)中的內(nèi)容
-d diff
tar -df otput.tar
時(shí)間不一樣问欠,大小不一樣。為什么會(huì)有兩個(gè)不同
因?yàn)檫@個(gè)歸檔文件中一共有三個(gè)printf_sh.sh
其中有一個(gè)是我現(xiàn)在的文件粒蜈,其他兩個(gè)文件是我修改以前的文件顺献,因此會(huì)出現(xiàn)兩個(gè)
從歸檔文件中和刪除文件
tar -f output.tar --delete file1 file2
或者
tar --delete --file output.tar file1
注意:tar并不是壓縮文件,而是歸檔文件
不同的tar選項(xiàng)可以用來(lái)指定不同的壓縮格式
-j 指定bunzip2格式
-z 指定gzip格式
--lzma指定lzma格式
tar可以通過(guò)查看輸出或輸入文件的擴(kuò)展名來(lái)進(jìn)行壓縮 -a
從歸檔文件中排除部分文件
tar -cf output.tar * --exclude "*.txt"
樣式要使用雙引號(hào)來(lái)使用
使用文件列表排除
創(chuàng)建一個(gè)文件list
tar -cf outpu.tar * -X list
排除版本控制目錄
tar --exclude-vsc -czvvf output.tar file
打印總字節(jié)數(shù)
-totals
使用gzip壓縮數(shù)據(jù)
1)使用gzip壓縮文件
2)解壓文件
gunzip filename.gz
3)列出壓縮文件的屬性信息
gzip -l filename.gz
4)從stdin中讀入文件枯怖,也可以將壓縮文件寫(xiě)出stdout
5)指定級(jí)別 --fast --best
其他的壓縮
跟tar 和gzip很相似還有bzip2 和zip 以及l(fā)zma pbzip