在 USB 驱动器上创建符号链接

在 USB 驱动器上创建符号链接

我想创建一个文件的符号链接,这样源文件及其符号链接都在我的 USB 驱动器内。我尝试了以下两种方法:

1- 右击,然后选择“创建链接”。结果出现错误,提示:

目标不支持符号链接。

2-在终端中,我使用:

ln -s "USB_DIRECTORY/test.txt" "USB_DIRECTORY/testLink.txt"

结果出现以下错误:

不允许操作

有没有办法在 USB 驱动器中创建符号链接?

答案1

尝试 UDF

UDF 是一个免费的文件系统,适用于 Linux 和 Windows。

MacOS 存在问题。我没有 Apple 电脑,但我读到过 MacOS 可以管理 UDF。但是,楼主 @Unique 最近的测试表明它不起作用。UDF 有不同版本,我们必须得出结论,这里描述的版本不受 MacOS 支持。

UDF 支持 Linux 符号链接。

此 AskUbuntu 链接中有关于如何安装它的详细描述:

与 Linux、Windows 和 MacOS 完全兼容

  • 自定义函数可能缺少修复文件系统的工具,

  • 自由/源码软件

  • 也许可以通过此链接在 Windows 中找到修复工具:UDF 的 fsck 工具并且有一些工具可以作为源代码使用

  • 可以在 Ubuntu 中创建

  • 与 Linux 风格的链接兼容。

  • 与 Linux 样式权限兼容。您可以创建和修改单个文件的权限(这在 FAT 和 NTFS 中是无法实现的)。

  • UDF 分区不会在 Windows 10 上提示格式化(而 Linux ext4 文件系统会受到影响,并且可能会被错误破坏)。

  • 如何创建和使用UDF:使用 UDF 作为 USB 驱动器 FAT 的后继者

    因此,要使用它,假设您的 USB 记忆棒是/dev/sdx

  1. 安装包udftools

            sudo apt-get install udftools
    
  2. 使用以下命令创建分区表和一个分区gparted或者gnome-disks

  3. 使用危险命令擦除目标分区的第一个 mibibyte dd(仔细检查命令行!)

            sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
    
  4. 跑步mkudffs

            sudo mkudffs -b 512 --media-type=hd --lvid=my-label /dev/sdx1
    

    擦除分区的第一个兆字节以删除以前的文件系统信息(或其他剩余数据),以防止您的 USB 驱动器在使用 UDF 格式化后被检测为 FAT。

    -b 512是为了强制文件系统块大小等于 USB 棒的物理块大小,这是 UDF 规范所要求的。如果您有幸拥有一个块大小更合适的 USB 棒,请调整它。

    此后,您的 USB 记忆棒当然可以在 GNU/Linux 和其他免费操作系统上读写,也可以在当前版本的 Windows 上读写(过时的版本 XP 是只读的),但不能在 MacOS 上读写。


维基百科

通用磁盘格式 (UDF)是规范的概要,称为 ISO/IEC 13346ECMA-167是一种开放的、与供应商无关的文件系统,用于各种媒体的计算机数据存储。实际上,它最广泛用于 DVD 和较新的光盘格式,取代了 ISO 9660。由于其设计,它非常适合可记录和(可重写)可写光学媒体的增量更新。UDF 由光学存储技术协会 (OSTA) 开发和维护。

答案2

与 NTFS 不同,FAT32 不支持符号链接,因为https://www.linuxquestions.org/questions/blog/the-dsc-472367/not-even-linux-can-create-symlinks-on-fat32-36281/https://superuser.com/questions/216332/is-there-anything-like-a-link-or-shared-mount-point-for-fat32-folders-in-linux-a

因此,如果您想要在 Windows 可读驱动器上使用符号链接,请使用 NTFS。

Mac OS X 需要额外的工作才能按照以下要求写入 USB 闪存驱动器:http://osxdaily.com/2013/10/02/enable-ntfs-write-support-mac-os-x/https://techsviewer.com/write-ntfs-drives-macos-high-sierra/但能够本地读取 NTFS。

相关内容