在 Linux 中用
tar来存储或者展开.tar、.tar.gz的存档文件,必须配合参数使用。
命令
独立参数
| 参数 | 作用 |
|---|---|
| -c | 建立压缩档案 |
| -x | 解压 |
| -t | 查看内容 |
| -r | 向压缩归档文件末尾追加文件 |
| -u | 更新原压缩包中的文件 |
这五个是独立的命令参数,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。
常规参数
下面的参数是根据需要在压缩或解压档案时可选的:
| 参数 | 作用 |
|---|---|
| -z | 有gzip属性的 【.tar.gz】 |
| -j | 有bz2属性的 【bz2】 |
| -J | 有xz属性的 【xz】 |
| -Z | 有compress属性的 |
| -v | 显示所有过程 |
| -O | 将文件解开到标准输出 |
| -C | 指定解压目录 |
| -f | 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 |
特殊参数
| 参数 | 作用 |
|---|---|
--exclude |
排除目录,文件 |
例
# 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
tar -cf all.tar *.jpg
# 这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
tar -rf all.tar *.gif
# 这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
tar -uf all.tar logo.gif
# 这条命令是列出all.tar包中所有文件,-t是列出文件的意思
tar -tf all.tar
# 这条命令是解出all.tar包中所有文件,-t是解开的意思
tar -xf all.tar
# 排除html下的 web 文件夹,不要在后面带 “/”,排除文件 Dockerfile,使用相对路径
tar -czvf html.tar.gz html --exclude=html/web --exclude=html/Dockerfile
- 压缩
# 将目录里所有jpg文件打包成tar.jpg
tar -cvf jpg.tar *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -czf jpg.tar.gz *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cjf jpg.tar.bz2 *.jpg
# 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
tar -cZf jpg.tar.Z *.jpg
# rar格式的压缩,需要先下载rar for linux
rar a jpg.rar *.jpg
# zip格式的压缩,需要先下载zip for linux
zip jpg.zip *.jpg
- 解压
# 解压 tar包
tar -xvf file.tar
# 解压tar.gz
tar -xzvf file.tar.gz
# 解压 tar.bz2
tar -xjvf file.tar.bz2
# 解压tar.Z
tar -xZvf file.tar.Z
# 解压tar.xz
tar -xJvf fle.tar.xz
# 解压rar
unrar file.rar
# 解压zip
unzip file.zip
文章评论