打包和压缩命令
tar:打包命令
zip: 压缩文件或目录
unzip:解压zip文件
gzip: 压缩文件或目录
gunzip:解压缩文件或目录
bzip:压缩文件(.bz2格式)
bunzip2 :bz2格式的解压缩命令
注意:在linux中,打包和压缩是不同概念
注意:tar是打包,gzip、bzip2就是压缩
注意:-f:使用档名,后面一定要跟文件名,不能加任何参数!!!
tar cjvf xxx.tar.bz2 xxx
Tar zcvf XXX.tar.gz XXXX
j 就是 bz
z 就是 gzip
bz 压缩比 gzip 高一点,xz . 7z(可以解决乱码问题)
-z : 是否同时具有gzip的属性?是否需要使用gzip压缩
-j:是否同时具有bzip2的属性?是否需要bzip2压缩
tar:用户打包命令
选项 | 功能 |
---|---|
-c | 将多个文件或目录进行打包 |
-f | 指定包的文件名 |
-v | 显示打包/解压文件过程 |
-x | 对文件进行解压操作 |
-t | 只查看tar包中有哪些文件或目录,不对tar包作解打包过程 |
tar命令可以打包多个文件或目录,只要用空格分开即可
zip: 压缩文件或目录
选项 | 功能 |
---|---|
-r | 递归压缩目录,及将指定目录下的所有文件以及子目录全部压缩 |
-m | 将文件压缩之后,删除原始文件,相当于把文件移动压缩文件中 |
– v | 显示详细的压缩过程信息 |
– u | 更新压缩文件,即往压缩文件中添加新文件 |
zip test.zip install.log install.log.syslog
zip -r dir1.zip dir1
unzip:解压zip文件
选项 | 功能 |
---|---|
-d | 将压缩文件解压到指定目录下 |
-n | 解压时不覆盖已经存在的文件 |
– o | 解压时覆盖已经存在的文件,并且无需用户确认 |
-v | 查看压缩文件的详细信息,包括压缩文件中包含的文件大小\文件名 |
gzip: 压缩文件或目录
选项 | 功能 |
---|---|
-c | 将压缩数据输出到标准输出中,并保存源文件 |
-r | 递归压缩指定目录下以及子目录下的所有文件 |
-v | 对于每个压缩和解压缩的文件,显示响应的文件名和压缩比 |
-I | 对每一个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩毕,未压缩文件的名词 |
gunzip:解压缩文件或目录
选项 | 功能 |
---|---|
-r | 递归处理,解压缩指定目录下以及子目录下的所有文件 |
-c | 把解压缩后的文件输出到标准输出设备 |
-f | 强制解压缩文件 |
-l | 列出压缩文件内容 |
bzip:压缩文件(.bz2格式)
选项 | 功能 |
---|---|
-d | 执行解压缩 |
-k | bzip2在压缩或解压缩任务完成后,会删除原始文件,若要保留原始,可使用此选项 |
-f | bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。 |
bunzip2 :bz2格式的解压缩命令
选项 | 功能 |
---|---|
-k | 解压缩后,默认会删除原来的压缩文件。若要保存压缩文件,需使用此参数 |
-f | 解压缩时,若输出的文件与现有文件同名是,默认不会覆盖现有的文件 |
只打包某些目录下的某一些文件
/home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
只解压压缩里面的某一个文件
在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了
保存文件其权限,加上一个-p参数
tar -czvpf /tmp/etc.tar.gz /etc
将/ect/打包后直接解压在/tmp底下。而不产生档案
Cd /tmp
Tar -cvf – /ect | tar -xvf –