这可能有点极端,但我很想知道是否有一种简单的方法可以实现这一点。
假设我进行了以下设置(其中后两个是第一个的符号链接):
现在假设我想备份D:\Work
to E:\Work
。
我希望相对地维护这些链接,从而导致:
我当然明白,如果我有:
那么事情就会变得复杂,因为如果我只是复制,D:\Work
那么复制命令会对最后一个选项做什么?在这种情况下,我想直接复制文件,丢失符号链接。
有什么方法 robocopy 或 xcopy 或 [anyother]copy 可以在 Windows 10 上实现此目的吗?
我正在尝试使用 CertBot 设置一个独立的安全证书,并./public/certbot
从我的服务器创建一个符号链接 ( ),以便我可以包含证书,而无需它们实际位于服务器的目录树下(这是我用于测试的 Linode和开发,所以我将使用各种服务器软件)。证书已在 下成功安装/etc/letsencrypt/
,并且按照CertBot 文档中的说明,安装是使用 完成的sudo
,因此所有文件均归 root 所有。我已尝试了所有我能想到的方法来创建服务器可以读取的符号链接,但我不断收到权限错误。目前,符号链接文件、/etc/letsencrypt/live
域文件夹以及域文件夹内的所有文件都已被sudo chmod
添加到777
,我尝试创建不带 的符号链接文件sudo
,但它不允许我这样做。作为普通用户,我可以在没有 的情况下cd
进入符号链接文件和ls
域文件夹sudo
,因此我可以看到其中的所有内容,但是当我启动服务器(当前webpack-dev-server
)时,它没有权限。来自服务器的错误消息表明路径正在被正确解析(因为它给了我一个访问错误,而不是ENOENT
)。
我还尝试创建一个真实的public/certbot
文件夹和指向证书文件的单独符号链接,但出现相同的错误。
我对Linux权限的了解肯定有一些差距。有没有解决的办法?谢谢。
我需要创建一个位于用户漫游 AppData 中的符号链接,并指向另一个本地驱动器上的文件夹(该文件夹是用户特定的)。我已经在 PowerShell 5 中尝试过mklink
和New-Item -ItemType SymbolicLink
,并且都需要管理员权限,这使得它在这种情况下毫无用处。我还尝试将用户环境变量放入路径中,例如 D:\C4R\%username%,但这也不起作用。是否有一种机制可以作为普通用户进行符号链接?或者符号链接的整个概念真的是一个管理问题吗?
Windows 1803、7z 18.05
尝试归档和压缩具有引用所述结构部分的多个 NTFS 连接的文件夹结构(即没有“外部”链接) - 是否有可能在没有 7zip 解析连接的情况下压缩该结构,从而导致重复?
保留连接点会很整洁,将连接点存档为空文件夹也是可以接受的 - 但存档大小具有绝对优先权。
选择tar
或wim
作为格式具有有关 NTFS 符号链接的选项,但似乎不涉及压缩(仅store
显示为压缩级别) - 我必须随后进行压缩,这似乎是不必要的中间步骤。
我可以在存档之前删除交汇点,但如果可能的话,我宁愿不这样做。
我使用的是 Windows 10。
想象一下,我有一个目录,并且我通过执行以下操作c:\originalDirectory
创建了一个链接:c:\newDirectory
mklink /d c:\newDirectory c:\originalDirectory
我的问题是关于链接目录中的文件。当我删除时c:\newDirectory\exampleFile.jpg
,原始文件也会被删除c:\originalDirectory\exampleFile.jpg
。当然,链接本身并c:\newDirectory
没有被删除。
执行目录连接会产生mklink /j c:\newDirectory c:\originalDirectory
相同的行为。
是否有某种形式的链接或文件同步机制,如果我删除c:\newDirectory\exampleFile.jpg
,原始文件会c:\originalDirectory\exampleFile.jpg
被保留?当然,我也想保留链接本身c:\newDirectory
。
我认识到,如果我通过这样做创建指向各个文件本身的链接mklink c:\newDirectory\linkToExampleFile.jpg
c:\originalDirectory\exampleFile.jpg
,我可以删除c:\newDirectory\linkToExampleFile.jpg
而不删除c:\originalDirectory\exampleFile.jpg
。但其中有很多文件c:\originalDirectory
,因此创建每个文件的链接似乎不是一个很好的选择。
在 Linux 中的 NTFS 驱动器 ( ln -s
) 上创建的符号链接在 Windows 中显示为包含内容的短文件IntxLNK + 0x01 + (UTF-16 encoded target path)
— 可能是Interix。我想编写一个脚本,在 Windows 中启动时使用 WSL 的ln
. 但是,我不知道如何检测真正是 Linux 符号链接的短文件,除非查看每个文件的内容,这对于大型文件系统来说会很糟糕,并且对于从魔法开始的普通文件来说会失败。
为什么 NTFS-3g 仍然无法像 Windowsmklink
或 WSL2一样创建正确的重解析点ln -s
,即使此类 Windows 符号链接在 Linux 下正常工作,并且即使getfattr -n system.ntfs_reparse_data
可以读取 NTFS 符号链接数据,也超出了我的范围。它实际上应该只是一个简单的setfattr
,尽管我不知道要在属性中放入什么。
那么,有没有一种方法可以使用文件元数据(而不是内容)来检测在 Linux 下创建的符号链接?我确信 Linux 符号链接具有一些特殊属性,因为 NTFS-3g 可以区分包含InterLnkx
magic 的纯文件和包含相同 magic 的实际符号链接。
ntfs symbolic-link ntfs-3g interix windows-subsystem-for-linux
如果我有以下 sudoers 条目
usera ALL=(userb) NOPASSWD: /home/userc/bin/executable-file
usera ALL=(userb) NOPASSWD: /home/userc/bin/link-to-another-executable-file
Run Code Online (Sandbox Code Playgroud)
当我以 usera 身份登录并尝试运行以下命令时,它可以工作
sudo -u userb /home/userc/bin/executable-file
Run Code Online (Sandbox Code Playgroud)
但不是下面的那个。
sudo -u userb /home/userc/bin/link-to-another-executable-file
Sorry, user usera is not allowed to execute '/home/userc/bin/link-to-another-executable-file' as userb on hostname.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试为目录设置符号链接,但遇到了最奇怪的错误。我在用:
mklink /d C:\www\site\inc C:\inc
C:\inc\script.php
我需要运行的文件在哪里。这看起来很简单,并且在我第一次执行脚本时(通过访问http://localhost/inc/script.php
)确实有效。然而,在那之后,我收到一个错误并且无法让脚本再次成功执行,直到我删除并重新创建符号链接(即使关闭 Apache 或重新启动 Windows 也没有效果)。
请注意,其他一切都正常运行,符号链接有效,Apache 确实有权访问C:\inc
并启用了 FollowSymLinks。这是我得到的错误:
警告:未知:无法打开流:第 0 行的未知中没有此类文件或目录
致命错误:未知:在第 0 行的未知中打开所需的“C:/inc/script.php”(include_path='.;C:\php5\pear') 失败
有谁知道与第 0 行的 Unknown 有什么关系,为什么它会在出现此错误之前只执行一次?
假设我有一堆配置文件想要存储在其他地方,但是如果我移动它们然后符号链接目录,应用程序会将其视为符号链接并且不会使用包含的文件。
相反,我想做的是找出一个命令,该命令允许我为给定目录中的所有文件批量创建符号链接。这能做到吗?
我正在尝试在 Windows Server 2003 下创建一个目录符号链接,但我没有任何运气。
我尝试过junction.exe (Sysinternals)、ln.exe 和linkd.exe (Windows Server 2003 Resource Kit)。
我想要c:\folder\subfolder链接到\fileserver\realSubfolder
这在 Windows 7 下工作得很好(使用 mklink.exe),但我无法让它在 Windows Server 2003 下工作。
有人可以帮我吗?
symbolic-link ×10
windows-10 ×3
junction ×2
linux ×2
7-zip ×1
centos ×1
certificate ×1
command-line ×1
compression ×1
interix ×1
macos ×1
mklink ×1
ntfs ×1
ntfs-3g ×1
permissions ×1
php ×1
regex ×1
sudo ×1
windows ×1
windows-7 ×1