Файлы видны только из их каталога

734
Danny Chia

Я запускаю команду сборки, которая обращается к файлам библиотеки на три каталога, используя эту -Iопцию. Путь к каталогу, из которого я вызываю GCC, находится в /home/user/a/b/c/d/a1/a2/testто время как библиотеки находятся в /home/user/a/b/c/d.

Тем не менее, странно то, что я не могу получить доступ или даже увидеть файлы, если я не cdв их папке. Если я запускаю ls ../../../из testпапки, то эти файлы вообще не появляются. Это реальные файлы, а не символические ссылки. Я даже бегал chmod o+xна них, чтобы быть уверенным.

Кто-нибудь знает, что происходит?

0
Пожалуйста, предоставьте выходные данные `namei -l / home / user / a / b / c / d / a1 / a2 / test` и` namei -l / home / user / a / b / c / d / somelibraryname.h` , grawity 6 лет назад 0
Первая команда перечисляет имена папок вплоть до рассматриваемой директории. Вторая команда показывает тот же вывод, но распознает файл библиотеки. Danny Chia 6 лет назад 0

1 ответ на вопрос

0
Danny Chia

Я наконец нашел причину проблемы. Оказывается, один из каталогов был символической ссылкой на другой каталог. Так lsдействовал на целевой каталог, а не на каталог, содержащий символическую ссылку. Использование абсолютного пути решило проблему.