linux归档是什么意思

linux归档是一个聚集众多文件并将它们组合为一个大文件的过程,它通常作为系统备份的一部分,而且通常也用于将旧数据从某个系统移到某些长期存储设备的情况下;tar命令可以为linux的文件和目录创建档案。

linux归档是什么意思

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux归档是什么意思?

归档是与压缩操作配合使用的一个常用文件管理任务。归档是一个聚集众多文件并将它们组合为一个大文件的过程,它通常作为系统备份的一部分,而且通常也用于将旧数据从某个系统移到某些长期存储设备的情况下。

tar命令可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用tar命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

Linux tar命令

tar命令是linux上将 多个文件打包程一个文件包。方便传输,也可以用于文件备份。我们也可以用tar来解压归档文件。

tar命令压缩格式

tar命令支持的压缩格式,一般我们在使用tar命令的时候会同时对文件压缩,以降低空间使用率。通常我们会采用以下命名规范来约定我们使用了哪种压缩方式。

.tar 默认模式,不压缩,只是将所有文件放到一个包里。

.tar.gz 常用模式,采用gzip算法压缩。压缩率一般,压缩时间中等。

.tar.bz2 不常用。采用bz2算法压缩。压缩率稍差,压缩时间较短。

.tar.xz 不常用,采用xz算法压缩。压缩率较好,压缩时间较长。

tar概要简介

tar语法介绍

 

tar 一般支持以下两种语法格式,第二种是旧的方式。

tar OPTION... [NAME]...tar LETTER... [ARGUMENT]... [OPTION]... [NAME]...

 tar的主要参数,我们称之为【操作类型】:例如,c创建,x解压。其他的参数我们称之为【附加选项】,用来改变我们操作的进展方式例如文件名字,待归档的目标文件。

主要参数 【操作类型】一定要放在最前方。

两种语法格式中的[NAME]都是指明我们要待归档的文件名字,[NAME]可以是文件或者目录,或者是多个文件或目录。 [NAME]一定要指定明确,而且在我们执行tar命令之前一定是要已经存在与文件系统上。

tar的其他知识介绍

tar “将相对路径的文件名解释为相对目录。如果我们指定了绝对路径, tar会将首个/去掉来进行打包。这么做的目的是为了防止解压的时候替换掉系统目录。除非我们故意指定【–absolute-names】选项。

如果我们指定的是一个目录的话,tar会递归指定目录下所有的子目录和文件来进行归档,例如我们指定/,意思就是整个文件系统都将要被归档。

在使用shell通配符的时候区别文件名字和待归档成员是非常重要的。原因在于,shell只会对存在的文件使用通配符, tar自己也会对归档成员使用通配,所以我们必须保证通配符只针对tar起作用,而不是shell.通常我们可以使用反斜杠在 “*”或“?”或者放在单引号中,这样旧可以了

通常我们都会把支队的文件放在命令行上,实际上我们也可以通过读文件的方式来指定归档后的文件名。’–files-from=FILE-OF-NAMES’ (‘-T FILE-OF-NAMES’)

如果我们不指定归档后的文件名,那么 追加,删除,等操作命令不会做任何操作。create会输出一个诊断信息,并阻止tar操作。其他的操作选项会对整个archive目录操作

除了正常成功退出,tar会因为很多原因失败。有的情况是可以恢复的,例如当tar命令不是正常组织书写时,错误会推迟到直到文件处理完会报告出来。.有的错误可能不是故意的,但是还是有危险,那么接下来,tar会立即退出。

然而所有非正常的退出,不论是立即的还是推迟的,都会有错误输出,并且会有诊断信息。

可能的tar程序退出码有:0(正常退出),1(有文件发生变化了),2(严重错误,不可恢复的错误)

tar选项风格

三种选项风格

