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可以结合压缩工具进一步减小文件大小:
tar -czvf archive.tar.gz files_to_compress/
-z
:使用gzip压缩tar -cjvf archive.tar.bz2 files_to_compress/
-j
:使用bzip2压缩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
tar -cvpf archive.tar /path/to/files
-p
:保留文件权限tar -cvzf backup_$(date +%Y%m%d).tar.gz --newer-mtime="2023-01-01" /path/to/files
tar -cvzf - large_directory/ | split -b 2G - large_backup.tar.gz.
这会生成多个2GB大小的文件(large_backup.tar.gz.aa, large_backup.tar.gz.ab等)
记住,tar命令的参数顺序很重要,-f
选项后面必须紧跟文件名。