Linux 系统中,最常用的归档(打包)命令就是 tar,该命令可以将许多文件一起保存到一个单独的磁带或磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。

使用 tar 命令归档的包通常称为 tar 包(tar 包文件都是以“.tar”结尾的)。

tar命令做打包操作

当 tar 命令用于打包操作时,该命令的基本格式为:

[root@localhost ~]#tar [选项] 源文件或目录

此命令常用的选项及各自的含义如表 1 所示。

表 1 tar 打包命令常用选项及含义

选项

含义

-c

将多个文件或目录进行打包。

-A

追加 tar 文件到归档文件。

-f 包名

指定包的文件名。包的扩展名是用来给管理员识别格式的,所以一定要正确指定扩展名;

-v

显示打包文件过程;

需要注意的是,在使用 tar 命令指定选项时可以不在选项前面输入“-”。例如,使用“cvf”选项和 “-cvf”起到的作用一样。

下面给大家举几个例子,一起看看如何使用 tar 命令打包文件和目录。

【例 1】打包文件和目录。

[root@localhost ~]# tar -cvf anaconda-ks.cfg.tar anaconda-ks.cfg

#把anacondehks.cfg打包为 anacondehks.cfg.tar文件

选项 "-cvf" 一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用 ".tar" 作为扩展名。打包目录也是如此:

[root@localhost ~]# ll -d test/

drwxr-xr-x 2 root root 4096 6月 17 21:09 test/

#test是我们之前的测试目录

[root@localhost ~]# tar -cvf test.tar test/

test/

test/test3

test/test2

test/test1

#把目录打包为test.tar文件

tar命令也可以打包多个文件或目录,只要用空格分开即可。例如:

[root@localhost ~]# tar -cvf ana.tar anaconda-ks.cfg /tmp/

#把anaconda-ks.cfg文件和/tmp目录打包成ana.tar文件包

【例 2】打包并压缩目录。

首先声明一点,压缩命令不能直接压缩目录,必须先用 tar 命令将目录打包,然后才能用 gzip 命令或 bzip2 命令对打包文件进行压缩。例如:

[root@localhost ~]#ll -d test test.tar

drwxr-xr-x 2 root root 4096 6月 17 21:09 test

-rw-r--r-- 1 root root 10240 6月 18 01:06 test.tar

#我们之前已经把test目录打包成test.tar文件

[root@localhost ~]# gzip test.tar

[root@localhost ~]# ll test.tar.gz

-rw-r--r-- 1 root root 176 6月 18 01:06 test.tar.gz

#gzip命令会把test.tar压缩成test.tar.gz

tar命令做解打包操作

当 tar 命令用于对 tar 包做解打包操作时,该命令的基本格式如下:

[root@localhost ~]#tar [选项] 压缩包

当用于解打包时,常用的选项与含义如表 2 所示。

表 2 tar 解打包常用选项及含义

选项

含义

-x

对 tar 包做解打包操作。

-f

指定要解压的 tar 包的包名。

-t

只查看 tar 包中有哪些文件或目录,不对 tar 包做解打包操作。

-C 目录

指定解打包位置。

-v

显示解打包的具体过程。

其实解打包和打包相比,只是把打包选项 "-cvf" 更换为 "-xvf"。我们来试试:

[root@localhost ~]# tar -xvf anaconda-ks.cfg. tar

#解打包到当前目录下

如果使用 "-xvf" 选项,则会把包中的文件解压到当前目录下。如果想要指定解压位置,则需要使用 "-C(大写)" 选项。例如:

[root@localhost ~]# tar -xvf test.tar -C /tmp

#把文件包test.tar解打包到/tmp/目录下

如果只想查看文件包中有哪些文件,则可以把解打包选项 "-x" 更换为测试选项 "-t"。例如:

[root@localhost ~]# tar -tvf test.tar

drwxr-xr-x root/root 0 2016-06-17 21:09 test/

-rw-r-r- root/root 0 2016-06-17 17:51 test/test3

-rw-r-r- root/root 0 2016-06-17 17:51 test/test2

-rw-r-r- root/root 0 2016-06-17 17:51 test/test1

#会用长格式显示test.tar文件包中文件的详细信息

tar命令做打包压缩(解压缩解打包)操作

你可能会觉得 Linux 实在太不智能了,一个打包压缩,居然还要先打包成 ".tar" 格式,再压缩成 ".tar.gz" 或 ".tar.bz2" 格式。其实 tar 命令是可以同时打包压缩的,前面的讲解之所打包和压缩分开,是为了让大家了解在 Linux 中打包和压缩的不同。

当 tar 命令同时做打包压缩的操作时,其基本格式如下:

[root@localhost ~]#tar [选项] 压缩包 源文件或目录

此处常用的选项有以下 2 个,分别是:

-z:压缩和解压缩 ".tar.gz" 格式;

-j:压缩和解压缩 ".tar.bz2"格式。

【例 1】压缩与解压缩 ".tar.gz"格式。

[root@localhost ~]# tar -zcvf tmp.tar.gz /tmp/

#把/temp/目录直接打包压缩为".tar.gz"格式,通过"-z"来识别格式,"-cvf"和打包选项一致

解压缩也只是在解打包选项 "-xvf" 前面加了一个 "-z" 选项。

[root@localhost ~]# tar -zxvf tmp.tar.gz

#解压缩与解打包".tar.gz"格式

前面讲的选项 "-C" 用于指定解压位置、"-t" 用于查看压缩包内容,在这里同样适用。

【例 2】压缩与解压缩 ".tar.bz2" 格式。

和".tar.gz"格式唯一的不同就是"-zcvf"选项换成了 "-jcvf",如下所示:

[root@localhost ~]# tar -jcvf tmp.tar.bz2 /tmp/

