1188
Touch a file in Linux (programming.dev)
you are viewing a single comment's thread
view the rest of the comments
[-] 4am@lemm.ee 21 points 2 years ago

“Do one thing and do it very well” is the UNIX philosophy after all; if you’re 99% likely to just create that missing file after you get a file not found error, why should touch waste your time?

[-] 0x0@lemmy.dbzer0.com 35 points 2 years ago

Because now touch does two things.

Without touch, we could "just" use the shell to create files.

: > foo.txt
[-] deegeese@sopuli.xyz 21 points 2 years ago

Touch does one thing from a “contract” perspective:

Ensure the timestamp of is

[-] dan@upvote.au 14 points 2 years ago

Systemd also does one thing from a contract perspective: run your system

[-] emptiestplace@lemmy.ml 4 points 2 years ago
[-] dukk@programming.dev 3 points 2 years ago

Does it do it well, though?

[-] Kusimulkku@lemm.ee 8 points 2 years ago

But this directly goes against that philosophy, since now instead of changing timestamps it's also creating files

[-] kautau@lemmy.world 10 points 2 years ago* (last edited 2 years ago)

You can pass -c to not create a file, but it does go against the philosophy that it creates them by default instead of that being an option

EDIT: Looking closer into the code, it would appear to maybe be an efficiency thing based on underlying system calls

Without that check, touch just opens a file for writing, with no other filesystem check, and closes it

With that check, touch first checks if the file exists, and then if so opens the file for writing

this post was submitted on 17 Mar 2024
1188 points (100.0% liked)

Programmer Humor

26722 readers
120 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS