This was fantastic. Actually motivating shell commands you might want to write, and guiding the viewer through the process, including when and why things don’t work is brilliant! Awesome pedagogy, you’ve earned a new sub!
Greetings mr. T. for us who truly enjoy your little educational cli videos, with all the regular apologies (you are busy, you are in love, you hunt bugs, you are saving the world, etc..) we can survive few more videos per annum... no need for any scripting or preps, just hit record and voila. Parfect.
Hey Tom, I didn't know about your YT channel here! I fell in love with Vim and Bash scripting a couple of years back, thanks to your mash-up video with Stök in a coffee shop, after a hacking conference, explaining to him a few of the tricks up in your sleeves. I'm so glad to see you uploading here again, please keep 'em coming! ( also the format of these videos is really well stiched together, no fancy editions, just pure scripting and explanations, which is quite refreshing, thanks for this! ) Regards from Brazil.
I've never had to use xargs but I know it's very common, so I wondered what I was doing different. I use Nuhsell! It lets me do the following: open hostnames | lines | each { |url| host -t A $url } The 'lines' command splits text input into a list at each newline. Then I pass the 'each' command a Nushell closure where I run the 'host' command with the value form each line. And if I change the 'each' command to 'par-each', it will run each in parallel, in as many threads as I have available. Nice to know what xargs does finally, but it also makes me glad I use Nushell.
Excellent stuff, Tom. Saw your 'find' command video, and have been waiting for your next upload since! Really enjoying this style of video. A few more of these, and you'll have one of the best, most accessible video series on getting the most out of the command line!
If you’re using xargs with sh -c, then might as well insert the argument as a positional parameter of sh which that inner shell expands as an actual variable ($1) rather than keep using -I{}, whose behavior is finicky in practice. That does require you to surround the argument to -c in single quotes, and to provide a placeholder parameter that will become $0 (I use "sh-c") since that is supposed to stand for the script name, but I get fewer surprises in the end.
xargs is a great tool. One of the many reasons I run WSL on my Windows machine. I tend to use XXXX with the -I argument because it shouldn't conflict with bash syntax, flags or filenames.
it always drove me crazy that the default for find and xargs wasn't to use as the separator character. This is what most other commands deal with but somehow these are weird and use spaces by default.
how can i learn all these damn unix/linux command line tools? not a joke for real, is there like a resource to learn about all of this? is this what a sysadmin does? i feel like there's so much power to be had with just the basic commnad line tools that are right there in every distro but i know nothing of them.
Awesome video as always , if you can continue this series and go over some other useful commands from Bug hunter/Red Teaming perspective like: host nslookup [also a bit of DNS explanation lol] grep [regex matching] awk tr jq [complex operations like replacing strings in json] gron nmap
I've never needed to use xargs, for loops have always been good enough for me, e.g for file in $(find . -type f); do tail $file; done or for file in $(cat listoffiles.txt); do tail $file; done Is there anything about xargs that makes it more useful than a standard for loop?
Almost everything I've learnt has been as a result of having a problem to solve, searching for options to solve it, and reading further into the tools I found along the way :)
You eerily sound like youtube.com/@NoBoilerplate Must be a glitch in the matrix. Great to see more videos from you, ❤ I especially enjoy your VIM tutorial with @STOk. I Always go back to it and discover something new.
This is probably the best explanation of all the different ways to use xargs.
every day I realize I know nothing.. , thanks
go marry someone
@@memories1778 Irrelevant to the topic
This is the opposite of the Dunning-Kruger effect. I think I know how you feel.
@@nickmills8476 enlighten me.
@lls8476 or maybe he's passed the peak
I like how you show the mistakes. It makes you seem much more human and it helps learn WHY something happens when it does. Great video.
This was fantastic. Actually motivating shell commands you might want to write, and guiding the viewer through the process, including when and why things don’t work is brilliant! Awesome pedagogy, you’ve earned a new sub!
Greetings mr. T. for us who truly enjoy your little educational cli videos, with all the regular apologies (you are busy, you are in love, you hunt bugs, you are saving the world, etc..) we can survive few more videos per annum... no need for any scripting or preps, just hit record and voila. Parfect.
The quality of your content is so good. Its way better than everything else out there. Thank you, man. Seriously. You're awesome!
Hey Tom, I didn't know about your YT channel here! I fell in love with Vim and Bash scripting a couple of years back, thanks to your mash-up video with Stök in a coffee shop, after a hacking conference, explaining to him a few of the tricks up in your sleeves. I'm so glad to see you uploading here again, please keep 'em coming! ( also the format of these videos is really well stiched together, no fancy editions, just pure scripting and explanations, which is quite refreshing, thanks for this! ) Regards from Brazil.
I've never had to use xargs but I know it's very common, so I wondered what I was doing different. I use Nuhsell! It lets me do the following:
open hostnames | lines | each { |url| host -t A $url }
The 'lines' command splits text input into a list at each newline. Then I pass the 'each' command a Nushell closure where I run the 'host' command with the value form each line. And if I change the 'each' command to 'par-each', it will run each in parallel, in as many threads as I have available. Nice to know what xargs does finally, but it also makes me glad I use Nushell.
Was wondering the same thing since i was using fish 🙃
Great Demo , you make things easy to understand | Thank you so much TomNomNom... 👑
I knew there had to be a way to do that. Thank you. I've been searching for this command for months
Excellent stuff, Tom. Saw your 'find' command video, and have been waiting for your next upload since! Really enjoying this style of video.
A few more of these, and you'll have one of the best, most accessible video series on getting the most out of the command line!
This video was incredibly instructive, thanks.
Great stuff, consise, and with enough knowledge to go on further but short enough without any guff. Top quality!
This video is so useful! Concise and to the point while explaining the command with examples
Best short daily usage way of demo
If you’re using xargs with sh -c, then might as well insert the argument as a positional parameter of sh which that inner shell expands as an actual variable ($1) rather than keep using -I{}, whose behavior is finicky in practice. That does require you to surround the argument to -c in single quotes, and to provide a placeholder parameter that will become $0 (I use "sh-c") since that is supposed to stand for the script name, but I get fewer surprises in the end.
I was waiting! Keep it up Tom🔥
cant wait for the followup to this .. would love to see this as a series and cover curl, ip, netstat, iostat, sar etc etc
Thanks for this awesome tutorial. I was actually having some hard time understanding xargs from its manual. I am glad i was suggested this video.
Thanks! Useful for me. I didn't knew about the -P flag. And this advanced sh -c within the xargs makes a lot of sense as well. Very powerful indeed.
What a PEDAGOGY and it's a CypherPunk and Telecom Architect !
you've got a new SUB :)
I love you, this is so logical and sequent
Love seeing everyone’s usecases with these commands, I’ve always used exec, but that -I flag with xargs is amazing! Nice find by me!
xargs is a great tool. One of the many reasons I run WSL on my Windows machine. I tend to use XXXX with the -I argument because it shouldn't conflict with bash syntax, flags or filenames.
Brilliant. Clearly explained and accessible. Thanks!
Really well done video, simple and great pacing. Please make more!
Please I'm looking forward to your next video of this series 💫
Thank you very much for teaching Xargs this easily man!!
great videos. advanced stuff delivered water-clear! subscribed!
Great video as usual, I can't wait for whats next.
Excellent explanation!! I was trying to learn exactly about the Xargs command a few days ago :))
It's clean and very interesting!
I want more of these !
Wow never knew about the parallelism and bash flag for xargs, thanks tom!
Very well presented, thanks!
Nice lesson, Mr. Tom.
Hey @tomnomnom
These are awesome. Whats your goal with this video series?
Hopefully, the entirety of the core-utils!
Do Fuser next!
it always drove me crazy that the default for find and xargs wasn't to use
as the separator character. This is what most other commands deal with but somehow these are weird and use spaces by default.
Ive been uing your tools then saw you did tuff with naham sec and i had to check your channel out, im glad i did
Well explained Thanks Tom!
how can i learn all these damn unix/linux command line tools? not a joke for real, is there like a resource to learn about all of this? is this what a sysadmin does? i feel like there's so much power to be had with just the basic commnad line tools that are right there in every distro but i know nothing of them.
Very educative and clear!
Great Tom more videos like that 😊
Thank you for sharing your knowledge ,this is great stuff :)
Awesome 🎉. Thank you! Very helpful
Very well detailed video. Subscribed ❤
I hope in more videos about 'awk' command 😊
Awesome video as always , if you can continue this series and go over some other useful commands from Bug hunter/Red Teaming perspective like:
host
nslookup [also a bit of DNS explanation lol]
grep [regex matching]
awk
tr
jq [complex operations like replacing strings in json]
gron
nmap
Excellent video
Simply Awesome 👌😊
we want moreeee, lets goooooo
For the -0 flag alone this video is dope, because I had always wondered about it and just end up doing a bash for loop instead. xD
Great content
I've never needed to use xargs, for loops have always been good enough for me, e.g
for file in $(find . -type f); do tail $file; done
or
for file in $(cat listoffiles.txt); do tail $file; done
Is there anything about xargs that makes it more useful than a standard for loop?
great video
fantastic! keep it up. subbed!
That was a great video
What if we give it -P100 ?
powershell piping beating the snot out of ye olde kludged xargs invokations
Good one
please make a video about jdsl
Can you make a video topic bug hunting recon please ❤
Awesome ❤ Tom
Please make more js video❤
Beautiful
thanks sir
How did you learn all of this? 👍
Almost everything I've learnt has been as a result of having a problem to solve, searching for options to solve it, and reading further into the tools I found along the way :)
Why aren't you using zsh?
I've been using bash for about 25 years and I found it difficult to switch!
audio isn't loud enough
I'll try fix that for next time, thanks :)
@@TomNomNomDotCom thank you mate
🎉🎉🎉
❤
nice...thankfully no one except windows admins would use spaces in filenames...phew !!
You eerily sound like youtube.com/@NoBoilerplate
Must be a glitch in the matrix.
Great to see more videos from you, ❤
I especially enjoy your VIM tutorial with @STOk. I Always go back to it and discover something new.