Есть ли такая команда, как namei для OS X?

10

Я проанализировал некоторые некорректные проблемы с разрешениями и обнаружил команду namei для Linux. Доморощенный в настоящее время не имеет порт Mac.

namei - следуйте пути до тех пор, пока не будет найдена конечная точка

Есть команда или ряд команд, которые могут использоваться, чтобы выполнить то же самое на OS X?

phatblat
источник

Ответы:

7

Вы можете загрузить исходный код nameiиз SourceForge . Для компиляции вам нужно удалить #include <sys/sysmacros.h>строку из stat.c, а затем запустить make.

Тата Диас
источник
Спасибо, я не знал, что версия в util-linux основана на версии SourceForge. В конце концов я понял, как заставить утилиту util-linux скомпилировать, но она поставляется со многими другими утилитами, многие из которых являются избыточными в OS X. В любом случае, смотрите мой обновленный ответ для формулы homebrew оригинала. Осторожно, установка из источника с make installможет вызвать проблемы, если /usr/local/bin' is ahead of / usr / bin` в вашем PATH, поскольку он устанавливает жесткую ссылку на stat. Формула избегает этого и устанавливает только под именем.
Майкл Д.М. Драйден
6

У Macports есть порт: https://trac.macports.org/browser/trunk/dports/devel/util-linux/Portfile

Я попытался сделать рецепт для домашнего приготовления, но были некоторые проблемы с его компиляцией. Это определенно возможно, но есть некоторые проблемы, которые нужно решить.

Обновление :

Я сделал формулу, которая может быть установлена ​​с:

brew install mkdryden/homebrew-misc/namei

Это оригинальная версия, а не версия, загруженная в util-linux. (не уверен, сколько изменилось с оригинала)

Майкл Д.М. Драйден
источник
Не специалист по домашнему пиву, но использует ли он файл по адресу github.com/mkdryden/homebrew-misc/blob/master/Formula/namei.rb ?
mwfearnley
@mwfearnley Да, это файл рецепта. Вы можете посмотреть на него, чтобы увидеть патч, который я должен был сделать, чтобы он скомпилировался, хотя это было 5 лет назад; Я не уверен, что все еще работает должным образом.
Майкл Д.М. Драйден
Спасибо, у меня это сработало вчера :)
mwfearnley
-2

Я нашел это как возможное решение:

ls -l /path/to/directory
Крейг Уэйн
источник
1
Это показывает только первый слой символьных ссылок, а не всю цепочку символических ссылок.
Хосе Албан