one_day_one_linuxCmd---tar命令

  《坚持每天学习一个 linux 命令,今天我们来学习 tar 命令》

  摘要:tar 命令是一个 Linux 下的打包程序,通常在 Linux 下,打包和压缩是不同的程序,打包通过 tar 程序来实现,而压缩则有不同的压缩方式,这些压缩方式由不同的程序来实现,然后我们通过 tar 命令进行打包,当然 tar 也支持在打包的同时同步调用压缩程序进行压缩,所以我们可以通过 tar 命令来实现 windows 上面的 压缩包的功能。

tar 打包

  Linux 下最常用的打包程序,使用 tar 打出来的包我们称之为 tar 包,通常以 .tar 结尾,生成 .tar 包之后,我们就可以用其它的程序来进行压缩了。

#=========options=================
# -c : (create)产生新的包
# -f : (file) 指定包的文件名,只能作为最后一个参数,每一个命令都有该参数
# -r : 增加文件
# -u : 更新
# -t : 列出文件
# -x : 解开
#===========example===============
# function:将所有 .txt 结尾的文件打包成一个名称为 all.tar 的包
$ tar -cf all.tar *.txt

# 列出 all.tar 中所有的包
$ tar -tf all.tar

# 解出 all.tar 包中所有文件
$ tar -xf all.tar

tar 压缩

  我们也可以直接对单个文件进行压缩而不需要打包,因为打包和压缩是两个毫不相关的程序来实现的。

# 用 gzip 进行压缩
$ gzip t1.txt

# 用 gunzip 进行解压
$ gunzip t1.txt.gz

# 用 bzip2 进行压缩
$ bzip2 t1.txt

# 用 bunzip2 进行解压
$ bunzip2 t1.txt.bz2

tar 打包&&压缩

  为了方便用户在打包解包的同时可以压缩或解压文件,tar 提供了一种特殊的功能,就是 tar 可以在打包或解包的同时调用其它的压缩程序,比如调用 gzip、bzip2 等。

#==========options===========
# -z : 有 gzip 属性的
# -j : 有 bz2 属性的
# -v : 显示所有过程
#==========example:gzip==========
# tar 调用 gzip 压缩
$ tar -czf all.tar.gz *.txt

# tar 解压 .tar.gz 的压缩包
$ tar -xzf all.tar.gz
#==========example:bzip2=========
# tar 调用 bzip2 压缩
$ tar -cjf all.tar.bz2

# tar 解压 .tar.bz2 压缩
$ tar -xjf all.tar.bz2

windows 下的压缩文件(.zip && .rar)

  Linux 下提供了 zip 和 unzip 程序,用来进行压缩和解压,这里的压缩可以对多个文件进行压缩,即执行了 Linux 下打包和压缩的功能。

# zip 实例
# 打包压缩所有以 .txt 结尾的文件,明明为 test.zip
$ zip test.zip *.txt

# 解压 test.zip
$ unzip test.zip

# test 为一个目录,目录下有 v1 、v2 两个文件
# -r : 级联打包压缩文件夹下的所有文件,如果无次选项,则解压后该文件夹为空
$ zip -r test.zip test

# 解压
$ unzip test.zip

  对于 .rar 文件,需要安装 RAR for Linux ,可以从网络上下载,安装完成之后就有了 rar 和 unrar 这两个程序。

# buntu 安装 rar 和 unrar
$ sudo apt-get install rar unrar
# 使用 rar 进行压缩,如果为 层级目录,则自动为层级压缩
$ rar a all.rar *.txt

# 使用 unrar 进行解压,如果存在层级目录,则会将目录下所有文件解压到当前目录下
$ unrar e all.rar

# 如果压缩有层级目录存在,则用 e 进行解压会将所有文件解压到当前目录下,无法位置原始的目录结构,此时可以使用 x 选项进行解压
$ unrar x all.rar

 

参考资料;

https://blog.csdn.net/AresGod/article/details/1803730

posted on 2019-09-11 23:23  爱笑的张飞  阅读(402)  评论(0编辑  收藏  举报

导航