linux中可用zip或tar命令打包压缩文件夹:zip生成跨平台.zip;tar配合gzip、xz分别生成保留权限的.tar.gz和高压缩率.tar.xz;tar单独使用可创建未压缩.tar归档。

如果您需要在Linux系统中将文件夹打包并压缩,以便于传输或存档,则可以使用zip或tar命令生成不同格式的压缩包。以下是实现该目标的具体方法:
一、使用zip命令创建ZIP压缩包
zip命令是跨平台兼容性较好的压缩工具,生成的.zip文件可在Windows、macOS和Linux上直接解压。它默认支持递归压缩整个目录,并可选择是否包含空目录。
1、打开终端,切换至目标文件夹所在路径,或直接指定完整路径。
2、执行命令:zip -r archive_name.zip folder_name/,其中archive_name.zip为输出压缩包名,folder_name/为待压缩的文件夹路径(末尾斜杠可选,但建议保留以明确为目录)。
3、如需排除特定子目录或文件,添加-x参数,例如:zip -r archive_name.zip folder_name/ -x "folder_name/temp/*"。
二、使用tar命令创建gzip格式的tar.gz压缩包
tar本身不执行压缩,仅归档;配合gzip可生成高效且广泛支持的.tar.gz格式。该方式保留Linux文件权限与符号链接等元数据,适合系统级备份。
1、在终端中运行:tar -czf archive_name.tar.gz folder_name/,其中-c表示创建归档,-z启用gzip压缩,-f指定输出文件名。
2、若需排除某子目录,使用--exclude选项,例如:tar -czf archive_name.tar.gz --exclude="folder_name/logs" folder_name/。
3、确认压缩包内容是否完整,执行:tar -tzf archive_name.tar.gz | head -n 10,列出前10项文件。
三、使用tar命令创建xz格式的tar.xz压缩包
xz压缩算法比gzip提供更高压缩率,适用于对存储空间敏感且不频繁解压的场景。生成的.tar.xz文件体积更小,但压缩与解压耗时略长。
1、执行命令:tar -cJf archive_name.tar.xz folder_name/,其中-J参数启用xz压缩。
2、验证压缩包完整性,运行:xz -t archive_name.tar.xz,该命令仅检测压缩层,不检查tar结构。
3、如需查看详细压缩信息(如压缩率),添加-v参数:tar -cJvf archive_name.tar.xz folder_name/。
四、使用tar命令创建未压缩的tar归档包
当仅需合并文件而不进行压缩时,可生成纯.tar文件。该格式无压缩开销,适合后续用其他工具统一处理,或在高CPU负载环境中快速打包。
1、输入命令:tar -cf archive_name.tar folder_name/,-c表示创建,-f指定输出文件,省略压缩参数即不压缩。
2、检查归档内容是否正确:tar -tf archive_name.tar | grep -E "\/$",筛选出目录项以确认结构。
3、若需保留绝对路径中的根斜杠,添加-P参数:tar -cPf archive_name.tar /absolute/path/to/folder/,但需注意解压时可能覆盖系统路径。










