this post was submitted on 29 Jan 2026
22 points (95.8% liked)

Linux

61653 readers
655 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 6 years ago
MODERATORS
 

Recently I got really interested in debloating and hardening my operating systems, cause I'm heavily inspired by Unix and "worse is better" philosophy. As I heard bash is heavy and we have much more lightweight and faster alternatives like these mentioned in title. They must be great alternative for scripting and interpreting but is there any reason to use them on my machines as interactive shell? Anyone are using them? Also is it worth to learn them as bash is standard IT industry?

you are viewing a single comment's thread
view the rest of the comments
[–] MimicJar@lemmy.world 3 points 18 hours ago (2 children)

As you've mentioned in other threads, bash is a hard requirement for the OS, so if it's already installed, and the default on most Linux distros, bash is probably the best option.

The dash shell isn't designed to be user interactive. It's a lightweight scripting shell/language.

The ksh shell is an older standard shell. Years ago I worked for a company that ran corporate Unix systems and on those systems only ksh and tcsh were available. Ksh was the default, and as someone only familiar with bash it was a bit different but mostly the same. So there is at least one point for maybe choosing ksh.

However my personal shell preference is zsh. When I write scripts I do so using bash. The two shells are 99% similar on a day to day basis, but I prefer zsh for a user interface. So I use one for day to day and the other for scripting.

Other threads have also mentioned fish, which is also a great choice if you don't know where to start.

Are zsh or fish "heavier" or "bloated", maybe. But remember to consider your attack surface. If your house is on fire it doesn't matter of you fix the leaky faucet in bathroom or the kitchen.

[–] mlody@lemmy.world 3 points 17 hours ago
[–] thingsiplay@lemmy.ml 2 points 17 hours ago (1 children)

However my personal shell preference is zsh. When I write scripts I do so using bash. The two shells are 99% similar on a day to day basis, but I prefer zsh for a user interface. So I use one for day to day and the other for scripting.

I used to do the same, Bash as the default script interpreter and ZSH as my terminal interactive shell. Worked well. I also had Dash as the /usr/bin/sh installed. But once I installed a new OS, I did not want to set it up immediately and wanted to do it later. Then I realized that I do not need to and frankly didn't notice any difference. Besides ZSH was a bit slow here and there with the kind of setup I had. So since then I stayed on Bash only again and don't miss most of the stuff (but ZSH had some nice features).

I wouldn't have even mentioned Fish here, its too different. If you going to learn a scripting language that is this different, then there are even more shells out there. I would stick to Bash (or ZSH for that matter). Especially if its the first shell language you get into.

[–] MimicJar@lemmy.world 3 points 17 hours ago

Yeah, I mentioned fish, or zsh, only because day to day shell and scripting shell can be different.

If you want to script, bash is the way to go. For day to day, any personal preference is fine.