1、gzip 和 gunzip 指令
基本语法:
- gzip 文件
- gunzip 文件名.gz
功能:
- gzip用于压缩文件,但是只能将文件压缩为 *.gz 文件
- gunzip用于解压文件
示例:
gzip压缩,将 /home 下的 hello.txt 文件进行压缩
gunzip 解压缩,将 /home 下的 hello.txt.gz 文件进行解压缩
2、zip 和 unzip 指令
基本语法:
- zip [选项] XXX.zip
- unzip [选项] XXX.zip
功能:
- zip 将文件或目录进行压缩
- unzip 解压压缩文件
zip常用选项:
-r :递归压缩,压缩目录
unzip 常用选项:
-d :指定解压后文件的存放目录,不指定默认存放到当前目录
示例:
将/ home 下的所有文件压缩到 myhome.zip中。
zip -r myhome.zip /home/
此操作把home本身也压缩到压缩文件中。还可以写成 zip -r myhome.zip /home/*
将 myhome.zip 解压到 /opt/tmp 目录下
unzip -d /opt/tmp /home/myhome.zip
3、tar指令
基本语法:
tar [选项] XXX.tar.gz 打包的内容
功能:
打包指令,进行打包目录,最后打包后的文件是 .tar.gz 文件
常用选项
选项 |
功能说明 |
示例命令 |
-c |
创建一个新的归档文件 |
tar -cvf archive.tar file1 file2 |
-x |
解压一个归档文件 |
tar -xvf archive.tar |
-v |
显示操作的详细过程(verbose 模式) |
tar -cvf archive.tar file1 file2 |
-f |
指定归档文件的文件名(必须是tar命令的最后一个选项) |
tar -cf archive.tar file1 file2 |
-z |
使用 gzip 压缩归档文件 |
tar -czvf archive.tar.gz file1 file2 |
-j |
使用 bzip2 压缩归档文件 |
tar -cjvf archive.tar.bz2 file1 file2 |
-J |
使用 xz 压缩归档文件 |
tar -cJvf archive.tar.xz file1 file2 |
-t |
查看归档文件的内容 |
tar -tvf archive.tar |
-r |
向已有的归档文件中添加文件 |
tar -rvf archive.tar file3 |
-u |
更新归档文件,添加那些比归档中文件更新的文件 |
tar -uvf archive.tar file1 |
-C |
切换到指定目录后再执行tar操作(改变目录) |
tar -cvf archive.tar -C /path/to/dir file1 |
--remove-files |
在归档后删除源文件 |
tar --remove-files -cvf archive.tar file1 |
--exclude |
排除指定的文件或目录 |
tar --exclude="*.log" -cvf archive.tar directory |
--strip-components |
解压时去掉指定的目录层级 |
tar -xv --strip-components=1 -f archive.tar |
- -c:创建新的归档文件。
- -x:解压归档文件。
- -v:启用详细模式,显示操作过程。
- -f:指定归档文件的名称。
- -z:使用 gzip 压缩归档文件,通常用于 .tar.gz 或 .tgz 格式。
- -j:使用 bzip2 压缩归档文件,通常用于 .tar.bz2 格式。
- -J:使用 xz 压缩归档文件,通常用于 .tar.xz 格式。
- -t:查看归档文件的内容而不解压。
- -r:向归档文件中添加文件。
- -u:更新归档文件,通常用来添加更新过的文件。
- -C:在归档文件操作之前切换到指定目录。
- --remove-files:在归档后自动删除源文件。
- --exclude:排除某些文件或目录。
- --strip-components:解压时删除指定数量的目录层级,通常用于解压归档时避免路径问题。
示例:
压缩多个文件,将/home/pig.txt和/home/cat.txt 压缩成 pc.tar.gz。压缩多个文件时,不同文件之间用空格隔开
将/home 的文件夹 压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
将 pc.tar.gz 解压到当前目录
将myhome.tar.gz 解压到 /opt/tmp2目录下
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2