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


10

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

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

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

Ответы:


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
Это показывает только первый слой символьных ссылок, а не всю цепочку символических ссылок.
Хосе Албан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.