基本概念

打包是指将多个文件或目录打包成一个文件,压缩是指将一个大的文件通过算法压缩成一个小的文件。由于Linux中的很多压缩程序只能对一个文件进行,所以通常要先将全部文件打包成一个文件,然后再对那一个打包文件进行压缩。

tar命令介绍

使用tar命令可以进行打包和解包、压缩和解压缩等操作,使用tar命令打出来的包被称为tar包。例如,可以用tar命令将多个文件或目录打包成一个tar包,也可以对那个tar包进行解包操作。

一、打包操作:tar <选项> <源文件或目录>

选项 含义
-c 将多个文件或目录进行打包
-f <包名> 打包到指定文件,-f后面要紧跟完整的文件名(包括扩展名)
-v 打印出打包过程
-u

在tar包中添加新的文件(无法直接在压缩包中添加文件)

命令示例:

1、tar -cvf package.tar test1 test2

将test1和test2打包到package.tar文件,并显示打包过程

2、tar -cf package.tar test1 Desktop/

将文件test1和目录Desktop打包成package.tar文件

3、tar -uf package.tar test3

将test3添加到package.tar文件中

二、解包操作:tar <选项> <压缩包>

选项 含义
-x 解包操作
-f <包名> 解包到指定文件,f后面要紧跟完整的文件名
-C<目录> 指定目录为解包位置
-t

查看包里的文件

命令示例:

1、tar -xf package.tar

将package.tar文件解包到当前目录

2、tar -xf test.tar -C ..

将test.tar解包到上一级目录

3、tar -tf package.tar

查看package.tar包里的文件

三、同时(解)打包并(解)压缩(最常用)

Linux下的压缩需要先将文件打包再进行压缩,而解压缩则是先将压缩文件解压缩成一个包,再对包进行解包操作。也就是说(解)压缩是需要走两步的,而tar命令可以通过一行命令来同时进行两步的操作。Linux下最常见的两种压缩技术是gzip和bzip2,所以一般只要知道如何对这两种压缩格式进行(解)压缩就够了。

命令格式:tar <选项> <压缩包> <源文件或目录>。只需要在打包或解包操作的选项里加上z或者j。z选项使用gzip压缩程序,j选项使用bzip2压缩程序。

选项 含义
-z 压缩为".tar.gz"格式,或对.gz压缩包进行解压缩
-j 压缩为".tar.bz2"格式,或对.bz2压缩包进行解压缩

命令示例:

1、tar -czf test.tar.gz test1 test2

将test1和2打包成一个tar包,然后用gzip压缩程序对tar包进行压缩,生成一个名为test.tar.gz的压缩包。也可以直接说成将test1和2打包压缩成test.tar.gz文件

2、tar -xzf test.tar.gz -C Desktop/

用gzip程序对test.tar.gz文件解压缩成一个tar包,然后将tar包解包到Desktop目录中。也可以直接说成将test.tar.gz解压缩到Desktop目录

3、tar -jcvf test.tar.bz2 test1 test2

将test1和2通过bzip2压缩程序打包压缩成test.tar.bz2文件,并打印出过程

补充概念:

1、Linux下的文件名是没有任何作用的,但程序员通常会以适当的扩展名来表示文件的种类。例如.sh表示脚本或批处理文件;.tar、.tar.gz、.zip等表示经过不同压缩软件压缩的文件;.php表示PHP语法的网页文件。

2、既然扩展名没有任何作用,为什么tar命令的-f后面的文件需要加上文件扩展名?因为Linux支持的压缩命令非常多,而不同的命令所用的压缩技术并不相同,可能无法互相压缩或解压缩文件。所以,打包压缩文件时加上扩展名是为了让我们(程序员)知道该文件用的哪种压缩命令,可以对照着解压缩。例如,解压.tar.gz文件需要用-z命令(gzip程序),而.tar.bz2文件要用-j命令(bzip2程序)。

参考资料:《鸟哥的Linux私房菜 基础学习篇 第四版》

https://blog.csdn.net/ji519974770/article/details/81916468

http://c.biancheng.net/view/3976.html

