mac os 可执行位如何在 Windows 中保留?

发布于 2025-01-03 19:24:24 字数 274 浏览 1 评论 0原文

我有两台 Mac,第三台 Windows 计算机上有一个共享文件夹。如果我执行以下操作:

  1. 将可执行控制台应用程序(不是 .app 文件 - 单个可执行文件)从 Mac 1 复制到 Windows 计算机
  2. Windows 计算机上的 Zip 可执行文件
  3. 将新的 zip 文件复制到 Mac 2 并解压缩

附带的文件zip 文件仍然可执行。鉴于 Windows 权限系统完全不同并且实际上没有可执行文件的概念,如何保留该文件的“可执行性”性质?

I have two Macs, and a shared folder on a third Windows computer. If I do something like this:

  1. Copy an executable console application (not a .app file - a single file which is executable) from Mac 1 to Windows machine
  2. Zip executable on Windows machine
  3. Copy new zip file to Mac 2 and unzip

The file that comes out of the zip file is still executable. How is the "executable-ness" nature of that file preserved, given that windows permissions system is totally different and doesn't really have the concept of executable files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

↘紸啶 2025-01-10 19:24:24

OSX 应用程序是文件夹,而不是文件。将文件夹复制到没有可执行位表示的文件系统时,OSX 会为缺少的属性创建隐藏文件。压缩应用程序是压缩文件夹,包括其隐藏的子文件夹。复制回时,OSX 将从隐藏文件中重新创建丢失的属性。

这些隐藏文件夹称为 ._.OriginalName

EDIT

经过评论部分的广泛讨论,这里有一些关于简单可执行文件(执行权限集)而不是 *.app 文件夹(本机)的信息OSX 应用程序)

  • 当然,OSX 尊重可执行权限(设置和取消设置)
  • 将文件复制到没有可执行权限概念的文件系统(最显着的是 FAT 格式的 USB 记忆棒),然后将其复制回来一个在另一个操作系统上重命名使 OSX 面临是否将文件视为可执行文件的困境 - 通过重命名 OSX 将 ._.OriginalName 元数据存储与文件解耦,
  • 解决了这一困境通过将权限设置为 700 或 777,从而使每个文件可执行

OSX Apps are folders, not files. When copying folders to a file system, that doesn't have executable bit representation, OSX creates hidden files for the missing attributes. Zipping the App is zipping a folder, including its hidden subfolders. On copy back, OSX will recreate the missing properties from the hidden files.

These hidden folders are called ._.OriginalName

EDIT

After quite extensive discussion in the comments sections, here is a bit of info about simple executable files (execute permission set) as opposed to *.app folders (native OSX applications)

  • Ofcourse OSX honours the executable permissions, (set and unset)
  • Copying a file to a file system, that does not have a concept of an executable permission (most prominently FAT formated USB sticks), then copying it back after a rename on another OS leaves OSX with the dilemma of whether to see the file as executable or not - the ._.OriginalName metadata store is decoupled from the file by the rename
  • OSX solves this dilemma by setting the permissions to 700 or 777, thus making every file executable
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文