插件窝 干货文章 Linux文件管理:怎样使用tar命令打包文件

Linux文件管理:怎样使用tar命令打包文件

tar 打包 文件 archive 965    来源:    2025-05-08

使用tar命令打包文件

tar是Linux/Unix系统中常用的归档工具,可以将多个文件或目录打包成一个单独的文件(通常称为"tarball")。以下是使用tar命令打包文件的详细指南:

基本打包命令

tar -cvf 打包文件名.tar 要打包的文件或目录

参数说明: - -c:创建新的归档文件 - -v:显示打包过程(verbose) - -f:指定归档文件名

示例:

# 将file1.txt和file2.txt打包成archive.tar
tar -cvf archive.tar file1.txt file2.txt

# 将整个目录打包
tar -cvf project_backup.tar /path/to/project/

压缩选项

tar可以结合压缩工具进一步减小文件大小:

  1. gzip压缩(.tar.gz或.tgz):
tar -czvf archive.tar.gz files_to_compress/
  • -z:使用gzip压缩
  1. bzip2压缩(.tar.bz2):
tar -cjvf archive.tar.bz2 files_to_compress/
  • -j:使用bzip2压缩
  1. xz压缩(.tar.xz):
tar -cJvf archive.tar.xz files_to_compress/
  • -J:使用xz压缩

排除文件

打包时可以排除特定文件或目录:

tar -cvf archive.tar --exclude='*.log' --exclude='temp/' directory/

查看打包内容

不解包的情况下查看归档内容:

tar -tvf archive.tar

解包命令

# 解包
tar -xvf archive.tar

# 解压并解包gzip压缩的文件
tar -xzvf archive.tar.gz

# 解压到指定目录
tar -xzvf archive.tar.gz -C /target/directory

实用技巧

  1. 打包时保留权限(常用于系统备份):
tar -cvpf archive.tar /path/to/files
  • -p:保留文件权限
  1. 增量备份(只打包比某个时间点新的文件):
tar -cvzf backup_$(date +%Y%m%d).tar.gz --newer-mtime="2023-01-01" /path/to/files
  1. 分卷打包(适合大文件):
tar -cvzf - large_directory/ | split -b 2G - large_backup.tar.gz.

这会生成多个2GB大小的文件(large_backup.tar.gz.aa, large_backup.tar.gz.ab等)

记住,tar命令的参数顺序很重要,-f选项后面必须紧跟文件名。