首页 > 系统相关 >2023.21 linux下的文件打包tar

2023.21 linux下的文件打包tar

时间:2023-05-27 19:55:24浏览次数:32  
标签:文件 tar 压缩 gz xz 2023.21 linux 打包

“tar” 是 “tape archive” 的缩写,最初是为了在磁带上创建档案而设计的,Linux下常使用 tar 命令将多个文件或目录打包成一个文件,这样可以方便地将多个文件或目录打包成一个文件,以便于备份或传输。刚从Windows使用Linux的很多可能都没意识到打包和压缩两个不同的概念,打包就是将多个文件合并成一个文件,压缩就减少文件大小,而在Windows上这两个操作经常一起完成了。而Linux上吸取Unix设计理念,遵守KISS设计原则,一个程序只做一件事,并尽量把它做到极致,所以打包和压缩是分开的,tar主要用来打包,而gzip、bzip、xz等用来压缩,如果只是用tar -cvf 打包文件,并不会减少文件大小。考虑到打包和压缩两个操作会经常一起用,tar 提供了参数-z或-j实现完成打包后自动调用对应的压缩命令的操作,比如,当使用tar -zcvf 时,tar完成打包后会隐式调用gzip来实现打包后文件的压缩。在Linux中,经常看到文件类似“.tar”、“.tar.gz”、".tar.bz2"扩展名的文件,其中tar表示打包文件,tar.gz或.tgz,表示tar打包后又用gzip压缩后得到的文件,当然这里扩展名是执行命令时自己定义的,是与后面使用人的沟通交流的方式。Linux要对文件压缩,可以使用bzip2、gzip 和 xz 命令,不过要注意bzip2、gzip 和 xz 命令都用压缩文件替换原始文件,tar 和 zip 命令不替换。使用tar可以保留 unix 风格的文件权限以及符号链接等信息,而zip压缩不行,它压缩后的文件解压后要变成可执行文件要重新 chmod chown 才行。另外zip也没保存文件名编码,所以如果用英文数字以为的名称时容易出现乱码的情况,因此在Linux中使用比较少。

tar 参数使用:

-v 显示操作过程

-f 指定压缩文件

-j 支持bzip2压缩/解压文件(bz、bz2后缀的文件)

-J 支持xz压缩/解压文件(tar.xz格式)

-z 支持gzip压缩/解压文件(gz后缀的文件)

-x 从压缩文件中提取文件(解包/解压的时候用)extract

-c 建立新的压缩文件(打包/压缩的时候用)compress

从压缩比来讲xz > bz2 > gz,压缩耗时 gz < bz2 < xz,一般在不是要尽可能将文件打包压缩到最小时多用gz,它兼顾了时间和压缩比的平衡。

标签:文件,tar,压缩,gz,xz,2023.21,linux,打包
From: https://www.cnblogs.com/doit8791/p/17437237.html

相关文章

  • PowerShell在VC上批量创建虚拟机-for-Linux
    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。邮箱:[email protected]本文使用Powershell调用VMware-PowerCLI实现批量创建虚拟机的功能。环境说明软件名版本说明WindowsWindows10专业版21H2操作系统UbuntuUbuntu22.04.1LTS操作系统......
  • Linux 常用命令大全【yyds干货盘点4】
    1. 文本处理catfile1file2...|command<>file1_in.txt_or_file1_out.txtgeneralsyntaxfortextmanipulationusingPIPE,STDINandSTDOUTcatfile1|command(sed,grep,awk,grep,etc...)>result.txt合并一个文件的详细说明文本,并将简介写入一个新文件中ca......
  • 网安--Linux cnetos7相关操作
    1、修改静态网络配置文件vim/etc/sysconfig/network-scripts/ifcfg-ens33 IPADDR、NETMASK等需要大写如果出现问题可以重启虚拟网卡2、centos修改yum源shift+insert粘贴1、yum源存放的地址 2、对旧的文件进行备份 3、替换yum源地址,换成阿里云的地址  3、Xs......
  • Linux为什么要有大页内存
    Linux为什么要有大页内存?为什么DPDK要求必须要设置大页内存?这都是由系统架构决定的,系统架构发展到现在,又是在原来的基础上一点点演变的。一开始为了解决一个问题,大家设计了一个很好的方案,随着事物的发展,发现无法满足需求,就在原来的基础上改进,慢慢的变成了现在的样子。不过技术革新......
  • Oracle Linux 8.8 发布 - Oracle 提供支持 RHEL 兼容发行版
    OracleLinux8.8发布-Oracle提供支持RHEL兼容发行版OracleLinuxwithUnbreakableEnterpriseKernel(UEK)&RedHatcompatiblekernel(RHCK)请访问原文链接:https://sysin.org/blog/oracle-linux-8/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgOracle......
  • Oracle Linux 9.2 发布 - Oracle 提供支持 RHEL 兼容发行版
    OracleLinux9.2发布-Oracle提供支持RHEL兼容发行版OracleLinuxwithUnbreakableEnterpriseKernel(UEK)&RedHatcompatiblekernel(RHCK)请访问原文链接:https://sysin.org/blog/oracle-linux-9/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgOracle......
  • 记录一个命令 可以在linux很方便的安装一些软件
    小鱼的一键安装系列wgethttp://fishros.com/install-Ofishros&&.fishros一键安装:ROS(支持ROS和ROS2,树莓派Jetson)贡献@小鱼一键安装:VsCode(支持amd64和arm64)贡献@小鱼一键安装:github桌面版(小鱼常用的github客户端)贡献@小鱼一键安装:nodejs开发环境(通过nod......
  • Linux篇三
    linux常用指令指令运行级别运行级别说明:0:关机1:单用户【找回丢失密码】2:多用户状态没有网络服务3:多用户状态有网络服务4:系统未使用保留给用户5:图形界面6:系统重启常用运行级别是3和5,也可以指定默认运行级别,后面演示**实例:**init0就是关机在centos7以前,letc/inittab文件......
  • 使用vscode远程连接Linux环境写C程序
    1. 下载安装vscode2. 在扩展商店搜索chinese安装中文语言包, 相当于汉化vscode, 应该需要重启生效3. 安装配置插件RemoteSSH4. 连接远程主机, 在资源管理器中可以管理文件5. 试着创建一个文件, 以.c作为扩展名, 会自动下载插件c/c++扩展包6. 写好的C程序, 可以......
  • Linux基础(六)
    推荐步骤:管理Linux操作系统,添加新的硬盘40G创建三个分区,第一个分区和第二个分区大小5G,第一个分区格式化XFS文件系统,第二个分区为EXT4文件系统,将两个文件系统分别手动挂载到/db1和/sdb2目录上,查看挂载的分区在添加磁盘创建第三个分区大小5G,将第三个分区转换为swap分区,进行格式化扩展......