Wie füge ich den Befehl 'tree' zu git-bash unter Windows hinzu?

29623
jcollum

Ich verwende git-bash unter Windows 7. Ich möchte einen Baum des aktuellen Verzeichnisses sehen. Jedoch:

jcollum@DEVELOPER01 ~/Dev/express_coffee  $ tree .  sh.exe": tree: command not found 

OK, ich habe also keinen Baumbefehl. Wie installiere ich es? Ich habe einen Artikel gefunden, aber es war für Macs.

41
"git-bash" ist wirklich nur eine reduzierte Version von Cygwin. Am besten installieren Sie Cygwin von cygwin.com und verwenden Sie den Paketmanager, um `tree` oder das Paket (sofern vorhanden) zu installieren. Horn OK Please vor 11 Jahren 0
@allquixotic eigentlich in diesen Tagen ist es mingw jcollum vor 11 Jahren 2

8 Antworten auf die Frage

30
Viktor Mellgren

Sie können auch "cmd //c tree"Windows verwendentree

Erläuterung:

  • Starten Sie cmd mit dem '/ c'-Argument und führen Sie den Baum aus. Beenden Sie dann

/ C Führt den durch string angegebenen Befehl aus und wird dann beendet

(extra Schrägstrich für Flucht)

Ausführlicher hier beantwortet: https://stackoverflow.com/q/515309/1261166

18
Pini Cheyni

Ich habe die Datei tree.exe in der zip-Datei von hier http://gnuwin32.sourceforge.net/packages/tree.htm wie vorgeschlagen heruntergeladen .

Dann habe ich die Datei tree.exe extrahiert C:\Program Files\Git\usr\bin(Ich habe diesen Ordner dem Windows-Pfad hinzugefügt, damit er mit der regulären CMD funktioniert, aber er funktioniert auch mit GITBash). Git Bash mit Baumbefehl unter Windows

Ich hoffe das hilft dir irgendwie!

Funktioniert sehr gut mit git-bash unter Windows 7, danke! cjauvin vor 7 Jahren 2
In die Datei C: \ Programme \ Git \ usr \ bin wurde die Datei "tree.exe" kopiert. Großer Anteil. Vielen Dank. http://downloads.sourceforge.net/gnuwin32/tree-1.5.2.2-bin.zip Laden Sie die für die Binaries angegebene zip-Datei herunter. Versuchen Sie im Gegenteil, von der Originalseite herunterzuladen. Doogle vor 6 Jahren 2
In Windows 10 stelle ich dies in "C: \ Users \ myuser \ AppData \ Local \ Programs \ Git \ usr \ bin". Ich denke, die Faustregel lautet: Finden Sie, wo sich bash.exe oder git.exe befinden Ordner, dann finden Sie usr / bin / und Baum dort Charles L. vor 5 Jahren 0
7
Brian Burns

Der GnuWin32-Build des Baums befindet sich unter http://gnuwin32.sourceforge.net/packages/tree.htm. Sie müssen den Pfad manuell hinzufügen, wenn Sie GnuWin32 nicht bereits verwenden.

Wenn Sie es auch an einer Windows-Konsole verwenden möchten, müssen Sie die Datei tree.exe umbenennen oder in eine andere Datei kopieren, z. B. in lstree.exe. Andernfalls hat der Windows-Strukturbefehl Vorrang. Der Vorteil der GnuWin-Version ist, dass sie viele Optionen hat - zum Beispiel tree -L 2würde die Rekursionstiefe auf 2 begrenzt.

