如何在 Windows 中向 git-bash 添加“tree”命令?

如何在 Windows 中向 git-bash 添加“tree”命令?

我在 Windows 7 中使用 git-bash。我想查看当前目录的树。但是

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

好的,所以我没有命令tree。如何安装它?我找到了一篇文章,但它是针对 macOS 的。

答案1

您还可以"cmd //c tree"使用 Windows'tree

解释:

  • 使用“/c”参数启动 cmd 并运行 tree,然后终止

/C 执行字符串指定的命令然后终止

(额外的斜线用于转义)

/a 用于以 ascii 字符运行,以防显示不正确。

这里有更详细的回答:https://stackoverflow.com/q/515309/1261166

答案2

我从这里下载了 zip 文件中的 tree.exehttp://gnuwin32.sourceforge.net/packages/tree.htm按照建议。

然后我将 tree.exe 文件提取到C:\Program Files\Git\usr\bin(我已将此文件夹添加到 Windows 路径以使其与常规 CMD 一起工作,但它也可以与 GITBash 一起工作)。 Windows 上使用树命令的 Git Bash

我希望这对你有帮助!

答案3

Windows 中已经有一个树命令 — — 唯一的问题是tree.comgit bash 不会自动添加扩展.com并执行它。

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$

答案4

适用于 Windows 的 Git (https://gitforwindows.org/)(有 Git Bash)但不包括treetree可通过pacman(包管理器)使用,但只有在安装了“Git for Windows”后才可用软件开发工具包“(滚动到 gitforwindows.org/ 的底部,它提供了一个下载安装程序的链接https://github.com/git-for-windows/build-extra/releases/latest

这个 SO:“Windows 版 git 中的包管理?”非常有帮助 https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows

另外,正如上面的 SO 所评论的那样,他们链接到这个 git 来解决 windows 问题 [Pacman missing on fresh 2.5.2 install #397],而它本来是不包含pacman在默认安装中的。

无论如何,我安装了“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,因此从我的 Git for Windows Bash shell(没有安装 tree)中,我通过 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 shell 运行 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”存储库获取的(仅供参考:尽管它说的是 msys,但它实际上使用的是 msys2),所以我查看了一下/etc/pacman.d/mirrorlist.msys,第一个镜像指向http://repo.msys2.org/msys/$arch/

因此,下次您需要一个不在 Git for Windows 中的软件包时,您可以从以下位置下载:http://repo.msys2.org/msys/x86_64/(适用于 64 位)或来自http://repo.msys2.org/msys/i686/(32 位)

例如,tree v1.7.0-1 的直接下载链接

相关内容