am regularly amazed that we pretend folders are the right way to organise files. They’re entirely arbitrary. Every competent file system ignores them to its best ability. Why can’t I have a file in two folders? Why does one have to be a “reference”? Why can’t I filter for files that exist in 3 folders with X extension?

We’ve been played for absolute fools.

  • who@feddit.org
    link
    fedilink
    English
    arrow-up
    18
    ·
    edit-2
    5 hours ago

    Tree-like hierarchy is used all over the place, including computers, because it’s a useful and easily understood way to organize information.

    Why can’t I have a file in two folders?

    You can. man ln

    Why does one have to be a “reference”?

    I don’t know what you mean by that. If you mean a link target, it doesn’t. A file is canonically identified by its inode (or equivalent), not where it appears in a directory tree.

    Why can’t I filter for files that exist in 3 folders with X extension?

    You can. Common tools like find can do this, as can some file managers like Dolphin, and various indexing tools.

    If you mean to ask why that sort of indexing/filtering isn’t built in to most filesystems, consider compatibility: Practically no software exists that would know how to take advantage of it. Also consider what it would mean for a filesystem to filter by files that exist in 3 folders if that filesystem doesn’t use folders. :)

    (BTW, that “extension” concept doesn’t exist in most modern filesystems. Any .xyz suffix you see in the ones that don’t come from Microsoft is just part of the file name, with no special meaning. Some programs try to guess at content type based on common file name suffixes, but that is unreliable and has nothing to do with the fs.)

    Since you’re interested in this topic, though, maybe have a look at different approaches to data storage that have been tried over the years. To get you started:

    https://en.wikipedia.org/wiki/Object_storage

    https://en.wikipedia.org/wiki/File_system#Database_file_systems