Gibt es einen Befehl wie namei für OS X?


10

Ich habe einige falsche Berechtigungsprobleme durchgesehen und den Befehl namei für Linux entdeckt. Homebrew hat derzeit keinen Mac-Anschluss.

namei - Folgen Sie einem Pfadnamen, bis ein Endpunkt gefunden wird

Gibt es einen Befehl oder eine Reihe von Befehlen, mit denen unter OS X dasselbe erreicht werden kann?

Antworten:


7

Sie können den Quellcode von nameivon SourceForge herunterladen . Zum Kompilieren müssen Sie die #include <sys/sysmacros.h>Zeile löschen stat.cund dann ausführen make.


Danke, mir war nicht bewusst, dass die Version in Util-Linux auf der von SourceForge basiert. Ich habe schließlich herausgefunden, wie man das Util-Linux zum Kompilieren bringt, aber es enthält viele andere Dienstprogramme, von denen viele unter OS X redundant sind. Wie auch immer, siehe meine aktualisierte Antwort für die Homebrew-Formel des Originals. Beachten Sie, dass die Installation von der Quelle mit make installProbleme verursachen kann, wenn /usr/local/bin' is ahead of / usr / bin` in Ihrem PATH während der Installation mit Hardlink zu installiert ist stat. Die Formel vermeidet dies und wird nur unter namei installiert.
Michael DM Dryden

6

Macports hat einen Port davon: https://trac.macports.org/browser/trunk/dports/devel/util-linux/Portfile

Ich habe versucht, ein Homebrew-Rezept dafür zu erstellen, aber es gab einige Probleme beim Kompilieren. Es ist definitiv möglich, aber es gibt einige Probleme zu lösen.

Update :

Ich habe eine Formel erstellt, die installiert werden kann mit:

brew install mkdryden/homebrew-misc/namei

Dies ist die Originalversion, nicht die in util-linux gezogene Version. (nicht sicher, wie viel sich seit dem Original geändert hat)


Kein Homebrew-Experte, aber verwendet das die Datei unter github.com/mkdryden/homebrew-misc/blob/master/Formula/namei.rb ?
mwfearnley

@mwfearnley Ja, das ist die Rezeptdatei. Sie können es sich ansehen, um den Patch zu sehen, den ich erstellen musste, damit er kompiliert werden konnte, obwohl das vor 5 Jahren war. Ich bin mir nicht sicher, ob es noch richtig funktioniert.
Michael DM Dryden

Danke, es hat gestern bei mir funktioniert :)
mwfearnley

-2

Ich habe festgestellt, dass dies eine mögliche Lösung ist:

ls -l /path/to/directory

1
Dies zeigt nur die erste Symlink-Schicht, nicht die gesamte Symlink-Kette.
Jose Alban
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.