Gibt es eine Entsprechung zum Ubuntu- tree
Befehl für Mac OS X?
quelle
Gibt es eine Entsprechung zum Ubuntu- tree
Befehl für Mac OS X?
Sie können den tree
Befehl auch unter macOS erhalten. Wenn Sie Homebrew haben , müssen Sie nur Folgendes ausführen:
brew install tree
Lesen Sie weiter für Details.
Es gibt mehrere Paketmanager für macOS. Die beliebtesten sind: Homebrew , MacPorts oder Fink . Sie können beide installieren, aber ich empfehle Homebrew. Installieren Sie nicht mehr als eine davon gleichzeitig!
Befolgen Sie die Anweisungen auf der Website und führen Sie dann einen der folgenden Befehle aus, je nachdem, welchen Paketmanager Sie ausgewählt haben.
Für Homebrew:
brew install tree
Für MacPorts:
sudo port install tree
Für Fink:
fink install tree
Die Paketmanager bieten andere Befehlszeilenprogramme an, einschließlich der GNU / Linux-Programme, die standardmäßig nicht mit macOS geliefert werden.
Zunächst müssen Sie die Xcode-Befehlszeilentools durch Ausführen installieren xcode-select --install
.
Dann laden Sie die tree
Quelle . Dann das Makefile ändern , damit es funktioniert zu bekommen , die auch in erklärt @ apuche Antwort unten . Das Auskommentieren der Linux-Optionen und das Deaktivieren der macOS-Optionen sollte ausreichen.
Dann renn ./configure
, dann make
.
Jetzt müssen Sie die tree
Binärdatei an einen Speicherort verschieben, der sich in Ihrem ausführbaren Pfad befindet. Zum Beispiel:
sudo mkdir -p /usr/local/bin
sudo cp tree /usr/local/bin/tree
Bearbeiten Sie nun Ihre ~/.bash_profile
, um Folgendes einzuschließen :
export PATH="/usr/local/bin:$PATH"
Laden Sie die Shell neu und zeigen Sie nun which tree
auf /usr/local/bin/tree
.
make
unter OS X nicht funktioniert. Zuerst müssen Sie wissen, wie Sie die Xcode-Befehlszeilentools installieren (oder im Allgemeinen eine Vorstellung davon haben, wie Sie Software erstellen), und dann müssen Sie feststellen, dass ein undefiniertes Symbol den Fehler anzeigt. Sie müssen also einige Anpassungen am Makefile vornehmen (wie hier erklärt ). Zu viel Aufwand IMO../configure
undmake
warum diese überhaupt benötigt werden. Oder sie wollen sich nicht damit befassen. Oder lesen Sie die Hilfedateien. Sie würden lieber so etwas tunapt-get install
. Es ist in Ordnung, wenn Sie Installationen von der Quelle bevorzugen (und ich persönlich auch), aber Sie müssen akzeptieren, dass es Lösungen gibt, die von anderen oder vielleicht sogar der Mehrheit der normalen Computerbenutzer leichter wahrgenommen werden../configure
undmake
was. Ich weiß nur, dass dies Schritte sind, die ich ausführen muss, um Software zu installieren. Ich lese blind die README- und INSTALL-Dateien und tue, was immer es sagt.grep
es umkehren . Liketree | grep -v 'json'
oder ähnlich.Nicht genau dasselbe, aber ein schneller Weg auf dem Mac ist:
und das ist es. Es listet alle Dateipfade im aktuellen Verzeichnis als Liste auf.
quelle
find . -type f
find . -type d -maxdepth 2
für mich so funktioniert hatfind *
wenn Sie keine versteckten Dateien und Verzeichnisse sehen möchten.tree
zeigt standardmäßig keine versteckten Dateien und Verzeichnisse an.find
ist ein 万金油 Werkzeug.Oder wenn Ihr Administrator Sie keines der Tools installieren
brew
lässtfink
,port
können Sie es immer aus der Quelle erstellen:Bearbeiten Sie das Makefile, um den Linux-Teil zu kommentieren und den OSX-Bereich zu entkommentieren:
Optional: Erzwingen der Farbausgabe
Und während Sie gerade dabei sind, können Sie die
main
Methode dertree.c
Datei immer bearbeiten undforce_color=TRUE;
vorher hinzufügen , wenn Sie einen Baum zwingen möchten, die Ausgabe immer einzufärbensetLocale(LC_TYPE,"");
Endlich drücken
make
und fertig ist das Bauentree
für den Mac.Der Tribut geht an Shaun Chapman für seinen ursprünglichen Beitrag in seinem Blog.
quelle
force_color = TRUE;
. Kein Semikolon und Sie erhalten einen Kompilierungsfehler.setLocale
dessen gebautsetlocale
. Also reintree.c
, du suchstsetlocale(LC_TYPE,"")
; und danke!/bin
(oder einen Pfad, damit er global verwendet werden kann)?warning: format specifies type 'long' but the argument has type 'long long'
. Das Update bestand darin, einen Formatbezeichner von%9ld
in zu ändern%9lld
.Sie sollten wahrscheinlich Homebrew verwenden . Wenn Sie tun:
quelle
Es gibt an sich keinen formalen
tree
Befehl, aber Sie können dies tun:Speichern Sie das folgende Skript in / usr / local / bin / tree
Ändern Sie die Berechtigungen, damit Sie sie ausführen können:
Natürlich müssen Sie möglicherweise Folgendes erstellen
/usr/local/bin
:quelle
tree
, aber dennoch eine nette kleine Lösung.Eine Alternative mit
find
undawk
:quelle
Ich habe hier eine einfache Lösung gefunden: http://murphymac.com/tree-command-for-mac/
So Hinzufügen Sie folgendes zu Ihrem
.bashrc
,.bash_profile
oder an jedem anderen Ort wird es funktioniert:Das Hinzufügen eines
tree
Befehls wird nun folgendermaßen gedruckt:quelle
Hinzufügen eines kleinen Punktes zu @ apuches Antwort auf die Funktion "OSX El Capitan rootless" .
make install
schlägt fehl, da wir nicht in das/usr/bin
Verzeichnis schreiben dürfen .Um dies zu überwinden, einfach bearbeiten
Makefile
zu müssenprefix = /usr/local
quelle
./configure --prefix=/usr/local
vor dem Laufenmake
und ,make install
und es würde die gleichen Ergebnisse erzielen.prefix
in solchen Szenarien.configure
In der neuesten Version von tree (1.7.0) ist jedoch noch keine Datei vorhanden . DieINSTALL
Datei im entpackten Verzeichnis sagt nur zu verwendenmake
undmake install
sofort.Ich habe das Folgende zu ~ / .bash_profile hinzugefügt, um es in Terminal.app zu verwenden. Einige Kommentare helfen dabei, sich daran zu erinnern, wie find verwendet wird.
Beispiel für das aktuelle Verzeichnis
Beispiel für einen Pfad
quelle
Hier ist eine Ruby-Skriptlösung, die einen schönen Unicode-Baum zusammen mit nützlichen Metadaten erzeugt.
Sie können die
meta = …
Zeile ändern , um verschiedene anzuzeigende Metadaten zu extrahieren, und die aufgeteilten Teile in der nächsten Zeile von Hand auswählen. Mit etwas mehr Arbeit könnten Sie beliebige ls-Argumente übergeben, um die anzuzeigenden Metadaten auszuwählen.Beispielausgabe (sieht im OS X-Terminal besser aus als die Schriftart im Stapelüberlauf):
quelle
Es ist nicht so hübsch wie ein Gnu-Baum ... aber es ist sehr einfach, ein Alias in bash zu erstellen ... Sie können sogar ein wenig Farbe hinzufügen, indem Sie die G-Option auf die ls-Farbe von osx setzen.
quelle
Installieren Sie Xcode
Kommandozeilen-Tools herunterladen
quelle
Spät zum Spiel, aber ich hatte die gleiche Frage. Aufgrund von Arbeitsplatzbeschränkungen konnte ich ein Paket nicht von der Quelle oder über einen Paketmanager eines Drittanbieters installieren.
Dies ist meine Implementierung:
Fügen Sie einfach die Funktion zu
/Users/foo/.profile
oder hinzu.bash_profile
und aktualisieren Sie das Profil mit:source .profile
oder:source .bash_profile
quelle