日常工作中,我們常常需要用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 主站蜘蛛池模板: 西峡县| 耿马| 杨浦区| 韩城市| 广南县| 东乌| 喜德县| 清丰县| 东宁县| 濉溪县| 教育| 淮南市| 丰城市| 铜陵市| 余姚市| 称多县| 科尔| 孝感市| 金阳县| 杭锦后旗| 浦江县| 梁平县| 绥棱县| 桃园县| 蒲江县| 连南| 衡山县| 汾阳市| 仁寿县| 夏河县| 怀柔区| 太谷县| 宜城市| 龙州县| 遂宁市| 进贤县| 阳朔县| 甘孜县| 兴城市| 荆门市| 南和县|