Episode: 3928 Title: HPR3928: RE: Klaatu. Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3928/hpr3928.mp3 Transcribed: 2025-10-25 17:31:22 --- This is Hacker Public Radio Episode 3928 for Wednesday, the 23rd of August 2023. Today's show is entitled Re-Klato. It is hosted by some guy on the internet, and is about 24 minutes long. It carries an explicit flag. The summary is, Scoti confuses everyone with bash nonsense. You are listening to a show from the Reserve Q. We are airing it now because we had free slots that were not filled. This is a community project that needs listeners to contribute shows in order to survive. Please consider recording a show for Hacker Public Radio. Hello and welcome to another episode of Hacker Public Radio, I'm your host, some guy on the internet. Today, I'm just going to wrap it fire a few shows right off the cuff. We need shows and I'm going to give shows. These won't be the highly polished, wonderful, scrumptious goodness that you're used to getting from the Oh No News, but you're going to get them anyway and you're going to like them. So we're going to talk about Clot 2 and his ten most known commands for new cloud admins. He gives some wonderful commands in that show and I really enjoyed that show. But see, this is my moment to build on the shoulders of giants. That's right, I am now going to build on the shoulders of Clot 2. So he may look over on his shoulder left already the one of his choosing and find that I am now pouring concrete for a solid foundation to construct a monstrosity onto his shoulders. And first thing he mentioned in that show, great show by the way, I just want to get that out the way. Cubac or Cubac something, I don't know what that one is, that's all about Kubernetes and dealing with, I guess, Kubernetes applications. I personally have not learned to speak Kubernetes yet. So yeah, it's outside of my pay grade, but I'm going to take you over to Curl. I enjoyed me some curl. I think that was an excellent tool to give. I also want to mention W get, I prefer W get the most because you can accidentally download the entire internet with W get. And I think that is a feature that you should definitely keep in mind. In open source, we provide you with tools that if you do not specifically say do not download the entire internet, you will then download the entire internet. So Curl is nice, but W get should definitely be considered. Now he mentioned tar and unzip these are great, but I can't do it service without first talking about bash and bash scripting. In fact, the rest of these, I'm just going to ball all of them up into my love for bash scripting. Alright, bash scripting is like duct tape, but instead of being like some sort of clothy plasticky material with adhesive on it, I want you to imagine Plastille, some space age mythical material that is strong and flexible, you know, just durable, yet unbreakable and adheres to anything. That's bash. Alright, so it is wonderful and ideal, but you really should be careful using it. With all of that said, I put that blank on everything, just like that lady in the hot sauce commercial, I will bash it up. I'm the guy that created the meme for don't bash cat with pipe. You understand, I'm bashing it. Because how else are you going to learn? You understand, when you're out there doing these different things on your system, say, for instance, you're using tar, I love tar, tar is a part of my own personal backup. When I'm creating tar balls like mad, I need a way to do that as fast as possible, even if I accidentally tar something that I don't need, who cares, as long as tar, it's fine. So that's why I use a script, I use bash, I hop in there, I create some F statements and other things that take tar and have it just rapid fire in the direction of files. Tar does tar rarely disappoints, alright? Sometimes there's the odd, that's not a real file or certain file names like Calibre and their library will decide to, for whatever reason, I really don't understand why, but they put a space in the name of their library. So, you know, I mean, not the library, the directory. You would think, by now, first of all, you would not want to put your directory in the home directory, polluting my home directory with nonsense, oh my god, that music is loud, I'm listening to music while I'm making the show, okay, okay, we kind of take care of that. But, you know, first of all, you would not want to just blast your directory where you store all your stuff at in the home directory there, there's like the .config, there's the .tash, you know, there's areas for you to put it that not just directly in the home, but never mind that, that's not what the show is about. Even when some irresponsible program decides to do this, tar does not disappoint, we will just tar that puppy right on up through a script. And when it comes to zip files, here's another thing about Linux, you have a zip command and then you have an unzip command. Now these commands from my understanding may be different programs, or maybe they're just, I don't know, I think they're different programs, one zips and the other one unzips, which is crazy, don't use zip, just use tar if you're in Linux. If you're dealing with someone on Windows, I understand why you'd be using zip, so it's there in case you need it, but there's a wonderful, well, I'm going to, I'm going to leave a copy of my bash RC, no, not my bash RC, my bash aliases in this show notes, all right, so that it can confuse you to no end. You're going to be wondering why on earth is all this nonsense in there, because it's helpful. Joe Mod is another one, right? When you have a ton of different files that you're dealing with, being a privacy-focused individual like myself, I deal with privacy and security quite a bit, and I like to just dig into as much as I can and take full advantage of it where I can. One of the things I notice when you're creating files, permissions are not exactly liberally granted to the files, you know, they don't just throw execution on everything, but they do add read and write among the groups, right, so you'll get owner, you'll get groups and others, so to speak, I have a nice little script with Joe Mod that I use is called Perm, for permissions, you know, short for permissions. I'm actually now that it's finished, because I made it a separate script until I got it working without blown up my system. Now I'm going to put that into my bash RC as a function, or not bash RC, sorry, I keep saying bash RC is the bash aliases, which is attached to the bash RC or your bash profile sorry, you want to attach it, but either way, it allows me to interface with my system through the terminal, through special special functions and aliases that I want to use while keeping a very vanilla bash RC. Again, if you're a normie and you just heard me say all of that, you're just completely confused and ready to get away from here. I don't blame you, but if you decide to stick around for just a little bit longer, understand you're going to begin to change at night when you go to sleep, you're going to start to transform a little bit because you listen to geekery of the highest level, all right. Now Cloud2 also talks about using .slash for your scripts. I love that. He's absolutely right. When I'm creating in my playground, I do use the .slash a lot to reference a strip in the current directory. So let me talk a little bit about that. .can be used for sourcing. So when you're sourcing a file, you can't just use .space that file and source it. When you use a .forward slash, you are sourcing from the current directory and then a file after that slash would be your sourcing that file in the current directory. That is my understanding of it. If I'm completely wrong, it is your obligation to do a show and correct me. And if you do not do a show within the next 48 hours, then I'm correct. You're the one that's wrong. Now the CD command is a special one. I like CD. I created my own little function, which uses CD. All right. So let me just explain it just a little bit because you're going to see it down in my bash alias. CD is a bash built in, right? So when you're using CD in a function in your bash alias, you want to go ahead and specify that CD command is a built in. Otherwise, you may not get the results that you want. So you're going to specify built in for that CD. And what I do is I created my own function called CD, which is the same as the bash built in. But within that function, I specify it as a built in. And then I add all the additional things I want to do to it. So for me, I just make a simple, whenever I CD into a directory, I always run ls, right? I CD into a directory and then I want to know what's there. So I create a function that calls the built in CD and then does the double amp for sand and meaning if the first command runs correctly, also run this additional command, which is the ls with group directories first and in a few other things, you know, human readable, etc, etc, whatever you want, add all that in there. So every time I use CD now, automatically go into that directory and an ls is ran to give me the, you know, files that are in that directory sound small, but it is 100% nerd level useful. All these little small things add up. Now I believe a cloud two also did another show in the past navigating around your, your system in ways other than CD and he mentioned push D, pop D also bash built ends. Your bash shell has these as built in, I guess, functions. So let me talk to you a little bit about how I use push D, pop D. First thing, I take push D and I aliased that to just PD so I don't have to type in the full push D, right? Just like you do with CD as change directory. It's just CD. Well, same thing with push D, I just do PD. Now PD in my direct directories like normal, but here's the thing, I normally have a certain set of directories that I always work with. Let me just go ahead and make sure that my file manager is, I mean, I'm a file manager, my password manager is closed. I had it just sitting there and it was bothering me, you know, I'm not using it, but it's decrypted, just open like that, you know, almost like I just didn't do a show not too long ago about the very same thing when you're, when you're pushing and pop D in around, I kind of got a little, oh yeah, yeah, I have a function in my bash aliases, it's called push up. That's right. Like the exercise you're doing a push up, basically all this does is pre populate a stack to push up the push D stack is pre populated through this function. So these directories that I always end up going into always doing something with whatever reason. Like I'm always jumping in the Thunderbird directory dealing with my my filters, right? So I'm not going to be typing in stupid long sub directory string of nonsense to get down there. It is going to be pre populated when I type in push up and then I'll just be able to do a PD space plus whatever the number that directory is it is in my stack and boom, I'm automatically there. So I'm just push D and all over the place. I rarely even use pop D whatever ends up in the stack is just there now, all right? That's where you live now in the stack. You don't ever come out until new session. Once I'm done there, I also have things like where I have my different VIM sessions that I want to manipulate and do stuff with as well as all my hacker public radio show notes, directories and things of that nature. I'm not going to be typing that crap in every single time, right? I just do push up and guess what, pre populate, all right? I know I'm going to go there at some point. So why not just have it all pre populated, all right? So now I just do a PD space plus and the number that is, you know, to that directory. And there you go. And I also did an alias for DERS that's DIRS. You have to forgive me, I don't recall the natal phonic alphabet at the moment. So you have to forgive me. But I alias DERS with the L flag. So that way it gives me the long list that shows the entire directory, you know, the sub directories in the string and also gives me the number to it. So that way I know how to immediately, you know, whenever I type in DERS, I don't have to always do the flag. It just knows to do the flag for me because it's an alias. And now I can just move quicker. It's do PD number go where I got to go. So that's how I'm moving around the system. My bash aliases is like, consider it like an API to the system. I get access to my system with custom features that I want to use without polluting my actual bash RC. So the bash RST stays relatively vanilla. The only thing I do is comment out whatever custom LS commands they put inside the bash RC because I've got my own LS commands that I want to use or LS aliases. So I'll comment those out and allow my bash aliases to take over from there. Now you can reference your bash aliases through your bash profiles or your bash RC either one. There's just a simple F statement that'll allow you to do that. And I drag mine around rather I'm on, you know, a devian slash up into base distribution or a fedora, but DNF slash, what was it used to be? Yum based distribution didn't matter. It'll recognize that bash aliases so long as you got that F statement and how the profiles are the other thing as mentioned. Now what I used to do before to push the thing because I knew about push D for a while, but I just never used it. I used to use as platoon mentioned in the other show how to navigate your system from the terminal. I used to use variables for the things that I was doing, right? Because like say, for instance, I have an N directory within my downloads directory. So there's an N sub directory. There's downloads and then there's sub directory N sub directory out whenever things come in from Firefox, they automatically get stored in downloads slash in when everything's need to be emailed out or sent to like hacker public radio or show or whatever. Those go to downloads slash out. So I would basically have a variable for in a variable for wherever I want to file to go to when like so when, for instance, I get the latest key pass XC app image, right? Because I like using app images. I got this habit because if you use Kaden live from the old days, when that sucker would just blow up and crash on you at a moment, you know, it'd be just fine until you update. And then all of a sudden it just destroys. So you just learn to use app images because it will never update and you just learn to love the fact that it will not change when you answer. I think that's why people love devian so much. You use Kaden live in the past and that sucker just one day just exploded on your file system, destroy any chance of you getting work done that century and you learn to just love things that never change. So you chose devian or app images, but I'm getting a little distracted now. But yeah, I used to use variables and not get that new app image, right? I stored a name of that app image in my variable. So now I can change the permissions of it or I also have another. I think it's a function now. If it's not a function, it's still a script, but it's called better file names. It was BFN, but it's called better file names. Basically, it takes all the spaces out of the name and replaces them with dashes. And if other special characters get replaced with dashes, you know, the hyphen, if you're in a query keyboard, an American query keyboard is the dashes in between the zero and the equal, I guess. Yeah. So yeah, I used BFN to correct the name. Then I can use perm to change the permissions to make sure that only the user permissions are held. And because it's a regular file, my perm script for permissions is it'll automatically give it read right with no execution for the user, not not the group or anything else. So I believe that this show mod plus equals 600 for directories. It's very similar set plus equals 700 for directories because you need execution for directories unless you do not want that directory accessed for whatever reason. Like if you temporarily want to disable a program from access in that directory, you can change the permission of that directory to exclude execution, which will no longer allow that program to access that directory for whatever, test your performance, and then just change it back when you're done. But never mind all that. I'm getting into, I'm getting into too much nerdetry. But yeah, in that case, I have my directories stored into variables. And then I use another command, the MV command that Klaatu has now mentioned in the show use MV with the V flag and the T flag. The V flag is verbose. So I get a nice little report that it was sent where I thought it was sent. And the T flag is to the destination where I wanted to go. So the destination is going to be the variable that I stored. So I'm in the downloads end. But I want to send this app image to my local bin. Right. So if you do not have a local bin, you can go in your dot local, which is located in your home directory. There may not be a bin folder in there. Ben stands for binary. By the way, if you didn't know, if you're a new bin, you're coming here for some ultimate geekery, you just go ahead and put a dot going to your dot local. And you put a bi in all or case in there. And when you restart your system, that bin should be added to your system's path that is a local binary directory. Once you restart your PC, now you don't have to restart, you can just manually add it. But you're normally in Shabash RC that will that are automatically or your bash profiles that'll make sure that your path is updated with that bin. But again, too much geekery for you. I got to slow it down. You throw your app image over there and that bin because you can then call that, but you can call that app image just like you would any binary from your path and load it right from the terminal. It's excellent. Well, once it has the proper permissions because you are going to want to do your tasks on it. Like, for instance, if you're getting from key pass XE, they have their signatures and everything online. So you are going to run the the hashes on the program to at least have some understanding. So long as the site has not been compromised and the information on the site has been validated, but a key pass XE team, those signatures should match up. They give you a GPG and your other checksum to confirm that the file is exactly what they intended for you to have. So once you confirm that, you're throwing your bin and guess what you do now. You just type the name of that file and because you're doing like I'm doing and you're using a better file name script that made it something reasonable where you won't have capital letters and periods and nonsense and spate, you know what I mean? You changed that so that's decent. You can just do a lowercase key pass and hit tab to complete the rest of that because they're going to have some gibberish in there. You know, the number for the app image and oh, by the way, when you're doing your checksums in validation, you want to do all that before you start altering the name of the application because the signature and everything, it has to match before you do all of that. So yeah, just a little notes there. Again, too much geekery. Throw it into your bin. I'm getting lost and my nerdism right now. Throw it in your local bin. Now anywhere in your file system, you should just be able to call it because it's in the path. Now you understand this is the way just like in the Mandalorian, right? I'm just going to hold some sort of intergalactic pistol into there and show you this is the way. And then I'm going to fumble around with it, drop it and it's going to fire and we're going to pretend like we didn't do that. So I think I covered most of the commands here except for pseudo. I don't I can't remember if class two covered this or not, but any event that you keep forgetting to type pseudo whenever you do a command like updating upgrade, you keep forgetting typing pseudo there. Well, you can just do the double exclamation mark like pseudo double exclamation mark trick thing to redo that command, but with with pseudo and you're good to go with that. Alright, so that's a quick and easy little bit of nerdetry that gets you back up speed. Now, echo echo is by far one of my favorite commands and it is it is whenever you're about to do any kind of scripting and you're doing all these f statements and functions and nonsense are in there and you it is very important to give yourself a way out. Not only do you write the thing that you want to happen, but you need to also be aware that this could possibly all go wrong and you need to control the unexpected at least a little bit. So that's when I use echo so that let me just explain this to you now go ahead prepare yourself you're going to need to take a seat for this part because this is massive. Alright, I use echo as an else for conditions not met through the through the original call of f echo good heavens. Alright, do you understand what I'm saying that way whenever I do something and it does not work and I'm just ready to just blaze through a workload and all of a sudden I get an error that good heavens alerts me to just snatch the the PC cable out of the wall and leave the house because I am done with this for now. So if you have benefited at all from this ultimate nerd show of pleasant geeketry, you make sure you head over to hacker public radio right now and you upload a show. If you disagree or have anything more to add to this, well all disagreements should go to either black kernel or archer 72. Make sure that they know exactly why you're not happy with this, but if you are happy with it then you do a show and remember that that what that's earlier 24 hours or 48 hours or whatever. If you do not do a show disagreeing with me within the next 24 let's say 48 just to give you a grace period within the next 48 hours of the release of this show. If you do not do a show and reply disagreeing with whatever statement I've made here or even if you do agree, but mostly if you don't disagree, if you disagree, then my statements are true and yours are not. Alright that's the way it works now. Alright you have to put your you know how to say at weddings speak now or forever hold your piece. That's right. You do a show and speak now through a show not not a comment or forever hold your piece. I'm some guy under the net. This is HPR and these are the 10 most known commands or a read to the 10 most known commands as well as how to navigate around your file system alternate CD super geek narrative tree. Good day ladies and gentlemen. You have been listening to Hacker Public Radio at Hacker Public Radio does work. Today's show was contributed by a HPR listener like yourself. If you ever thought of recording podcasts and click on our contribute link to find out how easy it really is. Posting for HPR has been kindly provided by an honesthost.com, the internet archive and our syncs.net. On this otherwise stated, today's show is released under Creative Commons, Attribution 4.0 International License.