Existe um comando como namei para OS X?

10

Estou examinando alguns problemas de permissão incorretos e descobri o comando namei para Linux. No momento, o Homebrew não possui uma porta Mac.

namei - segue um nome de caminho até que um ponto terminal seja encontrado

Existe um comando ou uma série de comandos que podem ser usados ​​para realizar a mesma coisa no OS X?

phatblat
fonte

Respostas:

7

Você pode baixar o código fonte nameido SourceForge . Para compilar, você precisa excluir a #include <sys/sysmacros.h>linha de stat.ce depois executar make.

Tata Dias
fonte
Obrigado, eu não sabia que a versão no util-linux era baseada na versão do SourceForge. Acabei descobrindo como obter o util-linux para compilar, mas ele vem com muitos outros utilitários, muitos dos quais são redundantes no OS X. De qualquer forma, veja minha resposta atualizada para a fórmula caseira do original. Cuidado, a instalação a partir do código-fonte make installpode causar problemas se /usr/local/bin' is ahead of / usr / bin` no seu PATH à medida que for instalado stat. A fórmula evita isso e é instalada apenas sob o nomei.
Michael DM Dryden
6

O Macports possui uma porta: https://trac.macports.org/browser/trunk/dports/devel/util-linux/Portfile

Tentei fazer uma receita caseira, mas houve alguns problemas para compilar. Definitivamente, é possível, mas existem alguns problemas a resolver.

Atualização :

Eu fiz uma fórmula que pode ser instalada com:

brew install mkdryden/homebrew-misc/namei

Esta é a versão original, não a versão puxada para o util-linux. (não sei quanto mudou desde o original)

Michael DM Dryden
fonte
Não é um especialista em homebrew, mas ele usa o arquivo em github.com/mkdryden/homebrew-misc/blob/master/Formula/namei.rb ?
Mkfearnley
@mwfearnley Sim, esse é o arquivo da receita. Você pode ver o patch que eu precisei fazer para compilar, embora isso tenha ocorrido 5 anos atrás; Não tenho certeza se ainda funciona corretamente.
Michael DM Dryden
Obrigado, ele trabalhou para mim ontem :)
mwfearnley
-2

Descobri que essa é uma solução possível:

ls -l /path/to/directory
Craig Wayne
fonte
11
Isso mostra apenas a primeira camada de link simbólico, não toda a cadeia de links simbólicos.
Jose Alban