Czy istnieje odpowiednik tree
polecenia Ubuntu dla Mac OS X?
źródło
Czy istnieje odpowiednik tree
polecenia Ubuntu dla Mac OS X?
tree
Polecenie można także uzyskać w systemie macOS. Jeśli masz Homebrew , wszystko, co musisz zrobić, to uruchomić:
brew install tree
Czytaj dalej, aby poznać szczegóły.
Istnieje kilka menedżerów pakietów dla systemu macOS. Najpopularniejsze to: Homebrew , MacPorts lub Fink . Możesz zainstalować jeden, ale polecam Homebrew. Nie instaluj więcej niż jednego z nich jednocześnie!
Postępuj zgodnie z instrukcjami w witrynie, a następnie uruchom jedno z następujących poleceń, w zależności od wybranego menedżera pakietów.
Dla Homebrew:
brew install tree
W przypadku MacPorts:
sudo port install tree
Dla Fink:
fink install tree
Menedżerowie pakietów oferują inne programy wiersza poleceń, w tym GNU / Linux, które domyślnie nie są dostarczane z macOS.
Najpierw musisz zainstalować narzędzia wiersza polecenia Xcode, uruchamiając xcode-select --install
.
Następnie pobierz tree
źródło . Następnie zmień plik Makefile, aby działał , co wyjaśniono również w odpowiedzi @ apuche poniżej . Wystarczy skomentować opcje Linuksa i odkomentować opcje macOS.
Następnie należy uruchomić ./configure
, a następnie make
.
Teraz musisz przenieść tree
plik binarny do lokalizacji znajdującej się na ścieżce wykonywalnej. Na przykład:
sudo mkdir -p /usr/local/bin
sudo cp tree /usr/local/bin/tree
Teraz edytuj, ~/.bash_profile
aby uwzględnić:
export PATH="/usr/local/bin:$PATH"
Załaduj ponownie powłokę, a teraz which tree
powinna wskazywać /usr/local/bin/tree
.
make
na OS X nie działa. Najpierw musisz wiedzieć, jak zainstalować narzędzia wiersza polecenia Xcode (lub ogólnie, masz pomysł na temat budowania oprogramowania), a potem okaże się, że zawiera błędy w nieokreślonym symbolu. Musisz więc wprowadzić pewne poprawki do pliku makefile (jak wyjaśniono tutaj ). Za dużo kłopotów IMO../configure
imake
dokładnie zrobić i dlaczego te są potrzebne w pierwszej kolejności. Albo nie chcą sobie z tym poradzić. Lub przeczytaj dowolne pliki pomocy. Wolą zrobić coś takiegoapt-get install
. W porządku, jeśli wolisz instalacje ze źródła (i ja też tak robię), ale musisz zaakceptować, że istnieją rozwiązania, które są postrzegane przez innych, a może nawet przez większość zwykłych użytkowników komputerów../configure
imake
zrobienia. Wiem tylko, że są to kroki, które muszę wykonać, aby zainstalować oprogramowanie. Ślepo czytam pliki README i INSTALL i robię wszystko, co mówi.grep
. Jaktree | grep -v 'json'
lub podobny.Niezupełnie to samo, ale jednym szybkim sposobem na Macu jest:
i to wszystko. Wyświetli listę wszystkich ścieżek plików w bieżącym katalogu jako listę.
źródło
find . -type f
find . -type d -maxdepth 2
zadziałało dla mniefind *
jeśli nie chcesz widzieć ukrytych plików i katalogów.tree
domyślnie nie wyświetla ukrytych plików i katalogów.find
jest narzędziem 万金油.Lub jeśli administrator nie pozwoli Ci zainstalować dowolną z
brew
,fink
,port
narzędzia zawsze można zbudować go od źródła:Edytuj plik Makefile, aby komentować część linux i odkomentować obszar osx:
Opcjonalnie: Wymuszanie wydruku w kolorze
A jeśli już na tym jesteś, jeśli chcesz zmusić drzewo, aby zawsze kolorowało dane wyjściowe, zawsze możesz edytować
main
metodętree.c
pliku i dodaćforce_color=TRUE;
wcześniejsetLocale(LC_TYPE,"");
W końcu naciśnij
make
i gotowetree
dla Maca.Hołd dla Shauna Chapmana za jego oryginalny post na swoim blogu.
źródło
force_color = TRUE;
. Bez średnika i pojawia się błąd kompilacji.setLocale
niejsetlocale
. Więctree.c
szukaszsetlocale(LC_TYPE,"")
; i dzięki!/bin
(lub jakąś ścieżkę, aby można było z niej korzystać globalnie)?warning: format specifies type 'long' but the argument has type 'long long'
. Rozwiązaniem była zmiana specyfikatora formatu z%9ld
na%9lld
.Prawdopodobnie powinieneś używać homebrew . Jeśli zrobisz:
źródło
Nie ma formalnego
tree
polecenia jako takiego, ale możesz to zrobić:Zapisz następujący skrypt w / usr / local / bin / tree
Zmień uprawnienia, aby móc je uruchomić:
Oczywiście może być konieczne utworzenie
/usr/local/bin
:źródło
tree
, ale wciąż jest to miłe, małe rozwiązanie.Alternatywne użycie
find
iawk
:źródło
Znalazłem tutaj proste rozwiązanie: http://murphymac.com/tree-command-for-mac/
Więc dodanie następujących do Twojego
.bashrc
,.bash_profile
lub jakiekolwiek inne miejsce, będzie to działa:Teraz dodanie
tree
polecenia zostanie wydrukowane w następujący sposób:źródło
Dodanie małej wskaż odpowiedź @ apuche jest dla OSX El Capitan wykorzenionego funkcji.
make install
kończy się niepowodzeniem, ponieważ nie możemy pisać do/usr/bin
katalogu.Aby temu zaradzić, po prostu edytuj,
Makefile
aby miećprefix = /usr/local
źródło
./configure --prefix=/usr/local
przed uruchomieniemmake
imake install
osiągnąłby te same wyniki.prefix
w takich scenariuszach. Aleconfigure
w najnowszej wersji drzewa (1.7.0) nie ma już pliku .INSTALL
Plik w katalogu rozpakowane tylko mówi w użyciumake
imake install
od razu.Dodałem następujące do ~ / .bash_profile do użytku w Terminal.app. Niektóre komentarze są dołączone, aby pomóc zapamiętać, w jaki sposób funkcja wyszukiwania jest używana.
przykład dla bieżącego katalogu
przykład dla jakiejś ścieżki
źródło
Oto rozwiązanie skryptowe Ruby, które tworzy ładne drzewo Unicode wraz z przydatnymi metadanymi.
Możesz zmodyfikować
meta = …
linię, aby wyodrębnić różne metadane do wyświetlenia, ręcznie wybierając podzielone elementy w następnym wierszu. Przy odrobinie pracy można przekazać dowolne argumenty ls, aby wybrać metadane do wyświetlenia.Przykładowe dane wyjściowe (ładniej wygląda w terminalu OS X niż czcionka w przepełnieniu stosu):
źródło
Nie jest tak ładny jak drzewo GNU ... ale jest naprawdę łatwy do aliasu w bash ... Możesz nawet dodać trochę koloru, dodając opcję G do koloru ls osxa.
źródło
Zainstaluj Xcode
Uzyskaj narzędzia wiersza poleceń
źródło
Późno do gry, ale miałem to samo pytanie. Z powodu ograniczeń w miejscu pracy nie mogłem zainstalować pakietu ze źródła lub za pośrednictwem zewnętrznego menedżera pakietów.
To jest moja realizacja:
Po prostu dodaj funkcję do
/Users/foo/.profile
lub.bash_profile
, a następnie odśwież profil za pomocą:source .profile
lub:source .bash_profile
źródło