tar
程序员文章站
2022-05-27 16:13:47
...
tar指令,应该是很常用的指令了,最常用于打包和解包,参数比较麻烦,可以使用别名;
1、打包压缩
> pwd;
/Users/stone/Downloads
> ll;
total 192
drwxr-xr-x 6 stone staff 192 10 11 10:09 test
> tar -zcvf test.tar.gz test;
a test
a test/.DS_Store
a test/2.rtf
a test/1.rtf
a test/test.tar.gz
> ll;
total 1400
drwxr-xr-x 6 stone staff 192 10 11 10:09 test
-rw-r--r-- 1 stone staff 1208 10 11 10:10 test.tar.gz
2、解包解压
>tar -zxvf test.tar.gz
x test/
x test/._.DS_Store
x test/.DS_Store
x test/._2.rtf
x test/2.rtf
x test/._1.rtf
x test/1.rtf
x test/test.tar.gz
3、参数说明
-c, --create create a new archive,创建一个新的归档文件;
-v, --verbose verbosely list files processed,显式地列出处理的文件。即正在打包或解包的文件名称会在当前控制台输出;
-f, --file=ARCHIVE use archive file or device ARCHIVE,使用归档文件或设备(进行解包或打包)。该参数后续必须跟上打包或解包的包名,指定使用的归档文件;
-x, --extract, --get extract files from an archive,从归档文件中解出文件;
-z, --gzip, --gunzip, --ungzip filter the archive through gzip, 通过gzip压缩方式过滤归档文件,即使用gzip进行压缩或解压缩( 注:旧版tar无法识别压缩包的压缩格式,因此解包时必须增加-z参数指定压缩方式,新版tar可以自动识别,可以不加该参数);
-C, --directory=DIR change to directory DIR,切换到DIR目录。该参数可以用于打包时去除前缀路径;
//例:
> tar -C /home/alex -zcvf xxx.tar.gz test ,则在当前路径会出现一个xxx.tar.gz,且其内容只有test文件夹及其中的内容,不会包含 /home/alex路径
--exclude=filename/dirname 打包时不包含某些目录下的文件或文件夹。注意exclude跟着的文件或文件夹,是根据当前路径或-C参数切换到的路径的相对路径(+_+自己读得都绕。。)
//例1:
> tar -zcvf xxx.tar.gz test --exclude=test/hello.txt,则打包压缩后的内容不包含 /home/alex/test/hello.txt这个文件。
//例2:
> tar -zcvf xxx.tar.gz test --exclude=/home/alex/test/hello.txt,则打包后的内容还是有/home/alex/test/hello.txt这个文件,因为我们执行的当前路径是/home/alex, 系统执行exclude会以当前路径作为前缀路径加上exclude后续的路基,所以会去除/home/alex/home/alex/test/hello.txt的内容,但是这个路径的内容并不存在。
//例2:
> tar -C /home -zcvf xxx.tar.gz alex/test --exclude=alex/test/world.txt ,则打包后的内容不包含/home/alex/test/world.txt。因为-C参数切换到了 /home路径,则exclude去除了 /home+alex/test/world.txt的内容。
推荐阅读
-
Centos 6.4源码安装mysql-5.6.28.tar.gz教程
-
Linux tar 压缩档案管理命令学习
-
linux常用命令之tar命令详解和使用实例
-
PHP解压tar.gz格式文件的方法
-
linux下tar命令遇到error:"Error exit delayed from previous errors"的问题及解决
-
centos7.2离线安装mysql5.7.18.tar.gz
-
Python安装tar.gz格式文件方法详解
-
linux下如何不解压tar.gz文件查看其中的文件大小
-
linux下tar命令rpm命令参数列表
-
CentOS随笔 - 4.CentOS7安装MySql 5.5.60(下载 tar 方式安装)