我错误地在 StackOverflow 上问了这个问题,他们建议我在这里问。
我读过这里的很多其他帖子,它们似乎都得到了成功解答,但我就是跟不上。我还是个新手,我不想尝试反复试验的方法,因为我不确定我是否能解决这个问题。这就是我的情况。
我有一个名为“php.ini”的文件,它位于我的主机的根 Web 文件夹中。我需要这个文件夹也位于服务器上的每个文件夹和子文件夹中。主机建议“在子文件夹中创建一个符号链接”,这就是他们所能提供的帮助。我问怎么做,他们告诉我去谷歌搜索。所以我就这么做了……但我迷路了。到目前为止,我有以下信息:
ln -s /path/to/htdocs/php.ini LINK-NAME
但实际上我不确定这是否正确,我也不确定应该LINK-NAME
是什么,或者它做什么。另外,我不知道这是否会在每个文件夹和子文件夹中创建链接?由于我应该使用 SSH 输入此命令,所以我想确保在尝试之前我输入正确。如果这是一个非常基本的知识(新手)问题,我很抱歉,我所有的搜索都只是给出了一个例子,没有一个解释它们的作用!
太感谢了!
答案1
你可以将find
某个路径中的每个目录
find path -type d
并在其上找到执行-exec
(或-execdir
应该更安全)ln
(-v
使用详细)(假设您要链接到的完整路径是/path/to/htdocs/php.ini
)
find path -type d -execdir ln -v -s /path/to/htdocs/php.ini '{}' ';'
或者,您可以使用-exec
或-execdir
将 find 的输出传输到管道xargs
(空分隔输出可能会有帮助,-print0
/ -0
),或者在 bash/sh 脚本中使用,等等......
但首先,你可能需要检查其中是否已经有 php.ini 文件,使用
find path -name php.ini
或者如果你创建了一堆新的 php.ini 链接,并想检查它们实际指向什么,请使用
find path -name php.ini -execdir readlink '{}' ';'
或者如果你错误地创建了大量错误的 php.ini 文件,你可以使用以下命令删除它们
find path -name php.ini -delete