Windows 7でgit-bashを使用しています。現在のディレクトリのツリーを見たいのですが。しかしながら:
jcollum@DEVELOPER01 ~/Dev/express_coffee
$ tree .
sh.exe": tree: command not found
OK、それで私はtreeコマンドを持っていません。どうすればインストールできますか?記事を見つけましたが、Mac向けでした。
"cmd //c tree"
を使用してWindowsを使用することもできますtree
説明:
/ C文字列で指定されたコマンドを実行して終了します
(エスケープのための余分なスラッシュ)
/ a正しく表示されない場合に、アスキー文字で実行するために使用します。
ここでより詳細に回答: https://stackoverflow.com/q/515309/1261166
ここから、Zipファイル内のtree.exeをダウンロードしました http://gnuwin32.sourceforge.net/packages/tree.htm お勧めします。
次に、tree.exeファイルをC:\Program Files\Git\usr\bin
に抽出しました(このフォルダーをWindowsパスに追加して、通常のCMDで動作するようにしましたが、GITBashでも動作します)。
これが何とかお役に立てば幸いです。
ウィンドウにはすでにtreeコマンドがあります-唯一の問題は、tree.comであり、git bashが拡張子.comを自動的に追加して実行しないことです。
ただし、treeまたはtreを入力した後でTabキーを押すと、検索されます
// fを使用する必要があるファイルを表示するには、//を使用する必要があります。そうしないと、bashはそれをフォルダー名と見なします。
// aを使用してアスキー線を表示しましたが、使用する必要はありません
例:
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の名前を変更するか、tree.exeを別の名前にコピーする必要があります。 lstree.exe、それ以外の場合は、Windowsツリーコマンドが優先されます。 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.
git-bashは、実際にはmingwの縮小版です。 cygwin.comからCygwinをインストールし、次にパッケージマネージャーを使用して「ツリー」またはパッケージが含まれているパッケージをインストールするか、存在しない場合はgccをインストールして、ここからツリーソースをダウンロードします。
http://mama.indstate.edu/users/ice/tree/
次に、INSTALLファイルの指示に従います(make、make install)
別のオプションは、MinGWパッケージを使用することです。すでにMinGWがインストールされている場合は、ツリーがそこにパッケージ化され、MinGW端末を開いてpacman -Sy tree
。
MinGWをまだインストールしていない場合は、treeコマンドだけでインストールするのはやり過ぎでしょう。
Git for Windows( https://gitforwindows.org/ )(Git Bashを持っています)しかし、tree
は含まれていません。 tree
はpacman
(パッケージマネージャ)から利用できますが、「Git for Windows[〜#〜] sdk [〜# 〜] "(gitforwindows.org/の下部までスクロールすると、そのインストーラーをダウンロードするためのリンクが https://github.com/git-for-windows/ build-extra/releases/latest )
このSO:「git for windowsのパッケージ管理?」とても役に立ちました https://stackoverflow.com/questions/32712133/package-management-in-git-for-windows
また、上記のSOでコメントされているように、デフォルトのインストールにpacman
を含めないように意図されていた、このgit for Windowsの問題[Pacman行方不明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
の下にインストールされているため、Git for Windows Bash Shell(ツリーがインストールされていなかった)から、tree.exeを介して/ usr/binディレクトリにコピーしました。例えば.
[MINGW64: Bash Terminal for Git for Windows]
cd /usr/bin
cp /c/git-sdk-64/usr/bin/tree.exe .
これで、両方のGit Bashシェルからtree
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」リポジトリから取得していることです(FYI: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ビット)
例えばツリーv1.7.0-1の直接ダウンロードリンク
これが私の.gitconfigファイルの始まりです:log --graphのエイリアスを作成しました
# This is Git's per-user configuration file.
[user]
# Please adapt and uncomment the following lines:
name = xxxxxx
email = [email protected]
[alias]
tree = log --graph --oneline --all --pretty=format:'%C(yellow)%h%Creset -%Cred%d%Creset %s %Cgreen%cr%Creset %C(cyan)%an%Creset %gn'
上記のリンクで述べたように、Three for Windowsをインストールする必要があります。 http://gnuwin32.sourceforge.net/packages/tree.htm
その上、あなたはあなたのウィンドウズパスにツリープログラムを追加する必要があります、そうでなければツリーコマンドはcmdでのみ利用可能になります。 Windowsパスにアクセスし、これを追加します(デフォルトのインストールの場合):
;C:\Program Files (x86)\GnuWin32\bin
それらはあなたがwindowsのgit bashでtreeコマンドを使用できるようになります。