Когда я использую ls -la symlinkName
или stat symlinkName
не весь путь отображается
(например, ../../../one/two/file.txt
)
Что такое команда linux, которая показывает полный путь?
Когда я использую ls -la symlinkName
или stat symlinkName
не весь путь отображается
(например, ../../../one/two/file.txt
)
Что такое команда linux, которая показывает полный путь?
realpath
недоступен для всех linux-аксессуаров, но readlink
должен быть.
readlink -f symlinkName
Вышеприведенное должно сделать трюк.
В качестве альтернативы, если у вас нет ни одного из установленных выше, вы можете сделать следующее, если у вас установлен python 2.6 (или более поздней версии)
python -c 'import os.path; print(os.path.realpath("symlinkName"))'
realpath <path to the symlink file>
должен сделать трюк.
unix flavors → ll symLinkName
OSX → readlink symLinkName
Разница - это 1-й путь, который будет мигать с символьным контуром, а второй способ просто повторит его на консоли.
Вы можете использовать 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
Другим способом просмотра информации является команда 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: -
Надеюсь, это может помочь кому-то.