Answers:
您也"cmd //c tree"
可以使用Windowstree
说明:
/ C执行由字符串指定的命令,然后终止
(用于转义的斜线)
/ a用于显示ascii字符,以防显示不正确。
在这里更详细地回答:https : //stackoverflow.com/q/515309/1261166
alias tree='cmd //c tree //a
tree.com /a
按照建议,我已经从http://gnuwin32.sourceforge.net/packages/tree.htm下载了zip文件中的tree.exe 。
然后,我将tree.exe文件解压缩到C:\Program Files\Git\usr\bin
(我已将此文件夹添加到Windows路径中,以使其与常规CMD一起使用,但也与GITBash一起使用)。
希望这对您有所帮助!
C:\Users\myuser\AppData\Local\Programs\Git\usr\bin
我认为这是我的经验法则是找到bash.exe或git.exe所在的位置,找到一个文件夹,然后找到usr / bin /并将树放在那里
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$
树的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.
apt-cyg install tree
并且tree.exe
将在cygwin bin
文件夹中。
git-bash实际上只是mingw的简化版本。从cygwin.com安装Cygwin,然后使用软件包管理器安装“ tree”或其中包含的任何软件包,或者如果不存在,则安装gcc,然后从此处下载树源:
http://mama.indstate.edu/users/ice/tree/
然后按照INSTALL文件中的说明进行操作(进行安装)
您必须通过链接按上述方式安装Windows的Three:http : //gnuwin32.sourceforge.net/packages/tree.htm
除此之外,您需要将树形程序添加到Windows路径中,否则树形命令仅在cmd上可用。访问您的Windows路径并添加此路径(用于默认安装):
;C:\Program Files (x86)\GnuWin32\bin
他们将能够在Windows的git bash上使用tree命令。
这是我的.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'
适用于Windows的Git(https://gitforwindows.org/)(具有Git Bash),但不包含tree
。tree
可通过pacman
(Package Manager)使用,但仅当您安装“ Git for Windows SDK ”时可用(滚动到gitforwindows.org/的底部,该链接提供了从https://github.com/下载该安装程序的链接)git-for-windows / build-extra / releases / latest)
这样:“在git中为Windows打包管理?” 非常有帮助 https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows
同样如上述SO中所述,它们链接到Windows的git问题[在新的2.5.2安装#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
在我的系统上,适用于Windows SDK的Git安装在以下位置:C:\git-sdk-64
,因此从适用于Windows Bash的Git Shell(未安装树)中,将它通过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。
因此,为了使其他人(也许我自己)在将来的机器上变得更容易,我通过在Windows SDK Bash Git终端中运行以下命令来查看从何处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的Windows,可以下载它们:http://repo.msys2.org/msys/x86_64/(64位)或HTTP://repo.msys2 .org / msys / i686 /(32位)
例如,树的直接下载链接v1.7.0-1
git-bash
实际上只是Cygwin的简化版本。最好的方法是从cygwin.com安装Cygwin,然后使用那里的程序包管理器安装tree
或安装其中的任何程序包(如果存在)。