我想创建一个文件的符号链接,这样源文件及其符号链接都在我的 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 链接中有关于如何安装它的详细描述:
自定义函数可能缺少修复文件系统的工具,
自由/源码软件
也许可以通过此链接在 Windows 中找到修复工具:UDF 的 fsck 工具并且有一些工具可以作为源代码使用
可以在 Ubuntu 中创建
与 Linux 风格的链接兼容。
与 Linux 样式权限兼容。您可以创建和修改单个文件的权限(这在 FAT 和 NTFS 中是无法实现的)。
UDF 分区不会在 Windows 10 上提示格式化(而 Linux ext4 文件系统会受到影响,并且可能会被错误破坏)。
如何创建和使用UDF:使用 UDF 作为 USB 驱动器 FAT 的后继者
因此,要使用它,假设您的 USB 记忆棒是
/dev/sdx
:
安装包
udftools
sudo apt-get install udftools
使用以下命令创建分区表和一个分区
gparted
或者gnome-disks
使用危险命令擦除目标分区的第一个 mibibyte
dd
(仔细检查命令行!)sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
跑步
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 13346和ECMA-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。