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

 我来答
吉祥二进制
高粉答主

2017-04-09 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84583

向TA提问 私信TA
展开全部

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是解开的意思
1473131333
2017-03-11 · 超过30用户采纳过TA的回答
知道答主
回答量:86
采纳率:50%
帮助的人:58.8万
展开全部

第一步:

首先给出系统例子:

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexicheng
2016-12-19 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:7103万
展开全部

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侠客视界
2016-11-24 · TA获得超过571个赞
知道小有建树答主
回答量:854
采纳率:90%
帮助的人:501万
展开全部
解压
语法: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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2017-02-22 · TA获得超过140个赞
知道答主
回答量:128
采纳率:77%
帮助的人:45.4万
展开全部
1. 解压:tar xf 文件名
2.压缩:tar zcf 压缩后的文件名 源文件名
说明:有的人习惯加上-v参数,这个意思是将解压或者压缩过程输出到屏幕,个人觉得不用加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式