tar压缩
压缩多个文件或者文件夹的命令
tar -czvf a.tar.gz(想压缩文件名) 源文件名1 源文件名2 源文件夹1 源文件夹2
参数:
c
创建一个压缩文件,如果只使用这个参数,不使用 z 参数,那么只会打包,不会压缩x
解开一个压缩文件z
是否使用 gzip 压缩或解压j
是否使用 bzip2 压缩或解压v
显示详细信息f
指定压缩后的文件名,后面要直接跟文件名,所以将 f 参数放到最后
举几个例子:
将a文件夹打包成a.tar但是不压缩
tar cvf a.tar arg
将a文件夹打包成a.tar.gz并使用 gzip 压缩
tar czvf a.tar.gz arg
将a文件夹打包成a.tar.gz并使用bzip2压缩
tar cjvf a.tar.bz2 arg
tar解压
Linux下常见的压缩包格式有5种:zip tar.gz tar.bz2 tar.xz tar.Z
其中tar是种打包格式,gz和bz2等后缀才是指代压缩方式:gzip和bzip2
filename.zip的解压:
unzip filename.zip
filename.tar.gz的解压:
tar -zxvf filename.tar.gz
其中zxvf含义分别如下
z
gzip压缩格式x
extract解压v
verbose详细信息f
file(file=archieve)文件
filename.tar.bz2的解压:
tar -jxvf filename.tar.bz2
j
指bzip2压缩格式
其它选项和tar.gz解压含义相同
filename.tar.xz的解压:
tar -Jxvf filename.tar.xz
注意J
大写
filename.tar.Z的解压:
tar -Zxvf filename.tar.Z
注意Z
大写
关于tar的详细命令可以
tar --help
事实上, 从1.15版本开始tar就可以自动识别压缩的格式,故不需人为区分压缩格式就能正确解压
tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z
压缩zip解压unzip缩命令
安装
apt-get install unzip
zip命令
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
unzip命令
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
o
不提示的情况下覆盖文件;d
-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
zip -r filename.zip file1 file2 file3 /usr/work/school
上面的命令把 file1、file2、 file3、以及 /usr/work/school 目录的内容(假设这个目录存在)压缩起来,然后放入 filename.zip 文件中。
解压unzip缩命令
unzip filename.zip
7Z
linux安装7z命令
apt-get install p7zip-full
带密码压缩
7z -p a test.7z test.txt
-p
添加密码
解压:
7z x test.7z
解压缩7z文件
7z x phpMyAdmin-3.3.8.1-all-languages.7z -r -o./
最新命令为7zr
参数含义:
x
代表解压缩文件,并且是按原始目录树解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)r
表示递归解压缩所有的子文件夹o
是指定解压到的目录,-o后是没有空格的,直接接目录。这一点需要注意。
压缩文件/文件夹
7z a -r test.7z ./*
参数含义:
a
代表添加文件/文件夹到压缩包t
是指定压缩类型,这里定为7z,可不指定,因为7za默认压缩类型就是7z。r
表示递归所有的子文件夹Mytest.7z
是压缩好后的压缩包名/opt/phpMyAdmin-3.3.8.1-all-languages/*
是压缩目标。
注意:7za不仅仅支持.7z压缩格式,还支持.tar.bz2等压缩类型的。如上所述,用-t指定即可。
unrar
RAR下载地址 64系统
安装unrar,rar
wget https://www.rarlab.com/rar/rarlinux-x64-5.8.b2.tar.gz
tar xvf rarlinux-x64-5.8.b2.tar.gz
cd rar
cp rar /usr/local/rar
cp unrar /usr/local/unrar
ln -s /usr/local/rar /usr/local/bin/rar
ln -s /usr/local/unrar /usr/local/bin/unrar
安装完毕后就有了RAR和UNRAR这两个程序
解压有密码的rar压缩包
unrar e -p filename.rar
输入密码后解压一个名为filename.rar的带密码压缩包
- unrar v test.rar #查看压缩文件中的文件
- unrar x test.rar /tmp #解压到指定文件夹
- unrar e test.rar #解压到当前文件夹
rar -p a test.rar test.txt
带密码压缩会提示输入两次密码。
解压:
unrar x test.rar
会提示输入密码。
使用tar与OpenSSL加密解密打包文件
在当前目录下有一个pma
目录的文件夹:
- 使用tar对文件压缩加密:
tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3
完成将得到一个pma.des3
的打包文件,用你设置的密码替换password
。
- 使用tar对加密文件解压:
dd if=pma.des3 |openssl des3 -d -k password|tar zxf -
注意:命令最后有-
,它将释放所有的文件。其中-k password
可以不使用,这样执行完命令后会提示你输入密码,加上-k
参数表示在程序中自动验证密码。