this post was submitted on 14 Sep 2026
559 points (98.4% liked)

linuxmemes

32827 readers
1334 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry of any kind will not be tolerated. This is an LGBTQ+-friendly community -- if that is a problem for you, you should leave.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn, no politics, no trolling or ragebaiting.
  • Don't come looking for advice, this is not the right community.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves / tolerates / hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • 6. (NEW!) Regarding public figuresWe all have our opinions, and certain public figures can be divisive. Keep in mind that this is a community for memes and light-hearted fun, not for airing grievances or leveling accusations.
  • Keep discussions polite and free of disparagement.
  • We are never in possession of all of the facts. Defamatory comments will not be tolerated.
  • Discussions that get too heated will be locked and offending comments removed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 3 years ago
    MODERATORS
     
    top 50 comments
    sorted by: hot top controversial new old
    [–] BartyDeCanter@piefed.social 125 points 6 days ago* (last edited 6 days ago) (15 children)

    Stages of POSIX enlightenment:

    1. It couldn't possibly all be files
    2. It's all files
    3. What is a file, anyway?
    4. There's no such thing as a file
    5. It couldn't possibly all be files
    6. Everything is a file

    Most people stop at stage 2, stage 3 hits when you decide to write a filesystem, stage 4 when you've finished your first filesystem. Stage 5 is when you start working on kernel internals. No one can tell you how to reach stage 6, you must discover it for yourself.

    [–] Sinthesis@lemmy.today 56 points 6 days ago* (last edited 6 days ago) (2 children)

    /dev/null sez nothing is also a file

    [–] Bluewing@lemmy.world 9 points 6 days ago (1 children)

    Asking for a friend.

    If you can recognize "nothing" then "nothing" must be something right? So if nothing is a file, because /dev/null says so, then nothing MUST be something to be a file. And therefore /dev/null can't be nothing.

    Or do I just need more tea? Or maybe whisk(e)y?

    [–] HeHoXa@lemmy.zip 12 points 6 days ago (2 children)

    The word "nothing" isn't itself nothing. It is something used to describe nothing.

    [–] Bluewing@lemmy.world 11 points 6 days ago (3 children)

    The word "nothing" is the English word describing the concept of nothing. And I have to use the word to describe the concept. So yes, you are correct the word is itself "something". So that is probably one point for "nothing" to not exist.

    I have now consumed 3 cups of tea. And my head now hurts from thinking about nothing. I should never have stepped into this post.

    load more comments (3 replies)

    in fact that gets used in abstract mathematics to first introduce the natural numbers. the empty set (nothing) (which you define as 0) is not itself nothing, so you can define the set that contains just the empty set, which now is not empty itself, but contains one element, so you define that as 1 ...

    load more comments (1 replies)
    [–] SpaceCowboy@lemmy.ca 27 points 6 days ago (2 children)

    Unfortunately, no one can be told what a file is. You have to see it for yourself.

    This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the file system goes.

    [–] NeatNit@discuss.tchncs.de 34 points 6 days ago (1 children)

    I feel like it's more of a "If I tried to tell you what this was, you wouldn't believe me" than a "I am physically incapable of explaining the idea that you're plugged into a computer".

    load more comments (1 replies)
    [–] chrash0@lemmy.world 12 points 6 days ago (1 children)

    true enlightenment: everything is a string over an IO socket

    [–] mkwt@lemmy.world 3 points 5 days ago (1 children)

    But are sockets not files?

    [–] chrash0@lemmy.world 3 points 5 days ago

    files are named sockets πŸ•‰οΈ

    [–] swab148@lemmy.dbzer0.com 15 points 6 days ago

    You'll know you've reached stage 6 when you seriously start considering running Plan 9 as a daily driver

    [–] Agent641@lemmy.world 10 points 6 days ago (3 children)
    [–] Ensign_Crab@lemmy.world 8 points 6 days ago

    Can you read me?

    [–] thorcik@lemmy.world 6 points 6 days ago

    Hope your name isn't Peter

    In the end, we are all files. We have our read()s and write()s, in in our time we play many offsets.

    [–] rtxn@lemmy.world 10 points 6 days ago

    "How can files be real if the filesystem isn't real?" - Jaden Smith (probably)

    [–] socsa@piefed.social 5 points 5 days ago
    1. Everything is a FIFO
    [–] Zozano@aussie.zone 5 points 6 days ago* (last edited 6 days ago)

    Files? In my Linux?

    It's more likely than you think.

    [–] Equinox1289@sh.itjust.works 6 points 6 days ago (2 children)

    Okay, but what are blocks then? A file is really just a bunch of blocked stacked together with the inode metadata also sitting on another block, so is everything just blocks or because you can emulate a block device on a filesystem, are blocks themselves files? If that last part is true then files are infinitely recursive and my head is starting to spin.

    load more comments (2 replies)
    [–] jj4211@lemmy.world 4 points 6 days ago (1 children)

    Missing stage 7: Not everything is a file.

    Linux is closer than other *nixes (sysctl equivalents in some platforms are not files, but they are files in Linux).

    However get very far into network and the file-like behaviors become more limited. From an application, at least you have a decent chance of having unseekable, but otherwise 'file-like' interaction with stream protocols. Then you need recvmsg/sendmsg. Then you want to deal with low level interaction with the network stack and dealing with NETLINK and such..

    [–] call_me_xale@lemmy.zip 3 points 5 days ago (1 children)

    That's where plan9 comes in!

    [–] jj4211@lemmy.world 4 points 5 days ago

    Yes, the "did I stutter?" If everything is a file philosophy.

    [–] Bo7a@piefed.ca 4 points 6 days ago

    And the hidden 0th level that you only get after being nearly killed by a falling server rack:

    "Files Aren't Things"

    Which looks great on a tshirt, btw :p

    load more comments (4 replies)
    [–] JackbyDev@programming.dev 53 points 6 days ago (3 children)

    It makes more sense when you realize that it's not that everything is files it's that everything can be treated as a file. There are other APIs to interact with things, but everything can be interacted with as if it was a file. It doesn't seem as bonkers like this.

    [–] absentbird@lemmy.world 17 points 6 days ago* (last edited 6 days ago) (1 children)

    Exactly. A file is really just a way to understand a collection of bits. So saying everything is files is like saying everything in computers can be described as sets of bits, which is not a terrible heuristic.

    [–] BobWehadababyitsaboy@lemmy.world 14 points 6 days ago (1 children)

    It's like saying everything is a wave IRL.

    Especially the particles

    [–] possiblylinux127@lemmy.zip 8 points 6 days ago (2 children)

    Files don't actually exist once you dig down

    [–] socsa@piefed.social 14 points 5 days ago

    Bro stop digging I need those files to keep existing

    [–] JackbyDev@programming.dev 8 points 5 days ago (2 children)

    Yeah, it sort of depends on the definition of the word file. "File" in the sense that it can be interacted with like a file versus "file" in the sense that it's data on a disk. But then, if you're really thinking about it, data on a disk isn't a file, it's data, and we can just interact with it like a file.

    [–] ivanafterall@lemmy.world 5 points 5 days ago

    Welcome, brother. But remember that they must walk the path themselves or they will never reach true understanding.

    [–] anarchy79@lemmy.world 4 points 5 days ago

    Everything is computer.

    [–] Truscape@lemmy.blahaj.zone 47 points 6 days ago (1 children)

    Yep, takes a moment to wrap your head around but the longer you read linux/unix documentation, the more it makes sense why it is the case.

    [–] gandalf_der_13te@feddit.org 7 points 6 days ago* (last edited 6 days ago)

    tldr: it's to have nicer, less complicated I/O operations

    it enables just having two API calls: read() and write() to do everything

    [–] AnimalsDream@slrpnk.net 20 points 5 days ago (1 children)
    [–] bhamlin@lemmy.world 13 points 5 days ago (1 children)

    Can confirm; user is file too

    [–] anarchy79@lemmy.world 9 points 5 days ago

    Source: user

    [–] notptr@lemmy.cyberia9.org 12 points 6 days ago

    Want take it to 11 plan 9 did it.

    [–] heartSagan5@lemmy.zip 6 points 5 days ago (1 children)

    In Windows land, it's HANDLEs...which is typedef void* HANDLE IIRC

    [–] h4x0r@lemmy.dbzer0.com 2 points 5 days ago

    Generally speaking, a handle is an opaque reference to an os object; the typedef here makes that clear. Linux uses the same general concept as well, though file objects are typically referenced through file descriptors rather than windows style handles.

    [–] anarchy79@lemmy.world 5 points 5 days ago

    Ok you got me with this one.

    Btw the mitochondria are the powerhouse of the cell.

    [–] Flower@sh.itjust.works 6 points 6 days ago (1 children)

    Well, if you go back far enough you might encounter punch cards or even switches, but then again you're not taking about modern computers anymore.

    [–] Bluewing@lemmy.world 9 points 6 days ago (5 children)

    What's this "back far enough" shit, I've used punch cards and punch tape.

    Fuck me I'm old.

    load more comments (5 replies)
    [–] BlueKey@fedia.io 6 points 6 days ago

    But some things are directories (like cgroups). And Networknamespaces were also controled in a weird way.
    And then there are kernel features which are not exposed through a file or syscall but through a special type of socket.

    [–] vivalapivo@lemmy.today 5 points 6 days ago (1 children)
    load more comments (1 replies)
    load more comments
    view more: next β€Ί