xterm и совместимые терминалы умеют обрабатывать события мыши. На том же stackoverflow можно найти вот такой код:
echo -e "\e[?1000;1006;1015h" # Enable tracking
echo -e "\e[?1000;1006;1015l" # Disable tracking
Это на баше, разумеется. Выводишь правильную escape-последовательность, и терминал будет слать тебе соыбтия мыши как другие escape-последовательности на стандартный вход программы.
Mouse click looks like \e[<0;3;21M and a release \e[<0;3;21m. Where 3 is x and 21 is y, from top-left 1-based. (Note that it is x-y and not row-col).
Но такой подход оставляет проблему отслеживания положения кликабельного текста, и требует, чтобы твоя программа продолжала работать.
Предположительно, некоторые терминалы могут также переварить вот такое:
echo -e '\e]8;;http://example.com\aThis is a link\e]8;;\a'
Но для твоей задаче потребуется, чтобы система имела схему URL для открытия папки с файлом, типа file:// или еще чего-то подобного.
Ну а виндовый терминал очень ограниченный, так что кроссплатформенность малореальна. Хотя какие-то реализации curses под винду всё же есть.