 Is using the terminal just a stupid retarded thing that hipsters do to make things difficult for themselves? Or is it something that normal people can actually get a lot out of? Let's find out. So a common question I get from I guess novice users is People are confused why I give tutorials. Why do about how to do things on the terminal? That's useless Why don't you just do it in your graphical environment or something like that? It's easy. It just works I want to explain why and I'm gonna explain why responding to an email an email I actually got yesterday. I get a lot of questions like this from I guess novice users But this is from a guy named Joanne The subject is honest question Why do you use the command line interface when the graphical user interface the GUI is sometimes faster? Hi, I've seen some of your videos for about a week And I've seen you teach about email in the terminal mounting androids in the terminal Etc in the terminal, but why I'm 22 years old studying computer science at the moment And I'm quite new to all this stuff even though I'm old to start learning But I wonder why you do such things I understand if you're setting up a server online and you must do those things in the terminal But mounting Android on on on the terminal What are the advantages you think the terminal has over some graphical user interface app such as I don't know Mutt over Gmail. Thank you, and I hope you read my question. Ha ha haven't I stay okay? Don't know what the ha ha's for But so I'll be honest I get this kind of question relatively often and I get a little miffed by it because the assumptions behind it usually is Okay, the person asking it isn't super familiar with the terminal or ways you can use terminal commands Therefore to them. They are difficult. Therefore. They must be difficult to everyone. Therefore. They must be difficult to me Therefore, I must be doing things that are just difficult for no particular reason So that is not the case I use the terminal because or when I use the terminal I use it because it is vastly more efficient than everything else Or when I use not just any kind of command on the command line But when I use some terminal application like mutt that I did that he mentions that I did a video on a couple days ago So I'll show you actually let me show you I'm gonna bring up. So here's a blank workspace. So let's say I want to Open up my email and search all the email I have in my past for the term Linux So let me do that. So I'm gonna bring up my email. Bam. There's my email So the thing I just did brought up mutt. I have all of mud is a command line application I have all my mail offline with isink. That's a command line application and it's indexed with not much that's command line in Application and of course with one key press I do the equivalent of Bringing up Firefox opening up a tab going to Gmail waiting for it to load I can do all of that stuff and I can do it offline. Okay. Now that that is established Let me go to my box of all mail Okay, that's a command that is just a key press. There it is It actually took a second for it to open because they're around a hundred thousand males in here And although mutt automatically caches all of your headers. So they load quickly There's a hundred thousand of them. So it took basically a second, which is way too long But but it's much faster than if you did the same thing on Gmail And of course, I have all of my mails right in front of me I don't have to click a million pages on Gmail to go to the next ones They're all if I just scroll scroll down I can scroll down all the way to the bottom and that is all you know a hundred thousand of them Okay, now let's say I want to search all these mails for Linux and control F Linux Enter There they are. Okay. They have autumn that they've loaded instantaneously I don't want to show you too close. So you see all my emails But they've loaded instantaneously and I can go through all these these are all the emails that mentioned Linux I could scroll through them. However, I want blah blah blah blah blah very simple So none of that requires email. All of it is just a couple key presses It is it loads basically instantaneously. It's not like Gmail where a you have to rely on their servers But you have to use their interface. I can change any of the key bindings. I want I can sort things However, I want all of these email files. These are actually just files on my computer I can move them. I can delete them. I can change permissions For example, I actually changed the ownership of the files of my archive to root So I don't accidentally delete them stuff like that So that's the kind of stuff that you can do using command line applications Now keep in mind the difference between a command line application and a GUI application is not like I mean It's really a kind of social construct sometimes Okay, because when it comes down to it when I'm using some kind of terminal application or when I'm telling you how to run a terminal Command to run some, you know to perform an apple perform an operation like mounting androids I'm not doing that so you can continually run that command every time you need to do it As I showed in that video where I mount androids. I don't actually run the simple MTPFS command every time I need to mount something. I Use that command in a script that basically allows me to quickly quickly choose which one I want to mount I don't I don't run those commands manually The point is once you understand how to do something on the terminal you can easily automate that You cannot automate doing things in the graphical user environment I cannot automate doing something in Gmail But I can very easily create a mutt macro that you know, let's say Automatically moves this mail here and marks it with a particular flag. That's something easy to do So in general as a general design principle when you do something when you learn how to do something in the command line It is more efficient not just oftentimes because the commands are more efficient But because you can extend that and you can do better things with that Now sometimes the commands themselves are more efficient. I actually did a video on this a couple months ago I think it was entitled the horrors of the Linux Terminal the horrors to be clear. I said that a little weird I'll put a link at the end of this video But what that video was about was a lot of times, you know giving your computer direct commands It's not only more Direct in that you're you don't I mean graphical user interfaces They're really just boxes you click on that run terminal commands So in a lot of times it's easier for you to run the terminal command to get the exact thing that you want But there are a lot of times when terminal commands are just more effective one example that I gave in that video I'll give again now is let's say I want to Remove I want to delete or let's say I want to move all the jpeg files in a directory I can just say move star dot jpeg and that selects all of the jpeg files and I can say give it a A You know destination folder and all those files were removed if you want to do that in a Graphical user interface what you have the traditional way is just to go through, you know control hold down control Click on all the ones you want Or people in the video got mad. Oh, you don't have to do that It's easy in a graphical user and interface because there are a lot of file browsers where you can click this and hold That down and then you can put in a regular expression for the the file extension and then you can just manually select and then Right-click and run this command. See that's the kind of thing even if you want to do something complicated That's the kind of thing that you have to do in a graphical user environment That's the kind of thing that replaces usually just some simple terminal command Okay, so that's why you use it why I do videos on command line programs is not so that you constantly run them all The time, but that you understand what is actually going on on your system and you can automate those processes so that's why I do them and So now does that mean I use the command line for everything? No, and in fact there are a lot of things I don't use it for so just to give you a couple examples For example, I make the thumbnails to my videos in GIMP, okay Now there have been a couple I've done in image magic that are very simple image magic is a command line tool that can basically create images on the command line, but um, you know GIMP You know when you're doing something like you're doing something that's inherently graphical it makes sense to use a graphical program It's hard to replicate that on the terminal just because you want the picture in front of you Same thing there are a lot of memers out there who insist on trying to use terminal browsers for browsing the internet The internet is just not text-based anymore the internet There are so many sites that are just so screwed up and just have so many You know just so much garbage and they're so poorly coded you need a graphical interface browser to get basically anything done So for that I I do that as well so Or there are but there are mind you for simple operations. Let's say video editing So in my mud video There was a time where I had a little error and I had to stop I just typed something in wrong and I had to stop and I started re-recording later on now I could do something annoying like use a video editor to splice that I could open these files in a video editor and I could you know manually select what I wanted to get rid of and you know have that merge or something like that and then Have it recompile or I could use a terminal application a terminal application that most video a mini video editors are just like a Front-end for that is ffmpeg and in ffmpeg I can take the video I made an error of I can say splice this up to this point and it will generate if I copy the codex It will generate instantaneously a new file that only contains the stuff I want to keep and I can use the concat demuxer to Merge that with the rest of the video basically instantaneously if I again copy the codex So doing things once you learn how to do things in the command line. It's just more effective I don't know There are I know that there are people out there I'm not going to mention any channel names, but there are people out there who will Talk about how nerdy the command line is how cool it is. Oh my god. It's so great. Let's use the command line I'm not that I the reason when I use the command line when I use the terminal It's to get things done more efficiently. Okay, and if I can't get things done more efficiently I don't use the command line But if you're wondering as again, I'll close out the video and I'll say just one more time The reason I do videos on the command line or on tools in the command line is because they are easily Extendable to other things that people can do with them You can look if now that you know how to mount Android devices in the terminal You can have some other system for mounting these or modifying these in the way that you need Okay, or if you know how to use mutt to get mail or use isink to download your mail on your computer That opens up so many doors for the kind of things you have to do And you don't have to rely on the graphical user interface that Google creates for you So anyway, that's about it. Hope that answers sort of answers the question, but I will see you guys next time