⑴ linux下tar的打包使用
分析如下:
一、Linux下的tar命令详解
1、tar -c:建立肢册丛压缩档案
2、tar -x:解压
3、tar -t:查看内容
4、tar -r:向压缩归档文件末尾追加文件
5、tar -u:更新原压缩包中的文件
二、压缩
1、tar -cvf jpg.tar *.jpg// 将目录里所有jpg文件打包成jpg.tar
2、tar -czf jpg.tar.gz *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
3、tar -cjf jpg.tar.bz2 *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
4、tar -cZf jpg.tar.Z *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的姿辩包,命名为jpg.tar.Z
5、rar a jpg.rar *.jpg// rar格式的压缩,需要先下载rar for linux
6、zip jpg.zip *.jpg// zip格式的压缩,需要先下载zip for linux
三、解压
1、tar -xvf file.tar// 解压 tar包
2、tar -xzvf file.tar.gz// 解压tar.gz
3、tar -xjvf file.tar.bz2// 解压 tar.bz2
4、tar -xZvf file.tar.Z// 解压tar.Z
5、unrar e file.rar// 解压rar
6、unzip file.zip// 解压zip
四、具体操作方法:
1、如图看到的示例,用tar命令来打包这些文件以及目录。(文件目录以自己实际情况为准,这里用做参考用例)
⑵ linux tar打包、解包命令
解压
语法:tar [主选项+辅选项] 文件或者目录
使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
主选项:
c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
x 从档案文件中释放文件。相当于拆包。
t 列出档案文件的内容,查看已经备份了哪些文件。
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩或解压? 一般格式为xx.tar.gz或xx. tgz
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩或解压?一般格式为xx.tar.bz2
-v :压缩的过程中显示文件!这个常用
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加其他参数!
-p :使用原文件的原来属性(属性不会依据使用者而变)
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc<==打包后,以 bzip2 压缩
特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
上述指令在执行的时候,会显示一个警告讯息:
‘tar: Removing leading `/" from member names’那是关于绝对路径的特殊设定。
范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
由于我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说
我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz
则解开的目录会在 /usr/local/src/etc ,另外,如果您进入 /usr/local/src/etc
则会发现,该目录下的文件属性与 /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 内的根目录 / 是被拿掉了!
范例五:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
另外:tar命令的C参数
$ tar -cvf file2.tar /home/usr2/file2
tar: Removing leading '/' from members names
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:
使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来
。使用tar命令解压缩后会出现以下情况:
$ tar -xvf file2.tar
$ ls
…… …… home …… ……
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
$ tar -cvf file2.tar -C /home/usr2 file2 该命令中的-C dir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意
:-C dir参数的作用在于改变工作目录,其有效期为该命令中下一次-C dir参数之前
。
使用tar的-C dir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$ tar -xvf file2.tar -C /home/usr2
而tar不用-C dir参数时是无法做到的:
$ tar -xvf file2.tar /home/usr2
tar: /tmp/file: Not found in archive
tar: Error exit delayed from previous errors
⑶ linux下tar命令解压到指定的目录和用tar命令打包
1、linux下tar命令解压到指定的目录
tar zxvf node_moles.tar -C newFile
把根目录下的node_moles.tar 解压到同级目录newFile下,前提要保证newFile这个目录存在。
2、用tar命令打包
tar zcvf node_moles.tar node_moles
将当前目录下的node_moles文件打包到根目录下并命名为node_moles.tar
⑷ linux--8、打包压缩文件命令
tar命令用于对文件打包压缩或解压:
$ tar [选项] [文件]
以下是tar命令的常用参数:
tar是个打包的命令,它的作用是将一堆的文件或目录归档成一个.tar结尾的文件。生成tar包后,就可以用其他的压缩程序来对tar包进行压缩。
我们在上面看到的 -z 参数就是对tar包用Gzip程序进行了压缩,最后才生成了 .tar.gz 结尾的压缩包。如果不用 -z 参数而使用 -j 参数,也就是用bzip2程序压缩tar包,最后就会生成 .tar.bz2 结尾的压缩包。
使用tar命令打包压缩的一个好处是,它会保留原始文件的权限和属性。
我们经常会在windows系统上使用 .zip 格式的压缩文件,在linux中也可以将文件和目录压缩成zip格式,或者解压zip格式的压缩包。
但是zip的缺点是不能保留文件的权限和属性,解压后需要我们自己用chmod重新设置文件的权限。
⑸ linux下tar的打包和解压如何操作
tar是在Linux中使用得非常广泛的文档打包格式。它的好处就是它只消耗非常少的CPU以及时间去打包文件,但它仅仅只是一个打包工具。
下面是如何解包的命令:
1# tar -xvf archive_name.tar.gz
上面这个解包命令将会将笑碰文档解开在当前目录下面。当然,你也可以用这个命令来更改解包的路径:
1# tar -xvf archive_name.tar -C /tmp/extract_here/
tar.gz
这种格式是我使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。可以使用下面的命令去压缩一个目录:
1# tar -zcvf archive_name.tar.gz directory_to_compress
解压缩:
1# tar -zxvf archive_name.tar.gz
上面这个解包命令将会将文档解压在当前目录下面。当然碰春谈,你也可以用这个命令来更改解包的路森滚径:
# tar -zxvf archive_name.tar.gz -C /tmp/extract_here/
⑹ Linux命令:tar
原单词 tar命令最初的设计目的是将文件备份到磁带上(tape archive),因而得名tar
实物长这样
tar 命令是linux系统中常用的 压缩文件 和 解压缩文件命令
tar 命令的参数 异常之多,咱们只学习满足 压缩文件 和 解压缩文件 命令的参数就可以了
<mark style="box-sizing: border-box; background-color: rgb(255, 255, 0); color: rgb(0, 0, 0);">工作中应用于安装软件,搭建应用,部署环境</mark>
举例: 将root目录下的 adir目录和a.txt文件 压缩为 test.tar.gz
注意是大写C
如果 不使用-C参数 则默认解压至当前工作目录
举例: 将 test.tar.gz 压缩文件解压到/root目录
-c 建立新的备份文件。
-x 从备份文件中还原文件。
-v 显示指令执行过程。
-f 指定备份文件。
-z 通过gzip指令处理备份文件。(如果解压文件后缀是.tar,没有.gz则不需要使用-z参数)
-C 指定解压到的目录
使用xshell连接linux
在root 目录下 新建 tarTest目录
进入tarTest目录
压缩 /root/lnTest文件夹 和 /root/Centos-7.repo 文件 到 /root/tarTest目录下,压缩文件名为 test.tar.gz
进入/root/tarTest目录
解压test.tar.gz到当前目录(/root/tarTest)
解压test.tar.gz到/root/rmTest目录
⑺ linux系统中tar命令的使用详解
Linux系统中tar命令是针对tar包的解压缩命令,下面由我为大家整理了linux系统中tar命令的使用详解,希望对大家有帮助!
linux系统中tar命令的使用详解
一、tar命令用法
#压缩
tar -czvf ***.tar.gz
tar -cjvf ***.tar.bz2
#解压缩
tar -xzvf ***.tar.gz
tar -xjvf ***.tar.bz2
+++++++++++++++++++++++++++++++++++++++++++++
二、tar命令参数说明
-c :建立一个压缩档案的参数指令(create 的意思);
-x :解开一个压缩档案的参数指令!
-t :查看 tarfile 里面的档案!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示档案!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用‘ tar -zcvfP tfile sfile ’就是错误的写法,要写成
‘ tar -zcvPf tfile sfile ’才对喔!
-p :使用原档案的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的档案中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
三、tar命令使用范例
范例一:将整个 /etc 目录下的档案全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!
[root@linux ~]# tar -czvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩
[root@linux ~]# tar -cjvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的档案档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# ‘tar: Removing leading `/' from member names ’那是关于绝对路径的特殊设定。
范例二:查阅上述 /tmp/etc.tar.gz 档案内有哪些档案?
[root@linux ~]# tar -tzvf /tmp/etc.tar.gz
# 由于我们使用 gzip 压缩,所以要查阅该 tar file 内的档案时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 档案解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -xzvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的档案属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -tzvf 来查阅 tarfile 内的文件名称,如果单只要一个档案,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有档案备份下来,并且保存其权限!
[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本档案的属性时!
范例六:在 /home 当中,比 2005/06/01 新的档案才备份
[root@linux ~]# tar -N '2005/06/01' -czvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -czvf myfile.tar.gz /home/* /etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生档案!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在于输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰!
++++++++++++++++++++++++++++++++++++++++++++
补充:tar如何解压文件到指定的目录
tar czvf mysql.tar.gz /var/lib/mysql
压缩的文件,我想解压到当前目录下,而不是绝对路径下,该如何解压?
tar cxvf mysql.tar.gz 的话,会覆盖 /var/lib/mysql 下全部文件吧?我现在就一个表坏了,想单独恢复一个表的资料,而不是恢复全部数据库,所以要解压到指定的目录下,再把那个表资料找不来恢复。
============================================
#tar zxvf mysql.tar.gz -C /home/aaa
============================================
tar zxvf mysql.tar.gz -C /home/aaa
这样的话,解压后的目录结构是怎么样的?
/home/aaa/var/lib/mysql 吗?
============================================
试下就知道了....
============================================
归档里面的所有文件均是相对引用,归档解压缩(释放)在了当前目录。归档文件总是释放到当前目录,为的是防止破坏文件系统中重名的文件。
所以,楼主的解压缩不会覆盖/var/lib/mysql,只会释放在当前目录先,即./var/lib/mysql如果想覆盖的话,在归档和解压时请使用-P参数:
tar zcvf mysql.tar.gz -P /var/lib/mysql
tar -Pzxvf mysql.tar.gz
⑻ linux打包压缩命令tar
linux打包压缩命令tar的方法如下:
操作设备:戴尔笔记本电脑
操作系统:win10
操作程序:linux主机2.01
1、首先进入到等待输入shell指令的linux命令行状态下,如下图所示。
⑼ Linux中tar的命令
tar 归档+压缩
语法:tar czvf newfile.tar.gz SOURCE
语法:tar czvf 压缩后的文件名(tar.gz tar.bz2)需要压缩的文件或目录
常用参数:
-z, --gzip 以gzip方式压缩 扩展名: tar.gz
-j : 以bz2方式压缩的 扩展名:tar.bz2
-J: 以xz 方式压缩 扩展名:tar.xz
例1:创建.tar.gz 包
[root@xuegod63 ~]# tar cvf /root/etc.tar /etc
[root@localhost test]# tar zcvf /root/etc.tar.gz /etc#归档,注意备份的名字后缀
[root@localhost test]# tar zxvf /root/etc.tar.gz #解压缩
[root@localhost test]# tar xvf /root/etc.tar.gz #解压缩
例2:创建.tar.bz2包
语法: #tar jcvf newfile.tar.bz2SOURCE
[root@xuegod63 ~]# tar -jcvf ~/etc.tar.bz2 /etc
[root@xuegod63 ~]# tar -jxvf ~/etc.tar.bz2 #解压缩
[root@xuegod63 ~]# tar -xvf ~/etc.tar.bz2 #解压缩
[root@xuegod63 ~]# tar jxvf ~/etc.tar.bz2 -C /opt #解压到opt目录下
例3:创建.tar.xz包
[root@xuegod63 ~]# tar -Jcvf ~/etc.tar.xz /etc
[root@xuegod63 ~]# tar -Jxvf ~/etc.tar.xz #tar.xz 这类包,解压缩
[root@xuegod63 ~]# tar -xvf ~/etc.tar.xz
对比三种压缩方式后压缩比例:
[root@xuegod63 ~]# time tar zcf /root/etc.tar.gz /etc
[root@xuegod63 ~]# time tar jcf /root/etc.tar.bz2 /etc
[root@xuegod63 ~]# time tar Jcf /root/etc.tar.xz /etc
[root@xuegod63 ~]# ll -h etc.tar* (*为通配符,代表任意字符任意次)
-rw-r--r-- 1 0 root 28M5月 10 12:10 etc.tar
-rw-r--r-- 1 0 root 8.7M5月 10 12:14 etc.tar.bz2 #常用
-rw-r--r-- 1 0 root 9.8M5月 10 12:11 etc.tar.gz #常用
-rw-r--r-- 1 0 root 7.0M5月 10 12:16 etc.tar.xz #这个压缩比例最高,压缩的时间是最长
查看源文件大小
[root@xuegod63 ~]# -sh /etc
31M /etc
etc.tar包为28M ,实际几乎没怎么压缩。xz格式化为7.0M,传输的时候效率提高很多。
扩展:
解压指定文件到指定目录
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2/grub.cfg
解压某一类型文件到指定目录
--wildccards文件名匹配,使用通配符
[root@xuegod62 ~]# tar -tvf boot.tar.gz
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz --wildcards *.mo
排除指定文件并解压
[root@xuegod62 ~]# rm -rf /opt/boot
[root@xuegod62 ~]# tar -C /opt -xvf boot.tar.gz boot/grub2 --exclude=boot/grub2/i386-pc