Linux Bash - 如何知道我真正使用符号链接的目录?


Answers:


2

你有没有尝试过

pwd -P

它适用于我(使用zsh)。

$ ls -l

  drwxrwxr-x 2 xxxxxxx xxxxxxx 4096 Aug 28 10:14 a 
  lrwxrwxrwx 1 xxxxxxx xxxxxxx    1 Aug 28 10:15 b -> a

$ cd b

$ pwd
  /home/xxxxxxx/temp/b

$ pwd -P
  /home/xxxxxxx/temp/a

1
  • 您正在搜索的命令可能是**pwd -P**
  • 你甚至可以找到有用的readlink -f。(man info coreutils readlink)。
  • 在某些系统中,您可以找到 不仅可以在当前目录上调用 甚至可以调用任何其他文件的realpath
    realpath .realpath \my\long\path\file.ext

shell通常使用内置的 pwd命令代替/bin/pwd
如果您在shell中编写,type pwd它将回答您的shell是否为您提供内置版本。

有关正确的帮助,请参阅

  • man pwd通常用于\bin\pwd命令
  • man bash并在搜索pwd内置版本后。
  • man <TheShellName> 对于其他shell(zsh,csh,tcsh ......)

man bash例如你可以阅读

pwd [-LP]

打印当前工作目录的绝对路径名。 如果提供了-P选项启用了set builtin命令-o physical选项,则打印的路径名不包含符号链接。如果使用-L选项,则打印的路径名可能包含符号链接。除非在读取当前目录的名称时发生错误或提供了无效选项,否则返回状态为0。


0

您可以从当前目录使用readlink(如果在您的发行版中可用):

$ readlink -f .

或者有完整的路径:

$ readlink -f /my-dir/with-some-link

rhel / centos在coreutils pkg中提供它。心连心。

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.