Linux下使用tar命令进行备份与提取操作指南
tar是Linux系统中最常用的归档工具,支持将文件/目录打包为单一文件(归档),并可结合压缩算法(如gzip、bzip2、xz)减少存储空间占用。以下是具体的备份(创建归档)与提取(解包)操作步骤:
备份的核心是使用tar命令的-c(创建)选项,结合压缩选项生成归档文件。常见场景如下:
适用于需要快速打包但对存储空间要求不高的场景,生成的文件扩展名为.tar。
命令格式:tar -cvf 归档文件名.tar /路径/到/目标目录或文件
参数说明:
-c:创建新的归档文件;-v:显示详细处理过程(可选,但建议开启以确认操作进度);-f:指定归档文件的名称(必须紧跟文件名)。/home/user/documents目录到~/documents_backup.tar:tar -cvf ~/documents_backup.tar /home/user/documents适用于需要平衡压缩速度与压缩比的场景,生成的文件扩展名为.tar.gz(或简写为.tgz)。
命令格式:tar -czvf 归档文件名.tar.gz /路径/到/目标目录或文件
新增参数:
-z:使用gzip算法压缩归档文件(压缩后文件体积约为原文件的30%-70%)。/home/user/documents到~/documents_backup.tar.gz:tar -czvf ~/documents_backup.tar.gz /home/user/documents适用于对压缩比要求较高的场景(比gzip压缩率更高),生成的文件扩展名为.tar.bz2。
命令格式:tar -cjvf 归档文件名.tar.bz2 /路径/到/目标目录或文件
新增参数:
-j:使用bzip2算法压缩归档文件(压缩速度较慢,但压缩率比gzip高10%-20%)。/home/user/documents到~/documents_backup.tar.bz2:tar -cjvf ~/documents_backup.tar.bz2 /home/user/documents适用于对压缩比要求极高的场景(比bzip2压缩率更高),生成的文件扩展名为.tar.xz。
命令格式:tar -cJvf 归档文件名.tar.xz /路径/到/目标目录或文件
新增参数:
-J:使用xz算法压缩归档文件(压缩速度最慢,但压缩率最高,适合长期存储)。/home/user/documents到~/documents_backup.tar.xz:tar -cJvf ~/documents_backup.tar.xz /home/user/documents备份时若需跳过某些临时文件、缓存文件或敏感文件,可使用--exclude选项。
命令格式:tar -czvf 归档文件名.tar.gz --exclude='模式' /路径/到/目标目录
示例:备份/home/user/documents,但排除其中的temp子目录和所有.log文件:
tar -czvf ~/documents_backup.tar.gz --exclude='temp' --exclude='*.log' /home/user/documents
提取的核心是使用tar命令的-x(解包)选项,结合对应的压缩选项解压归档文件。常见场景如下:
命令格式:tar -xvf 归档文件名.tar [-C 目标目录]
参数说明:
-x:从归档文件中提取文件;-C:指定提取的目标目录(可选,默认提取到当前目录)。~/documents_backup.tar提取到当前目录:tar -xvf ~/documents_backup.tar~/documents_backup.tar提取到/tmp/restore目录:tar -xvf ~/documents_backup.tar -C /tmp/restore命令格式:tar -xzvf 归档文件名.tar.gz [-C 目标目录]
新增参数:
-z:解压gzip压缩的归档文件。~/documents_backup.tar.gz提取到当前目录:tar -xzvf ~/documents_backup.tar.gz~/documents_backup.tar.gz提取到/home/user/restored_docs目录:tar -xzvf ~/documents_backup.tar.gz -C /home/user/restored_docs命令格式:tar -xjvf 归档文件名.tar.bz2 [-C 目标目录]
新增参数:
-j:解压bzip2压缩的归档文件。~/documents_backup.tar.bz2提取到当前目录:tar -xjvf ~/documents_backup.tar.bz2~/documents_backup.tar.bz2提取到/mnt/backup目录:tar -xjvf ~/documents_backup.tar.bz2 -C /mnt/backup命令格式:tar -xJvf 归档文件名.tar.xz [-C 目标目录]
新增参数:
-J:解压xz压缩的归档文件。~/documents_backup.tar.xz提取到当前目录:tar -xJvf ~/documents_backup.tar.xz~/documents_backup.tar.xz提取到/opt/restored目录:tar -xJvf ~/documents_backup.tar.xz -C /opt/restored-p选项可保留文件的原始权限(如所有者、组、读写执行权限),恢复时需用root用户执行命令以确保权限生效。tar -czvpf ~/documents_backup.tar.gz /home/user/documents./documents而非/home/user/documents),避免恢复时文件被写入原路径导致权限问题。tar -tvf 归档文件名.tar.gz命令查看归档文件内容,确认备份的文件是否完整。