Скрипт Python 2, который отслеживает / следует за символическими ссылками, представленными в качестве аргументов.
listSymLink.py
import os.path as OSPath
import os
import sys
for arg in sys.argv[1:]:
if OSPath.exists(arg):
pathTrail = [OSPath.abspath(arg)]
while OSPath.islink(pathTrail[-1]):
linkTarget = os.readlink(pathTrail[-1])
if not OSPath.isabs(linkTarget):
linkTarget = OSPath.join(os.path.dirname(pathTrail[-1]), linkTarget)
pathTrail.append(linkTarget)
print " -> ".join(map(lambda x: "\"" + x + "\"", pathTrail))
else:
print "\"" + arg + "\" path doesn't exist"
Пример
python listSymLink.py /usr/bin/c++
отпечатков
"/usr/bin/c++" -> "/etc/alternatives/c++" -> "/usr/bin/g++" -> "/usr/bin/g++-8" -> "/usr/bin/x86_64-linux-gnu-g++-8"