linux tar命令打包整个文件夹详解,Linux tar打包命令详解

linux tar命令打包整个文件夹详解,Linux tar打包命令详解Linux系统中,最常用的归档(打包)命令就是tar,该命令可以将许多文件一起保存到一个单独的磁带或磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。使用tar命令归档的包通常称为tar包(tar包文件都是以“.tar”结尾的)。tar命令做打包操作当tar命令用于打包操作时,该命令的基本格式为:[root@localhost~]#…

大家好,又见面了,我是你们的朋友全栈君。

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 命令可以把一大堆的文件和目录打包成一个文件,这对于备份文件或是将几个文件组合成为一个文件进行网络传输是非常有用的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138207.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 泰勒展开式「建议收藏」

    泰勒展开式「建议收藏」数学中,泰勒公式是一个用函数在某点的信息描述其附近取值的公式。如果函数足够平滑的话,在已知函数在某一点的各阶导数值的情况之下,泰勒公式可以用这些导数值做系数构建一个多项式来近似函数在这一点的邻域中的值

    2022年8月2日
    5
  • 什么是上行宽带下行宽带_中国式现代化是中国独有的自主产权

    什么是上行宽带下行宽带_中国式现代化是中国独有的自主产权上行带宽和下行带宽,或者可以说是下载速度和上传速度的意思。 上行带宽:服务器上的内容被访问下载或者往网盘上上传资料,是对外一个数据输出,就是上行带宽。例如:用户访问网站或者下载网站上的内容到本地,就是上行带宽,上行带宽10m、50m、100m还是更高需要用户自己购买的; 下行带宽:在服务器里面下载任何东西,就是有数据往服务器内输入,就是下行带宽。例如:拥有服务器登录到服务器,使用服务器内的浏览网页或者下载文件是下行带宽,一般下行带宽是无限制的; 带宽跟家里用的宽带类似,带宽走的是上传,宽带走…

    2025年6月11日
    1
  • join方法的使用

    join方法的使用一、join方法1.1jon方法的作用使所属的线程对象x正常执行run()方法中的任务,而使当前线程y无限期的阻塞,直到x线程销毁后再继续执行线程y后面的代码。join方法具有使线程排队运行的作用,有些类似同步的运行的效果。1.2join与synchronized的区别join在内部使用wait()方法进行等待,而synchronized关键字使用的是”对象监视器”原理作为同步。…

    2022年6月11日
    48
  • python lambda表达式_python表达式是什么

    python lambda表达式_python表达式是什么Lambda表达式lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数语法函数名=lambda参数:返回值注意点1.函数的参数可以有多个,多个参数之间用逗号隔

    2022年8月6日
    9
  • 【mySQL】mysql数据库分页查询讨论专题

    【mySQL】mysql数据库分页查询讨论专题MySQL:limit分页公式、总页数公式1)limit分页公式(1)limit分页公式:curPage是当前第几页;pageSize是一页多少条记录limit(curPage-1)*pageSize,pageSize(2)用的地方:sql语句中select*fromstudentlimit(curPage-1)*pageSize,pageSize;2)…

    2022年5月31日
    27
  • 【转载】协程

    【转载】协程

    2021年11月18日
    45

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号