Ответ
Hardlink – это прямая ссылка на inode файла, т.е. несколько имен файлов указывают на одни и те же данные на диске. Удаление одного hardlink не затрагивает данные, пока есть другие ссылки. Работает только в пределах одной файловой системы.
Symlink (символическая ссылка) – это отдельный файл, содержащий путь к другому файлу. При удалении оригинального файла symlink становится "битым". Может ссылаться на файлы в других файловых системах.
Пример создания в Linux (Golang аналоги через os.Link и os.Symlink):
# Hardlink
ln file.txt hardlink.txt
# Symlink
ln -s file.txt symlink.txt