Windows에서 git-bash에 'tree'명령을 어떻게 추가합니까?


53

Windows 7에서 git-bash를 사용하고 있습니다. 현재 디렉토리의 트리를보고 싶습니다. 하나:

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

좋아, 그래서 트리 명령이 없습니다. 어떻게 설치합니까? 기사를 찾았지만 Mac 용이었습니다.


git-bashCygwin의 컷 다운 버전입니다. 가장 좋은 방법은 cygwin.com에서 Cygwin을 설치하고 패키지 관리자를 사용하여 패키지 tree또는 패키지가있는 경우 패키지를 사용하는 것입니다.
allquixotic

2
@allquixotic 실제로 요즘 그것은 mingw입니다
jcollum

답변:


35

당신은 또한 "cmd //c tree"Windows를 사용 하는 데 사용할 수 있습니다tree

설명:

  • '/ c'인수로 cmd를 시작하고 트리를 실행 한 다음 종료하십시오.

/ C 문자열로 지정된 명령을 수행 한 다음 종료

(탈출을위한 추가 슬래시)

/ a 올바르게 표시되지 않는 경우 ASCII 문자로 실행하는 데 사용합니다.

https://stackoverflow.com/q/515309/1261166 에서 더 자세히 답변하십시오.


2
~ / .bashrc에이 명령을 별칭으로 추가 할 수도 있습니다.alias tree='cmd //c tree //a
onlyhuman

더 이상 작동하지 않습니다. 사용tree.com /a
automorphic

29

제안 된대로 http://gnuwin32.sourceforge.net/packages/tree.htm 에서 zip 파일 내부의 tree.exe를 다운로드 했습니다.

그런 다음 tree.exe 파일을 추출했습니다 C:\Program Files\Git\usr\bin(이 폴더를 Windows 경로에 추가하여 일반 CMD와 함께 작동하지만 GITBash에서도 작동합니다). 창에 트리 명령이있는 Git Bash

나는 이것이 어떻게 든 당신을 도울 수 있기를 바랍니다!


2
Windows 7의 git-bash와 매우 잘 작동합니다!
cjauvin

2
C : \ Program Files \ Git \ usr \ bin에 복사 된 tree.exe는 우리가 찾고 있던 것입니다. 큰 점유율. 감사. downloads.sourceforge.net/gnuwin32/tree-1.5.2.2-bin.zip tree.exe가있는 바이너리에 지정된 zip 파일을 다운로드하십시오. 원본 사이트에서 다운로드를 시도하십시오.
Doogle

1
윈도우 10에서 나는에 넣고 C:\Users\myuser\AppData\Local\Programs\Git\usr\bin 엄지 손가락의 규칙은, 다음이 USR / 빈 / 넣어 트리를 찾아 git.exe의 위치 bash.exe 또는 찾을 폴더를 이동하는 것입니다 생각 나는
찰스 L.

10

Windows에는 이미 트리 명령이 있습니다. 문제는 tree.com이며 git bash는 확장명 .com을 자동으로 추가하고 실행하지 않습니다.

그러나 tree 또는 tre를 입력 한 후 tab을 누르면 찾을 수 있습니다.

// f를 사용해야하는 파일을 보려면 //를 사용해야합니다. // bash는 폴더 이름이라고 생각합니다.

또한 // a를 사용하여 ascii 라인을 표시했지만 사용할 필요는 없습니다.

예:

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$

1
멋진, 매력처럼 일했다 ..
Santosh Kumar Arjunan

7

트리의 GnuWin32 빌드는 http://gnuwin32.sourceforge.net/packages/tree.htm 에 있습니다. 아직 GnuWin32를 사용하지 않는 경우 수동으로 경로에 추가해야합니다.

Windows 콘솔에서도 사용하려면 tree.exe의 이름을 바꾸거나 lstree.exe와 같은 다른 이름으로 복사해야합니다. 그렇지 않으면 Windows tree 명령이 우선합니다. GnuWin 버전의 장점은 많은 옵션이 있다는 것입니다. 예를 들어 tree -L 2재귀 깊이를 2로 제한합니다.

> 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.

Windows 트리와 비교 :

> 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, 이것은 Cygwin에서 트리 cmd를 얻는 가장 직접적인 방법이며 실패하기 전에 컴파일 경로를 시도했습니다. 이것으로 당신은 바이너리를 다운로드하고 cygwins 경로와 violla의 폴더에 압축을 풀고, 나무 명령을 상자에서 꺼내십시오
iloveretards

Cygwin에서에서 : apt-cyg install treetree.exeCygwin에서에있을 것입니다 bin폴더.
Timo

2

