Demystifying "find" and "find -exec" ...Lil' Linux Lesson!

Поділитися
Вставка
  • Опубліковано 24 гру 2024

КОМЕНТАРІ • 610

  • @VeronicaExplains
    @VeronicaExplains  7 місяців тому +64

    Some of you commenters are pointing out, accurately, that `grep` can recursively search files on its own, without `find`. Of course it can! But remember, grepping was just the example I was using to illustrate `-exec`. Your options between `-exec` and `{} +` are practically limitless.
    Also, to those of you about to voice your displeasure with "needing the terminal to find lost files", your assignment is this word problem: "Susie has a VPS running a web server, and her server daemon has crashed due to a malformed configuration file. How can Susie identify and resolve the problem using only GUI tools and no terminal commands?"

  • @robbylock1741
    @robbylock1741 7 місяців тому +165

    I'm a retired UNIX/Linux System Administrator (30+ years) and I find your content refreshing and more to the point very useful! Yeah there are newer and perhaps simpler commands, but knowing the basics is still very important. People would ask me why learn vi when there is nano for example. Because from AIX to (name your Linux distro) etc, you'll always have vi :) Thanks again for your hard work and keep keep doing what you're doing!

    • @illegalsmirf
      @illegalsmirf 7 місяців тому +1

      @@occamraiser Not quite sure how to handle this, but are you aware of the fact vim has more features than nano does? Of course, if you haven't taken the time to learn vim then you won't be aware of that fact and if the pitiful nano is all you need then it's fine. But it is shite for handling text files of any non-trivial degree of length or complexity.

    • @DavidSchmitt
      @DavidSchmitt 7 місяців тому +1

      Ha, I learned vi on AIX 3.2 in '97

    • @saszab
      @saszab 7 місяців тому +1

      mc (Midnight Commander) has been around for 30 years. Why people are still using find, vi, nano and so on? I understand that there are some cases when there's no other choice (for example, to run certain command with all the found files), but they are very rare.

    • @DavidSchmitt
      @DavidSchmitt 7 місяців тому +4

      @saszab mc is great for interactive use but extremely unhelpful for shell programming.

    • @saszab
      @saszab 7 місяців тому +1

      @@DavidSchmitt Sure, but these are vary rare cases. Vast majority of the Linux users never write scripts.

  • @chadcordero1618
    @chadcordero1618 7 місяців тому +127

    In my 30 years as a sysadmin, I've never heard of the +. I've always used the \; when using -exec. Thanks.

    • @Lordie
      @Lordie 7 місяців тому +12

      37 years for me. I can't wait to soup up my automation scripts with + lol

    • @guss77
      @guss77 7 місяців тому +10

      Only 28 years here, and I also just learned about + from Veronica. ✌️

    • @FishKungfu
      @FishKungfu 7 місяців тому +5

      Only 25 years here, and I always used \; too. I'll be trying the + now. Thanks, Veronica!

    • @knucklecorn
      @knucklecorn 7 місяців тому +2

      hah, wait until you hear about -execdir

    • @KeithBoehler
      @KeithBoehler 7 місяців тому +6

      I decided at one point to never skip an intro to a subject for reasons like this. Sometimes you just learn something new and that is awesome!

  • @ducksauz
    @ducksauz 7 місяців тому +32

    Holy Crap! 30+ years in this business and I *just* learned about '+' as an argument to find.
    How much of my life have I wasted to \; ?!
    Thanks Veronica! You're frickin' awesome!

    • @uthamal
      @uthamal 7 місяців тому +1

      Same here, I always tended to use -print0 and pipe it to xargs -0. Thanks Veronica!

  • @greendblink182
    @greendblink182 7 місяців тому +118

    Keeping up with the Commodore would be a reality show I would actually watch

    • @AdamMotlik
      @AdamMotlik 3 місяці тому

      How is the C-64 running these days?

  • @jefflsmith616
    @jefflsmith616 7 місяців тому +21

    This was a real "+" for a topic. I use "find" nearly every day and did not know it has alternate endings \; Thanks.

  • @Andoresu96
    @Andoresu96 7 місяців тому +95

    I like the part where veronica says "its explaining time" and explains all over the place

  • @Richthofen80
    @Richthofen80 7 місяців тому +49

    It's a good day when there's a new video from Veronica!

  • @zantetsu8674
    @zantetsu8674 7 місяців тому +40

    I prefer `find | xargs grep` because it executes grep one time across all the found files instead of executing a separate grep for each file as find -exec would do. find | xargs grep is often an order of magnitude faster when grepping a lot of files.
    EDIT: OK I wrote the above before I finished watching the video! And I see the the '+' form of exec does effectively the same thing. Wow I learned something new after using find daily for about 25 years. Thanks!

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому +16

      The + in my command executes once though.

    • @dingokidneys
      @dingokidneys 7 місяців тому +5

      @@VeronicaExplains I also learned this trick for the first time after using xargs for years. I gotta RTFM a bit more. 😁

    • @Rudxain
      @Rudxain 7 місяців тому +2

      I want to mention GNU `parallel`, which is similar to `xargs` but distributes the load across all logical cores. The only bad thing is that it requires a Perl interpreter (and many other Perl dependencies)

    • @gedeonducloitre-delavarenn8106
      @gedeonducloitre-delavarenn8106 7 місяців тому +5

      the xarg approach is an antipattern: it's broken with filenames containing quotes or newlines. The cure is to use GNU's versions with the -print0 predicate to find, and the -0 (or --null) option to xarg. But this is not portable, and is very awkward. -exec (or even -execdir) with + is the correct approach

    • @billeterk
      @billeterk 7 місяців тому +1

      I believe neither ‘+’ nor xargs necessarily put all the files as arguments to the command but parcel them up with respect to MAXARGS.

  • @petermayes8764
    @petermayes8764 7 місяців тому +23

    Started using Unix on a VAX 11/780 in the '80s before you were born!! But you're never too old to learn something new! Been using "\;" since then, and only just now learned about "+"! Thank you.

  • @UnwalledGarden
    @UnwalledGarden 7 місяців тому +26

    Your no nonsense explanations are great!

  • @Aura_Mancer
    @Aura_Mancer 7 місяців тому +7

    Thank you! Because honestly, even as a somewhat experienced Linux user, learning these types of tools is hard, because you only use it when you needed by looking at the long documentation, then you never touch it again so you forget. Then when you needed it once more, it's the same tedious process. A fun video like this is perfect to master a tool like this!

  • @d00kieC
    @d00kieC 7 місяців тому +24

    As someone who was "cool" in the mid-nineties, I appreciate the spacehog based puns.

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому +4

      I figured there was only a few who would get it.

  • @paul.j.macdonald
    @paul.j.macdonald 7 місяців тому +3

    Been a Linux user for 20+ years. Love your videos and how you extend your knowledge to newer users. Keep it up.

  • @ftolead
    @ftolead 7 місяців тому +12

    The find command can be insanely powerful. I just learned the (+) versus the (;). Thank you for that. I had always used ; and didn't know about the +

  • @flapjack9495
    @flapjack9495 7 місяців тому +2

    I've been a professional Linux sysadmin since the 90s and use the find command all the damn time. This intro was perfect, and it taught me something I didn't know - ending the command with a plus instead of a semicolon. That's super useful in many contexts - thanks for that!

  • @drfrancintosh
    @drfrancintosh 6 місяців тому +1

    Seriously - you're doing "god's" work. All software engineers should know the Unix shell. Linux runs the internet. I can't tell you how many professional programmers I know who cannot use BASH. It baffles me. Keep doing what you do!

  • @skelebro9999
    @skelebro9999 6 місяців тому +1

    I really like the editing of this video!

  • @thekidneystoner6183
    @thekidneystoner6183 7 місяців тому +8

    Linux has been my development platform for work for nearly a decade, but I still watch these videos because of how fun they are. And speaking of keeping up with the Commodore, I haven't written a BASIC program in years, I realised I miss it.

    • @paulsander5433
      @paulsander5433 7 місяців тому +1

      Ah, but would you admit that on a CV? Right after knowing how to configure sendmail, without the help of m4?

  • @dunkinDoge
    @dunkinDoge 7 місяців тому +2

    saw the video couple of days ago, ended up needing this today.
    You saved me a loooooot of time and troubles. you're awesome

  • @WillYouVid
    @WillYouVid 4 місяці тому

    I've been in "THE INDUSTRY" for about 8 years and I notice that:
    - I still desperately need these easy basic tutorials about the most fundamental commands
    - I "FIND" (wink, wink) it very calming when they're explained to me like a patient 8th grade substitute teacher would
    Keep them coming!

  • @remi6801
    @remi6801 7 місяців тому +9

    Are you keeping up with the Commodore?
    Love your channel ! Very informative and entertaining !

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому +5

      Thank you! I have it on good authority that the Commodore is keeping up with us.

  • @mausmalone
    @mausmalone 7 місяців тому +1

    'cause the Commodore is keeping up with you! Loved how simple this was, and especially the explanation of the exec parameter termination and curly braces. I've seen so many "here's how you use find to ..." tutorials and never understood what was going on with those.

  • @Irenethemeanbean
    @Irenethemeanbean 7 місяців тому +2

    Thank you, Veronica! I’m finally taking my first steps into Linux and you’re helping me ‘find’ things along the way!

  • @CurrentlyVince
    @CurrentlyVince 7 місяців тому +3

    I love these videos -- if I ever have any kind of "virtual assistant" on a Linux machine, I want the voice to be Veronica Explains in 8th grade math teacher mode.

  • @zrodger2296
    @zrodger2296 7 місяців тому +2

    I need to try out a few examples tomorrow on my system, it's been awhile since I used this sequence of commands. I always used to use find then xargs then grep. Great timely video!

  • @kev2020-z9s
    @kev2020-z9s 7 місяців тому +2

    Thank you for doing these Lil' Linux Lesson and concentrating on the commands that builtin rather than the newer that are not always in the repo's.

  • @MrG0CE
    @MrG0CE 7 місяців тому +6

    SHE'S A LIGHT IN THE LINUX COMUNITY !
    LIKE THE GUY FROM "THE LINUX EXPERIMENT".

  • @DavidSchmitt
    @DavidSchmitt 7 місяців тому +1

    Been using find for 25 years and still learned something new (+). Thanks!

  • @joseoncrack
    @joseoncrack 7 місяців тому +1

    Useful and to the point. No annoying sponsorship. 👍

  • @xcalibur839
    @xcalibur839 7 місяців тому +10

    Great video, looking forward to the grep episode as well. Are you keeping up with the Commodore?

  • @BentMG
    @BentMG 7 місяців тому +1

    find . -name "keepingupwithyou" -exec echo "Are You Keeping Up With the Commodore?" {} +

  • @ViewtifulSam
    @ViewtifulSam 7 місяців тому

    As to the point @ around 1:11, I'm really glad you made a video about find because the simpler stuff such as fd doesn't require much explanation and the deep uses of find seem really really useful!

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому +1

      As of this moment, fd is unlikely to be in your baseline distro, container, or enterprise approved tools list. Find will be though!

  • @FP_95
    @FP_95 6 місяців тому

    Your teaching skills are GOD tier. Thanks for all your hard work!

  • @user-vr2rq5hl6l
    @user-vr2rq5hl6l 7 місяців тому +1

    Using “find” with -exec is so powerful! I’ve been using it since I first discovered it in a Unix manual in 1985. Whew!

  • @andrewlankford9634
    @andrewlankford9634 7 місяців тому +2

    Never knew Gilda Radner was so into Linux. And still alive for that matter.

  • @kevinrineer5356
    @kevinrineer5356 7 місяців тому +3

    thanks for the different between the + and \; !
    I know I had read that at one point, but forgot the difference a long while ago.

  • @dewildtvanreenen4358
    @dewildtvanreenen4358 6 місяців тому

    This was quite serendipitous two days after watching your video I needed to delete a bunch of svg’s and I would not have thought of find if not for your video

  • @zach9799
    @zach9799 7 місяців тому +1

    I love your videos. So information-dense! Great point about using fundamental built-in commands on systems that you can't install unnecessary packages on.

  • @s.i.n4985
    @s.i.n4985 6 місяців тому

    Wow, i actually think this is pretty cool that you are keep going through years! there is not so many youtubers that discuss linux and this nerd stuff, i believe in you!🥰😍

  • @guilherme1556
    @guilherme1556 7 місяців тому

    Awesome video Veronica, I loved this type of video with a specific linux topic!

    • @VeronicaExplains
      @VeronicaExplains  6 місяців тому

      Thank you for the support! More videos like this are on the way!

  • @ouilogique
    @ouilogique 7 місяців тому

    👍 for the “+” tip.
    If you need absolute paths use "`pwd`" instead of .
    And if you want one line per result use “find” a second time instead of “echo”
    find "`pwd`" -type f -exec find {} +

  • @jrpsims
    @jrpsims 7 місяців тому

    Nice video, and I’m happy to see people still using find.
    Be careful with quotes! The double quotes you used around *.txt will still allow the shell to expand the wildcard instead of passing it to find. You need to use single quotes, or put \ in front of the *.
    Your example passed into find a list of filenames, not the pattern *.txt

  • @PaulHeffner
    @PaulHeffner 7 місяців тому

    I've been using 'find' since the early '80s but I'm too aware how even the earliest commands "evolve" over time so I had a look. This is a nice overview of the basic command (like others, I didn't know about the '+' delimiter, that was worth the watch by itself. One explanation that would help is how the predicates of find act as a left-to-right execution queue, meaning you can list the conditions and each will be tested and if it succeeds, find will move on to the next test. This allows really useful sets of tests where you can do things like "files owned by fred larger than 1gb whose name begins with 'p'. A really nice video, thanks! (Keeping up with the Commodore)

  • @octopusonfire100
    @octopusonfire100 7 місяців тому +4

    The moment I learnt how to use find, I felt like I had unlocked a superpower.

  • @CassyMorlock
    @CassyMorlock 7 місяців тому +2

    I feel like we should mention that you shouldn't try to get to fancy with -exec; It can often lead to unwanted results. ie don't use this to rename or manipulate files on your system, but this kind of thing is fine. Also if you have not covered xargs its one of my favs.

    • @eDoc2020
      @eDoc2020 7 місяців тому

      Whenever I do potentially dangerous actions with scripting I always do a "dry run" with echo before the actual command name.

  • @eowmob
    @eowmob 7 місяців тому

    With 30+ years Unix experience I have to admit I never heard of + too. While quick, keep in mind there are limits for the size of a command line in many systems. Also, if you want to use the return value of -exec, + might not be handy. In situation like the one in in the video, I often use "grep * */* */*/* ... " as there are typically not more than 4 or 5 levels of directories. This does not need find, only the shell, that is one process less. If I get an error like "*/*/*/*/* not found" I know I added enough levels. I use this *ALL* the time. Also, I use fgrep when just looking for strings..
    Still, great video and shows the young people the incredible power and ingenious design of the Unix OS.

    • @majorgnu
      @majorgnu 7 місяців тому

      "that is one process less"
      Piece of advice: drop this mentality.
      The drive to make pointless optimizations is toxic. It's a waste of your time and mental faculties.
      It's good to be aware of such things, but your time and efforts are better put to use on things that actually matter.
      I say this because I tend to fall for the allure of pointless optimizations myself.

    • @eowmob
      @eowmob 7 місяців тому

      @@majorgnu Yes, you are totally right. Don't worry, I'm not doing this, it was only kind of a joke/funny remark - like it is an additional advantage.
      For me, rather than having to fiddle with find, pipe, braces.. I just add * */* */*/* (that's typically enough)... its way simpler. And I mostly use fgrep since my searches often contain braces and stuff. I don't want to think what I need to escape or not, is it grep or egrep? I just type fgrep, less effort to think.At least for me, your mileage may vary, even depending on your keyboard layout.
      I make a lot of uses of find though, it is a great tool. But then - using many and more complex conditions etc.
      You always have to think if an optimization is worth the effort. For a single command, rarely ( having to type less might by a priority there), in a script or program which is run often, it may pay off over time.

  • @bargainbincatgirl6698
    @bargainbincatgirl6698 7 місяців тому +1

    This is what I need to start my weekend, a quick explanation of how to use a command tool older than me....
    And I'm 40 years old.

  • @matthewrease2376
    @matthewrease2376 7 місяців тому +8

    "Have you played Atari today!"
    (No commodore because I'm a rebel. "

    • @saszab
      @saszab 7 місяців тому

      ZX Spectrum rulez!

  • @speakerbench
    @speakerbench 6 місяців тому

    Excellent little tutorial and I look forward to the others. I've been using Linux a bit, on-and-off since 2005, and used find regularly, but consider myself a novice.

  • @donaldwilliams6821
    @donaldwilliams6821 7 місяців тому +1

    Great video Yes, there are newer and faster utils but at work I have much older Linux servers without access to them So knowing how to do it the "old fashioned " way is important. Plus if your scripts use them it's more portable to any system. You can always check for the presence of FD, etc and use "classic" FIND as a backup

  • @FAYZER0
    @FAYZER0 7 місяців тому +1

    Are you keeping up with the Commodore? (Cause the Commodore is keeping up with you) Actual question: What is the model of the keyboard with the awesome green keys?

  • @StMidium
    @StMidium 7 місяців тому

    At work, we use git quite a lot, and manually making sure to run 'git pull' before I start working on a repo gets old pretty quick, so I wrote a quick find one liner that searches recursively for the .git folder, and executes 'git pull' if it finds it. This script is set as a cron job to run every morning just before I start work. Works great!

  • @ImL8
    @ImL8 7 місяців тому +4

    Thanks for another entertaining video!

  • @jay_wright_thats_right
    @jay_wright_thats_right 7 місяців тому

    I love your damn videos. I can't wait to see where this channel is at this time, next year. No pressure, though!

  • @moetocafe
    @moetocafe 7 місяців тому

    Very useful, thank you!
    Now I can list all files, bigger than say 100 MB in my Downloads folder, to easily spot the potential candidates for deletion, if running low on space:
    find Downloads/ -size +100M
    (with -ls at the end you get some additional details of the found files)

  • @frighteningenius
    @frighteningenius 7 місяців тому

    yayy new linux video!!
    edit: also, congrats on the 100k :)

  • @octaviolopez9966
    @octaviolopez9966 7 місяців тому

    As a linux user my self, i welcome more ways to do tasks in linux wether it is with a gui or cli, the same for browsers, i don't mind using chromium or opera, firefox for websites, TRULLY NICE WORK, CHEERS FROM TIJUANA MEXICO!

  • @kid_scarlet
    @kid_scarlet 7 місяців тому

    great video! thanks! i'm a novice/intermediate linux user, & while man is helpful, sometimes a video that explains a command can be waaaay better than text on a screen. so thanks again!

    • @kid_scarlet
      @kid_scarlet 7 місяців тому

      oh, and, are you keeping up with the commodore?

  • @brickviking667
    @brickviking667 7 місяців тому

    That's a pretty good summation of the find command, and an excellent description of the + terminator, that I hadn't heard of either. Nice work and a nice explanation.
    If it hasn't been said already, grep can do that search on its own, by (at least on Linux) using grep -nr "your search term" --include="*.txt"; which will limit grep's searching to only files ending in .txt and not anything else. You could perhaps add that to the wonderful grep episode you are looking to do.

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому

      Yup, grep can do that search on its own. But this is just one example of -exec: you can also use it to rename files, move things, change permissions, execute scripts, send things to awk, any number of features. I figured this was an easy first example for a beginner though.

    • @lucass8119
      @lucass8119 7 місяців тому

      @@VeronicaExplains The exec arg really is the magic sauce. Its so flexible, I've found myself using it to quickly execute rinky dink scripts in ways they weren't intended. The best part is I don't have to open up the script!

  • @bruck2723
    @bruck2723 7 місяців тому +5

    | column is the coolest thing i learned today.

    • @saszab
      @saszab 7 місяців тому

      It's called pipe.

    • @bruck2723
      @bruck2723 7 місяців тому +1

      @@saszab | this is pipe, that i know . i didn't know you could column like that.

  • @tomkelley4119
    @tomkelley4119 7 місяців тому +2

    This is a good series.
    Also, are you keeping up with the Commodore?

  • @MeaTLoTioN
    @MeaTLoTioN 7 місяців тому +1

    + vs \; I didn't know, thank you for a great little video, Veronica. I was looking to see if there was CP/M for the c64 the other day, are you keeping up with the commodore?

  • @klemmr3233
    @klemmr3233 6 місяців тому

    Our late cat loved my C64. He was always a keyboard walker, but this was his favourite. I'm keeping up with my Commodore now, as it's safe to plug it in again.

  • @Mikesco3
    @Mikesco3 7 місяців тому +1

    Find ./ People who watch till the end of my video -exec {are you keeping up with the Commodore} +

  • @zuurbekje3125
    @zuurbekje3125 7 місяців тому +1

    Are you keeping up with the Amiga?

  • @Getoverhere666
    @Getoverhere666 7 місяців тому +1

    Veronica, your are the miracle!

  • @MagnumCarta
    @MagnumCarta 3 місяці тому

    I am keeping up with the Commodore after you helped me find it!

  • @zachh1000
    @zachh1000 7 місяців тому

    Hilariously I’ve just started to use find for more things since being forced onto wall, terminal is all I’ve got. Now I’ve got some more trick, thanks!

  • @1NSHAME
    @1NSHAME 3 дні тому

    Just a note for anyone interested: even with the + termination, find may still break the exec into multiple commands each receiving a concatenated subset of the found files up to the command line length limit of your *nix.

  • @MrAnish310
    @MrAnish310 6 місяців тому

    Great explanation in 8 minutes especially exec +

    • @VeronicaExplains
      @VeronicaExplains  6 місяців тому

      Thanks! That's my goal with these, trying to keep them under 10 minutes and still thorough.

  • @DouglasJenkins
    @DouglasJenkins 7 місяців тому +3

    Are you keeping up with the Commodore?
    I lol'd at "all the patience of a substitute 8th grade math teacher."

  • @henriquepicanco97
    @henriquepicanco97 7 місяців тому

    I never understood the find command... Until now! Thanks, Veronica!

  • @saszab
    @saszab 7 місяців тому +1

    8:04 I prefer the ZX Spectrum.

  • @sabret00the
    @sabret00the 6 місяців тому

    Just what I needed. Thank you so much.
    Are you keeping up with the Commodore.

  • @tuxthedev3470
    @tuxthedev3470 7 місяців тому

    This video format is amazing!

  • @GoWithAndy-cp8tz
    @GoWithAndy-cp8tz 7 місяців тому

    Hi Veronica. I'm amazed by your passion for computers! I really appreciate your videos. Cheers!

  • @matthewrease2376
    @matthewrease2376 7 місяців тому

    Don't need quotes for the string findscript.txt. Quotes are handled by the shell and don't get passed to the program.
    You do need it for the * though since the shell will normally expand * to a list of files (or try to).

  • @raughboy188
    @raughboy188 7 місяців тому +2

    To simplify find as much as possible rather than memorising huge command you can also implement alias for it.

    • @VeronicaExplains
      @VeronicaExplains  7 місяців тому +5

      You can, but I think if you're a professional sysadmin (or hoping to become one), you'll still have to understand it without the alias.

    • @raughboy188
      @raughboy188 7 місяців тому

      @@VeronicaExplains Yeah, that's true. If you're forgetfull nothing is stoping you from doing this when creating alias: && echo "full find command with switches and everything" when setting up alias, that way it will always remind you what you used and you won't forget it. In my honest opinion people should consider using alias much more. You know as well as I that used in right way ailas can be powerfull tool that gives option to use alias and full command as is. Also making alias without understanding command isn't good idea. If i make an alias for a command and i made quite a few i always do it with commands i understand, doing it with those that i don't is bad idea, after all one bad command can break entire system when it comes to linux.

    • @ivanheffner2587
      @ivanheffner2587 7 місяців тому

      @@raughboy188 for my own mileage, I try to observe common workflows that I have at a given job and develop a set of aliases and functions that become my frequently used commands toolset. Shell functions take up a space between aliases and scripts that offers greater functionality and composability that simple aliases, but generally don’t rise to the level of a full script.

  • @kumar_prabhat
    @kumar_prabhat 7 місяців тому +5

    love it, keep 'em coming

  • @sansmojo
    @sansmojo 7 місяців тому

    find is one of my most used commands. Great video.

  • @Hinipe
    @Hinipe 6 місяців тому

    I find your explanations easy to follow. :)

  • @PhilipStorry
    @PhilipStorry 7 місяців тому

    Thanks! A very nice summary of an essential command.
    I'm hoping that in a follow up you can find a way to cover options like -mmin and -mtime as I find those very useful when looking for recent changes. Given that like many others I didn't know about the + terminator for -exec I wonder if I'm missing some magic in date and time handling too?
    Also, are you keeping up with the Commodore? He's pretty quick for his age, but doesn't get to sea very often these days... ☺

  • @leleemagnu6831
    @leleemagnu6831 7 місяців тому

    Sorry, Vanessa i will have to disagree with you. I am not going to leave any disparagin comment. This was a great tutorial! Thank you.
    PS And yes learning the basics is not only important it always becomes super-useful when more complex stuff is encountered later on.
    Great job!

  • @coisasnatv
    @coisasnatv 7 місяців тому

    Are you keeping up with MSX?

  • @andrukthegreat
    @andrukthegreat 7 місяців тому

    Did anyone notice the directory in which the script for this video was in, is spelled "Scirpts" good you didn 't look for the Scripts Directory. / :) . You're Awesome Veronica!

  • @paulsander5433
    @paulsander5433 7 місяців тому

    This video is a great way to familiarize people with the "find" command. You mentioned that older versions of "find" require the initial command line argument to be a path. Some newer ones will assume a default value of "." and some accept multiple paths.
    Additionally, the version of "find" that you use assumes "-print" as the default action. Some older versions have no default action, and display nothing if neither "-print" nor "-exec" are given. It's annoying to run "find . -name foo.txt" and see nothing when "ls foo.txt" produces output. If you do use "-exec", be sure to quote the "{}" in case some of the found files contain whitespace in their names. This is important in the presence file filesystem shares via AFS or SMB, or in any environment where some users prefer graphical file managers over the command line.
    I generally do not recommend using "-exec" with "find", preferring instead to use "-print" and pipe its output to "xargs" to process the found files. This makes command line quoting easier. With the "-n" option of "xargs", you have more than the "all-or-one" choices to group files, which is useful if your command shell has a length limit. With the Gnu versions of "find" and "xargs", I also prefer to use "-print0" and "-0" with these respective tools.
    Be aware that the "+" feature is part of the Posix specification, but it is absent from the V7 documentation. It is certainly nearly universal, but it's possible (though unlikely) that someone could find a version of "find" that is based on that ancient implementation, and have to come up with a workaround.

  • @IronRex
    @IronRex 7 місяців тому +1

    Are you keeping up with the Commodore? I never did. I started on the ZX Spectrum!😁

    • @saszab
      @saszab 7 місяців тому +1

      Me too. Moreover, I had to solder and assemble it by myself. Because in the USSR if you wanted to have a computer you had to make it by yourself :-)

  • @HackspoilerDe
    @HackspoilerDe 7 місяців тому

    I find that "xargs" is more flexible and can be more powerful with options like “--max-procs (-P)” and “--max-args (n)” especially with many files and environments where a lot of control is needed

  • @TerryOlson
    @TerryOlson 7 місяців тому +1

    I knew most of these options for FIND, but I was unaware that you could search by user / group ownership. Today I learned something!
    Edit: Are you keeping up with the Commodore?

  • @michaelwright2986
    @michaelwright2986 6 місяців тому

    I feel I may be going back to the command line, thanks to this sort of thing. Also, at 1:30 I liked the undertaking to treat comments with all the patience of a substitute 8th grad maths teacher. That should be an ANSI standard.

  • @kevincozens6837
    @kevincozens6837 7 місяців тому

    It took me a while to get the hang of find in my early days of using Linux. I often use locate as a quick first step to finding a file then use find if that doesn't show me what I want. I didn't know about the + termination as I've always used \; Using \; is useful when you want one result per line that will be saved to a file or passed to something else (ie. awk) for processing. I didn't notice +size when I've looked at the man page for find. I also didn't know (or remember) about column shown during the outro. Thanks for the tips.

  • @careymcmanus
    @careymcmanus 7 місяців тому

    Recent Linux convert that"s keeping up with the commodore. Finding these videos super helpful for making my transition easier

  • @sector-53
    @sector-53 7 місяців тому

    Super awesome love the jams! Great info! Are you keeping up with the commodore?

  • @jonjimihendrix
    @jonjimihendrix 7 місяців тому +1

    Yes, Mac OS X was built off of NeXT, Steve-a-rino’s pet project during his “sabbatical” from Apple. NeXT was based on BSD, and that legacy continues.
    Source: I was a CS student at the time and installed OS X.1.
    Mind.
    Blown.

    • @paulsander5433
      @paulsander5433 7 місяців тому

      Too bad you couldn't try Apple A/UX. Best environment before OS X, and in some ways it was better although it's unusable after Y2K.

  • @jameskemman5892
    @jameskemman5892 7 місяців тому +4

    going straight on my to watch list :)

  • @MiseryFarm
    @MiseryFarm 7 місяців тому

    Just doing the thing to say do more of these things!! Many thanks Veronica 🙂. Are you keeping up with the Commodore?

  • @carlr3186
    @carlr3186 7 місяців тому

    Are you keeping up with the Commodore?
    Of course! I use my c128 with Dialogue and my internal Swift-L to log into my Rcoky server to admin it ;)

  • @TechnologyJunkie
    @TechnologyJunkie 7 місяців тому +1

    Hard to believe it has been 30 years since the demise of C=. My A-3000 still rocks, and my C= 128 is still great.

  • @mmlvx
    @mmlvx 7 місяців тому

    At 2:43 the "scirpts" in the path made me chuckle.
    Thanks for this deepish dive in `find` -- I've known for a while that I need to learn to use it better, and this is making it easy. So, thank you.
    If you happen to do a follow-up, here's a question I had as I was following along. I'm used to being able to specify mulitple options in part of a name, such as
    `ls foo-2024-05-0{3,4,5}.log`
    to get the files from May 3rd, 4th, and 5th. (Whereas `ls foo-2024-05-0?.log` would get everything from May 1st to May 9th.)
    Trying to do similar with `find` doesn't seem to work. Cargo-culting, I tried single quotes, double quotes, and using "\" in front of the curly brackets, in various combinations; no joy.
    So I'm wondering how to specify ... oh, I bet it's some kind of regex thing. Maybe I should RTFM.

    • @mmlvx
      @mmlvx 7 місяців тому

      Of course we watch to the end, Commodore!
      Oh wait, you're probably using a script to process this. "Are you keeping up with the Commodore?"