Questions tagged «symbolic-link»

符号链接(“ symlink”)是对文件或文件夹的引用,该文件或文件夹可能存在于系统的同一驱动器或另一个驱动器上。当文件本身可以散布在多个磁盘上或重定位到更方便的位置时,符号链接使用户可以创建更具逻辑性的文件布局。

2
文件系统的逻辑结构(包括符号链接目标)可以用单个轻量级文件(非二进制文件)表示吗?
多年以来,在使用多个SQL和NoSQL数据库后,我觉得确保以数据为中心的个人应用程序中的可移植性的最佳方法是完全避免使用所有真正的数据库。我认为文件系统是一种精美的数据库范例,可移植,可人工阅读,因此具有足够的寿命,足以满足我正在编写的个人应用程序的类型。这就像一个图数据库,它强制执行树结构(适合分区),并带有符号链接来表示多对一关系。 有没有办法将整个文件系统拓扑导出为单个文件?find命令的输出很有希望,但是没有标准化的方法可以导出表示符号链接指向的数据。我不想自己选择find输出格式,例如: /home/me/photos/beach/me_and_my_dog.jpg -> /home/me/photos/beach/1.jpg 如果以前有人完成过建立文件系统拓扑导出格式的工作。 另一个候选对象是JSON文件: home : [{ me : [{ photos : [{ beach : [{ 1.jpg, { me_and_my_dog.jpg : ./1.jpg } }] }] } }] 但是同样有多种表示文件类型的方式,我想知道是否有人已经完成了建立标准的工作。 请注意,我不希望导出文件的内容-这会使导出的内容超出所需的范围。



2
已安装Brew,已链接但未找到
我只是mtr通过Homebrew 安装的,它似乎成功完成了(即没有异常)。 MBA% mtr zsh: command not found: mtr 真奇怪 我想我会再试一次: MBA% brew install mtr Warning: mtr-0.86 already installed 好吧,也许它被符号链接为mtr-0.86: MBA% mtr-0.86 zsh: command not found: mtr-0.86 不,好的,也许只是链接失败: MBA% brew link mtr Warning: Already linked: /usr/local/Cellar/mtr/0.86 To relink: brew unlink mtr && brew link mtr MBA% brew unlink mtr && …

5
在Mac OS X Lion 10.7.2下,如何在我的〜/ Sites / for Apache中允许访问符号链接
我需要允许从我的Apache访问〜/ Sites中的符号链接目录。我这样链接目录 ln -s ~/path/to/the/source/directory/ ~/Sites/source-link-here 现在,每当我启动GET请求时,我都会收到403答复 curl http://localhost/~username/source-link-here/ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /~username/source-link-here on this server.</p> ... 我如何告诉Apache允许访问符号链接目录,以及如何告诉Apache仅对从本地主机发出的请求允许访问。 任何帮助是极大的赞赏。 最好的祝福 罗伯特

3
检查两个路径是否指向同一个文件
我有一个脚本可以在我的主目录中递归地创建到我的设置目录的符号链接,以使文件受版本控制。我希望它跳过已经通过父目录进行符号链接的文件。也就是说,如果我有以下文件/目录: ~/foo/ -> ~/settings/foo/ ~/settings/foo/ ~/settings/foo/bar ,如何检查〜/ foo / bar和〜/ settings / foo / bar是同一文件? 编辑:D'oh,另外几分钟的搜索显示了答案:readlink -f $path

4
授予对子目录的访问权而不授予对父目录的访问权
我有一个涉及Windows文件服务器的场景,其中“所有者”希望向以下类型的用户组分配权限: \\server\dir1\dir2\dir3:读取,写入和执行 \\server\dir1\dir2:没有权限 \\server\dir1:没有权限 \\server:读取并执行 据我了解(更新:这整个段落是错误的!),这是不可能做到的,因为必须授予目录链中所有父目录的Read & Execute权限,操作系统才能“看到”子目录目录并进入它们。没有此许可,即使您拥有对子目录的完全访问权限,也无法在尝试访问嵌套目录时获取安全上下文令牌。 我们正在寻找解决此问题的方法,而无需将数据从\\server\dir1\dir2\dir3移至\\server\dir4。 我想到了一个解决方法,但不确定该方法是否可行,它正在创建某种链接或结点\\server\dir4,该链接或结点是对的引用\\server\dir1\dir2\dir3。我不确定如果用户没有Read & Execute对\\server\dir1\dir2或的许可,那么哪个可用选项(如果有)可以用于此目的\\server\dir1,但据我所知,这些选项是: NTFS符号链接, 交界处 硬链接。 所以问题: 这些方法是否适合实现我的目标? 是否还有其他链接或间接引用目录的方法(我上面没有列出)可能合适? 是否有任何直接的解决方案,不涉及发放Read & Execute到\\server\dir1或\\server\dir2,但仍允许访问\\server\dir1\dir2\dir3?

4
批量更新符号链接
我有一个Web应用程序,整个子目录中都有很多符号链接。我需要将应用程序移至另一个目录结构,并且需要更新所有符号链接以指向新路径。例如: 旧目录:/home/user/public_html/dev 新目录:/home/user/public_html/qa 旧符号链接:/home/user/public_html/qa/multisites/slave01/images -> /home/user/public_html/dev/images 新符号链接:/home/user/public_html/qa/multisites/slave01/images -> /home/user/public_html/qa/images 问题在于,其中许多分散在各个目录中。如何从根递归搜索并重新创建所有指向/dev/with的符号链接/qa/?

1
如何在Mac上的/ usr / bin中创建符号链接?
环境:OSX Sierra,达尔文内核版本16.3.0 根本问题:我想在中央存储库中使用一堆shell脚本,这些脚本具有#!/ usr / bin / zsh。在我的Mac上,zsh位于/ bin / zsh中。 尝试的解决方案:我想创建一个符号链接 ln -s /bin/zsh /usr/bin/zsh 我的用户帐户具有管理员权限,但是我不是root用户,因此我不希望在此Mac上启用root用户。因此我首先做了一个 sudo su 获取具有root特权的shell,然后执行ln命令。但是我仍然收到错误信息ln:/ usr / bin / zsh:不允许操作。 问题: 为什么会收到此错误消息? 我要怎么做才能创建链接? 有没有更好的方法可以实现我的最初目标?注意固定#!行数不是一种选择。
11 shell  sudo  symbolic-link  su  ln 

1
什么时候应该使用硬链接而不是软链接?
我将开始玩弄,mklink但我仍在设法真正掌握整个“符号链接”。特别是,我注意到链接有两种类型:“软链接”和“硬链接”,但是我很难真正理解两者之间的区别,或者为什么我在任何情况下都应该偏爱另一种给定用例。 到目前为止,我最能收集到的是: 软链接被视为指向目标文件/文件夹的指针。 硬链接被视为它们实际上是目标文件/文件夹。 就操作系统和应用程序如何对待链接而言,这实际上意味着什么?在决定使用一种或另一种时应权衡哪些因素? 我目前的用例是让SkyDrive同步实际SkyDrive目录之外的文件/文件夹。但是,我希望答案也可以包括一般性准则以供将来参考。

2
符号链接到当前文件夹作为绝对路径,而无需键入整个路径
符号链接是相对路径的保存的快捷方式: ~/foo➤ ln -s . ~/bar/foo ~/foo➤ ls -l ~/bar total 8 lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> . 该文件~/bar/foo是到bar当前目录的符号链接,即自身 如果我想在另一个目录中创建到当前目录的符号链接,该怎么办?因此,在上面的示例中,我进入~/foo并想创建~/bar/foo到的符号链接~/foo。当然,我当前的目录可能比5个字符长很多,并且可能不太容易键入。
10 bash  symbolic-link  ln 


3
找出什么是非符号链接路径?
在Linux上,如果我已经转过目录并现在位于目录中,那么如果我没有使用符号链接到达该目录,是否可以找出该目录的真实路径? 考虑: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4/5 5 $ cd 5 $ pwd /home/dave/tmp/5 要么: $ pwd /home/dave/tmp $ mkdir -p 1/2/3/4/5 $ ln -s 1/2/3/4 4 $ cd 4/5 $ pwd /home/dave/tmp/4/5 有什么办法可以弄清楚/ home / dave / tmp / 5确实是/ home / dave …



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.