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