相关疑难解决方法(0)

解析符号链接 (pwd)

假设我执行以下操作:

cd /some/path
ln -s /target/path symbolic_name
Run Code Online (Sandbox Code Playgroud)

如果那么做:

cd /some/path
cd symbolic_name
pwd
Run Code Online (Sandbox Code Playgroud)

我得到:

/some/path/symblic_name
Run Code Online (Sandbox Code Playgroud)

并不是:

/target/path
Run Code Online (Sandbox Code Playgroud)

有没有办法让shell“完全解析”一个符号链接(即更新CWD等),就好像我已经直接做了:

cd /target/path
Run Code Online (Sandbox Code Playgroud)

?

我需要运行一些似乎“知道”或“敏感”我如何到达目标路径的程序,我希望他们认为我到达目标路径就像cd /target/path直接完成一样。

symlink files cwd

43
推荐指数
2
解决办法
2万
查看次数

使用符号链接更改父目录 (../)

我有一个符号链接

~/link -> ~/a/really/long/path
Run Code Online (Sandbox Code Playgroud)

当我做

cd ~/link
cd ..    
Run Code Online (Sandbox Code Playgroud)

它需要我

~
Run Code Online (Sandbox Code Playgroud)

但我想去

~/a/really/long
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

我正在使用 bash。

bash cd-command

33
推荐指数
1
解决办法
8652
查看次数

指向目录和相对路径的符号链接

我已经创建了带有目录(Blink)绝对路径的符号链接,例如以下树:

$ ls -l /tmp/A
total 0
lrwxrwxrwx 1 root root 6 Apr  3 12:27 Blink -> /tmp/B
-rw-r--r-- 1 root root 0 Apr  3 12:27 foo

$ ls -l /tmp/B
total 0
-rw-r--r-- 1 root root 0 Apr  3 12:27 bar
Run Code Online (Sandbox Code Playgroud)

然后我转到 /tmp/A 并将目录更改为 Blink:

$ cd /tmp/A
$ pwd
/tmp/A
$ cd Blink
$ pwd
/tmp/A/Blink
Run Code Online (Sandbox Code Playgroud)

cd ..返回我,/tmp/A 但如果我输入例如ls ../foo我会得到错误:

ls: ../foo: No such file or directory
Run Code Online (Sandbox Code Playgroud)

内置 cd 命令根据需要解析路径,但外部 ls 将 .. 视为 …

shell bash directory cd-command symlink

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

bash ×2

cd-command ×2

symlink ×2

cwd ×1

directory ×1

files ×1

shell ×1