在Mac平台下使用tar压缩生成 "._" 文件的解决办法

在Mac平台压缩文件夹,在Linux平台解压后每个文件都多了._开头的副本。经搜索发现是Mac下tar机制问题,使用COPYFILE_DISABLE选项在压缩时可避免生成._文件。

概述

最近在Mac平台下压缩文件夹时,然后在Linux平台解压后,发现每一个文件都多了一份 ._ 开头的文件副本,例如,我们的正常文件里面是这样的:

files
  | 001.txt
  | 002.txt
  | 003.txt

在 Mac 平台下使用如下命令对其进行压缩:

tar -zcvf files.tar.gz files

然后把 files.tar.gz 复制到Linux系统中,解压后的文件树如下:

files
  | 001.txt
  | 002.txt
  | 003.txt
  | ._001.txt
  | ._002.txt
  | ._003.txt

解决方案

google搜索了一番,发现是Mac下的tar机制问题,具体也不深究了,使用
COPYFILE_DISABLE选项 在压缩时可以避免生成._文件:

COPYFILE_DISABLE=1 tar -zcvf files.tar.gz files
<think>我们正在回答用户关于如何将文件夹打.tar文件的问题。根据用户的需求,我们可以通过命令行(如Linux或Mac的终端)或使用图形界面工具来实现。由于用户提到了命令行引用,我们将重点介绍命令行方法。首先,我们需要明确:.tar文件是一个归档文件(将多个文件组合成一个文件),但默认不压缩(如果需要压缩,可以结合gzip或bzip2等工具生成.tar.gz或.tar.bz2等格式)。用户明确要求打.tar文件(不压缩)。使用tar命令打文件夹的基本语法如下:tar -cvf目标文件.tar文件夹解释选项:-c:创建新的归档文件-v:显示详细过程(可选,如果不需要显示详细信息可以省略)-f:指定归档文件名(后面必须紧跟文件名)例如,将当前目录下的mydir文件夹打成mydir.tar,命令如下:tar -cvfmydir.tar mydir如果用户想要将打后的文件放在特定路径,可以在目标文件名中指定路径,例如:tar -cvf/path/to/save/mydir.tar mydir另外,需要注意的是,如果源文件夹是绝对路径,tar命令默认会保留绝对路径(这可能在解压时覆盖系统文件,所以通常建议使用相对路径)。为了避免保留绝对路径,可以在打时进入源文件夹的父目录,然后使用相对路径,或者使用-P选项(但一般不推荐使用绝对路径打)。如果用户希望打后删除原文件夹(注意:这相当于移动操作,请谨慎),tar命令本身不提供删除选项,但可以结合其他命令,例如:tar-cvf mydir.tarmydir&& rm-rfmydir但是,删除操作需要用户确认,因为一旦打完成,原文件夹将被删除。所以除非用户明确要求,否则不推荐。此外,用户可能想知道如何解.tar文件。解命令为:tar -xvfmydir.tar其中,-x表示解。如果用户需要图形界面工具,在Ubuntu等Linux系统中,文件管理器通常支持右键菜单的“压缩”选项,但默认生成的可能是压缩格式(如.tar.gz)。如果要生成.tar文件,需要在压缩选项中选择“仅打”(或类似名称,具体取决于文件管理器)。例如,在Nautilus(Ubuntu默认文件管理器)中:1.右键点击文件夹->压缩...2.在对话框中,选择“.tar”作为格式,然后输入文件名并点击创建。但是,由于用户问题中提到了命令行,我们主要介绍命令行方法。根据引用[1]中的例子,用户可能已经看过一些压缩选项(-z)的例子,但这里我们不需要压缩,所以不使用-z选项。因此,我们的回答将分为两部分:命令行方法和图形界面方法(简要),并提醒用户注意路径问题。最后,生成相关问题。</think>### 如何将文件夹打.tar 文件 #### 命令行方法(Linux/macOS) 1. **基本打命令** 使用 `tar` 命令的 `-c`(创建归档)和 `-f`(指定文件名)选项: ```bash tar -cvf 目标文件.tar文件夹路径 ``` - 示例:将 `/home/user/docs` 打为 `backup.tar`: ```bash tar -cvf backup.tar /home/user/docs ``` - `-v`(可选):显示打过程细节。 2. **验证归档内容** 查看 .tar 文件内容: ```bash tar -tvf backup.tar ``` 3. **解方法** 解压到当前目录: ```bash tar -xvf backup.tar ``` #### 图形界面方法(Ubuntu) 1. 右键点击目标文件夹 → 选择 **压缩...** 2. 在格式下拉菜单中选择 **.tar**(非压缩格式) 3. 输入文件名 → 点击 **创建** #### 注意事项 - **权限保留**:添加 `-p` 选项可保留文件权限(如 `tar -cvpf backup.tar /etc`)[^1]。 - **路径安全**:避免使用绝对路径打,防止解压时覆盖系统文件。 - **大文件处理**:超过 4GB 的文件使用 `GNU tar`(默认支持)。 > 关键原理:`.tar` 是**纯归档格式**(Tape Archive),仅合并文件压缩数据,适合保留原始属性的场景(如备份配置文件)[^1][^3]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值