标准tar命令一共支持8种操作模式让我们去完成多样任务。每次使用tar命令我们只能选择一种操作模式。根据实际情况,我们可能会希望指定tar操作模式的运行。例如我们可能修改outputs的输出格式。或者我们想要文件格式需要我们去特殊指定操作顺序。

tar选项是在我们指定tar操作模式后附加的选项。根据tar的操作模式,我们可以指定一个或多个选项。不同的选项有不同的作用,通常情况下,选项会修改该操作模式具体内容。例如修改归档格式,归档文件名,或者用户交互级别。

有些选项对所有操作模式都会有效,有些选项只对特定的操作模式有效。我们会经常使用一些固定的选项。其他的可能很少用到,或基本不会用到。

选项是大小写敏感的,例如-T和-t是不同的,T要求一个参数名字来指明文件名或文件列表。t则不需要参数 ,是–list的另一种书写方式。

tar选项通常支持3中不同的风格: 长命名型(–),短命名型(-),旧命名方式(没有-)。操作模式或选项都可以使用任意一种风格。3中不同的风格是在不同的时期开发出来嘚。

有些选项是需要一个参数的,在哪里放置参数,通常的时候需要根据我们使用哪种风格。这些区别可能是微妙的,但是却很重要。选项放置在错误的位置,可能会导致覆盖一些重要的文件。我们必须要注意到这些不同点。而且只使用我们所了解的选项,直到我们对其他的选项也了解了。那些需要接收参数的选项,他们可能会有最长或短的形式,而没有旧风格的对应选项。使用这些需要指定参数的选项的规则是非常严谨的。

例如–file选项需要接收一个归档文件名作为参数。如果我们不指定归档文件名,tar会使用一个默认的但另我们困惑名字,建议我们一定要指定一个具体的归档文件名字。

长命名选项风格

tar所有的参数选项都至少有一个长命名型的参数。长命名参数选项比短命名和旧参数名字类型显示更加的清晰。有的时候长名字选项会有不同的名字但是却是相同的作用,例如–compare和–dif是同一个意思。另外长命名方式,也可以使用唯一的缩写,例如–create可以用–cre来代替。因为没有其他的选项以–cre开头。

tar 长命名选项更加的明显和容易记忆,而且他们的名字也容易辨认。例如 tar –create –verbose –blocking-factor=20 –file=/dev/rmt0,全部使用的是长命名型参数,可以显而易见的看出每个参数的含义。

长命名选项必须接收参数的话,要立即在该选项后面书写, 有两种方式去指定必须的参数,一种是使用空格,另一种是使用=符号。例如–file选项我们可以使用–file archive.tar 或者–file=archive.tar两种方式来制定参数。

对应地,如果选项可以接收也可以不接收参数的话。这种情况下如果要接收参数,必须使用=符号来指定。例如 –backup 可选接收参数。如果要指定的话,必须使用’–backup=BACKUP-TYPE’.

短命名选项风格

 大多数的选项也有对应的短命名选项,短命名选项使用-符号,并且紧跟一个字母。例如 -t(对应长命名选项–list),这些形式在功能上是完全相同的,可以互换。

 相对于长命名选项,短命名方式一个明显的优点就是书写很方便。

短命名选项如果需要在选项后面立即接收参数的话,通常以空格来实现。 也可以省略空格,立即接着选项书写,例如指定归档名字 我们可以使用-f archive.tar(有空格) -farchive.tar(省略空格),–file=archive.tar. -f ARCHIVE-NAME和–file=ARCHIVE-NAME都表示这个选项指定了归档文件名。

有可选参数的短命名选项,如果要指定参数的时候,需要参数紧跟短选项名字,不能使用任何空格。

短命名选项可以放在一起书写,但不是要求的。当短选项以集合成片出现时,仅在选项开始使用一个-,例如tar -cvf,同时只有最后一个选项允许接收必须参数。(将许多选项集中在一起,最后一个选项有一个参数,这是一种相当不透明的写法。)

