回答:
GUIコマンドとCLIコマンドを区別する特別な理由はありません。
/usr/bin
これはオペレーティングシステムに属しているため、rootとしてそれを行うことを妨げるものは何もありませんが、ここには何も置かないでください。このディレクトリは、OSと統合されたソフトウェアを配布し、名前の競合を適切に処理/回避する人々のためのものです。
/usr/local/bin
ローカルで構築されたソフトウェアの共通ディレクトリです。ここに書き込むことができれば、このディレクトリを使用できます。
/opt/<name>/bin
OSに属していないソフトウェア用です。これは、共有ソフトウェアの良い場所です。
あなたのホームディレクトリはあなたに属しているので、あなたは好きなものをその下に自由に置くことができますが、他の人があなたのプログラムを実行する必要がある場合、それは最良の場所ではありません。
に手動でインストールしないでください/usr/bin
。全体/usr
と同様に/bin
、/lib
とは/sbin
、あなたのディストリビューションが提供するソフトウェアのために予約されています。例外があります。/usr/local
これは、システム管理者がインストールするプログラムを対象としており、パッケージマネージャーには影響されません(いくつかのディレクトリの作成を除く)。(これはLinuxの場合です。他のUNIXバリアントには、にソフトウェアをインストールするパッケージマネージャーがある場合があります/usr/local
。)
/usr/local
ホームディレクトリ内の場所との間では、選択は自由です。プログラムをすべてのユーザーが利用できるようにする場合は、に配置し/usr/local
ます。自分だけが使用できるようにする場合は、ホームディレクトリにインストールします。
プログラムにGUIがあるかどうかは関係ありません。
/opt
との区分は明確/usr/local
で/opt
はありませんが、ローカルインストールにも使用されることがあります。
ユーザーがアプリケーションのバイナリーを置き換えることができるのが理にかなっている(または必要である)場合は、ユーザーのホームディレクトリにインストールする必要があります。それ以外の場合は、などの読み取り専用のパブリックディレクトリにインストールできます/usr/bin
。