> tree --help usage: tree [-adfghilnpqrstuvxACDFNS] [-H baseHREF] [-T title ] [-L level [-R]] [-P pattern] [-I pattern] [-o filename] [--version] [--help] [--inodes] [--device] [--noreport] [--nolinks] [--dirsfirst] [--charset charset] [--filelimit #] [<directory list>] -a All files are listed. -d List directories only. -l Follow symbolic links like directories. -f Print the full path prefix for each file. -i Don't print indentation lines. -q Print non-printable characters as '?'. -N Print non-printable characters as is. -p Print the protections for each file. -u Displays file owner or UID number. -g Displays file group owner or GID number. -s Print the size in bytes of each file. -h Print the size in a more human readable way. -D Print the date of last modification. -F Appends '/', '=', '*', or '|' as per ls -F. -v Sort files alphanumerically by version. -r Sort files in reverse alphanumeric order. -t Sort files by last modification time. -x Stay on current filesystem only. -L level Descend only level directories deep. -A Print ANSI lines graphic indentation lines. -S Print with ASCII graphics indentation lines. -n Turn colorization off always (-C overrides). -C Turn colorization on always. -P pattern List only those files that match the pattern given. -I pattern Do not list files that match the given pattern. -H baseHREF Prints out HTML format with baseHREF as top directory. -T string Replace the default HTML title and H1 header with string. -R Rerun tree when max dir level reached. -o file Output to file instead of stdout. --inodes Print inode number of each file. --device Print device ID number to which each file belongs. --noreport Turn off file/directory count at end of tree listing. --nolinks Turn off hyperlinks in HTML output. --dirsfirst List directories before files. --charset X Use charset X for HTML and indentation line output. --filelimit # Do not descend dirs with more than # files in them. 

Im Vergleich zum Windows-Baum:

> tree /? Graphically displays the folder structure of a drive or path.  TREE [drive:][path] [/F] [/A]  /F Display the names of the files in each folder. /A Use ASCII instead of extended characters. 
IMO, das ist der einfachste Weg, um Tree Cmd in Cygwin zu bekommen, und ich habe die Kompilierroute vorher erfolglos ausprobiert. Mit dieser Option laden Sie einfach die Binärdatei herunter, extrahieren Sie sie in einen Ordner auf Ihrem cygwins-Pfad und geben Sie den Befehl violla, den Baum aus der Box iloveretards vor 8 Jahren 0
in cygwin: `apt-cyg install tree` und` tree.exe` befinden sich im Ordner `bin` von cygwin. Timo vor 6 Jahren 0
6
blur

Es gibt bereits einen Tree-Befehl in Windows - das einzige Problem ist, dass es tree.com ist, und git bash wird die Erweiterung .com nicht automatisch hinzufügen und ausführen.

Es wird jedoch gefunden, wenn Sie nach der Eingabe von Baum oder Tre die Tabulatortaste drücken

Um Dateien zu sehen, müssen Sie // f verwenden - Sie müssen // verwenden, oder bash denkt, es sei der Ordnername

Ich habe auch // a verwendet, um ASCII-Zeilen anzuzeigen, aber Sie müssen es nicht verwenden

Beispiel:

dean@dean:~/java$ tree bash: tree: command not found dean@dean:~/java$ tree.com //a Folder PATH listing for volume c Volume serial number is 4E70-B37A C:. +---atom +---sublime \---vscode dean@dean:~/java$ tree.com //a //f Folder PATH listing for volume c Volume serial number is 4E70-B37A C:. +---atom | test1 | +---sublime | test2 | \---vscode test3  dean@dean:~/java$ 
genial, arbeitete wie ein Zauber .. Santosh Kumar A vor 5 Jahren 0
2
Jonathan Hartley

git-bash ist wirklich nur eine reduzierte Version von mingw. Installieren Sie Cygwin von cygwin.com und verwenden Sie dann entweder den Paketmanager zum Installieren von 'tree' oder eines anderen Pakets. Falls dies nicht der Fall ist, installieren Sie gcc und laden Sie die Baumquelle hier herunter:

http://mama.indstate.edu/users/ice/tree/

Folgen Sie dann den Anweisungen in der INSTALL-Datei (make, make install).

Ist es in minggw also unmöglich? Jen S. vor 10 Jahren 0
Ich kann mir vorstellen, dass es von mingw nicht zu schwer ist, aber von Ihrer Standard-Eingabeaufforderung von git-bash aus nicht möglich ist, weil ich mir vorstellen kann, dass git-bash keine Tools enthält, die Sie wie einen C / C ++ - Compiler benötigen. Sie könnten jedoch versuchen, mingw zu installieren, sicherzustellen, dass gcc eingeschlossen ist, und den Anweisungen in der Baum-INSTALL-Datei folgen. Ich habe mingw verwendet, um solche Dinge in der Vergangenheit unter Windows zu kompilieren, daher ist dieser Teil definitiv möglich. Jonathan Hartley vor 10 Jahren 1
0
Lucas Amorim Silva

Sie müssen die Three für Windows wie oben erwähnt über den Link installieren: http://gnuwin32.sourceforge.net/packages/tree.htm

Außerdem müssen Sie das Baumprogramm zu Ihrem Windows-Pfad hinzufügen, oder der Baumbefehl ist nur für cmd verfügbar. Greifen Sie auf Ihren Windows-Pfad zu und fügen Sie Folgendes hinzu (für die Standardinstallation):

;C:\Program Files (x86)\GnuWin32\bin 

Sie können Baumbefehle für git bash unter Windows verwenden.

0
Delphine

Dies ist der Anfang meiner .gitconfig-Datei: Ich habe einen Alias ​​für log --graph gemacht

# This is Git's per-user configuration file. [user] # Please adapt and uncomment the following lines: name = xxxxxx email = xxx@xxx.xxx  [alias] tree = log --graph --oneline --all --pretty=format:'%C(yellow)%h%Creset -%Cred%d%Creset %s %Cgreen%cr%Creset %C(cyan)%an%Creset %gn' 
Nicht die Lösung. Der Alias ​​zeigt das Festschreiben und nicht die Dateien / Verzeichnisse. Timo vor 6 Jahren 0
0
N. Ngo

Git für Windows ( https://gitforwindows.org/ ) (hat Git Bash), aber nicht enthalten tree. treeist für via pacman(Package Manager) verfügbar. Dies ist jedoch nur verfügbar, wenn Sie "Git for Windows SDK " installieren (scrollen Sie zum Ende von gitforwindows.org/. Dort finden Sie einen Link zum Herunterladen des Installationsprogramms von https://github.com/. git-for-windows / build-extra / release / latest )

Diese SO: "Paketverwaltung in git für Windows?" war sehr hilfreich https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows

Wie auch in den obigen SO kommentiert, verlinken sie auf dieses git für Windows-Problem [Pacman fehlt bei der Neuinstallation von 2.5.2 # 397], das nicht pacmanin der Standardinstallation enthalten sein sollte.

Wie auch immer, ich habe "Git for Windows SDK" installiert, und dann in der Bash-Eingabeaufforderung (SDK-64) habe ich Folgendes ausgeführt, um Current Tree v1.7.0-1 zu installieren (ab diesem Posting, 30. August 2018):

[SDK-64: Bash Terminal for Git for Windows SDK] pacman -S tree ... Proceed with installation? [Y/n] Y 

Auf meinem System ist Git für Windows SDK installiert unter: C:\git-sdk-64Also habe ich es von meiner Git für Windows Bash-Shell (in der kein Tree installiert ist) über tree.exe in das Verzeichnis / usr / bin kopiert, z

[MINGW64: Bash Terminal for Git for Windows] cd /usr/bin cp /c/git-sdk-64/usr/bin/tree.exe . 

Jetzt kann ich treev1.7.0 von beiden Git-Bash-Shells ausführen.

Um es für andere und vielleicht für mich selbst auf einem zukünftigen Computer noch einfacher zu machen, habe ich nachgesehen, woher pacmandas treePaket kam, indem ich in meinem Git für Windows SDK Bash-Terminal Folgendes ausführte:

$ pacman -S --info tree Repository : msys Name : tree Version : 1.7.0-1 Description : A directory listing program displaying a depth indented list of files Architecture : x86_64 ... 

Der Schlüssel ist hier, pacmandass es aus dem "msys" -Repository (FYI: obwohl es sagt msys, dass es wirklich msys2 verwendet) abgerufen wird, also habe ich nachgesehen /etc/pacman.d/mirrorlist.msysund der erste Spiegel zeigt daraufhttp://repo.msys2.org/msys/$arch/

Das nächste Mal, wenn Sie ein Paket benötigen, das NICHT in Git für Windows enthalten ist, können Sie es von http://repo.msys2.org/msys/x86_64/ (für 64-Bit) oder von http: //repo.msys2 herunterladen .org / msys / i686 / (32-Bit)

zB direkter Downloadlink für Baum v1.7.0-1

Zur Information: Git SCM's Window Download unter https://git-scm.com/download/ holt das neueste von Git für Windows GitHub (https://github.com/git-for-windows/git/releases/) von https: //github.com/git-for-windows/git N. Ngo vor 5 Jahren 1