Linux下文件的打包与压缩(tar命令)相关推荐

  1. linux文件的打包与下载总结,linux下文件的打包和压缩

    一.文件压缩的原理 简单来说,压缩技术就是在存储时将文件里面没有使用的空间利用起来,主要有以下两种情况. 存储时去掉没有用到的空间.假设我们只是存储一个数字 1 ,二进制表示数字1只需1个bit是1就 ...

  2. Linux下文件的打包、解压缩指令——tar,gzip,bzip2,unzip,rar

    本文是笔者对鸟叔的Linux私房菜(基础学习篇) 第三版(中文网站)中关于 Linux 环境下打包和解压缩指令的内容以及日常操作过程中所接触的相关指令的总结和记录,以供备忘和分享.更多详细信息可直接参 ...

  3. 在linux下怎么解压和压缩tar.xz文件

    在linux下解压tar.xz文件步骤 # xz -d ***.tar.xz      //先解压xz # tar    -xvf    ***.tar  //再解压tar tar.xz压缩包也是打包 ...

  4. linux下的文档处理及tar命令

    1.使用cat命令进行纵向合并 使用'>'是将左边的内容覆盖到右边 使用'>>'是将左边的内容追加到右边文档中 还可使用'>'将不同文件进行合并 2.管道符'|'统计行数 使用 ...

  5. linux中vi权限,Linux下文件权限、用户组、VI命令

    mkdir命令选项说明 命令中的[选项]一般有以下两种: -m 用于对新建目录设置存取权限,也可以用 chmod 命令进行设置. -p 需要时创建上层文件夹(或目录),如果文件夹(或目录)已经存在,则 ...

  6. linux下剪切文件怎么恢复,linux下文件夹的创建、复制、剪切、重命名、清空和删除命令...

    在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz 一.目录创建 在/home/wwwroot目录下新建一个sinozzz123的 ...

  7. Linux 下文件打包和压缩

          在 Windows 下我们通常会用好压或者是 Winrar 来进行压缩文件,一般没有打包的说法.在 Linux 下却不太一样,我们可以利用一些命令完成对文件的打包和压缩.这篇文章介绍 ta ...

  8. Linux下文件的压缩、解压缩、打包以及提取

    文章目录 Linux下文件的压缩.解压缩.打包以及提取 一.单个文件的解压缩 1.压缩文件: 2.文件的压缩 3.压缩文件的查看: 4.文件的解压:gunzip [选项] 文件名 二.多个文件的打包和 ...

  9. linux下文件压缩、解压缩方法(tar)

    注: 1.以下测试在ubuntu 9.10(32位)上进行,其他平台未测试 2.本文只是我个人的理解,不一定完全正确 3.版权所有,转载请注明作者和出处 压缩 1.压缩的概念 1)压缩的目的:    ...

最新文章

  1. 中国AI芯片产业发展白皮书:未来三年年均增长率超50%
  2. android控件的对齐方式
  3. export 和 export default 的区别
  4. Linux系统资源限制
  5. 程序员有趣的面试智力题(转)
  6. 网页加载的不同的方式、点击按钮显示一句话、jQuery中获取元素的方法
  7. VUE之文字跑马灯效果
  8. 30个超实用Python代码片段
  9. 数据集的非均衡问题(imbalanced data)和应对方法
  10. 侏罗纪开发实施工作管理平台
  11. sqlserver 自定义日期函数(MMdd)
  12. 2018/9/27---高质量SCI论文撰写方法以及ESI引用经验交流 韩光洁教授(大连理工)
  13. 用java将excel导出成vcf文件
  14. PHP Failed opening required
  15. JAVA LIST、ARRAY 移除其中某一元素
  16. Windows系统——ATTCK红队评估实战靶场(二)——CS方式
  17. jenkins===当postman出现错误403 No valid crumb was included in the request的解决办法
  18. 女程序员||想逃离的悲惨世界
  19. C++:数组、链表与哈希表
  20. 学习臧圩人Java面试题解惑系列总结

热门文章

  1. dhcp什么意思服务器系统安装,dhcp服务器是什么意思(3分钟了解dhcp服务器)
  2. python使用urllib2_Python中urllib2总结
  3. 小程序上传图片裁剪工具 we-cropper的使用方法
  4. java ps h264_从海康28181的PS流解析H264的补充
  5. oracle数据库中nvarchar,Oracle数据库中的varchar,varchar2,nvarchar,nvarchar2区别及用
  6. C++ STL 基础及应用(2) 模板与操作符重载
  7. E488: Trailing characters:
  8. H5 + vue 监听手机屏幕旋转及判断横竖屏
  9. CINTA不加分作业
  10. ubuntu下最优秀的截屏软件scrot