16 Linux Commands in Rust

  Рет қаралды 8,724

DJ Ware

DJ Ware

Күн бұрын

Пікірлер: 90
@whtiequillBj
@whtiequillBj 2 жыл бұрын
@17:03 an interesting factoid is the Japanese word Tokei (TO-KA-ee) means watch, clock or timepiece.
@tucuxir
@tucuxir 2 жыл бұрын
These rust commands are typically smart enough to find out if the output goes to a pipe and leave the decoration away in that case.
@anon_y_mousse
@anon_y_mousse 2 жыл бұрын
I'd prefer a switch. For instance, less can interpret escape sequences correctly if you use -r or -R, and a lot of times when you pipe to it all the color information gets squelched, and ls can be forced to always output color, as can other standard commands.
@terrydaktyllus1320
@terrydaktyllus1320 2 жыл бұрын
I prefer me to be smart, not my software. I will put commands together how I want to, I don't need my hand held constantly because of an unwillingness to learn my computing environment properly.
@scheimong
@scheimong 2 жыл бұрын
@@anon_y_mousse don't worry, those "smart" ones usually have manual switches too.
@caret4812
@caret4812 2 жыл бұрын
that's not smart at all
@TheSolidSnakeOil
@TheSolidSnakeOil 2 жыл бұрын
I'v been use exa and bat for a while and now I have few more to try out. fd looks most interesting as find commands can be annoyingly long.
@albertogonzalez5114
@albertogonzalez5114 2 жыл бұрын
I did not know about them, thanks so much!
@CyberGizmo
@CyberGizmo 2 жыл бұрын
Welcome Albert
@KuleRucket
@KuleRucket 2 жыл бұрын
Thanks, I'll be trying some of these out for a while. Bit of a sweeping generalisation there at the end though. I doubt that there are that many Linux users that don't use the command line. It's still kind of essential for many tasks you need to do.
@paulwratt
@paulwratt 2 жыл бұрын
if you have seen the YT review of the latest "nushell", then alot of the output from those rust commands look (understandably) familiar. By the way, I am pretty sure that "tokei" is pronounced "tokay" - if indeed it is Japanese, then we know the 660cc class car is called "kei" car and that sounds like "kay" (to english-speaking ears).
@davidh.4944
@davidh.4944 2 жыл бұрын
It's a different 'kei', however. Tokei (時計) is "time measurer", i.e. "clock". Kei-jidousha (軽自動車) is "light automobile" (self-moving vehicle). Frankly, an application named tokei should have something to do specifically with measuring time, not counting lines of code. An almost-homonym "toukei" (統計), "statistics" would have been more appropriate, among other choices.
@crackpippi
@crackpippi Жыл бұрын
fd literally saved me hours of time when I had to migrate uid for a couple of users that have files on NFS shares dating back to the 90's.
@phenanrithe
@phenanrithe 2 жыл бұрын
*tldr* is a good idea and the Rust implementation is great, but sadly the database owners insist on only showing the long format of parameters, which ultimately makes the tool useless, so I'm often sticking to man.
@brianhayes1105
@brianhayes1105 2 жыл бұрын
Using tldr to get a good overview, then using man to get the entire picture is my preferred usage of the tools. That and the occasional cheat command helps out as well. Ultimately though, a well written man page is best.
@phenanrithe
@phenanrithe 2 жыл бұрын
@@brianhayes1105 Agreed, tldr works in many cases, and there's indeed no substitute to man for a deeper understanding. But take commands like pacman with a more obscure syntax, you don't really want to type those long names even though they are clearer than the abbreviations. When you see instructions with those commands and want to see what they do, tldr is useless, you have to go through all the man pages (and there are many!) just to remember what this particular abbreviation does. That's where tldr is supposed to help, and that's where it fails.
@billeterk
@billeterk 2 жыл бұрын
Or to stay with the theme, batman
@billeterk
@billeterk 2 жыл бұрын
@@brianhayes1105 Or info(1)!
@guss77
@guss77 2 жыл бұрын
The only one I was really impressed by was Atuin - I'm going to try install that. I'm also highly amused by the fact that dust uses an up growing tree display (it makes sense, because trees grow upwards, not downwards!!)
@matthewstott3493
@matthewstott3493 2 жыл бұрын
exa can group directories first and display the octal permissions which is really handy. It can also show icons. exa -l -F --color=auto --icons --group-directories-first --octal-permissions
@DavidLindes
@DavidLindes 2 жыл бұрын
Interesting list. Some seem quite compelling to me (though others seem fine, but uninteresting to my needs). Where do you get all these? (I've not gone much down the rust path, is there a standard installer for rust stuff, or... getting each one from source, or... ? I'm not seeing them in `apt-cache search` results on Ubuntu... I'm sure I could find them, but is there an easy way that I'm overlooking?) [ *EDIT: found it! cargo -- apt install cargo, cargo install these things from there.* ] Also, on the grep replacement front (15:30), you may be interested in checking out ug / ugrep ... it's interesting, and has been proving useful! Worth a look, if you haven't already.
@DavidLindes
@DavidLindes 2 жыл бұрын
P.S. Huh. As a random amusing(?) side note, difft (4:24) decided that some of my files (including the one I arbitrarily decided to try it out on) were in Traditional Chinese. Oof! They were not. They did have some latin1 8-bit characters in them, though. Converting the file to utf-8 encoding fixed the problem. :)
@scheimong
@scheimong 2 жыл бұрын
There's also `sd`, which is a simplified `sed`. It's good for 99% of cases where you would reach for `sed`, and in return for the fringe features you give up it's now much easier to use.
@Ancipital_
@Ancipital_ 2 жыл бұрын
You can pronounce tokei like okay but with a 't' in front of it. It is how you say clock in Japanese Good video, going to try some of these out. Thanks! 👍
@CyberGizmo
@CyberGizmo 2 жыл бұрын
ahhh thanks
@orthodoxNPC
@orthodoxNPC 2 жыл бұрын
thanks DJ!
@efajunk
@efajunk 2 жыл бұрын
12/10 likes. Thank you! Especially for bat ))
@CyberGizmo
@CyberGizmo 2 жыл бұрын
welcome ejajunk
@EpKjelltzer
@EpKjelltzer 2 жыл бұрын
I would love to hear your thoughts on nushell! It's a new shell intended to bring all the power and convenience of the shell into an updated, more consistent and discoverable/intuitive form. I particularly love it's first-class support of structured data and emphasis on legibility.
@CyberGizmo
@CyberGizmo 2 жыл бұрын
Will have to check it out, have heard of it but never tried using it
@user-pc4i8ege55
@user-pc4i8ege55 2 жыл бұрын
On the face of it, what really differs these utilities from standard tools is wide usage of color and pseudographics. Obviously, they were not made with 25x80 terminals in mind. I can only hope that these utilities are smart enough to disable all these bells and whistles when they are not appropriate, for example, when stdout is redirected. It's not necessarily bad, but it tells a thing or two about some shift in the minds of modern open source community. I think that the guys are moving in a wrong direction, but who am I to tell what's right or wrong :)
@StarOnCheek
@StarOnCheek 2 жыл бұрын
I think it would be nice if everyone agreed to use json-style output for pipes. Rustc can do that and it is pretty useful in cases when you need to post-process the output
@CyberGizmo
@CyberGizmo 2 жыл бұрын
json should be fine as long as there is a way to pick off the fields and I noticed many of the commands had json output, but csv yuk...lol :)
@joaomaria2398
@joaomaria2398 2 жыл бұрын
I don't agree. It is always better to have no enforced output format, so everyone can do as they want to.
@robbybobbyhobbies
@robbybobbyhobbies 2 жыл бұрын
Only if there are other options. For many commands even the limited structure of JSON is too much. I just want the text, nothing but the text. But then I'm of an age where Perl seemed like a really good idea!
@TheSulross
@TheSulross 2 жыл бұрын
would need a JSON aware awk as it makes it ultra simple to grab specific values from a text line
@EpKjelltzer
@EpKjelltzer 2 жыл бұрын
If you're after structured output, you should check out nushell! It's a shell that puts a major emphasis on structured data - similar in concept to powershell, except unix-y and without the OO and CLR cruft. It handles raw text / binary just fine, and even better has some ergonomic ways to pull that raw text output into structured data.
@bobby9568
@bobby9568 2 жыл бұрын
I dont understand, does ubuntu have these rust commands or do I have to install atui?
@CyberGizmo
@CyberGizmo 2 жыл бұрын
you may need to install from the github, all of my ubuntu boxes are arm and of course none of the rust commands are available for them, yet.
@bobby9568
@bobby9568 2 жыл бұрын
@@CyberGizmo cool thanks! 👍
@brian-iv4nx
@brian-iv4nx 2 жыл бұрын
Speaking of Rust, what are your thoughts on Hyperbola's decision to abandon Linux and work on an OpenBSD derivative? (Re: HyperbolaBSD) I like some of their ideas in principle but worry that they're underestimating the massive amount of work involved
@guilherme5094
@guilherme5094 2 жыл бұрын
Really nice👍
@adammontgomery7980
@adammontgomery7980 2 жыл бұрын
I've used ripgrep, fzf, and fd which I like better. I know these tools aren't huge but I'd rather see a distro where the old tools are replaced with these instead of having both sets installed.
@mosth8ed
@mosth8ed 2 жыл бұрын
I use these 3 all throughout each day for different things, as well as bat. Such great tools.
@awilliamwest
@awilliamwest 2 жыл бұрын
@@parad0xheart I concur, although if OP's concern is disk usage, perhaps a distro which replaces the original commands with busybox (to save disk space) would be reasonable. But this is mostly silly; who cares about a few megabytes of disk space? And busybox versions tend to be more limited in functionality (intended for limited boot environments / installers / recovery environments, where perhaps disk space is of some concern.) (The only way replacement of each utility with a Rust version could reasonably be done would be for these tools to identically mimic GNU behavior when run under the original filenames, but that seems very unlikely and not worth the programming effort.) Had the original goal been to duplicate GNU utilities' behavior and add functionality, then the situation might be different. I will agree that RipGrep can often run with the same command arguments as grep, although certainly not always. But I just noticed atuin is 17 MB. That is rather large. And difft is 51MB (after a cargo install)! (Not including the libraries, if recently compiled code is retained... 1.6GB in my ~/cargo/registry) So someone concerned about disk space would not want to install all these randomly if you aren't going to use them.
@heroe1486
@heroe1486 2 жыл бұрын
@@parad0xheart Exactly
@MichelPASTOR
@MichelPASTOR 2 жыл бұрын
Broot is also a very cool Rust command you haven't covered
@phenanrithe
@phenanrithe 2 жыл бұрын
So the Linux kernel 6.1 is finally using Unreal scripts too, about time! 😆
@anon_y_mousse
@anon_y_mousse 2 жыл бұрын
I've never had a problem with the old commands. I use df to summarize my disks and part of that includes piping to awk to select the ones I want to see. It was slightly too complex for an alias, so I wrote a bash function and added it to my ~/.bash_aliases file where I've got a lot of shorthand variants for doing things. I list my files in chronological order, so I've got a function I named lrt to do the obvious. Since I force ls to use decorators I can parse on that to get the list of directories. Which really only works because I use a regular naming scheme for my files and folders. If something I download has a space, I use rename 'y/ /_/'. However, not everyone is even that capable, and for such people as don't want to learn the old ways and bend them to their will, all of these Rust-y versions give them the fancy colored output and ease of use providing features that they'd have to spend at least 20 minutes reimplementing. So for such people it makes sense to have easy mode apps that they don't have to configure. I'd still rather configure, though.
@EpKjelltzer
@EpKjelltzer 2 жыл бұрын
I don't think anyone is in favor of preventing configuration - otherwise we'd be running windows! But I don't see why having to invest your own time and effort into getting nice ouptut is more desirable than having nice defaults - it's not as if the rust commands are any less configurable (except in the sense that they are not all 1.0 yet and may be lacking some features in the short term).
@terrydaktyllus1320
@terrydaktyllus1320 2 жыл бұрын
I am absolutely 100% in agreement with you. Ultimately, what other people do with Rust and "pretty colours" is entirely up to them as long as I get to stick to my "engineer's way". One important point that people never consider when they "rave" about these "fashion accessory" applications - when you're someone like me who runs Linux both at home and works on Linux servers at his job, then my having learned "traditional" tools like awk, sed, vim and bash means "learn one, use everywhere" because those applications appear on every system that I work on. It's a "lowest common denominator" philosophy. Why would I learn, say, zsh or fish shells when not one of my work systems has them installed, but every one of them has bash? And if I am working on a customer's systems, I don't have permission to install "any old package" on their servers. And these new tools are not going to be appearing in production environments as "standard" applications until they demonstrated some longevity, stability and security.
@billeterk
@billeterk 2 жыл бұрын
du -hsc | sort -h is my quick summary
@billeterk
@billeterk 2 жыл бұрын
@@terrydaktyllus1320 i would have thought ksh … bash is only one year older than zsh and korn shell felt a little less … new-fangled :-)
@terrydaktyllus1320
@terrydaktyllus1320 2 жыл бұрын
@@billeterk It's not about age, it's about level of adoption. Bash wins at that.
@dogzdontzbarkz6540
@dogzdontzbarkz6540 2 жыл бұрын
I use bottom and exa instead of their counterparts nowadays
@CyberGizmo
@CyberGizmo 2 жыл бұрын
i am starting to use them too, so much nicer than the old methods
@keyboard_g
@keyboard_g 2 жыл бұрын
Btop is the most feature rich top-like that I’ve found.
@dogzdontzbarkz6540
@dogzdontzbarkz6540 2 жыл бұрын
@@keyboard_g thank you, I should take a look at it
@dogzdontzbarkz6540
@dogzdontzbarkz6540 2 жыл бұрын
@@CyberGizmo the newer is not necessarily the better, but in this case I should say it's great
@joaomaria2398
@joaomaria2398 2 жыл бұрын
Interesting! But the commands names... What do people have in mind nowadays? Names shouldn't be funny or cool, but easy to remember. Old command names are usually acronyms for what they do.
@CyberGizmo
@CyberGizmo 2 жыл бұрын
yep or who was involved in writing them (i.e. awk)
@scheimong
@scheimong 2 жыл бұрын
They're trying to keep it short while not conflicting with anything existing, which I can tell you as a packager, is not easy.
@trueriver1950
@trueriver1950 2 жыл бұрын
The diff command is far from useless: it's the engine that runs almost all patching
@CyberGizmo
@CyberGizmo 2 жыл бұрын
yep, but machine code reading machine output is one thing, trying to figure out what changed in a document or program with human eyes is quite another thing for me at least.
@RafaCoringaProducoes
@RafaCoringaProducoes 2 жыл бұрын
i dont have a single idea of what soccery are you commanding in tty, but came here to stimulate the yt algorithm and laught about the female cyberpunk wallpaper waifu lol
@CyberGizmo
@CyberGizmo 2 жыл бұрын
Thanks for the comment, and thanks for checking out the channel (and the female cyberpunk image) lol
@DrZingo_
@DrZingo_ 2 жыл бұрын
I am not a fan of Rust. There, I said it.
@gimcrack555
@gimcrack555 2 жыл бұрын
Love Rust and Go. The best new language that intrigues me.
@scheimong
@scheimong 2 жыл бұрын
That's okay, Rust doesn't need everyone to like it
@terrydaktyllus1320
@terrydaktyllus1320 2 жыл бұрын
Not interested. I think like an engineer in "lowest common denominator" terms, given that I run Linux exclusively at home and have also worked on Red Hat (Enterprise) Linux servers for 20 years now. "Traditional" utilities like bash, sed, awk and vim appear on every single system that I work on which means that I can learn one tool for each job and use everywhere - I am not interested in wasting time learning "fashion accessories" like fish, zsh, splish, splash, splosh or whatever other shell is fashionable this week when I can just write scripts in bash and use everywhere. If these tools become "all encompassing" then I may consider using them - but I am old enough to remember how Java was hyped up to be the next big thing in programming many years ago and look how that turned out with its constant security problems. Rust is currently a "fashion accessory" for millennials that want everything easy and don't want to put in the necessary time and effort to learn a "traditional" language like C and C++ properly. I work in cyber-security, I audit software tools all of the time and my job won't be getting any easier just because an application is written in Rust with claims of "no memory allocation and overflow" problems. Bad programmers produce bad code, whatever the language, and many of these millennials need to understand that just installing an IDE on your laptop does not make you a "developer".
@Winnetou17
@Winnetou17 2 жыл бұрын
splish, splash, splosh 🤣 good one!
@emvdl
@emvdl 2 жыл бұрын
thanks DJ 💪 Regarding mount, personally I always use findmnt -real
@CyberGizmo
@CyberGizmo 2 жыл бұрын
welcome emvdl, yeah Im a dinosaur, I still use unix-like commands, but am willing to learn :D
@Ancipital_
@Ancipital_ 2 жыл бұрын
I wonder if I'll ever get used to habitually using these lol Probably not all, but that df variant, already forgot the name 😬 looks very nice.
@CyberGizmo
@CyberGizmo 2 жыл бұрын
@@Ancipital_ Im going to alias the old commands to the new ones
@Ancipital_
@Ancipital_ 2 жыл бұрын
@@CyberGizmo that is a really good idea! Haha you just blew my mind
@terrydaktyllus1320
@terrydaktyllus1320 2 жыл бұрын
You try running findmnt on a customer's Red Hat Enterprise Linux server at 2am and see how far that gets you - mount, on the other hand, will be available to use. That's why "old" commands are better - it's "lowest common denominator", they appear on every single system. Learn sed, awk, bash, vim etc. and you can "learn once but use everywhere".
UNIX and Linux Shells
18:22
DJ Ware
Рет қаралды 9 М.
Your Command Line, Oxidised
10:09
No Boilerplate
Рет қаралды 208 М.
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Writing a CLI App in Rust! - Part 1
17:44
Let's Get Rusty
Рет қаралды 81 М.
I tried learning OpenGL in 7 days - using Rust
8:59
Tantan
Рет қаралды 218 М.
The Story of GNU/Hurd
22:36
DJ Ware
Рет қаралды 35 М.
Linux Command-Line Tips & Tricks: Over 15 Examples!
31:37
Learn Linux TV
Рет қаралды 223 М.
FreeBSD vs Linux: Which ZFS is Faster? 🚀
20:26
DJ Ware
Рет қаралды 7 М.
DuckDB in Python - The Next Pandas Killer?
19:32
NeuralNine
Рет қаралды 37 М.
MirageOS (Unikernels)
17:36
DJ Ware
Рет қаралды 13 М.
Andrew Kelley   Practical Data Oriented Design (DoD)
46:40
ChimiChanga
Рет қаралды 152 М.
18 Commands That Will Change The Way You Use Linux Forever
29:50
Akamai Developer
Рет қаралды 1,3 МЛН
SysVinit vs Systemd
31:19
DJ Ware
Рет қаралды 57 М.