Không có lý do cụ thể để tạo sự khác biệt giữa các lệnh GUI và CLI.
/usr/bin
thuộc về hệ điều hành, vì vậy, ngay cả khi không có gì ngăn cản bạn, như root, để làm điều đó, bạn không nên đặt bất cứ thứ gì ở đây. Thư mục này dành cho những người phân phối phần mềm tích hợp với HĐH và xử lý / tránh xung đột tên đúng cách.
/usr/local/bin
là một thư mục chung cho phần mềm được xây dựng cục bộ. Nếu bạn có thể viết ở đây, bạn chỉ có thể sử dụng thư mục này.
/opt/<name>/bin
dành cho phần mềm không thuộc hệ điều hành. Đó là một vị trí tốt cho phần mềm chia sẻ.
Thư mục nhà của bạn thuộc về bạn, do đó bạn có thể tự do đặt bất cứ thứ gì bạn thích vào bất cứ nơi nào nhưng nó không phải là vị trí tốt nhất nếu người khác cần chạy chương trình của bạn.