extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar e $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via extract()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
*代表归档文件的名字
(1)文件打包
$tar-cvf *.tar filename
-c –create 指导tar创建归档文件。
-v–verbose(adj,冗长的,啰嗦的)用于列出命令的执行过程,如果嫌麻烦,大可省略。
-f –file用于指定归档文件的文件名。
中间*.tar代表你自己起的归档文件的名字。
(2)解开tar文件
只需将-c选项改为-x即可:
$tar -xvf *.tar
-x 用于解开归档文件。
(3)-z,-j选项
tar程序另一个非常有用的选项是-z,使用这个选项的tar命令会自动调用gzip程序完成相关操作。
$tar-cvzf *.tar.gz shell/
此命令可以将shell目录打包,可以把shell/换成你要打包的文件名
解压*.tar.gz文件
$tar-xzf *.tar.gz
此命令相当于下面两个命令
$tar -cvf*.tar filename
$gzip*.tar
解压,同理。
tar-j命令用于调用bzip2程序,这个参数用法同-z完全一致。
下面命令用于将*.tar.bz2文件解压
$tar-xfj *tar.bz2
(3)tar的其他选项
3.1常用选项