$ man context-wiki/terminal-and-cli

インフラストラクチャbeginner

ターミナルと CLI

すべてを裏で動かしている、テキストが表示された黒い画面


ターミナルとは何か

ターミナルはコンピュータへのテキストベースのインターフェースだ。アイコンもボタンもドラッグ&ドロップもない。コマンドを入力して Enter を押すと、コンピュータが実行する。見た目は怖い。黒い画面、点滅するカーソル、何を入力すればいいか分からない。分かる。僕もそうだった。でも事実はこうだ:実行するすべてのスキル、トリガーするすべてのデプロイ、実行するすべてのスクリプト、インストールするすべてのパッケージは、ターミナルを通じて動いている。この知識ベースの他のすべてのコンテンツの実行レイヤーだ。/deploy と入力すると、そのスキルはターミナルで git コマンドを実行する。デイリートラッカーを実行すると、ターミナルで Python スクリプトが実行される。Homebrew でツールをインストールするとき、それがターミナルだ。ターミナルのパワーユーザーになる必要はない。ターミナルが存在すること、何をするか、そして見ても慌てないことを理解する必要がある。
パターン

Homebrew:最初のパッケージマネージャー

Homebrew は Mac における開発者ツールのアプリストアのようなものだ。ウェブサイトからインストーラーをダウンロードする代わりに、brew install と入力すればツールが手に入る。brew install git で Git をインストール。brew install python で Python をインストール。brew install node で Node.js をインストール。コマンド 1 つで完了。Mac Mini への移行中に Homebrew を覚えた。新しいマシンをゼロからセットアップしていて、どのガイドにも「まず Homebrew をインストールせよ」と書いてあった。それが何かも知らなかった。パッケージマネージャーが何を意味するかも分からなかった。ただインストールスクリプトを実行し、brew install git と入力したら、うまくいった。次に Python。次に Node。そしてその他すべて。その経験がコンテンツになった。Homebrew が何か分からない状態から、使うことで学び、他の人に説明するプロセス。これが再帰的パターンだ。学習プロセスそのものがコンテンツになる。brew install がインストールコマンド。brew update がパッケージリストの更新。brew list がインストール済みのもの一覧。brew upgrade がインストール済みパッケージの更新。これで Homebrew で必要なことの 90% はカバーできる。
コード

実際に使う Bash コマンド

200 個のコマンドを暗記する必要はない。10 個あればターミナル使用の 90% をカバーできる。 pwd は今いる場所を表示する。「このフォルダのアドレスを教えて」と考えればいい。 ls は現在のフォルダのファイルを一覧表示する。ls -la で隠しファイルと詳細情報が表示される。 cd はディレクトリを移動する。cd ~/Desktop でデスクトップに移動。cd .. で 1 つ上の階層に移動。 mkdir は新しいフォルダを作成する。mkdir my-project。 cp はファイルをコピーする。cp file.txt backup.txt。 mv はファイルを移動またはリネームする。mv old-name.txt new-name.txt。 rm はファイルを削除する。rm file.txt。注意すること。ターミナルにはゴミ箱がない。 cat はファイルの内容を表示する。cat README.md。 chmod は権限を変更する。chmod +x script.sh でスクリプトを実行可能にする。 echo はテキストを出力する。echo $PATH で PATH 変数を表示する。 パイプはコマンドをつなげる。ls | grep .md は Markdown ファイルだけを一覧表示する。パイプ記号(|)は一方のコマンドの出力をもう一方のコマンドに送る。これが小さなツールを強力なワークフローに連結する方法だ。
プロのコツ

ターミナルが他のすべてとどうつながるか

ターミナルはこの知識ベースのすべてのコンテンツが実際に実行される場所だ。git push はターミナルで実行される。python daily_scan.py はターミナルで実行される。npm run dev はターミナルで開発サーバーを起動する。brew install はターミナルを通じてツールを追加する。vercel deploy はターミナルからトリガーされる。他のすべての知識ベースエントリーはターミナルの存在に依存している。Git はターミナルツールだ。Python スクリプトはターミナルで実行される。Cron ジョブはスケジュール通りにターミナルコマンドを実行する。デプロイはターミナルコマンドを通じてプッシュされる。ターミナルを理解することは独立したスキルではない。他のすべてのスキルが立脚する基盤だ。マスターする必要はない。そこにあることを知り、怖がらないことが大事だ。
パターン

再帰的コンテンツパターン

メタな話をしよう。Mac Mini に移行した。Homebrew をインストールする必要があった。Homebrew が何か知らなかった。でもどのセットアップガイドにも書いてあったので、とにかくインストールした。使うことでパッケージマネージャーとは何かを学んだ。そしてその経験をコンテンツとして書いた。学習プロセスがコンテンツになった。ターミナルはツールであり、同時にトピックでもある。このパターンは GTM OS のあらゆるところで繰り返される。始めた頃は Git を知らなかった。ものを壊してリバートすることで学んだ。それが「GTM エンジニアのための Git」の記事になった。Python を知らなかった。Claude にスクリプトを書いてもらい、出力を読むことで学んだ。それが「GTM エンジニアのための Python」の記事になった。ターミナルも同じストーリーだ。専門家になるまで待ってから書くのではない。学びながら書く。学習プロセスこそが最も共感を呼ぶコンテンツだ。なぜなら読者も同じことを経験しているからだ。

関連記事
GTM エンジニアのための GitGTM エンジニアのための PythonCron ジョブデプロイと Vercel
コンテキスト Wikiナレッジガイド
ShawnOS.ai|theGTMOS.ai|theContentOS.ai
built with Next.js · Tailwind · Claude · Remotion