Watch

Unixの「tree」コマンドに相当するMacコマンドを使ってターミナルでフォルダツリーを表示する

Unixの「tree」コマンドに相当するMacコマンドを使ってターミナルでフォルダツリーを表示する

フォルダツリーを表示する Mac コマンドライン

Unix の経験がある Mac ユーザーは、Unix の「tree」コマンドに相当するものを macOS と Mac OS X に実装する方法を知っておくと役立つでしょう。Mac OS X のターミナルでフォルダー ツリーを表示するには、実際にはいくつかの方法があります。ここでは、エイリアスを使用して実現する簡単な tree 相当の方法と、Ubuntu や他の Linux で見られるものと同じように、Mac にネイティブの「tree」をインストールする方法について説明します。

これは明らかにコマンドライン ユーザーを対象としていますが、Mac の Finder で多くの時間を費やす場合は、ファイルとフォルダーの内容を再帰的に一覧表示する機能が役立つかもしれません。これは、ターミナルでディレクトリ ツリーを表示するのと似ていますが、明らかにそうではありません。

Mac OS Xのターミナルでフォルダツリーを表示するのと同等のツリーを作成する

簡単なエイリアスを使用すると、Mac OS のコマンド ラインからフォルダー ツリーを表示できます。

  1. まだ起動していない場合は、ターミナルまたはiTermを起動します。
  2. お好みのテキスト エディターで .bashrc または .zshrc プロファイルを開きます。nano は簡単なので、nano を使用します。
  3. nano .zshrc

  4. 新しい行に次のエイリアスを貼り付けます。
  5. alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'"

  6. Control+O と Control+X を押して保存し、nano を終了します (または通常どおり vim または emacs を終了します)。これで、ディレクトリツリーを印刷するための tree コマンドが使用できるようになります。

ツリーエイリアスを使用してMacでフォルダツリーを表示する

新しいターミナルを開くか、ターミナル プロファイルを再読み込みすると、新しいツリー エイリアスを使用できるようになります。

Macで「tree」を使ってディレクトリツリー構造を表示する

エイリアスが実装されたので、「tree」コマンドを使って、現在の作業フォルダまたはディレクトリの階層構造をコマンドラインで表示できます。例えば、Macのルート/にいて「tree」と入力すると、Mac上のすべての階層構造が表示されます(これは少し時間がかかるので推奨されませんが、動作の仕組みを示すデモとして役立ちます)。

tree

tree コマンドは、ある程度の包含レベルを持つサブディレクトリ内で使用するのが最適です。そうしないと、現在の作業ディレクトリからファイルシステム全体の構造が外側にダンプされてしまいます。

Mac のツリーに相当するコマンドラインのディレクトリツリーの表示

Mac コマンドラインに「tree」をインストールする

ディレクトリを指定する機能など、'tree' をもう少し制御したい場合、または Unix の世界から来た 'tree' とまったく同じものが必要な場合は、homebrew または macports を使用して、macOS および Mac OS X に tree を直接インストールできます。

Homebrewで「tree」をインストールする:

brew install tree

MacPortsで「tree」をインストールする:

sudo port install tree

個人的にはHomebrewを推奨していますが、どちらでもご自身に合ったものを使ってください。どちらかをインストールしたら、「tree」と入力すると、Mac上の任意のディレクトリのフォルダツリーが表示されます。

競合を避けるため、最初のステップでツリーエイリアスを使用し、その後にツリーコマンドもインストールすることは避けてください。両方を実装することは可能ですが、エイリアスの名前を「treed」などに変更することをお勧めします。