![Windows で git-bash に「tree」コマンドを追加するにはどうすればいいですか?](https://rvso.com/image/1346181/Windows%20%E3%81%A7%20git-bash%20%E3%81%AB%E3%80%8Ctree%E3%80%8D%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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を起動し、ツリーを実行してから終了します。
/C 文字列で指定されたコマンドを実行し、終了します
(エスケープ用の追加のスラッシュ)
正しく表示されない場合に ASCII 文字で実行するには /a を使用します。
より詳しい回答はこちらをご覧ください:https://stackoverflow.com/q/515309/1261166
答え2
ここからzipファイル内のtree.exeをダウンロードしましたhttp://gnuwin32.sourceforge.net/packages/tree.htm提案どおり。
次に、tree.exe ファイルを抽出しましたC:\Program Files\Git\usr\bin
(通常の CMD で動作するようにこのフォルダーを Windows パスに追加しましたが、GITBash でも動作します)。
これが何らかの形で役立つことを願っています!
答え3
Windows にはすでに tree コマンドがありますが、唯一の問題はtree.com
、git bash が自動的に拡張子を追加し.com
て実行しないことです。
tabただし、入力後に押すと見つかります木またはトレ
ファイルを表示するには//f
、を使用する必要があります。//
そうしないと、bashはそれをフォルダ名と認識します。
以前はASCIIラインも表示していました//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$
答え4
Windows 用 Git (git の最新バージョンをダウンロード) (Git Bash を含む) は含まれませんtree
。は (パッケージ マネージャー)tree
経由で利用できますpacman
が、これは「Git for Windows」をインストールした場合にのみ利用できます。開発キット「(gitforwindows.org/の一番下までスクロールすると、インストーラをダウンロードするためのリンクがあります。https://github.com/git-for-windows/build-extra/releases/latest)
このSO:「Windows用のGitでのパッケージ管理?」は非常に役に立ちました https://stackoverflow.com/questions/32712133/git でのパッケージ管理
また、上記の SO でコメントされているように、彼らは、pacman
デフォルトのインストールには含めないことを意図していた Windows の git の問題 [2.5.2 の新規インストールで Pacman が見つからない #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シェル(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 シェルから 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 の直接ダウンロード リンク
- 64 ビット:http://repo.msys2.org/msys/x86_64/tree-1.7.0-1-x86_64.pkg.tar.xz
- またはhttps://sourceforge.net/projects/msys2/files/REPOS/MSYS2/x86_64/tree-1.7.0-1-x86_64.pkg.tar.xz
- 32ビット:http://repo.msys2.org/msys/i686/tree-1.7.0-1-i686.pkg.tar.xz
- またはhttps://sourceforge.net/projects/msys2/files/REPOS/MSYS2/i686/tree-1.7.0-1-i686.pkg.tar.xz