git-bash는 실제로 mingw의 축소 버전입니다. cygwin.com에서 Cygwin을 설치 한 다음 패키지 관리자를 사용하여 '트리'또는 그 안에있는 패키지를 설치하거나 존재하지 않는 경우 gcc를 설치하고 여기에서 트리 소스를 다운로드하십시오.

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

그런 다음 INSTALL 파일의 지시 사항을 따르십시오 (make, make install).


minggw에서는 불가능합니까?
Jen S.

1
git-bash에는 C / C ++ 컴파일러와 같은 필요한 도구가 포함되어 있지 않기 때문에 mingw에서는 너무 어렵지 않지만 기본 git-bash 프롬프트에서는 불가능하다고 생각합니다. 그러나 mingw를 설치하고 gcc를 포함시키고 트리 설치 파일의 지침을 따르십시오. 과거에는 Windows에서 mingw를 사용하여 이와 같은 것을 컴파일 했으므로이 부분이 가능합니다.
Jonathan Hartley

1

또 다른 옵션은 MinGW 패키지를 사용하는 것입니다. MinGW가 이미 설치되어 있으면 트리가 패키지되어 있으므로 MinGW 터미널을 열고 실행하여 설치하십시오 pacman -Sy tree.

MinGW가 아직 설치되어 있지 않은 경우 tree 명령으로 설치하는 것이 과도합니다.


0

위 링크에서 http://gnuwin32.sourceforge.net/packages/tree.htm 링크를 통해 Windows 용 Three를 설치해야합니다.

그 외에도 트리 프로그램을 Windows 경로에 추가해야하거나 트리 명령은 cmd에서만 사용할 수 있습니다. Windows 경로에 액세스하여 이것을 추가하십시오 (기본 설치의 경우).

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

그들은 Windows의 git bash에서 tree 명령을 사용할 수 있습니다.


0

이것은 내 .gitconfig 파일의 시작입니다 .log --graph의 별칭을 만들었습니다.

# 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'

1
해결책이 아닙니다. 별명은 파일 / 디렉토리가 아닌 커밋을 보여줍니다.
Timo

0

Windows 용 Git ( https://gitforwindows.org/ ) (Git Bash 포함)은 포함되어 있지 않습니다 tree. (패키지 관리자) tree를 통해 사용할 수 pacman있지만 "Windows SDK 용 Git"을 설치 한 경우에만 사용할 수 있습니다 (gitforwindows.org/의 맨 아래로 스크롤하여 https://github.com/ 에서 설치 프로그램을 다운로드 할 수있는 링크를 제공함) git-for-windows / build-extra / releases / latest )

이것도 : "Windows 용 git의 패키지 관리?" 매우 도움이되었습니다 https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows

또한 위의 SO에서 언급했듯이 pacman기본 설치에 포함되지 않은 Windows 문제 (신규 2.5.2 설치 # 397에서 팩맨 누락)에 대한이 자식 링크에 연결됩니다 .

어쨌든 "Git for Windows SDK"를 설치 한 다음 bash 프롬프트 (SDK-64)에서 현재 트리 v1.7.0-1을 설치하기 위해 다음을 실행했습니다 (이 게시물은 2018 년 8 월 30 일 기준).

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

내 시스템에서 Git for Windows SDK는 다음 위치에 설치됩니다. C:\git-sdk-64따라서 트리가 설치되지 않은 Windows Bash 쉘용 Git 쉘에서 tree.exe를 통해 / usr / bin 디렉토리로 복사했습니다.

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

이제 tree두 Git Bash 셸에서 v1.7.0을 실행할 수 있습니다 .

따라서 다른 사람들과 미래의 컴퓨터에서 더 쉽게 사용할 수 있도록 Git for Windows SDK Bash 터미널에서 다음을 실행 pacman하여 tree패키지를 가져 오는 위치를 살펴 보았습니다 .

$ 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
...

중요한 것은 여기에 즉 pacman(: 그것은 MSYS를 말한다하더라도, 정말 msys2를 사용하는 참고) 나는 보았다, 그래서 "MSYS"저장소에서 점점 /etc/pacman.d/mirrorlist.msys첫 번째 미러 점http://repo.msys2.org/msys/$arch/

따라서 다음에 Windows 용 Git에없는 패키지를 원하는 경우 http://repo.msys2.org/msys/x86_64/(64 비트) 또는 http : //repo.msys2 에서 패키지를 다운로드 할 수 있습니다 . .org / msys / i686 / (32 비트)

예 : 트리 v1.7.0-1의 직접 다운로드 링크


1
참고 :에서 힘내 SCM의 윈도우의 다운로드 git-scm.com/download는 윈도우 GitHub의에 대한 힘내 (최신 끌어 github.com/git-for-windows/git/releases 에서) github.com/git-for-windows/git는
N. Ngo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.