跳到主要内容

Linux tar 命令使用

小林
软件工程师, 专注云原生和Go开发

记录 Linux tar 命令的使用笔记

说明

以下内容由AI产生并经过本人验证

tar 命令是 Linux 和类 UNIX 系统中广泛使用的归档和打包工具, 它能够将多个文件和目录集合到一个单一的归档文件中, 这个归档文件通常以 .tar 扩展名结尾。虽然 tar 本身并不直接提供压缩功能, 但它经常与 gzip、bzip2、xz 等压缩工具结合使用来创建压缩的归档文件, 如 .tar.gz(gzip压缩)、.tar.bz2(bzip2压缩)、.tar.xz(xz压缩)等

以下是一些基本的 tar 命令使用示例:

创建 tar 归档文件

tar -cvf archive.tar /path/to/directory /path/to/file
  • -c 表示创建一个新的归档文件
  • -v 表示详细模式, 会在执行过程中显示处理的文件
  • -f 后跟归档文件名, 这里是 archive.tar

使用 gzip 压缩创建 tar.gz 归档文件

tar -czvf archive.tar.gz /path/to/directory /path/to/file
  • -z 表示通过 gzip 进行压缩

使用 bzip2 压缩创建 tar.bz2 归档文件

tar -cjvf archive.tar.bz2 /path/to/directory /path/to/file
  • -j 表示通过 bzip2 进行压缩

解压 tar 归档文件

tar -xvf archive.tar
  • -x 表示解包归档文件

解压 gzip 压缩的 tar.gz 归档文件

tar -xzvf archive.tar.gz

解压 bzip2 压缩的 tar.bz2 归档文件

tar -xjvf archive.tar.bz2

添加文件到现有归档

tar -rvf existing_archive.tar newfile.txt

列出 tar 归档内容

tar -tvf archive.tar
  • -t 列出归档文件的内容

tar 命令还支持更多的选项, 比如 --exclude 用于排除特定文件或目录, -C 用于指定解压的目标目录, 以及 --gzip--bzip2--xz 等替代 -z-j-J 的更明确的压缩选项。使用时, 根据实际需求选择合适的选项组合

tar 排除子目录

tar czvf archive.tar.gz /path/to/main_directory --exclude=/path/to/main_directory/excluded_subdir

如果需要排除多个子目录或文件, 可以多次使用 --exclude 选项, 例如

tar czvf archive.tar.gz /path/to/main_directory \
--exclude=/path/to/main_directory/excluded_subdir1 \
--exclude=/path/to/main_directory/excluded_subdir2