如何在Linux上使用tar命令解压和压缩文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Linux上使用tar命令解压和压缩文件相关的知识,希望对你有一定的参考价值。

Linux下使用tar命令解压和压缩文件,这属于基本操作,先看实例。

1、压缩Desktop目录下所有的png文件为png.tar。

2、解压png.tar到Desktop当前目录。

3、Tar命令参数

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件
这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出
下面的参数-f是必须的
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
参考技术A

第一步:

首先给出系统例子:

Examples:
tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.
tar -tvf archive.tar         # List all files in archive.tar verbosely.
tar -xf archive.tar          # Extract all files from archive.tar.

第二步:

操作演示:

[root@flybing ~]# touch 1.txt 2.txt 
[root@flybing ~]# echo 11111111 > 1.txt 
[root@flybing ~]# echo 22222222 > 2.txt 
[root@flybing ~]# tar -cf 12.tar 1.txt 2.txt 
[root@flybing ~]# tar -tvf 12.tar 
-rw-r--r-- root/root         9 2017-03-12 06:32 1.txt
-rw-r--r-- root/root         9 2017-03-12 06:32 2.txt
[root@flybing ~]# rm -rf 1.txt 2.txt 
[root@flybing ~]# ls
12.tar  anaconda-ks.cfg  install.log  install.log.syslog
[root@flybing ~]# tar xf 12.tar 
[root@flybing ~]# ls
12.tar  1.txt  2.txt  anaconda-ks.cfg  install.log  install.log.syslog
[root@flybing ~]# cat 1.txt 
11111111
[root@flybing ~]# cat 2.txt 
22222222
[root@flybing ~]#

第三步:

解释说明:

-c 压缩
-f 后面跟文件名,压缩式跟“-f 文件名”
-x 解压
-v 可视化,详细信息
-t 查看tar压缩包里面的文件


讨论:1473131333

参考技术B

在linux中可以通过tar命令来进行文件的压缩和解压的操作

tar主要参数

    -c: 建立压缩档案

    -x:解压

    -t:查看内容

    -z:有gzip属性的

    -v:显示所有过程

    -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

举例

    打包文件tar: tar -cvf filename.tar folder

    打包并压缩文件tar.gz: tar -cvf filename.tar.gz folder

    解压文件tar: tar -xvf filename.tar

    解压文件tar.gz: tar -zxvf filename.tar.gz

总结

在linux中,tar命令是一个非常实用的压缩和解压的命令,通过灵活的运用这个命令可以让你在文件备份和数据传输中起到事倍功半的效果

参考技术C 解压
语法: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

参考技术D 1. 解压:tar xf 文件名
2.压缩:tar zcf 压缩后的文件名 源文件名
说明:有的人习惯加上-v参数,这个意思是将解压或者压缩过程输出到屏幕,个人觉得不用加

(转)使用 linux tar 命令压缩与解压文件

原文链接

http://www.cnblogs.com/qq78292959/archive/2011/07/06/2099427.html

 

tar

-c: 建立压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示所有过程
-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。

# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。

# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思

# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思

 

压缩

tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg 

tar -czf jpg.tar.gz *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz

 tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2

tar -cZf jpg.tar.Z *.jpg   //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z

rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux

zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for linux

 

# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定

 

解压

tar -xvf file.tar //解压 tar包

tar -xzvf file.tar.gz //解压tar.gz

tar -xjvf file.tar.bz2   //解压 tar.bz2

tar -xZvf file.tar.Z   //解压tar.Z

unrar e file.rar //解压rar

unzip file.zip //解压zip

 

# 特别注意,在解压文件前最好跳转到文件所在目录并且需要解压的文件不要包含路径名;否则,解压后的目标文件可能会生成子目录中。

 

以上是关于如何在Linux上使用tar命令解压和压缩文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在Linux上使用tar命令解压和压缩文件

Linux怎么使用压缩和解压到指定目录的命令

linux下如何解压和压缩文件

如何把文件压缩成tar.gz

linux下如何查看文件的压缩类型,用啥命令解压

Linux 系统 压缩和解压 gz 格式文件