「AI駆動の開発ツールとは? チャットAIとの違い」で紹介したAI駆動IDEには、ターミナルでコマンドを実行する機能があります。
AIが「このコマンドを実行していいですか?」と許可を求めてきたとき、そのコマンドが何をするものか分からなければ、許可も拒否も判断できません。この記事では、よく出てくるコマンドを安全度ごとに分類して紹介します。
ターミナルとは
ターミナルは、文字を打ち込んでパソコンに命令を出す画面です。普段はアイコンをクリックして操作しますが、ターミナルでは短い英単語の命令文(コマンド)を入力して、同じことをします。
AI駆動IDEの中にもターミナルが組み込まれていて、AIがここにコマンドを入力して実行しようとします。ファイルの作成、プログラムの実行、外部ツールの導入など、さまざまな操作がコマンドで行われます。
macOSとWindowsの違い
macOSとLinuxは同じ系統のコマンドを使います。Windowsは一部異なりますが、近年はmacOS/Linuxと同じコマンドが使える環境(WSLやGit Bash)を入れて開発する人が増えています。AI駆動IDEもこの環境を前提にしていることが多いです。
この記事ではmacOS/Linux系のコマンドを中心に説明し、Windowsで異なる場合はその都度補足します。
ほぼ安全なコマンド — 見るだけ・移動するだけ
以下のコマンドは、ファイルを見たり、フォルダを移動したりするだけです。パソコンの中身を変更しないので、許可してまず問題ありません。
ls — ファイルの一覧を表示する
今いるフォルダに何が入っているかを一覧で表示します。中身を見るだけで、何も変わりません。
ls
Windowsの場合は dir が同じ役割です。
cd — フォルダを移動する
指定したフォルダに移動します。「今いる場所」が変わるだけで、ファイルには影響しません。
cd my-project
これはmacOS/Linux/Windows共通です。
pwd — 今いる場所を表示する
今どのフォルダにいるかをフルパス(完全な住所)で表示します。確認するだけのコマンドです。
pwd
cat — ファイルの中身を表示する
指定したファイルの内容を画面に表示します。ファイルを変更せず、読むだけです。
cat index.html
Windowsの場合は type index.html が同じ役割です。
mkdir — フォルダを作る
新しいフォルダを作ります。既存のファイルには影響しません。空のフォルダが一つ増えるだけです。
mkdir images
これはmacOS/Linux/Windows共通です。
注意が必要なコマンド — 外部から何かを入れる
インターネットから外部のプログラムをダウンロードして、自分のパソコンに追加するコマンドです。何が入るか分からないリスクがあるため、AIが提示したパッケージ名が見覚えのないものだった場合は、検索して確認してから許可してください。
npm install — JavaScriptの外部パッケージを追加する
npmはJavaScriptのパッケージ管理ツールです。npm installを実行すると、指定されたパッケージ(他人が作ったプログラムの部品)をインターネットからダウンロードして自分のプロジェクトに追加します。
npm install react
有名なパッケージなら問題ありませんが、名前が似た偽物のパッケージが紛れている場合があります。パッケージ名に見覚えがなければ、許可する前に検索して確認する習慣が重要です。
pip install — Pythonの外部パッケージを追加する
pipはPythonのパッケージ管理ツールです。仕組みはnpmと同じで、外部からプログラムをダウンロードしてインストールします。
pip install flask
brew install — macOSにツールを追加する
Homebrew(macOS用のパッケージ管理ツール)を使って、ツールやアプリケーションをインストールします。システム全体に影響するものもあるため、何が入るか確認してから許可してください。
brew install git
curl(ダウンロードして実行するパターン)
curlはインターネットからデータを取得するコマンドです。単体では表示するだけですが、取得した内容をそのまま実行する書き方があります。
curl -fsSL https://example.com/install.sh | sh
この形(最後に | sh がついている)は、ダウンロードしたプログラムをそのまま実行する意味になります。中身を確認できないまま実行することになるため、信頼できる配布元かどうかを確認してから許可してください。
危険なコマンド — 消す・権限を変える
ファイルの削除やシステム権限の変更を行うコマンドです。操作を間違えるとデータが消えたり、パソコンの設定が壊れたりする可能性があります。AIがこれらのコマンドを提示したら、対象が正しいか慎重に確認してください。
rm — ファイルを削除する
指定したファイルを削除します。ゴミ箱には入らず、即座に消えます。
rm old-file.txt
1ファイルの削除なら影響は限定的ですが、対象を間違えると取り返しがつきません。
rm -rf — フォルダごと強制削除する
指定したフォルダとその中身を、確認なしにすべて削除します。最も注意が必要なコマンドの一つです。
rm -rf build/
AIが一時ファイルやビルド成果物を消すために使うことがあります。対象のフォルダ名が正しいか、大切なファイルが含まれていないかを確認してから許可してください。
Windowsの場合は rmdir /s /q が同様の動きをします。
sudo — 管理者権限で実行する
sudoは、直後に書いたコマンドを管理者(最高権限)で実行します。通常はアクセスできないシステムの設定やファイルにまで手が届くようになります。
sudo rm -rf /
この例は極端ですが、sudoがついたコマンドはパソコン全体に影響する可能性があります。なぜ管理者権限が必要なのか理由が分からない場合は、許可しないでください。
Windowsの場合は「管理者として実行」に相当します。
chmod / chown — ファイルの権限・持ち主を変える
ファイルの「誰が読み書きできるか」を変更するコマンドです。設定を間違えると、本来アクセスできないはずのファイルが誰でも読める状態になったり、逆に自分でも開けなくなったりします。
chmod 777 script.sh
AI駆動IDEの開発作業で頻繁に出るものではありません。出てきた場合は理由を確認してください。
判断の原則
- 見るだけ・移動するだけのコマンドは許可して問題ない
- 外部からプログラムを入れるコマンドは、パッケージ名や配布元を確認してから許可する
- 削除や権限変更のコマンドは、対象が正しいか慎重に確認してから許可する
- 知らないコマンドが出てきたら、許可せずに調べる
AIは便利ですが、最終的に「実行していいか」を判断するのは自分です。コマンドの意味が分からないまま許可を押す習慣をつけないことが、安全にAI駆動IDEを使う基本になります。
まとめ
- ターミナルは文字でパソコンに命令を出す画面である
- ls, cd, pwd, cat, mkdirは見る・移動する・作るだけなので安全である
- npm install, pip install, brew installは外部からプログラムを入れるため、名前や配布元を確認してから許可する
- rm, rm -rf, sudo, chmod, chownはファイル削除やシステム変更を行うため、対象が正しいか慎重に確認する
- 知らないコマンドは許可せず、調べてから判断する