在Linux中,tar
命令是用来打包和压缩文件的常用工具。它可以将多个文件和目录合并成一个单一的归档文件,并且可以选择性地对其进行压缩。以下是使用 tar
命令进行备份或归档文件的一些基本用法:
1. 创建归档文件
- 基本命令格式:
tar [选项] [归档后的文件名] [要归档的文件或目录]
- 创建归档:
- 使用
-c
选项来创建一个新的归档文件:
tar -cvf archive_name.tar /path/to/directory_or_file
- 这里,
-c
表示创建归档,-v
表示在归档过程中显示详细信息,-f
指定归档文件的名称。
2. 压缩归档文件
- 使用 gzip 压缩:
- 添加
-z
选项来使用gzip
进行压缩:
tar -czvf archive_name.tar.gz /path/to/directory_or_file
-z
表示用 gzip 压缩。
- 使用 bzip2 压缩:
- 添加
-j
选项来使用bzip2
进行压缩:
tar -cjvf archive_name.tar.bz2 /path/to/directory_or_file
- 使用 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. 解压归档文件
- 解压 gzip 压缩的归档:
tar -xzvf archive_name.tar.gz
- 解压 bzip2 压缩的归档:
tar -xjvf archive_name.tar.bz2
- 解压 xz 压缩的归档:
tar -xJvf archive_name.tar.xz
- 解压未压缩的归档:
tar -xvf archive_name.tar
- 这里,
-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
来处理大量文件。