日常工作中,我們常常需要用tar命令將歷史文件壓縮歸檔,再刪除源文件,以便節省空間。如果壓縮歸檔成一個文件,就比較簡單,用一條命令即可,如命令:tar -czf bak2013.tgz t2013/*就將t2013目錄下所有的文件打包成一個壓縮文件。但這樣的文件往往太大,使用起來也不方便,這時如果能將t2013目錄下的文件按子目錄打包,一個子目錄一個文件,這樣就方便使用了。
實現這樣的功能當然不可能是一條命令,用下面這個腳本就可以了:
# get directory namesubdir=`ls -l |grep ^d |awk '{printf $9" "}'`for dt in $subdirdoecho $dttar -czf $dt.tgz $dt/*#rm -r $dtdone如果是部分目錄中部分文件打包,只需要做相應的修改即可,如下所示:
# get directory namesubdir=`ls -ld 201212* |grep ^d |awk '{printf $9" "}'`for dt in $subdirdoecho $dttar -czf $dt.tgz $dt/03005*.datdone附:
tar 命令詳解
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是根據需要在壓縮或解壓檔案時可選的。
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
下面的參數-f是必須的
-f: 使用檔案名字,切記,這個參數是最后一個參數,后面只能接檔案名。
# tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
這條命令是解出all.tar包中所有文件,-t是解開的意思
壓縮
tar 主站蜘蛛池模板: 宁海县| 连山| 山阳县| 稷山县| 万宁市| 祁东县| 江阴市| 井研县| 莎车县| 左权县| 临武县| 黎城县| 乌海市| 彰武县| 婺源县| 陈巴尔虎旗| 安多县| 永顺县| 金溪县| 杭锦后旗| 巴中市| 义乌市| 申扎县| 巴东县| 唐山市| 华容县| 巴楚县| 稷山县| 汾阳市| 嘉善县| 葫芦岛市| 北票市| 滨海县| 枝江市| 五大连池市| 威海市| 琼中| 锡林郭勒盟| 民乐县| 张家界市| 镇宁|