Я наконец нашел причину проблемы. Оказывается, один из каталогов был символической ссылкой на другой каталог. Так ls
действовал на целевой каталог, а не на каталог, содержащий символическую ссылку. Использование абсолютного пути решило проблему.
Файлы видны только из их каталога
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
на них, чтобы быть уверенным.
Кто-нибудь знает, что происходит?
Пожалуйста, предоставьте выходные данные `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
Похожие вопросы
-
2
Как отправить escape-символ на OS X терминал?
-
1
Как разблокировать заблокированный файл псевдонимов в OS X?
-
4
Использование публичных терминалов для входа в ваши личные учетные данные
-
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
3
Mac OS X: обычные места, где должны жить бинарные файлы
-
2
Mac OS X: нужен простой скрипт
-
4
Прозрачный терминал Unicode X не привязан к среде рабочего стола?
-
3
Группы окон OSX
-
2
Можно ли настроить несколько вкладок при запуске терминала?
-
8
Эквивалент 'End Process' в Linux