373
submitted 4 days ago* (last edited 4 days ago) by mfat@lemmy.ml to c/linux@lemmy.ml

Which Linux command or utility is simple, powerful, and surprisingly unknown to many people or used less often?

This could be a command or a piece of software or an application.

For example I'm surprised to find that many people are unaware of Caddy, a very simple web server that can make setting up a reverse proxy incredibly easy.

Another example is fzf. Many people overlook this, a fast command-line fuzzy finder. It’s versatile for searching files, directories, or even shell history with minimal effort.

you are viewing a single comment's thread
view the rest of the comments
[-] digdilem@lemmy.ml 26 points 3 days ago

yes

The most positive command you'll ever use.

Run it normally and it just spams 'y' from the keyboard. But when one of the commands above is piped to it, then it will respond with 'y'. Not every command has a true -y to automate acceptance of prompts and that's what this is for.

[-] friend_of_satan@lemmy.world 10 points 3 days ago

Also, you can make yes return anything:

yes no
[-] digdilem@lemmy.ml 6 points 3 days ago

I.... did not know that. Thanks, TIL!

[-] MonkeMischief@lemmy.today 3 points 3 days ago

That's really neat but also seems like it could be quite dangerous in a lot of use-cases!

[-] digdilem@lemmy.ml 2 points 3 days ago

Absolutely, but when you do need it, it's brilliant.

[-] alvendam@lemmy.world 2 points 3 days ago

What's the syntax here? Do I go

command && yes

I'm not sure if I've had a use case for it, but it's interesting.

[-] valkyre09@lemmy.world 10 points 3 days ago

Also my favourite way to push a core to 100% CPU

yes > /dev/null
[-] gandalf_der_12te@discuss.tchncs.de 3 points 2 days ago* (last edited 2 days ago)

how is that better than

cat /dev/zero > /dev/null

or

while true; do :; done

[-] valkyre09@lemmy.world 3 points 2 days ago

Who said it was better? It’s just my favourite.

Like my favourite shirt, it’s no better than the others, but it brings me a little joy :)

  • on a serious note though, thank you for sharing your two examples - I didn’t know they existed.
[-] Raptorox@sh.itjust.works 10 points 3 days ago

That will just wait for command to finish properly and then run yes.

What you want to run is yes | command, so it spams the command with confirmations.

[-] MonkderVierte@lemmy.ml 5 points 3 days ago* (last edited 3 days ago)

true delivers error level 0, false error level 1.

yes && echo True || echo False will always be True.

false && echo True || echo False will always be False.

Common usage is for tools that ask for permissions and similiar. yes | cp -i has the same effect as cp --force (-i: prompt before overwrites).

[-] digdilem@lemmy.ml 3 points 3 days ago* (last edited 3 days ago)

Sorry, I should have explained that. it's ~~command | yes~~ yes|command - Eg, yes|apt-get update (Not a great example since apt-get has -y, but sometimes that fails when prompting for new keys to accept)

Edit: I got it backwards, thanks @lengau@midwest.social for the correction.

[-] lengau@midwest.social 9 points 3 days ago

You've got it backwards - you need to pipe the output of yes into the input of the command:

yes | command-that-asks-a-lot-of-questions
[-] digdilem@lemmy.ml 2 points 3 days ago

So I did - thanks for the correction, edited.

[-] markstos@lemmy.world 1 points 3 days ago

For some cases I use “|| true”.

The idiom accepts that the preceding command might fail, and that’s OK.

For example, a script where mkdir creates a directory that might already exist.

[-] kablammy@sh.itjust.works 1 points 1 day ago

mkdir -p will not complain if the dir exists

[-] markstos@lemmy.world 1 points 1 day ago

Right, it was an example of a pattern. In that case, -p could be used.

[-] kablammy@sh.itjust.works 1 points 1 day ago

I figured as much. Just wanted to show another option.

this post was submitted on 03 Jan 2025
373 points (97.9% liked)

Linux

48878 readers
996 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 5 years ago
MODERATORS