Как увидеть полный путь symlink

Когда я использую ls -la symlinkName или stat symlinkName не весь путь отображается (например, ../../../one/two/file.txt)

Что такое команда linux, которая показывает полный путь?

Ответ 1

realpath недоступен для всех linux-аксессуаров, но readlink должен быть.

readlink -f symlinkName

Вышеприведенное должно сделать трюк.

В качестве альтернативы, если у вас нет ни одного из установленных выше, вы можете сделать следующее, если у вас установлен python 2.6 (или более поздней версии)

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

Ответ 2

realpath <path to the symlink file> должен сделать трюк.

Ответ 3

unix flavors → ll symLinkName

OSX → readlink symLinkName

Разница - это 1-й путь, который будет мигать с символьным контуром, а второй способ просто повторит его на консоли.

Ответ 4

Вы можете использовать awk с вызовом system readlink, чтобы получить эквивалент вывода ls с полными пути symlink. Например:

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

Ответ 5

Другим способом просмотра информации является команда 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: -

Надеюсь, это может помочь кому-то.