cd 到 Linux 中的符号链接显示错误

问题描述 投票:0回答:3
XXXXX:~/a/n1$ ln -s n1 n
XXXXX:~/a/n1$ ls
bin      doc  n  nc.tcsh  packages  scripts  support  VERSION
XXXXX:~/a/n1$ cd n
bash: cd: n: No such file or directory

我正在创建一个指向 n1 的符号链接,即 n。 现在,当我在 bash 或 shell 中执行 cd 操作时,我无法执行此操作。

缺少什么。

posix symlink
3个回答
6
投票

创建符号链接的方式如下:

ln -s target linkname

目标“n1”在您的当前目录中不存在,但仍然会建立链接,尽管是死链接。当您在当前目录中创建子目录“n1”时(如

mkdir n1
),链接将不再失效。

如果您想创建一个到当前目录“.”的符号链接,那么命令是:

ln -s . n
。请注意,这将使其递归,从而使
cd n/n/n/n/
成为可能。


1
投票

在“ls”中现在显示“n1”文件。您可以创建一个指向不存在的目录的符号链接,但您不能“cd”进入它......源目录仍然不存在。 :)

但是,您可以创建一个指向不存在的文件的符号链接,然后通过该符号链接编辑该文件。保存时会出现源文件,就像编辑任何新文件一样。


0
投票

可以使用绝对或相对路径创建符号链接。

在您的场景中,您想使用绝对路径。这可以通过在源文件夹前添加

$PATH
来完成。换句话说,运行:

ln -s $PATH/n1 n

cd n
ls -la 
© www.soinside.com 2019 - 2024. All rights reserved.