Não há motivo específico para fazer a diferença entre os comandos da GUI e da CLI.
/usr/bin
pertence ao sistema operacional, portanto, mesmo que nada o impeça, como root, de fazê-lo, você não deve colocar nada aqui. Esse diretório é para pessoas que distribuem software integrado ao sistema operacional e lidam / evitam adequadamente conflitos de nomes.
/usr/local/bin
é um diretório comum para software construído localmente. Se você pode escrever aqui, você pode apenas usar este diretório.
/opt/<name>/bin
é para software que não pertence ao sistema operacional. É um bom local para software compartilhado.
Seu diretório pessoal pertence a você, portanto você pode colocar o que quiser em qualquer lugar, mas não é o melhor local se outras pessoas precisarem executar seu programa.