当选项分开使用时,每个选项的参数需要紧跟着该选项。  tar -c -v -b 20 -f /dev/rmt0。如果参数没有调整好,可能会导致文件被覆盖。

当我们重新调整选项时,要注意同时移动属于该选项的参数。

 

旧选项风格

像短命名选项一样,旧选项风格也只有一个字母。但是,旧风格选项必须将所有选项放在一起,不得有空格将他们分开,或者-连接他们。在tar命令和空格之后,比较紧跟这些字母选项的集合。旧选项不能在任意地方出现。旧选项风格的选项和短命名风格的选项含义是一样的。例如 在旧选项风格中,选项 t 和 短命名选项-t 已经长命名选项–list有一样的作用。 tar cv 命令中,选项v是c选项的额外附加内容。

在旧选项风格中,但选项需要参数的时候,这些选项要一起提供,所有的选项按选项书写顺序提供。例如  tar -c -v -b 20 -f /dev/rmt0  要写成 tar cvbf 20 /dev/rmt0这里20是b选项的参数 /dev/rmnt0是f的参数。

我们可以看出,旧风格选项,匹配选项字母和对应的参数是很困难的,而且很容易令人困惑。短命名方式逗比旧命名方式要好很多。如果要调整选项的字母,必须要同时准确地调整对应的参数位置。

旧选项风格有的时候甚至可以震惊一个熟悉的用户。

tar cfz archive.tar.gz file  这个例子中 archive.tar.gz 被认为是f的参数,z是压缩选项。

tar -cfz archive.tar.gz file 这个例子中 z会被认为是f的选项值,尽管不是我们想的。

旧选项风格是为了向下兼容而保留的。而且很多用户已经习惯了这种方式。

第二个例子我们有几种方式来修改。

tar -czf archive.tar.gz filetar -cf archive.tar.gz -z filetar cf archive.tar.gz -z file

通常tar命令的第一个选项一般都会当做包含操作模式和选项来对待处理,尽管没有用-开始。因此 tar c与tar -c一样,都是和–create一样来创建归档。

混合选项风格

三种选项风格可以同时出现在一条tar 命令中,但是旧选项必须在tar命令后 第一个出现,现代风格的选项必须在旧选项集合输入之后出现,这个是必须遵守的原则,否则可能我们输入的命令跟我们预想的结果根本不一样。可能会造成严重的错误或灾难。

 tar选项

操作模式

‘–concatenate’  ‘–catenate’ ‘-A’ 将其他归档文件放在当前归档文件末尾

‘–append’ ‘ -r’  追加文件到归档文件

‘–compare’  ‘–diff’  ‘-d’  将归档文件和文件系统上的文件进行对比

boardmix博思白板 boardmix博思白板

boardmix博思白板,一个点燃团队协作和激发创意的空间,集aigc,一键PPT,思维导图,笔记文档多种创意表达能力于一体,将团队工作效率提升到新的层次。

boardmix博思白板 39 查看详情 boardmix博思白板

‘–create’ ‘-c’ 创建一个归档文件

‘–delete’ 从归档文件中删除一些文件。(不能在tape上操作)

‘–extract’ ‘–get’ ‘-x’ 提取归档文件到当前文件系统

‘–list’  ‘-t’ 显示归档文件的组成文件列表

‘–update’  ‘-u’ 更新归档文件中的某个文件,只有在该文件有更新时。或者不存在与归档文件。

 

通用选项

-C, –directory=DIR  改变工作目录。

-f, –file=ARCHIVE  指定归档文件名

-j, –bzip2  使用bzip2压缩方式过滤

-J, –xz  使用xz压缩方式过滤

-p, –preserve-permissions 解压时保留文件的权限。

-v, –verbose 详细的列出处理的文件

-z, –gzip  使用gzip压缩方式过滤

提取时覆盖选项

–remove-files 提取归档后删除归档文件

-k –keep-old-files 执行的时候不覆盖已经存在的文件,会输出错误

–keep-newer-files 执行的时候不覆盖比archive里文件新的文件

