this post was submitted on 20 Aug 2026
954 points (99.4% liked)

Linux

67230 readers
269 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 7 years ago
MODERATORS
top 50 comments
sorted by: hot top controversial new old
[–] tapdattl@lemmy.world 87 points 5 days ago (1 children)

Julia Evans has such great and accessible content, they're awesome

[–] bruh@nord.pub 7 points 5 days ago (1 children)
[–] rjb@lemmy.ml 59 points 5 days ago (2 children)
[–] bruh@nord.pub 18 points 5 days ago

thanks, it's got really hard nowdays to find quality content.

[–] Fmstrat@lemmy.world 3 points 4 days ago (1 children)

Maybe a dumb question, but is.. a zine just a blog entry?

[–] rjb@lemmy.ml 5 points 3 days ago

Zine is short for magazine, I think. Offline zines are often self-published paper booklets, produced by lone wolves or communities, with a focus on one subject. Digital zines are often PDFs. Sometimes a printable booklet version is provided so they can be printed and distributed. Here's an example of a digital zine: https://digitalselfdefence.net/pdf/dsdc-zine.pdf

[–] otacon239@lemmy.world 64 points 5 days ago (3 children)

Okay, this is legitimately cool as heck. This finally helps me wrap my head around the “everything is a file” concept in Linux. Of course it can just copy the executable to memory for later reference. That’s how the system would not completely have a meltdown when you do live updates.

Excellent share!

[–] atzanteol@sh.itjust.works 60 points 5 days ago

It's a bit more interesting than that...

