[フレーム]
Skip to main content

tar 常用命令笔记

tar = Tape Archive(磁带归档) 选项可以不加 -,直接写字母组合。


核心选项助记

选项全称含义
cCreate创建归档
xeXtract解压/提取
tlisT列出内容(不解压)
fFile指定归档文件名(几乎必须加)
vVerbose显示详细过程
zgZip用 gzip 压缩/解压(.tar.gz)
jbzip2用 bzip2 压缩/解压(.tar.bz2)
JxZ用 xz 压缩/解压(.tar.xz)
CChange directory指定解压目标目录
pPermissions保留文件权限
--exclude排除某些文件/目录

常用场景

查看归档内容(不解压)

tar-tf archive.tar.gz

t = lisT(列出) f = File(指定文件)

v 显示详细信息(权限、大小、时间):

tar-tvf archive.tar.gz

解压

# 解压到当前目录
tar-xzf archive.tar.gz

# 解压到指定目录
tar-xzf archive.tar.gz -C /opt/app/

# 解压 .tar.bz2
tar-xjf archive.tar.bz2

# 解压 .tar.xz
tar-xJf archive.tar.xz

# 解压时显示进度
tar-xzvf archive.tar.gz

x = eXtract z = gZip f = File C = Change dir


创建归档

# 创建 .tar.gz
tar-czf output.tar.gz /path/to/dir

# 创建 .tar.bz2(压缩率更高,更慢)
tar-cjf output.tar.bz2 /path/to/dir

# 创建 .tar.xz(压缩率最高,最慢)
tar-cJf output.tar.xz /path/to/dir

# 打包时显示进度
tar-czvf output.tar.gz /path/to/dir

c = Create z = gZip f = File(必须紧跟文件名)


排除文件/目录

tar-czf backup.tar.gz /var/app \
--exclude='*.log'\
--exclude='/var/app/tmp'

只提取特定文件

# 只提取某个文件
tar-xzf archive.tar.gz path/inside/archive/file.conf

# 只提取某个目录
tar-xzf archive.tar.gz path/inside/archive/subdir/

追加文件到归档(仅限未压缩 .tar)

tar-rf archive.tar newfile.txt

r = append(追加),不支持 .tar.gz,需先解压再打包


快速记忆口诀

创建 c Create
解压 x eXtract
列出 t lisT
文件 f File
压缩 z gZip
详情 v Verbose
目录 C Change dir

组合套路:

目的命令模板
看内容tar -tf xxx.tar.gz
解压tar -xzf xxx.tar.gz
打包tar -czf out.tar.gz /path
解压到指定目录tar -xzf xxx.tar.gz -C /target/

后缀与压缩格式对应

后缀选项压缩程序
.tar仅打包,不压缩
.tar.gz / .tgzzgzip(速度快,最常用)
.tar.bz2jbzip2(压缩率高)
.tar.xzJxz(压缩率最高)

AltStyle によって変換されたページ (->オリジナル) /