–keep-directory-symlink 不把已经存在的连接替换成目录

–no-overwrite-dir 保存已经存在的目录的原信息

–overwrite  覆盖已经存在的文件

–overwrite-dir 覆盖已经存在的目录

–recursive-unlink 在提取目录文件前清除该目录结构

–skip-old-files 不替换已经存在的文件。静默方式跳过

-U, –unlink-first 在提取之前先删除所有文件

-W, –verify 校验

 

处理文件的属性

–atime-preserve[=METHOD]  保存文件atime到归档文件

–delay-directory-restore 直到解压完才改变目录的时间戳属性

–group=NAME 强制修改文件所属组

–mode=CHANGES 强制连接模式修改

–mtime=DATE-OR-FILE 修改文件的mtime

-m, –touch 不提取文件的 mtime

–no-delay-directory-restore 取消delay-directory-restore

–no-same-owner  extract files as yourself (default for ordinary users)

–no-same-permissions  apply the user’s umask when extracting permissions from the archive (default for ordinary users)

–numeric-owner 使用number来表示owner和group

–owner=NAME  修改归档的文件的owner

-p, –preserve-permissions, –same-permissions 保留文件的属性

–preserve  保留文件的属性 same as both -p and -s

–same-owner  保留文件的属性

-s, –preserve-order, –same-order 保留文件的属性

 

本地目录文件的选择

–add-file=FILE 最加文件到归档中如果一个文件名字以-开始

–backup[=CONTROL]  删除之前先备份

-C, –directory=DIR 修改工作目录到指定目录

–exclude=PATTERN 排除一些文件

–exclude-backups 排除掉 备份和锁文件

–exclude-caches 排除掉cache(CACHEDIR.TAG)的目录其他文件,除了tagfile

–exclude-caches-all  排除掉包括CACHEDIR.TAG的目录

–exclude-caches-under 排除掉所有有tagfile的目录的其他文件,但是有目录

–exclude-tag=FILE 排除掉指定含义某文件的目录,除了该文件

exclude contents of directories containing FILE, except for FILE itself

–exclude-tag-all=FILE exclude directories containing FILE 排除掉有某文件的整个目录

–exclude-tag-under=FILE 排除掉有某文件的目录里的所有内容

–exclude-vcs  排除掉vcs版本控制的目录

-h, –dereference 保存软连 ,将目标文件也归档起来

follow symlinks; archive and dump the files they point to

–hard-dereference 保存硬软连 ,将目标文件也归档起来

-K, –starting-file=MEMBER-NAME 以目录中某个文件开始归档,前面的文件不归档

–newer-mtime=DATE 当内容修改时,对比文件的日期和时间

-P, –absolute-names  以绝对路径来打包。提取时会覆盖源文件–recursion

–suffix=STRING 删除之前先备份,以设置的前缀来覆盖

-X, –exclude-from=FILE    排除掉指定文件里的约定的文件

推荐学习:《Linux视频教程》

以上就是linux归档是什么意思的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/250927.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月4日 05:29:00
下一篇 2025年11月4日 05:29:32