#打包压缩为".tar.bz2"格式,注意压缩包文件名

[root@localhost ~]# tar -jxvf tmp.tar.bz2

#解压缩与解打包".tar.bz2"格式

把文件直接压缩成".tar.gz"和".tar.bz2"格式,才是 Linux 中最常用的压缩方式,这是大家一定要掌握的压缩和解压缩方法。

tar 命令最初被用来在磁带上创建备份,现在可以在任何设备上创建备份。利用 tar 命令可以把一大堆的文件和目录打包成一个文件,这对于备份文件或是将几个文件组合成为一个文件进行网络传输是非常有用的。

linux tar命令打包整个文件夹详解,Linux tar打包命令详解相关推荐

  1. linux rm rf 无法删除文件夹,最暴力的 rm -rf 命令居然删除目录失败了!为什么?...

    当我们在Linux系统中卸载软件或清理数据时,经常会使用rm -rf命令去删除某个目录,例如删除/tmp/tektea目录: # rm -rf /tm/tektea rm命令的-r和-f这两个参数的m ...

  2. python程序实现:linux环境下,将一个文件夹内的所有.tar.gz压缩文件解压缩到同名子文件夹内,没有子文件夹时重新建立同名子文件夹,使得它们相互独立。

    # 命名为untar.pyimport tarfile import os# 获得目录下的所有文件 def get_file_name(file_dir):L = []for root, dirs, ...

  3. linux写入系统状态到文件夹,实验二 Linux系统简单文件操作命令

    *实验二** Linux系统简单文件操作命令 项目内容 这个作业属于哪个课程 这个作业的要求在哪里 学号-姓名 17041518-孙小文 作业学习目标 学习在Linux系统终端下进行命令行操作 :掌握 ...

  4. linux下载带中文名的文件夹,如何在Linux下删除文件名是乱码或者带有特殊字符的文件...

    今天遇到一个问题,一个文件名是"-MXV9.log",直接用rm删除的时候就报错 [localhost]rm -MXV9.log rm: illegal option -- M r ...

  5. 两台linux电脑怎么互推文件夹,Llinux文件目录权限及chmod命令简析

    这些天,在344134224)遇到几例关于WP升级失败以及FTP账号登陆的问题.最终发现都是主机的目录权限设置存在问题.比如,博友[PPT分享网]提出,能否让2个账号都能访问同一个FTP目录,其实只要 ...

  6. 共享windows目录给vm linux,将windows中的文件夹共享给Linux虚拟机

    按正常步骤安装Linux 安装完成后在Linux系统中安装vmware-tools工具. 选择"编辑虚拟机设置" 4.选择"选项"然后点击"共享文件夹 ...

  7. 在linux中查找重复的文件夹,如何在Linux上找出并删除重复的文件:FSlint

    大家好,今天我们会学习如何在Linux PC或者服务器上找出和删除重复文件.这里有一款工具你可以工具自己的需要使用. 无论你是否正在使用Linux桌面或者服务器,有一些很好的工具能够帮你扫描系统中的重 ...

  8. linux添加物理卷编辑文件夹,Red hat Linux下的逻辑卷管理器LVM-上

    [IT168 专稿]Red hat 下的LVM 上 LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力.LVM可以帮助系统管理员为应用 ...

  9. 文件夹打包成pkg_linux如何解压tar.gz到指定文件夹或目录

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何解压tar.gz到指定文件夹或目录,t ...

  10. 【Linux】Linux 如何打包压缩文件夹

    Linux打包压缩文件夹与我们平常用的Windows有点不一样,平常我们在Window下直接右击文件夹 - 添加到压缩文件就OK了. 我想说一下打包文件并不是压缩文件,什么是打包,就是将零散的东西放在 ...

最新文章

  1. python3-pwntools教程_python的pwntools工具的日常使用
  2. 【转】MYSQL入门学习之十:视图的基本操作
  3. gcc/g++链接时.o文件及库的顺序问题
  4. Codeforces Round #325 (Div. 2) Laurenty and Shop 模拟
  5. NLP新秀:BERT的优雅解读
  6. idefo功能模型图_利用好预后预测模型,2个月发篇4分+SCI不是梦
  7. Linux/Document: Livepatch
  8. C#上使用Echarts做报表
  9. n-3000系列串口服务器,串口转网络,网络转串口
  10. 坦克世界怎么显示服务器准心,坦克世界8.0环境设置详细教程
  11. 樊登读书分享ppt_樊登读书《干法》学习分享
  12. 2017智能周报 | 12.10-12.17 | 工信部发布AI行动计划、各地AI研究院纷纷成立、DM证明AI存在反人类风险……
  13. (c++)求平均成绩和优秀率
  14. python gevent async_谈谈Python协程技术的演进
  15. Exynos_4412——轮询与中断
  16. centos7/redhat7创建私有云(owncloud)
  17. goland如何去除注释中的下划波浪线
  18. MySQL-- ADD COLUMN 添加多个字段的写法
  19. 可以定制频段的雷达信号模拟器
  20. ABAP ASSIGN 的用法

热门文章

  1. 新浪通行证在线申诉找回密码业务逻辑错误导致严重安全漏洞
  2. Python Socket模块实现服务端与客户端通信
  3. cmos功能测试软件,CMOS摄像头开发测试方法(我总结的)
  4. 如何用安卓手机运行Python代码
  5. 【积跬步以至千里】唧唧Down下载视频无法正常合并分段文件解决方案
  6. B站视频下载(含bv快速变回av)
  7. 短视频怎么才能做好内容付费?
  8. GIS实验之房价数据可视化分析
  9. 合成PDF(多文件变一文件、多页变一页)
  10. 李雅普诺夫稳定性定理