163

当我使用ls -la symlinkNamestat symlinkName不显示所有路径时(例如../../../one/two/file.txt

显示完整路径的 linux 命令是什么?

4

7 回答 7

283

realpath并非在所有 linux 风格上都可用,但readlink应该可用。

readlink -f symlinkName

以上应该可以解决问题。

或者,如果您没有安装上述任何一个,如果您安装了 python 2.6(或更高版本),则可以执行以下操作

python -c 'import os.path; print(os.path.realpath("symlinkName"))'
于 2013-04-15T14:32:37.133 回答
38

realpath <path to the symlink file>应该做的伎俩。

于 2013-04-15T14:26:48.400 回答
12

Unix风味->ll symLinkName

操作系统->readlink symLinkName

区别在于第一种方式会以闪烁的方式显示符号链接路径,而第二种方式只会在控制台上回显它。

于 2016-04-27T09:48:53.190 回答
4

查看信息的另一种方法是stat显示更多信息的命令。stat ~/.ssh我的机器显示屏上的命令

File: ‘/home/sumon/.ssh’ -> ‘/home/sumon/ssh-keys/.ssh.personal’
  Size: 34          Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d  Inode: 25297409    Links: 1
Access: (0777/lrwxrwxrwx)  Uid: ( 1000/   sumon)   Gid: ( 1000/   sumon)
Access: 2017-09-26 16:41:18.985423932 +0600
Modify: 2017-09-25 15:48:07.880104043 +0600
Change: 2017-09-25 15:48:07.880104043 +0600
 Birth: -

希望这可以帮助某人。

于 2017-09-27T04:23:27.833 回答
2

您可以使用awkwithsystem调用来获得具有完整符号链接路径readlink的等效输出。ls例如:

ls | awk '{printf("%s ->", $1); system("readlink -f " $1)}'

将显示例如

thin_repair ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_restore ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_rmap ->/home/user/workspace/boot/usr/bin/pdata_tools
thin_trim ->/home/user/workspace/boot/usr/bin/pdata_tools
touch ->/home/user/workspace/boot/usr/bin/busybox
true ->/home/user/workspace/boot/usr/bin/busybox
于 2017-07-06T15:13:38.317 回答
0

在我的 Mac 上,我有以下内容:

例如创建指向目录的符号链接:ln -s /Users/test/play/game game

然后,如果我使用符号链接转到目录:cd game 如果我发出 cmd: pwd,那么您所在的实际目录是:~

如果我决定要实际更改为目录:/Users/test/play/game由于某种原因,我的 .bash_profile 设置中有一个别名:

alias cdp='cd -P $(basename `pwd`)'

使用上面的cdp别名后,跟pwd命令当前目录是:/Users/test/play/game

于 2021-09-15T11:38:02.247 回答
-1

在 macOS Catalina 中尝试 -

readlink -n `which <command>`

示例输入 -

readlink -n `which adb`

示例输出 -

/usr/local/Caskroom/android-platform-tools/31.0.1,d027ce0f9f214a4bd575a73786b44d8ccf7e7516/platform-tools/adb
于 2021-04-01T20:59:53.680 回答