如何查看完整的符号链接路径

时间:2013-04-15 14:15:51

标签: linux

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

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

6 个答案:

答案 0 :(得分:194)

realpath并非适用于所有Linux版本,但readlink应该是。

readlink -f symlinkName

以上应该可以解决问题。

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

python -c 'import os.path; print(os.path.realpath("symlinkName"))'

答案 1 :(得分:23)

realpath <path to the symlink file>应该可以解决问题。

答案 2 :(得分:7)

unix flavors - &gt; ll symLinkName

OSX - &gt; readlink symLinkName

差异是第一种方式以闪烁的方式显示sym链接路径,第二种方式只是在控制台上回显它。

答案 3 :(得分:0)

您可以awk使用system调用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

答案 4 :(得分:0)

查看信息的另一种方法是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: -

希望这可以帮助某人。

答案 5 :(得分:-3)

在 macOS Catalina 中尝试 -

readlink -n `which command`