this post was submitted on 28 Dec 2025
-36 points (25.0% liked)
Linux
10793 readers
592 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
No, in nearly every case, you never want a hard link. You want one file, and symlinks to it. (Technically every file is a hard link to an inode, and subsequent ones are just additional links to the same inode.) In ext4, you can't easily get a list of links to an inode, you have to scan the filesystem and look for duplicates. Other filesystems might make this easier.
You shouldn't try to use a tree filesystem to approximate a tagged database. Use the appropriate tool for the job.
That's not an unreasonable answer. But I find this thread a little frustrating. As I see it, it's gone like this:
Why bring up hard links if people shouldn't use them for the requested use case? I mean, I do think your original reply was interesting and relevant as a starting point to get to what I think OP has in mind. But that line of thinking does require getting into how to use hard links for a non-hierarchical workflow.
I feel like OP was trying to start a discussion about what might be, if things were different. I tried to reply in the same spirit. I feel like I'm asking, "What if things were different?", and I'm being told "It doesn't work that way." Which doesn't feel like an especially helpful response to me.
If my grandmother had wheels, she'd be a bicycle. Don't try to force a hierarchical filesystem into other applications. Asking "what it if was different" doesn't make sense, because if ext4 was a tagging filesystem, it would be tagfs! Tagfs and others already exist, you can use them today! Go crazy, use object or document stores! Embed everything in xml! But for operating systems or actual human interface, those are terrible ideas, which is why we don't do that.
I brought up hard links to say "yes, you can do that, but it doesn't mean you should". There are few cases for hard links. The only one I've seen in actual use is in media downloaders, where a file gets downloaded to one folder, then hardlinked from a library folder, so that you don't have two copies of that video. The library (jellyfin) can do whatever it wants to the link (move, rename) while the downloader (qbittorrent) can still keepit for seeding, and either side can happily delete its copy without affecting the other.