linux(ubuntu)文件的压缩格式有:
{".7z", ".bz2", ".gz", ".lzma", ".tar", ".tar.7z", ".tar.bz2", ".tar.gz", ".tar.lzma", ".tar.xz", ".xz", ".zip", ".rar"}
文件的压缩解压缩命令:
//7z
7z a XX.7z file1 file2 file3 //打包压缩文件到压缩包
7z a XX.7z Dir //打包压缩文件夹到压缩包
7z e XX.7z //解压所有文件到当前文件夹下
7z x XX.7z //按照层次解压缩到当前文件夹下
//.bz2
bzip2 file //压缩文件
bunzip2 XX.bz2 //解压文件
//.gz
gzip -r DIR //压缩文件夹下的文件
gzip file //压缩文件
gunzip file //解压缩文件
gzip -l XX.gz //显示压缩比
//.lzma
lzma XX.tar //压缩文件
lzma XX.tar.lzma //解压缩文件
//.tar
tar -cvf XX.tar file //打包文件
tar -xvf XX.tar DIR //解压到DIR文件夹内
//.tar.7z
7z a XX.tar.7z XX.tar //压缩文件
7z x XX.tar.7z //解压缩文件
//.tar.bz2
tar -jcvf XX.tar.bz2 file //打包压缩文件
tar -jxvf XX.tar.bz2 DIR //解压到DIR文件夹内
//.tar.gz
tar -zcvf XX.tar.gz file //打包压缩文件
tar -zxvf XX.tar.gz DIR //解压到DIR文件夹内
//.tar.lzma
tar cvf XX.tar.lzma DIR--lzma //压缩文件夹
tar xvf XX.tar.lzma --lzma //解压缩文件
//.tar.xz
xz XX.tar //压缩文件
unxz XX.tar.xz //解压缩文件
//.xz
xz file //压缩文件
unxz XX.xz //解压缩文件
//.zip
zip -r XX.zip file1 file... //压缩文件
unzip XX.zip //解压缩文件
//.rar
rar a XX.rar file1 file.. //压缩文件
rar a XX.rar DIR //打包压缩文件到文件夹
unrar e XX.rar //解压缩文件到当前文件夹下
unrar X XX.rar //按照层次解压缩到当前文件夹下
文件的解压缩shell程序:
#!/bin/bash
ARG_NUM=1 #输入参数数量
INPUT_FILE=$1
OUTPUT_DIR="."
Tail=(".7z",".bz2",".gz",".lzma",".tar",".tar.7z",".tar.bz2",".tar.gz",".tar.lzma",".tar.xz",".xz",".zip",".rar")
Deter_ending(){
echo $INPUT_FILE | sed s/`echo $INPUT_FILE|awk -F "." '{print $1}'`//g
}
Unpack(){
Ending=`Deter_ending`
echo $Ending;
case "$Ending" in
${Tail[0]}) 7z x $INPUT_FILE;;
${Tail[1]}) bunzip2 $INPUT_FILE;;
${Tail[2]}) gunzip $INPUT_FILE;;
${Tail[3]}) unlzma $INPUT_FILE;;
${Tail[4]}) tar xvf $INPUT_FILE;;
${Tail[5]}) 7z x $INPUT_FILE;;
${Tail[6]}) tar -jxvf $INPUT_FILE;;
${Tail[7]}) tar -zxvf $INPUT_FILE;;
${Tail[8]}) tar xvf $INPUT_FILE --lzma;;
${Tail[9]}) unxz $INPUT_FILE;;
${Tail[10]}) unzip $INPUT_FILE;;
${Tail[11]}) unxz $INPUT_FILE;;
${Tail[12]}) unrar x $INPUT_FILE;;
esac
}
if [ "$#" -lt "$ARG_NUM" ]
then
echo "Missing filename("less --help" for help)"
exit 66
fi
if [ "$INPUT_FILE" == "--help" ]
then
echo "Usage:[$0 filename],[$0 filename OUTPUT_DIR]"
fi
if [ -e "$INPUT_FILE" ]
then
Unpack
fi
(程序不完整,还需要调整)