相关推荐

  • Linux中如何安装Nginx服务_Linux安装Nginx服务的完整指南

    首先更新系统软件包,然后通过对应包管理器安装Nginx,启动并启用服务,开放防火墙端口,最后验证欢迎页显示以确认安装成功。 在Linux系统中安装Nginx服务是搭建Web服务器的第一步。Nginx以高性能、低资源消耗和良好的并发处理能力著称,广泛用于静态内容服务、反向代理和负载均衡。以下是在主流L…

    2025年12月6日 运维
    000
  • Linux journalctl与systemctl status结合分析

    先看 systemctl status 确认服务状态,再用 journalctl 查看详细日志。例如 nginx 启动失败时,systemctl status 显示 Active: failed,journalctl -u nginx 发现端口 80 被占用,结合两者可快速定位问题根源。 在 Lin…

    2025年12月6日 运维
    100
  • Linux如何防止缓冲区溢出_Linux防止缓冲区溢出的安全措施

    缓冲区溢出可通过栈保护、ASLR、NX bit、安全编译选项和良好编码实践来防范。1. 使用-fstack-protector-strong插入canary检测栈破坏;2. 启用ASLR(kernel.randomize_va_space=2)随机化内存布局;3. 利用NX bit标记不可执行内存页…

    2025年12月6日 运维
    000
  • Linux如何优化系统性能_Linux系统性能优化的实用方法

    优化Linux性能需先监控资源使用,通过top、vmstat等命令分析负载,再调整内核参数如TCP优化与内存交换,结合关闭无用服务、选用合适文件系统与I/O调度器,持续按需调优以提升系统效率。 Linux系统性能优化的核心在于合理配置资源、监控系统状态并及时调整瓶颈环节。通过一系列实用手段,可以显著…

    2025年12月6日 运维
    000
  • Pboot插件数据库连接的配置教程_Pboot插件数据库备份的自动化脚本

    首先配置PbootCMS数据库连接参数,确保插件正常访问;接着创建auto_backup.php脚本实现备份功能;然后通过Windows任务计划程序或Linux Cron定时执行该脚本,完成自动化备份流程。 如果您正在开发或维护一个基于PbootCMS的网站,并希望实现插件对数据库的连接配置以及自动…

    2025年12月6日 软件教程
    000
  • Linux命令行中wc命令的实用技巧

    wc命令可统计文件的行数、单词数、字符数和字节数,常用-l统计行数,如wc -l /etc/passwd查看用户数量;结合grep可分析日志,如grep “error” logfile.txt | wc -l统计错误行数;-w统计单词数,-m统计字符数(含空格换行),-c统计…

    2025年12月6日 运维
    000
  • Linux命令行中fc命令的使用方法

    fc 是 Linux 中用于管理命令历史的工具,可查看、编辑并重新执行历史命令。输入 fc 直接编辑最近一条命令,默认调用 $EDITOR 打开编辑器修改后自动执行;通过 fc 100 110 或 fc -5 -1 可批量编辑指定范围的历史命令,保存后按序重跑;使用 fc -l 列出命令历史,支持起…

    2025年12月6日 运维
    000
  • VSCode终端美化:功率线字体配置

    首先需安装Powerline字体如Nerd Fonts,再在VSCode设置中将terminal.integrated.fontFamily设为’FiraCode Nerd Font’等支持字体,最后配合oh-my-zsh的powerlevel10k等Shell主题启用完整美…

    2025年12月6日 开发工具
    000
  • Linux命令行中locate命令的快速查找方法

    locate命令通过查询数据库快速查找文件,使用-i可忽略大小写,-n限制结果数量,-c统计匹配项,-r支持正则表达式精确匹配,刚创建的文件需运行sudo updatedb更新数据库才能查到。 在Linux命令行中,locate 命令是快速查找文件和目录路径的高效工具。它不直接扫描整个文件系统,而是…

    2025年12月6日 运维
    000
  • Linux文件系统rsync命令详解

    rsync通过增量同步高效复制文件,支持本地及远程同步,常用选项包括-a、-v、-z和–delete,结合SSH可安全传输数据,配合cron可实现定时备份。 rsync 是 Linux 系统中一个非常强大且常用的文件同步工具,能够高效地在本地或远程系统之间复制和同步文件与目录。它以“增量…

    2025年12月6日 运维
    000
  • Linux systemctl list-dependencies命令详解

    systemctl list-dependencies 用于查看 systemd 单元的依赖关系,帮助排查启动问题和优化启动流程。1. 基本语法为 systemctl list-dependencies [选项] [单元名称],默认显示 default.target 的依赖。2. 常见单元类型包括 …

    2025年12月6日 运维
    000
  • 如何在mysql中安装mysql插件扩展

    安装MySQL插件需先确认插件文件位于plugin_dir目录,使用INSTALL PLUGIN命令加载,如INSTALL PLUGIN keyring_file SONAME ‘keyring_file.so’,并确保用户有SUPER权限,最后通过SHOW PLUGINS验…

    2025年12月6日 数据库
    000
  • 如何在mysql中定期清理过期备份文件

    通过Shell脚本结合cron定时任务实现MySQL过期备份文件自动清理,首先统一备份命名格式(如backup_20250405.sql)并存放在指定目录(/data/backup/mysql),然后编写脚本使用find命令删除7天前的.sql文件,配置每日凌晨2点执行的cron任务,并加入日志记录…

    2025年12月6日 数据库
    000
  • Linux文件系统中的ext4与xfs对比

    ext4适合通用场景,稳定性强,兼容性好,适用于桌面和中小型服务器;XFS擅长大规模高并发I/O,扩展性强,适用于大文件与高性能需求环境。 在Linux系统中,ext4和XFS是两种广泛使用的文件系统,各自适用于不同的使用场景。选择哪一个取决于性能需求、数据规模以及工作负载类型。 设计目标与适用场景…

    2025年12月6日 运维
    000
  • 如何在Linux中处理磁盘满的问题?

    先使用df -h和du命令定位占用空间的目录或文件,再清理日志、缓存等可删除内容,并通过定期任务和监控预防问题复发。 当Linux系统提示磁盘空间不足时,关键是要快速定位问题源头并释放空间。以下是实用的排查和处理步骤。 检查磁盘使用情况 使用df命令查看各分区的使用情况: df -h:以易读方式显示…

    2025年12月6日 运维
    000
  • Linux命令行中free命令的使用方法

    free命令用于查看Linux内存使用情况,包括总内存、已用、空闲、共享、缓存及可用内存;使用-h可读格式显示,-s周期刷新,-c限制次数,-t显示总计,帮助快速评估系统内存状态。 free命令用于显示Linux系统中内存和交换空间的使用情况,包括物理内存、已用内存、空闲内存以及缓存和缓冲区的占用情…

    2025年12月6日 运维
    000
  • Linux命令行中tail -f命令的详细应用

    tail -f 用于实时监控文件新增内容,常用于日志查看;支持 -F 处理轮转、-n 指定行数、结合 grep 过滤,可监控多文件,需注意权限与资源释放。 tail -f 是 Linux 中一个非常实用的命令,主要用于实时查看文件的新增内容,尤其在监控日志文件时极为常见。它会持续输出文件末尾新增的数…

    2025年12月6日 运维
    000
  • 如何在Linux中快速复制大文件?

    使用cp、rsync或dd命令优化大文件复制,结合reflink、全量传输、大块大小设置及系统配置调整,可显著提升复制速度与资源利用率。 复制大文件时,速度和系统资源占用是关键。Linux 提供多种方式来高效完成大文件复制任务,选择合适的方法能显著提升效率。 使用 cp 命令并优化参数 cp 是最常…

    2025年12月6日 运维
    000
  • LINUX怎么查看系统所有用户组_Linux系统所有用户组查看方法

    首先使用getent group命令获取系统中所有用户组的完整列表,该命令从/etc/group文件和网络信息源读取数据,结果全面;接着可通过cat /etc/group直接查看本地用户组配置文件内容,适合快速检查本地组信息;最后利用bash内置命令compgen -g列出所有用户组名称,便于脚本处…

    2025年12月6日 系统教程
    000
  • 如何在mysql中安装mysql客户端命令行

    答案是安装MySQL客户端的方法因操作系统而异。首先通过mysql –version确认是否已安装,若未安装,则在Ubuntu/Debian系统使用sudo apt install mysql-client,在CentOS/RHEL/Fedora系统使用sudo yum或dnf inst…

    2025年12月6日 数据库
    000

发表回复

登录后才能评论
关注微信