《坚持每天学习一个 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

one_day_one_linuxCmd---tar命令的更多相关文章

  1. 掌握 tar 命令让你秒变大牛

    导读 相信很多初学者在linux环境下为文件归类整理而犯愁,下面是整理文章的的一些命令与技巧,学习Tar命令将会让你处理文件时更加得心应手. Tar(Tape ARchive,磁带归档的缩写:最初设计 ...

  2. [转]Linux tar 命令

    一.使用介绍 1.名词区分 打包:将一大堆文件或目录变成一个总的文件[tar命令] 压缩:将一个大的文件通过一些压缩算法变成一个小文件[gzip,bzip2等] Linux中很多压缩程序只能针对一个文 ...

  3. Linux打包与压缩及tar命令详解

    打包和压缩   在linux中,打包和压缩可以说是两个不同的概念,弄清这两个概念对于我们理解复杂的文件后缀有非常大的帮助 打包 将若干个文件和目录打包在一起变成一个大的文件,这时只是简单的打包,所以一 ...

  4. linux下使用tar命令

    解压语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项: c 创建新的档案文件.如果用户想备份一个目录或 ...

  5. tar命令的使用

    tar格式,会打包成一个文件,可以对多个目录,或者多个文件进行打包 tar命令只是打包,不会压缩,打包前后大小是一样的 tar命令 -c    //打包 -x    //解压 -f    //指定文件 ...

  6. linux tar命令的使用

    tar格式,会打包成一个文件,可以对多个目录,或者多个文件进行打包 tar命令只是打包,不会压缩,打包前后大小是一样的 tar命令 -c    //打包 -x    //解压 -f    //指定文件 ...

  7. tar 命令详解

    tar命令[root@Linux ~]# tar [-cxtzjvfpPN] 文件与目录 -C 目标目录(注:解压时)参数:-c :建立一个压缩文件的参数指令(create 的意思):-x :解开一个 ...

  8. find命令和tar命令的使用

    tar命令 tar -zcvf small.tar.gz small(目录名) (压缩) tar -zxvf small.tar.gz -C small(目录名) (解压到指定目录) find 命令 ...

  9. 每天一个linux命令(28):tar命令

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...

  10. linux基础-第八单元 正文处理命令及tar命令

    第八单元 正文处理命令及tar命令 使用cat命令进行文件的纵向合并 两种文件的纵向合并方法 归档文件和归档技术 归档的目的 什么是归档 tar命令的功能 tar命令的常用选项 使用tar命令创建.查 ...

随机推荐

  1. ACM-小偷的背包

    题目描述:小偷的背包   设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,...,wn.问能否从这n件物品中选择若干件放入背包中,使得放入的重量之和正好为S.如果有满足条 ...

  2. LCD驱动详解

    参考文档:<液晶屏.pdf><S3C2440用户手册><JZ2440-V3原理图>   frame buffer: 显存,用于存放LCD显示数据:frame buf ...

  3. 洛谷 P2549 计算器写作文

    题目传送门 解题思路: 背包,f[i]表示计算器位数为i时,可获得的最大分值. 本题与01背包不同的地方在于,物品的摆放顺序对答案是有影响的,例如两个字符串a,b,那么就会出现a+b和b+a两种情况( ...

  4. (转)解决windows解决windows 7 部分程序图标显示不正常的问题

    刚解决计算机的管理选项打开出现问题,又发现系统里部分程序的快捷图标显示不出了, 曾在xp里也出现过同样的问题,常理推断,如果系统没有被病毒破坏那可能就是系统图标缓存出现问题 因此,双管齐下,一边检查系 ...

  5. Swift Json解析与model互转

    Json的解码与编码操作,这里使用swift自带的类JSONDecoder 和 JSONEncoder 1.基础处理 如果你的 JSON 数据结构和你使用的 Model 对象结构一致的话,那么解析过程 ...

  6. Z-function

    用更容易理解的方法处理出 s[l----r]=s[1----r-l+1] 常数比KMP略大,时间复杂度\(O(n)\),方法和manacher很像 #include<bits/stdc++.h& ...

  7. 【shell】常用shell脚本

    1.检查主机存活状态 #!/bin/bash IP_LIST="192.168.18.1 192.168.1.1 192.168.18.2" for IP in $IP_LIST; ...

  8. java虚拟机之JVM体系结构

    JVM体系结构: 下面重点介绍运行时数据区域模块: (1)java堆(Heap) 被所有线程共享的一块内存区域,在虚拟机启动时创建 用来存储对象实例 可以通过-Xmx和-Xms控制堆的大小 OutOf ...

  9. docker-compose 安装 mongodb

    1. 修改 docker-compose.yml version: "2.1" services: php7.1: build: ./php image: php7.1-ext p ...

  10. JS常用的正则表达式包

    结构: Code: /* 用途:检查输入的Email信箱格式是否正确 输入:strEmail:字符串 返回:如果通过验证返回true,否则返回false */ function checkEmail( ...