怎么在linux中使用tar命令
这期内容当中小编将会给大家带来有关怎么在linux中使用tar命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1.命令格式:
tar[必要参数][选择参数][文件]
2.命令功能:
用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的
3.命令参数:
必要参数有如下:
-A新增压缩文件到已存在的压缩
-B设置区块大小
-c建立新的压缩文件
-d记录文件的差别
-r添加文件到已经压缩的文件
-u添加改变了和现有的文件到已经存在的压缩文件
-x从压缩的文件中提取文件
-t显示压缩文件的内容
-z支持gzip解压文件
-j支持bzip2解压文件
-Z支持compress解压文件
-v显示操作过程
-l文件系统边界设置
-k保留原有文件不覆盖
-m保留文件不被覆盖
-W确认压缩文件的正确性
可选参数如下:
-b设置区块数目
-C切换到指定目录
-f指定压缩文件
--help显示帮助信息
--version显示版本信息
4.常见解压/压缩命令
tar解包:tarxvfFileName.tar打包:tarcvfFileName.tarDirName(注:tar是打包,不是压缩!)
.gz解压1:gunzipFileName.gz解压2:gzip-dFileName.gz压缩:gzipFileName
.tar.gz和.tgz解压:tarzxvfFileName.tar.gz压缩:tarzcvfFileName.tar.gzDirName.bz2解压1:bzip2-dFileName.bz2解压2:bunzip2FileName.bz2压缩:bzip2-zFileName
.tar.bz2解压:tarjxvfFileName.tar.bz2压缩:tarjcvfFileName.tar.bz2DirName.bz解压1:bzip2-dFileName.bz解压2:bunzip2FileName.bz压缩:未知
.tar.bz解压:tarjxvfFileName.tar.bz压缩:未知.Z解压:uncompressFileName.Z压缩:compressFileName
.tar.Z解压:tarZxvfFileName.tar.Z压缩:tarZcvfFileName.tar.ZDirName
.zip解压:unzipFileName.zip压缩:zipFileName.zipDirName.rar解压:rarxFileName.rar压缩:raraFileName.rarDirName
5.使用实例
实例1:将文件全部打包成tar包
命令:
代码如下:
tar -cvf log.tar log2012.logtar -zcvf log.tar.gz log2012.logtar -jcvf log.tar.bz2 log2012.log
输出:
代码如下:
[root@localhost test]# ls -al log2012.log---xrw-r-- 1 root root 302108 11-13 06:03 log2012.log[root@localhost test]# tar -cvf log.tar log2012.log log2012.log[root@localhost test]# tar -zcvf log.tar.gz log2012.loglog2012.log[root@localhost test]# tar -jcvf log.tar.bz2 log2012.log log2012.log[root@localhost test]# ls -al *.tar*-rw-r--r-- 1 root root 307200 11-29 17:54 log.tar-rw-r--r-- 1 root root 1413 11-29 17:55 log.tar.bz2-rw-r--r-- 1 root root 1413 11-29 17:54 log.tar.gz
说明:
tar-cvflog.tarlog2012.log仅打包,不压缩!tar-zcvflog.tar.gzlog2012.log打包后,以gzip压缩tar-zcvflog.tar.bz2log2012.log打包后,以bzip2压缩
在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加j参数,则以.tar.bz2来作为tar包名。
实例2:查阅上述tar包内有哪些文件
命令:
tar-ztvflog.tar.gz
输出:
代码如下:
[root@localhost test]# tar -ztvf log.tar.gz---xrw-r-- root/root 302108 2012-11-13 06:03:25 log2012.log
说明:
由于我们使用gzip压缩的log.tar.gz,所以要查阅log.tar.gz包内的文件时,就得要加上z这个参数了。
实例3:将tar包解压缩
命令:
tar-zxvf/opt/soft/test/log.tar.gz
输出:
代码如下:
[root@localhost test3]# ll总计 0[root@localhost test3]# tar -zxvf /opt/soft/test/log.tar.gzlog2012.log[root@localhost test3]# lslog2012.log[root@localhost test3]#
说明:
在预设的情况下,我们可以将压缩档在任何地方解开的
实例4:只将/tar内的部分文件解压出来
命令:
代码如下:
tar -zxvf /opt/soft/test/log30.tar.gz log2013.log
输出:
代码如下:
[root@localhost test]# tar -zcvf log30.tar.gz log2012.log log2013.log log2012.loglog2013.log[root@localhost test]# ls -al log30.tar.gz -rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz[root@localhost test]# tar -zxvf log30.tar.gz log2013.loglog2013.log[root@localhost test]# ll-rw-r--r-- 1 root root 1512 11-30 08:19 log30.tar.gz[root@localhost test]# cd test3[root@localhost test3]# tar -zxvf /opt/soft/test/log30.tar.gz log2013.loglog2013.log[root@localhost test3]# ll总计 4-rw-r--r-- 1 root root 61 11-13 06:03 log2013.log[root@localhost test3]#
说明:
我可以透过tar-ztvf来查阅tar包内的文件名称,如果单只要一个文件,就可以透过这个方式来解压部分文件!
实例5:文件备份下来,并且保存其权限
命令:
代码如下:
tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log
输出:
代码如下:
[root@localhost test]# ll总计 0-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log[root@localhost test]# tar -zcvpf log31.tar.gz log2014.log log2015.log log2016.log log2014.loglog2015.loglog2016.log[root@localhost test]# cd test6[root@localhost test6]# ll[root@localhost test6]# tar -zxvpf /opt/soft/test/log31.tar.gz log2014.loglog2015.loglog2016.log[root@localhost test6]# ll总计 0-rw-r--r-- 1 root root 0 11-13 06:03 log2014.log-rw-r--r-- 1 root root 0 11-13 06:06 log2015.log-rw-r--r-- 1 root root 0 11-16 14:41 log2016.log[root@localhost test6]#
说明:
这个-p的属性是很重要的,尤其是当您要保留原本文件的属性时
实例6:在文件夹当中,比某个日期新的文件才备份
命令:
代码如下:
tar -N "2012/11/13" -zcvf log17.tar.gz test
输出:
代码如下:
[root@localhost soft]# tar -N "2012/11/13" -zcvf log17.tar.gz testtar: Treating date `2012/11/13' as 2012-11-13 00:00:00 + 0 nanosecondstest/test/log31.tar.gztest/log2014.logtest/linklog.logtest/log2015.logtest/log2013.logtest/log2012.logtest/log2017.logtest/log2016.logtest/log30.tar.gztest/log.tartest/log.tar.bz2test/log.tar.gz
说明:
实例7:备份文件夹内容是排除部分文件
命令:
代码如下:
tar --exclude scf/service -zcvf scf.tar.gz scf/*
输出:
代码如下:
[root@localhost test]# tree scfscf|-- bin|-- doc|-- lib`-- service`-- deploy|-- info`-- product7 directories, 0 files[root@localhost test]# tar --exclude scf/service -zcvf scf.tar.gz scf/* scf/bin/scf/doc/scf/lib/[root@localhost test]#</p> <p>
上述就是小编为大家分享的怎么在linux中使用tar命令了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注恰卡编程网行业资讯频道。
推荐阅读
-
linux怎么搭建ftp服务器(linux ftp命令)
linuxftp命令?很欢喜问本问题,此观点祝你好运吧!再连接ftp服务器。格式:ftp[hostname|ip-address...
-
linux怎么调出屏幕键盘(linux | 怎么打出来,管道符号怎么打)
linux|怎么打出来,管道符号怎么打?楼主,你好!“|”这个符号在linux环境称做“管道符”框输入方法:Shift键盘的“...
-
linux系统生成core文件(linux udp缓存配置)
linuxudp缓存配置?临时再添加:sysctl-w_max26214400无限制再添加:将以下行添加到中:_max26214...
-
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
-
干了10多年的php,还不会安装,是不是丢人
-
Linux编程的十大代码编辑器新鲜出炉,你用的入榜单了吗?
-
从7到8,CentOS又更新了什么
-
PHP程序员的技术成长规划-基础阶段篇
-
Linux curl命令
Linuxcurl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但...
-
CentOS和RedHat下8个最常用的YUM库