this post was submitted on 28 Sep 2023
285 points (97.0% liked)

Linux

47376 readers
1043 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
285
modern unix (github.com)
submitted 1 year ago* (last edited 1 year ago) by folak@lemmy.world to c/linux@lemmy.ml
 

foss

top 35 comments
sorted by: hot top controversial new old
[–] polite_cat@lemmy.world 58 points 11 months ago

fyi, exa is unmaintained, although there is a maintained fork called eza (repo)

[–] d3Xt3r@lemmy.nz 32 points 1 year ago
[–] starman@programming.dev 25 points 11 months ago* (last edited 11 months ago) (2 children)

Most of that stuff is MIT/Apache licensed unlike programs from GNU. Interesting.

[–] rbos@lemmy.ca 13 points 11 months ago (1 children)

It would be cool if the GNU project sponsored a new updated 'standard' set of tools though.

[–] dsemy@lemm.ee 11 points 11 months ago (1 children)

Why would they? The “old” tools work very well, are well known and are likely used in millions of scripts.

The new tools will have more bugs, unfamiliar options and unexpected behavior (due to them being new), and the improvements current “modern” alternatives bring to the table are often very minor.

[–] rbos@lemmy.ca 1 points 11 months ago

I'd expect they'd 'adopt' the tools and redistribute them under the GPL, if they did.

[–] Schmeckinger@feddit.de 0 points 11 months ago

Probably because that's basically the default license rust projects use and a lot of this stuff is made in rust.

[–] lemmesay@discuss.tchncs.de 25 points 11 months ago (1 children)

just 2 in the list were GPL licensed :/

[–] Linus_Torvalds@lemmy.world 8 points 11 months ago (1 children)

I know that MIT is no Copyleft license, but is that really a problem?

[–] lemmesay@discuss.tchncs.de 14 points 11 months ago (1 children)

not actually. I also use many programs that are MIT or BSD licensed.

it's just that replacing working GPL'd programs with MIT ones might be more appealing to corporations than someone like me who cares as much about ideology as the programmes themselves.

I don't wish to see services being sucked for their value by corporates who give little to nothing in return. history is replete with such instances.

[–] Linus_Torvalds@lemmy.world 4 points 11 months ago

I do understand your scepticism towards companies; the reason for my question was that I got the impression from your first comment that you don't like/install MIT code and was just confused as to why someone might dislike that.

[–] fartsparkles@sh.itjust.works 25 points 1 year ago (3 children)

Here’s a slightly better list. Call out to nushell and fish, my two modern shell favourites.

[–] lupec@lemm.ee 7 points 11 months ago (2 children)

I just learned about nushell a few days ago and it blew me away. I've always wanted a shell that made manipulating data easier, and with my programming background the functional style just clicked instantly. Been daily driving it for a couple weeks, definitely recommend folks give it a go.

[–] starman@programming.dev 5 points 11 months ago* (last edited 11 months ago) (2 children)

I discovered nushell a week ago and it's my primary shell now too. I miss some completions tho

[–] priapus@sh.itjust.works 3 points 11 months ago (1 children)

You can use carapace to get many of them

[–] starman@programming.dev 2 points 11 months ago

That's really nice, thanks. Can't wait to set it up on my machine.

[–] lupec@lemm.ee 1 points 11 months ago

Yeah, same. For now I just drop into old reliable zsh when I need to l but I love nu so much I might go ahead and look into coming up with the stuff I miss myself.

[–] fartsparkles@sh.itjust.works 5 points 11 months ago (1 children)

It’s incredible, isn’t it? I’m already working on plugins for a variety of tasks so I can fire things off for malware analysis, push tables to data stores, and more. It’s such an obvious evolution of POSIX, I’m surprised it’s not already a standard across all shells.

[–] lupec@lemm.ee 5 points 11 months ago

Yup, it legit changed how I think about interacting with a shell. I've always been kinda terrible at actually learning stuff like awk, sed and company on the long term without needing half a dozen Google searches before they mostly do what I want so actually being able to perform complex operations on whatever input on the fly feels incredible!
It helps so much with API development as well, I've been using it on a side project and having a built-in http client plus auto JSON parsing feels ergonomic in ways that just make me giddy lol.

[–] theshatterstone54@feddit.uk 2 points 11 months ago (1 children)

Sometimes I do some one liners when in a shell, and neither of these are POSIX compliant. That's why I just stick to my customised zsh that basically does the same as fish.

[–] fartsparkles@sh.itjust.works 2 points 11 months ago (1 children)

You’re absolutely right. Fish isn’t really for scripting but is great for purely interactive use.

Nushell however offers a totally different approach to “scripting” and I can achieve far more in a nushell one-liner than I ever could in a POSIX shell as it’s far more comparable to Python Pandas than a shell.

For instance I can plot a line chart of file modifications over time directly in the shell with a single line of nushell. It’s mind blowing.

[–] nickwitha_k@lemmy.sdf.org 3 points 11 months ago (1 children)

That's great. I'm glad you like it and it sounds pretty awesome. It adds more variety to the command line, which is a beautiful thing. However, I do too much with remote systems that I don't "own", however, so, POSIX, for me, is a hard requirement - adding another domain specific language that I can only sometimes use is not worth the cognitive load for me.

[–] fartsparkles@sh.itjust.works 3 points 11 months ago

That’s totally understandable. And I’ll admit, I’m still writing a fair few #!/bin/sh headed scripts as I to work on too POSIX systems. I think we’re a long long way off of the POSIX standard being superseded by something else.

[–] Rustmilian@lemmy.world 0 points 11 months ago (1 children)

Fish is overrated imo.
Nushell is better but not quite what I'm looking for.

[–] Rustmilian@lemmy.world 1 points 4 months ago

Fish is no longer overrated.

[–] Rustmilian@lemmy.world 22 points 11 months ago

eza because exa is unmaintained.

[–] simonced@lemmy.one 14 points 11 months ago

Great list, but a couple could be added:

  • btop (process/resouces monitor, highly customizable)
  • lnav (log navigator, grouping folder of files in one display, search/filter etc...)
[–] leap123@lemmy.world 12 points 11 months ago (2 children)

How come half of the commands in this readme were written in Rust

[–] xcjs@programming.dev 12 points 11 months ago

Rust specializes in making parallel processing secure and approachable, so it's going get used in problems where parallel processing and efficiency matter.

Rust is also now allowed to be used in the Linux kernel for the same reasons, which is exciting!

[–] lord_ryvan@ttrpg.network 5 points 11 months ago

Cause it's awesome?

[–] bundes_sheep@lemmy.one 10 points 11 months ago (1 children)

Are these built to handle pipes? If I bat a file and redirect it to a file, does it work as expected or does it add in the escape sequences for the colors, for example?

[–] PhictionalOne@feddit.de 8 points 11 months ago* (last edited 11 months ago)

bat foo | bar behaves like cat foo | bar same with > and such.

[–] george@lemmy.org.il 8 points 1 year ago

Oh broot is really cool. Better than exa --tree, because it has that sweet "xxx hidden" thing. This command makes it pretty close to tree, as it prints it out rather than present you with an interactive screen, which I'm not interested at:

broot --sort-by-type-dirs-first --cmd :print_tree
[–] MusicPiano@lemmy.world 6 points 11 months ago

This is a really good list. I already use the majority of them. Thanks!

[–] dorumon@lemm.ee 5 points 11 months ago

These programs are actually really cool and I un-ironically want to use them.