插件窝 干货文章 linux tar命令怎么用

linux tar命令怎么用

tar 解压 archive 压缩 637    来源:    2025-05-02

tar 是 Linux 中用于归档文件的常用命令,支持打包、压缩、解压等操作。以下是详细用法和示例:


1. 基本语法

tar [选项] [输出文件名] [输入文件/目录]

2. 常用选项

选项 说明
-c 创建新的归档文件(打包)
-x 解压归档文件
-f 指定归档文件名(必须紧跟文件名)
-v 显示操作过程(verbose)
-z 使用 gzip 压缩/解压(.tar.gz.tgz
-j 使用 bzip2 压缩/解压(.tar.bz2
-J 使用 xz 压缩/解压(.tar.xz
-t 列出归档内容(不解压)
-r 向归档中追加文件
-C 指定解压目录

3. 常用示例

打包与压缩

  • 打包为 .tar(不压缩):

    tar -cvf archive.tar /path/to/files/
    
  • 打包并用 gzip 压缩(.tar.gz

    tar -czvf archive.tar.gz /path/to/files/
    
  • 打包并用 bzip2 压缩(.tar.bz2

    tar -cjvf archive.tar.bz2 /path/to/files/
    
  • 打包并用 xz 压缩(.tar.xz

    tar -cJvf archive.tar.xz /path/to/files/
    

解压操作

  • 解压 .tar

    tar -xvf archive.tar
    
  • 解压 .tar.gz.tgz

    tar -xzvf archive.tar.gz
    
  • 解压 .tar.bz2

    tar -xjvf archive.tar.bz2
    
  • 解压 .tar.xz

    tar -xJvf archive.tar.xz
    
  • 解压到指定目录

    tar -xzvf archive.tar.gz -C /target/directory/
    

查看归档内容

tar -tvf archive.tar.gz

向归档追加文件

tar -rvf archive.tar newfile.txt

4. 常见问题

  1. 如何排除某些文件?
    使用 --exclude

    tar -czvf archive.tar.gz --exclude="*.log" /path/to/files/
    
  2. 如何压缩多个目录?
    直接列出路径:

    tar -czvf archive.tar.gz /path1 /path2
    
  3. 如何保留文件权限?
    添加 -p 选项:

    tar -czvpf archive.tar.gz /path/to/files/
    

5. 各压缩格式对比

格式 命令选项 压缩率 速度
.tar -cf 最快
.tar.gz -czf 中等 中等
.tar.bz2 -cjf 较高 较慢
.tar.xz -cJf 最高 最慢

掌握这些命令后,你可以高效地管理 Linux 中的文件归档与压缩需求!