Linux, unlike Windows, will let you delete a file that is actively in use. It removes the reference on the file system but the contents of the file won't be deleted until all file pointers to it close. In fact it will still be seen as taking up disk space until it's garbage collected (deleting a large file that's in use can be frustrating).

So the file is actually still available to that running process. If you replace it with a new executable and run that then you get the new version.

[–] HiddenLayer555@lemmy.ml 17 points 5 days ago* (last edited 5 days ago) (2 children)

I bet this is done with inodes. Deleted files aren't truely deleted until nothing has it open and its inode gets dropped. Like ARC for files.

You can also do interesting things like overwrite a "file" (as in a specific filesystem path) with new contents while keeping anything that already has the file open on the old contents by unlinking the old inode to the path and writing the new contents under a new inode. I believe mv does this. The kind of lesser known feature that probably strikes a good balance between preventing super annoying silent errors/corruption and causing them.

Relevant Kevin Fang video

load more comments (2 replies)
load more comments (1 replies)
[–] rumba@lemmy.zip 20 points 4 days ago (3 children)

You used to be able to sudo cat /proc/kcore > /dev/dsp and listen to your ram

The RAM whisperer.

[–] muusemuuse@sh.itjust.works 1 points 3 days ago (1 children)

Wouldn’t that just sound like gibberish? I feel like Mike Lindell would come out of the speakers.

[–] rumba@lemmy.zip 2 points 2 days ago

it rotated in between white noise, strobing sirens, digital corruption and silence.

[–] MonkeMischief@lemmy.today 1 points 3 days ago (1 children)

That sounds really interesting! I couldn't find anything else on this. Is this like pre-systemd?

[–] rumba@lemmy.zip 2 points 2 days ago (1 children)

It was before OSS was taken over by ALSA (and other things) for sound. OSS let you play loose and fast and was very forgiving. I just tried using pulseaudio to do it and barely got a burble of static out of it.

[–] MonkeMischief@lemmy.today 1 points 1 day ago* (last edited 1 day ago) (1 children)

That is super rad. I wonder how hard it would be to replicate today.

We could have a "RAMcore" subgenre. I wonder how running different processes affects the sound?

Imagine if the German underground scene discovered RAM noises. . .damn, RAMmstein is already taken. XD

All seriousness though...I now wanna know what my RAM sounds like. Lol

[–] rumba@lemmy.zip 2 points 1 day ago

Stand up an old VM that still has OSS. I screwed around with current drivers and didn't get anything cool sounding.

[–] TerraRoot@sh.itjust.works 5 points 3 days ago

The hand written effect make these so much easier to digest.

[–] four@lemmy.zip 43 points 5 days ago

I'm surprised it doesn't mention that /proc/self automagically points to the directory of the current process. So if you're writing a program, you can just look there for information about itself

[–] jabjoe@feddit.uk 21 points 4 days ago (1 children)

Got to love UNIX's everything is a file.

ProcFS is from Plan9. https://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs#/proc

Plan9 is worth a deep dive, but maybe not worth running. It is more UNIX than UNIX. (Also where UTF8 came from.)

[–] friend_of_satan@lemmy.world 3 points 4 days ago (1 children)

I did not know that about plan9! /proc was one of the things I missed most when I switched from daily driving linux to daily driving osx.

[–] jabjoe@feddit.uk 3 points 4 days ago
[–] Thwompthwomp@lemmy.world 36 points 5 days ago (1 children)

This is awesome, and I really no no idea about this!

[–] kamenlady@lemmy.world 13 points 5 days ago (1 children)

I no no idea you liked this, nice

[–] Thwompthwomp@lemmy.world 7 points 5 days ago (1 children)

d'oh! That's what I get for trying to type quickly.

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

That's ok, sometimes I to to type quickly too

[–] rockSlayer@lemmy.blahaj.zone 25 points 5 days ago (3 children)

I know what a symlink is, but what is a magic symlink?

[–] zarkanian@sh.itjust.works 60 points 5 days ago (1 children)

A symlink that has been blessed by Richard Stallman.

[–] some_kind_of_guy@lemmy.world 7 points 4 days ago* (last edited 4 days ago) (2 children)

Richard Stallman as St. IGNUcius

"Now that's a name I haven't heard in a long time" - Saint IGNUcius

load more comments (2 replies)
[–] Shadow@lemmy.ca 24 points 5 days ago (1 children)

If you delete a file that's still open by the app, the link in proc will still exist and you can copy the file back out of proc.

[–] RustySharp@programming.dev 7 points 5 days ago (1 children)

Does that not make them a hard link (pointing to a filesystem node) instead of a symlink (pointing to another filename)?

[–] Shadow@lemmy.ca 23 points 5 days ago (1 children)

No, you can't have a hard link cross filesystems and proc is its own fs type.

[–] gravitas_deficiency@sh.itjust.works 13 points 5 days ago (1 children)

Ah - it has its own special magical file system type, that’s the secret sauce. Neat!

[–] Shadow@lemmy.ca 12 points 5 days ago (3 children)

/dev and /sys are the other two special ones

load more comments (3 replies)
[–] Redjard@reddthat.com 8 points 4 days ago

Also known as zombie files. If you are unlucky they can take up all space on a drive, or even tmpfs (so your ram) and you can't easily find them. At least until you end the right process or restart.
Had that happen once and had to write my own script to trace it to the log of an open terminal emulator tab that had billions of lines.

[–] communism@lemmy.ml 9 points 4 days ago

Julia Evans has a bunch of these really handy cheatsheets. I have several saved that I reference semi-regularly.

[–] utopiah@lemmy.ml 7 points 4 days ago

I have some of her paper zines on my desk, warmly recommended.

Might look esoteric at first but if you think we will be using Linux at least on desktop, servers, consoles and more for decades then totally worth learning about.

[–] muusemuuse@sh.itjust.works 2 points 3 days ago

I never really considered using proc to solve my problems. I jump to logs and such but honestly, how have I never played with proc?

[–] PowerCrazy@lemmy.ml 12 points 5 days ago

I didn't know any of this. Amazing. I usually just look at /proc/net/ for routes and bonding config etc.

[–] lyralycan@sh.itjust.works 16 points 5 days ago* (last edited 5 days ago) (1 children)

Great tips! Although if i may 🤓 just a little for the top right, it works because what you deleted isn't the binary, it's the pointer that points to the binary's location. The data is still exactly as it was before "deletion"; the symlink is simply a copy of the original pointer's info; and I'm speculating that the existence of any pointer prevents the system from recycling those addressed bits.

load more comments (1 replies)
[–] pelya@lemmy.world 14 points 5 days ago (8 children)

Do you know how to build portable executables?

configure --prefix=/proc/self/pwd

It even works in .so files and libtool.

load more comments (8 replies)
[–] spittingimage@lemmy.world 11 points 5 days ago (1 children)
load more comments (1 replies)
[–] jaybone@lemmy.zip 8 points 5 days ago (1 children)

I’m aware of /proc but usually use lsof to find open fd’s for a process.

Is one better than the other?

[–] ozymandias117@lemmy.world 15 points 5 days ago
[–] Jankatarch@lemmy.world 8 points 5 days ago

I am saving this, both for the post AND for the comments.

[–] luthis@lemmy.nz 7 points 5 days ago (2 children)

We need the whole set of these in one post

load more comments (2 replies)
[–] FluidBeef@quokk.au 6 points 5 days ago

I love *nix’s commitment to the bit on the core abstractions.

load more comments
view more: next ›