Речь идет не о графическом интерфейсе, а о TextEdit
стратегии сохранения изменений: он не записывает на месте существующий файл, а сначала записывает новый, а по завершении удаляет старый и переименовывает новый. на старые имена. Многие редакторы (программы, которые концептуально изменяют файл «на месте»), с графическим интерфейсом или нет, используют эту стратегию в целях безопасности (вы не потеряете ни новую, ни старую версии, если произойдет сбой в очень неудачный момент, когда происходит запись имеет место), но, как вы заметили, он "ломает" жесткие ссылки.
Одним из примеров неинтерактивной, без графического интерфейса редактора программы с этим поведением perl
с -i
( «в месте редактирования») опция командной строки переключателем ...:
$ touch za.txt $ ln za.txt zo.txt $ echo ciao >za.txt $ cat zo.txt ciao $ perl -i -p -e 's/a/b/' zo.txt $ cat zo.txt cibo $ cat za.txt ciao