在Linux中,如何进行备份或归档文件(tar 命令)?

简介: 在Linux中,如何进行备份或归档文件(tar 命令)?

在Linux中,tar 命令是用来打包和压缩文件的常用工具。它可以将多个文件和目录合并成一个单一的归档文件,并且可以选择性地对其进行压缩。以下是使用 tar 命令进行备份或归档文件的一些基本用法:

1. 创建归档文件
  1. 基本命令格式
tar [选项] [归档后的文件名] [要归档的文件或目录]
  1. 创建归档
  • 使用 -c 选项来创建一个新的归档文件:
tar -cvf archive_name.tar /path/to/directory_or_file
  • 这里,-c 表示创建归档,-v 表示在归档过程中显示详细信息,-f 指定归档文件的名称。
2. 压缩归档文件
  1. 使用 gzip 压缩
  • 添加 -z 选项来使用 gzip 进行压缩:
tar -czvf archive_name.tar.gz /path/to/directory_or_file
  • -z 表示用 gzip 压缩。
  1. 使用 bzip2 压缩
  • 添加 -j 选项来使用 bzip2 进行压缩:
tar -cjvf archive_name.tar.bz2 /path/to/directory_or_file
  1. 使用 xz 压缩
  • 添加 -J-I 选项来使用 xz 进行压缩:
tar -cJvf archive_name.tar.xz /path/to/directory_or_file
# 或者
tar -cIvf archive_name.tar.xz /path/to/directory_or_file
3. 解压归档文件
  1. 解压 gzip 压缩的归档
tar -xzvf archive_name.tar.gz
  1. 解压 bzip2 压缩的归档
tar -xjvf archive_name.tar.bz2
  1. 解压 xz 压缩的归档
tar -xJvf archive_name.tar.xz
  1. 解压未压缩的归档
tar -xvf archive_name.tar
  1. 这里,-x 表示从归档中提取文件。
4. 其他选项
  • -p--preserve-permissions:保留文件的权限。
  • -g--ignore-磁带-errors:忽略磁带错误。
  • -k--keep-old-files:不覆盖已存在的文件。
  • -u--update:只添加比归档中文件更新的文件。
  • -m--touch:不修改文件的修改时间。
  • -C:解压时指定解压的目录。
5. 示例
  • 创建一个包含当前目录所有文件和目录的归档,并保留权限:
tar -cpvf backup.tar .
  • 压缩当前目录到一个名为 backup.tar.gz 的 gzip 压缩归档,并保留文件的修改时间:
tar -czvf -m backup.tar.gz .
  • 解压 backup.tar.gz 到当前目录:
tar -xzvf backup.tar.gz

综上所述,使用 tar 命令时,可以结合管道和其它命令来实现更复杂的操作,例如使用 find 命令来选择性地归档文件,或者使用 xargs 来处理大量文件。

相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
95 8
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
16天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
44 14
Linux 10 个“who”命令示例
|
5天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
57 20
|
5天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
26 7
|
25天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
23天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
29天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
116 3
|
1月前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
52 4
|
1月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
33 1
下一篇
DataWorks