1185
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 11 months 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 11 months 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 11 months ago

Touch does one thing from a “contract” perspective:

Ensure the timestamp of is

[-] dan@upvote.au 14 points 11 months ago

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

[-] emptiestplace@lemmy.ml 4 points 11 months ago
[-] dukk@programming.dev 3 points 11 months ago

Does it do it well, though?

[-] stebo02@lemmy.dbzer0.com 19 points 11 months ago

with this logic, any command that moves, copies or opens a file should just create a new file if it doesn't exist

and now you're just creating new files without realising just because of a typo

[-] Kusimulkku@lemm.ee 8 points 11 months ago

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

[-] kautau@lemmy.world 10 points 11 months ago* (last edited 11 months 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
1185 points (100.0% liked)

Programmer Humor

20703 readers
1480 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