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

作者&投稿:霍雨 (若有异议请与网页底部的电邮联系)
如何在Linux上使用tar命令解压和压缩文件~

在Linux上使用tar命令解压和压缩文件方法如下:
压缩单个文件或者整个文件的方式方法,通常可以利用以下这些命令来解压和压缩:
-v:在终端显示进度的同时创建归档,也被称为“V erbose”模式。
-c:C reate存档。
-f:允许你指定存档的Filename。
-z:压缩zip存档。如图所示:


一次压缩多个文件或者目录(tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt),如图:

压缩整个目录,但不包括该目录下的某些文件和目录,可以通过添加一个--exclude开关即:tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache,如图:

使用bzip2压缩,如图:

利用tar -xzvf archive.tar.gz命令提取存档,如图所示:

Linux下自带了一个unzip的程序可以解压缩文件,
解压命令是:unzip filename.zip
同样也提供了一个zip程序压缩zip文件,命令是
zip filename.zip files
会将files压缩到filename.zip
另外看看你的文件的后缀名,不同的后缀的文件解压和压缩的命令都不一样
总结一下
1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压

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是解开的意思


第一步:

首先给出系统例子:

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



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



解压
语法: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


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


linux系统fdisk命令-o参数
首先它不是创建一个空盘,而是创建一个新的Dos分区表。这样就重写了磁盘的MBR,因此一旦重启之后理论上是不可恢复的。而最好的办法是用Q不保存退出,然而你已经保存了。。至于不关机补救的方法,从理论上来说是可以的。但是我学Linux的知识不太系统,因此我也帮不了你。

现在的多核CPU,Linux操作系统是否能够实现单个进程(多线程)的多核调度...
所以目前的技术来说,单线程多核新协同计算,技术上不可能实现。提高性能,就是整理数据处理的算法,把多次重复计算的过程,拆成多条线程分别计算。从而保证 CPU 多核新的效率最大化。每个线程可以共享同一块数据,自己读取自己的数据计算使可以的。不过,这时候就有另外一个问题,数据寻址和传递的性能...

我觉得linux系统很垃圾,还不如win xp,为什么还要用linux系统
所以是否能获得源代码 对于嵌入式系统的开发是至关重要的。加之Linux的软件资源十分丰富,每种通用程序在Linux上几乎都可以找到,并且数量还在不断增加。这一切就使设 计者在其基础之上进行二次开发变得非常容易。另外,由于Linux源代码公开,也使用户不用担心有“后闸”等安全隐患。同时,源码开放给各教育...

谁能详细的介绍一下Unix和Linux的历史
里内核的开发被认为是真正的编程.由于一批高水平黑客的加入,使Linux 发展迅猛,到1993年底94年初,Linux 1.0终于诞生了! Linux 1.0已经是一 个功能完备的操作系统,而且内核写得紧凑高效,可以充分发挥硬件的性能, 在4M内存的80386机器上也表现得非常好,至今人们还在津津乐道于此, 不过自从2.1.xx系列的内核Linux开始走...

linux ubuntu 的桌面怎样关闭
1,ctrl+alt+F2,进入命令行模式,输入你的用户名密码登录 2,sudo \/etc\/init.d\/lightdm stop (关闭窗口);sudo \/etc\/init.d\/lightdm restart (重启窗口)

linux samba中workgroup 参数意义何在??
samba主要是用于windows和linux之间的沟通,是通过netbios名称,但是又不能过路由,所以必须是在同一个工作组中(局域网),不需要建立一个组,只需要用你windows上那个组即可!

我用putty登陆linux时,用root总是登不上去,虽然密码是对的,以前经常能...
有时强制关闭linux系统,配置文件是保存的。 kekehudeye | 发布于2011-08-10 举报| 评论 1 0 kekehudeye 的是正解 gondn125 | 发布于2011-08-22 举报| 评论 0 0 为您推荐: linux常用命令 putty使用教程 linux putty安装 linux putty 使用 putty是什么 putty插件 putty计算器 putty ...

linux cp 命令 的 -f 选项不起作用?
-f, --force if an existing destination file cannot be opened, remove it and try again 也就是说-f可以覆盖目的目录下有的文件,但你有没有发现过这种情况,即使使用了-f也无法覆盖?原因何在呢?默认cp命令是有别名(alias cp='cp -i')的,无法强制覆盖,即使你用 -f 参数也无法强制覆...

连线:苹果是如何“杀死”Linux桌面的
有些人指出,运行苹果OS X系统的台式机在市场上所占份额在6%到7%之间。但可以肯定的一件事情是,OS X取得了比Linux更大的成功,后者是一个开源操作系统,在数据中心服务器领域中建立起了自己的“家园”,但在台式机和笔记本领域中则仍旧芳踪杳杳。去年可能是见证了Linux大幅增长的一年,但这个操作系统...

数据库管理系统有哪些
Foxpro、MS SQL Server、Informix、PostgreSQL这几种。数据库管理系统软件的种类有很多,常见的也很多,但是针对不同人群的不同需求,常用的数据库管理系统软件也那么三五种:ORACLE、MySQL、ACCESS、MS SQL Server这些是不同领域常用的数据库管理系统软件,下面我们来介绍一下这些软件各自的优势何在。

南京市17265838253: 如何在Linux上使用tar命令解压和压缩文件 -
线思环磷: Linux系统压缩和解压文件都可以用tar命令,在压缩文件时指定压缩参数,解压缩时指定解压参数. tar命令主要参数解释: -z参数:表示要解压或压缩的是tar.gz文件(如果是tar.bz2就是-j) -x参数:表示是执行解压缩操作而不是打包操作 -v参数...

南京市17265838253: linux下怎样使用tar命令解压缩名称中不包括“ - ”字符的其他压缩文件 -
线思环磷: linux中,如何使用tar进行解压缩环境:windows 7 + virtualboax + fedora 15 kde可以使用tar命令解压缩.tar.gz文件,下面以解压缩qt源文件举例:1.在windows中将qt源文件拷贝到共享文件夹下2.在fedora 15中,进入到共享文件下,共享文件会自...

南京市17265838253: Windows 中压缩包tar 在Linux中如何使用? -
线思环磷: 1.确认当前LINUX系统中安装了gcc编译器环境,可以使用rpm -qa | grep gcc来查看一下2.获得程序的源代码安装包文件(你已经获得了,只需要挂载上就可以了)3.释放你的源代码安装包文件(使用命令:tar xzf rarlinux-3.6.0.tar.gz)4.进入你的源代码文件所在的目录(cd /home/你的用户名/download/rarlinux-3.6.0)5.进行编译前的配置:./configure --prefix=程序安装的绝对路径6.使用make命令进行程序的二进制编译(直接输入make)7.输入:make install命令安装你的程序8.你现在可以大喊一声:哦!耶!开始使用程序

南京市17265838253: linux 中如何解压文件(比如.tar.gz 用tar -
线思环磷: tar -xzvf .tar.gz tar [-cxtzjvfpPN] 文件与目录 ....参数:-c :建立一个压缩文件的参数指令(create 的意思);-x :解开一个压缩文件的参数指令!-t :查看 tarfile 里面的文件!特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在! ...

南京市17265838253: linux中的“tar命令”怎么解压“.tgz”与“.tar.gz”文件? -
线思环磷: 1.压缩命令: 命令格式:tar -zcvf 压缩文件名.tar.gz 被压缩文件名 可先切换到当前目录下.压缩文件名和被压缩文件名都可加入路径.2.解压缩命令: 命令格式:tar -zxvf 压缩文件名.tar.gz 解压缩后的文件只能放在当前的目录. 3.Linux下如何解...

南京市17265838253: linux中tar命令怎么解压.tgz与.tar.gz文件 -
线思环磷: 目前一般tar包都是.tar.gz或者.tar.bz2格式 格式:tar 选项 解压文件名称 -C 解压时释放的目录 -c创建.tar格式的包文件 -x解开.tar格式的包文件 -v输出详细信息 -f表示使用归档文件(f必须是最后一个选项,也就是紧挨文件名) -p打包时保留原始文件及目录的权限 -t列表查看包内的文件 -C解包时指定释放的目标文件夹 -z调用gzip程序进行压缩或解压 -j调用bzip2程序进行压缩或解压 例:解压11.tar.gz tar -xvzf 11.tar.gz -C 释放的目标目录 如果是释放到当前目录的话把从-C开始的内容删掉即可

南京市17265838253: Linux下,如何用tar命令,要求:只打包当前文件夹和所有子文件夹中的.h和.cpp文件? -
线思环磷: find . -type f -iname "*.h" -o -iname "*.cpp" | xargs tar cf hcpp.tar

南京市17265838253: linux怎么解压某个文件夹的tar.gz文件 -
线思环磷: linux下tar命令解压到指定的目录 :#tar zxvf /bbs.tar.zip -C /zzz/bbs //把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录 这个和cp命令有点不同,cp命令如果不存在这个目录就会自动创建这个目录!附:用tar命令打包 例:将当前目录下的zzz文件打包到根目录下并命名为zzz.tar.gz#tar zcvf /zzz.tar.gz ./zzz

南京市17265838253: Linux中tar的命令 -
线思环磷: 举个例子来说吧. 如果已经存在用户rehdat, 文件/root/filetext.tar(这种格式只是单纯的打包,当然权限是只有root才能读写). [root@redhat ~]# tar -xf filetext.tar -C /home/redhat/ [root@redhat ~]# tar -zxf filetext.tar.gz -C /home/redhat/ (对使用...

南京市17265838253: Linux解压指令tar后面跟的参数什么意思?如何解压到当前文件和制定目录中? -
线思环磷: tar -c 创建.tar格式的文件-x 解开.tar格式的文件-f 使用归档文件-v 显示详细信息-t 查看包内文件-j 使用baip2程序-z 使用gzip程序-p 打包时保留文件及目录的权限-P 打包时保留文件及目录的绝对路径-C 释放的目的地 指定目录 -C 解压到user下 例子 tar -zxvf aaa.gz -C /var/local/user

你可能想看的相关专题

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网