Linux Command Line

Linux Command Line Overview
In this episode, Daniel and Don take a look how to use a Linux terminal to gain access to the command line. They demonstrate Gnome terminal, Xterm, Konsole and several other terminals and walk through their configruation and use.
Clock icon0h 35m
Welcome to ITProTV. I'm your host, Don Pezet [CROSSTALK] [MUSIC] You're watching ITProTV. All right, greetings everyone and welcome to another great episode of ITProTV. I'm your host Daniel Lowrie, and in today's episode we are kicking off our Linux command line series. It's gonna be a lot of fun, gonna learn a lot about Linux. And joining us in the studio, our good friend, Mr. Don Pezet. Don, welcome to the show, sir. Thanks for coming today. Hey, thanks for having me, Daniel. And this is a really fun topic for me. Diving into the shell and actually getting these working. We've got a series coming up on batch scripting that's gonna have a ton of really cool things that you can do that are all driven by the command line. So we need to know how to get in and interact with that shell, interact with the interface that we have, to actually kind of talk right to the Linux kernel and get to do some really neat stuff. And one of the things that I always try and remember is that in the Linux world, almost everything is developed from the command line first, and then eventually gets a nice little GUI stuck on it, a graphical user interface. But if you just stick in the graphical environment, you're really limited, there's only so many things you can do. And when you pull those shackles off and dive right into the command line, sky's the limit. So you can do so much stuff. So I'm excited to dive into it here in this episode, and really the whole series, to be able to see what we can do from the command line, how we can use it, and some of the neat utilities that are there that let us talk to that system. Well, Don, when we start talking about terminals, right, the command line stuff, there are terminals. It's a little black box that pops up and we type command into it. And we think, that's kind of vanilla. But there's a bit more to it than that, right? Yeah, in the olden days where we had a mainframe or something in that nature, you would have a dummy terminal. And a dummy terminal was a keyboard and a monitor, and when you sat down at it, you would just see a command prompt. You didn't have a graphical user interface, you didn't have a mouse. But on most computers these days, when you sit down at them, you actually get a graphical user interface. So that the terminal, the command line, is kind of hidden away behind the scenes, right? So we need to know how to get to it. And fortunately, there's actually a number of different ways to get to it. Now, remember that Linux, whether it's running as a desktop or whether it's running as a server, it really is the same under the hood. There's a lot of operating systems that differentiate. You have Windows Server versus Windows Desktop, two different products. But in the Linux world, it's really the same. The big difference is that when you install Linux as a server, you normally leave the GUI off. So if you push the power button on a Linux server, on the screen you see the text-based terminal, the command prompt that you can jump into and start to work with, right? But if you do it on a desktop, you get a graphic user interface. Some people put a graphic user interface on a server. But you're not really supposed to, but you can. So either way, if we get the graphical interface, how do we get at it? Well, it's not that the text-based one is gone, the text-based one is just kind of hidden away. So let me show you here on my laptop. So this is my laptop, I use it every single day, and so I have a graphical user interface on it because I don't want to do everything from the command shell. Although, I do a surprising amount of things. Quite a bit, yeah. [LAUGH] So when I log in, it's graphical, right? So I can launch in here and I can browse my files, and do all the different things that I need to do right here through a GUI. And then that's great, right? But if I want to access the terminal, the command prompt is actually running in the background. I just don't see it, right? On most Linux distributions, you actually have usually about six text-mode terminals that are running in the background you're just not seeing, right? They fire up briefly while the computer's booting up, and then the GUI loads and takes over from there. So I'm in X Windows but no Window managers, all kind of running and giving a GUI. If you wanna see the text based stuff, you can, but it's not as good as it used to be. And the main problem with that is high resolution monitors. So the monitor on my laptop, I forget my resolution, it's something like 3,200 by 1,800 something ridiculous like that. Crazy. And high resolution monitor, even like a 1920 by 1080 monitor these days makes the terminal almost unreadable. It's like a postage stamp on your screen, it's crazy. It's really tiny. So here, let me pull mine up. And I'm just gonna switch right over to one of my text-mode terminals. So you're gonna see my monitor blank out, and then there it is, okay? I'm now in a text-mode terminal. And it's asking me to login. Now, how do I know that? [LAUGH] Because if you look, I mean, that is really, really small. I know for you guys in TV land, you're seeing this in the little boxed in view. But even if you were to full screen it, it's really small. Even looking at my own monitor, it is really small, I can barely read it. And unfortunately, there's no way for me to adjust that without like really going in and re-engineering this terminal. You have to put in a giant font and all this other stuff, so there's not an easy way to do it. As a result, this is not how we normally access the terminal. If you do, if you ever want to do this, the keyboard shortcuts are Ctrl+Alt+F1. And it's usually Ctrl+ F1 through F7, and one of those will have the GUI, okay? Most operating systems today put the GUI on F1. So if I hit ctrl+alt+F1, it should return me back to my GUI, all right? Some distros put it one F7, though. And you hit Ctrl+Alt+F7, and there you go. Meanwhile, one through six, or whatever ones aren't used, those are the text-based terminals. So they're there, they're running, and you use them. If you ever lock up your graphical user interface and you're stuck, you can drop to one of those terminals and try and fix the problem, it's nice to have, if you also have a magnifying glass [LAUGH]. [LAUGH] So that's not the normal way that we get into our command prompt, to get into that kind session to talk to the Linux kernel. So instead, what we normally use is a terminal program. And there are a number of different terminal programs that are available. And what you'll find is that over time, you'll find one you really like, that you'll kind of bond with, you'll team up and be buddies. That's like the Linux manifesto, right? Is do it the way you like to do it and there's many options on the smorgasbord of different things that do kinda the same stuff, right? Yeah, absolutely. And there's no right or wrong answer here. You need to find the one that works out the best for you. Now, the best piece of advice I can give you is don't just use what I use, because what I use is just what I like. And I get a little bit lazy sometimes, not lazy as in I don't want to do work, but lazy as in I'm in a hurry and I want to get to a terminal as fast as I can. There might be some flashy terminal that has a lot of bells and whistles that's awesome. But if it's not installed by default, I don't want to deal with it cuz I don't have time to install the terminal. I want to use something that's already there. So a lot of times, I'll pick one that I know is not as feature rich. So don't let me influence you. You need to find out what works for you. Or you might agree with me and say, hey, I only want to use stuff that's installed natively. I don't want to have to install extra packages to get to some crazy terminal. Now, when you install your Linux distro, it will have at least one terminal available. And so you can use whatever GUI you've got, if you got Unity, or I'm on GNOME here, if you have KDE. When you bring up your menu and you just type in terminal, something's going to come up, okay? Now, I have a number of terminals installed in my machine, so I see several choices. But you may only see one, right? It just depends on the distro. And the one that you'll normally have is this guy right here, he's called Xterm, right? The X Windows GUI is kind of the defacto standard for graphical interfaces. Now, it's changing. We have a replacement for X Windows called, or Xterm is what that's actually called, that's slowly being replaced by a product called Mir. And, or sorry, not Mir, Wayland. There we go [LAUGH]. Gotta get my managers right. So Wayland is kinda taking over, so you might not have XTerm in that case. In which case, you have other terminals that might be available. But normally, a distro will take some terminal and label it as just plain old terminal, okay? Now in a GNOME environment that's actually what's called the GNOME Terminal. In a KDE environment, this would be linking to what's called Konsole. Which I actually have installed also, Konsole with a K. This is from KDE. But there are other terminals that are out there that you might see. All of them provide the same basic functionality. But then some of them add a lot of bells and whistles that enable you to do some really neat things. So if I were to launch into xterm, that's the oldest one. That's the most basic terminal. And when I get into it, I see- A postage stamp. It's pretty small. [LAUGH] And if I were to zoom in, I can read it now, right? But xterm is really operating the same way as those text mode terminals in the background. It's just putting a GUI wrapper around that terminal. And I can get in and I can do some set term commands to try and change the background color. And other things to try and make it useful. But as far as the GUI is concerned, there's not really any options for me. There's not much of a menu here other than minimize and maximize. And even if I go up to the menu items up here, there's just quit. I don't get a lot of functionality with xterm. This was the original, graphical terminal that was made available and so it's got a very basic set. So most of us aren't gonna use that one. Most of us are gonna use GNOME Term or Konsole if you're in KDE. But GNOME Term is really the most popular one. If you're running Ubuntu, Debian, Fedora, RedHat, Centos. All of those distros default to Gnome Term. Ubuntu is using the Unity window manager. But the Unity window manager actually uses GNOME Term as its terminal. So even though it's not GNOME, it's still using that terminal. So that's kind of the most popular one. And that's the one that I'm gonna use for the rest of this series. So for the whole series, I'm going to be using the GNOME Terminal. But I wanna walk you through a few of the other terminals here in this episode to give you an idea of which ones might be great or which ones might be lame. They get kind of fancy, don't they, Don? They really do. Some of them, some have some really impressive feature sets. So, for example, let me just fire up real quick. We'll breeze through a few real quick and then I'll do a deeper dive into some of them. So, for example, the GNOME Termina. If I just fire up my terminal, this is the GNOME Terminal, the default built one in. See how I got a nice big font? Well, it didn't have that by default but I was able to change it because I've got all these menu options up here where I can tweak it. I can change the font size. I can change the colors. I can change what's being rendered. There's a lot that you can do [CROSSTALK]. I love the fact that once you make those changes, a lot of these will have profiles you can create. And say, I want this to be my default profile. And that way if I want to do different things, I can just load different profiles that's already preset for me. That is a fantastic option on newer style terminals like this. Yeah, and some of the other features they add really take advantage of the GUI. If I need more than one terminal open, I can open more than one window, right? You can go up here to file and open terminal and now I've got two terminal windows open so I could run two different commands. But this one actually have tabbed terminals as well. Under that file option here, I had open tab. And so now I could have two tabs, or three tabs, or four tabs. You just do Ctrl+Shift+T and I get more and more tabs. So I might run something like, maybe I run Midnight Commander which I don't have installed, so let me install Midnight Commander. So I'm installing a program here and while it's installing I could jump over to another tab and be doing work. And then when I come back to the first tab, it finished installing. I can run Midnight Commander so now it's running. And I can switch over to another tab and perform more work. And so I can take advantage of those tabs to do more than one thing all from right inside of the terminal. So that's kind of a nice feature to have that we didn't have in the older xterm. Or you definitely don't have in the text-based console if I do Ctrl+Alt+F1. Although I could Ctrl+Alt+F1, F2, F3 and move between them. That was the earliest form of multitasking. That you could run these full screen or locked applications that would lock your session and just switch over to another terminal and fire up more applications that way. So you had that functionality. Now, GNOME Term is pretty powerful. But there're some things that it doesn't do that other consoles or other terminals might do that you appreciate. So, for example, I use one called Guake, G-U-A-K-E. Guake is nice because it is built off of, it's actually modeled after the old video game Quake. In the video game Quake, it was one of the first video games that had a dropdown console. You could hit, I think it was tilde on the keyboard. And this little console would drop down from the top of the screen, and you could type in cheat codes. It's really all you ever type. For people like me that use a terminal a lot. I'm constantly going to the terminal. I don't necessarily want it to be a window that pops up like this. I would like it just to be something that I can quickly access. And if you install Guake, it's running in the background. I've actually got a little tool item, whoops, somewhere up here that shows it. Well, anyhow, it's way up here. This little tool item and I can hit F12 on on my keyboard and there's a console that pops up and I have that access. And so if I wanna jump in and run something really quick I can. And it's really handy if I'm, now, I'm browsing on the internet and I come across some tutorial, right? So maybe I'm doing a Vim tutorial to learn some Vim commands. And so I'm here and I'm reading about how to do something and then I pull up that terminal. I run something real quick. I get it out of the way. And so just tied to my F12 key, I can make that pop up and come and go, so that's a neat feature. It's a different terminal but I like it because it gives me some functionality that I don't have in the normal terminal. Another one that I use from time to time is Terminator. Terminator is a third-party terminal. It's available in Ubuntu, and Debian, Fedora, it's available in all of them. And it has a neat function that let's you split the screen, right? In GNOME Terminal, I could do tabs and if I had multiple tabs I could have multiple terminals but I couldn't see them both at the same time, right? If I wanted to see more then one thing at the same time, I could fire up Terminator. And with a simple right-click I can split horizontally, or split vertically, so I'll do a vertical split. And now I've got two terminals side-by-side. And I could even come in and take one and I could split it horizontally. And now I'm starting to lay these out where I've got all these different terminals. And that's handy because I might be running something like htop here. So I'm monitoring performance on my server. And then down here, maybe I'm doing a little journal CTL-F. And so I'm following my system d-logs, right. So now in the top left, I'm seeing system performance. In the bottom left, I'm seeing what's going on. And in the right, I could be doing my work. I could come in and I could say, well, I need to restart some service. I'll restart I don't know, I'll restart my network stack, right. Why not? So I'll restart something and I can see the log messages down here being generated as part of that restart. And I can see any CPU or memory activity that was modified by it. And I could start to do more than one task. That's a pretty neat function. By being able to slice your screen up like this, is not something I could do in GNOME. But I can easily do it right here in Terminator. So that's where I go back in saying when it comes to picking a terminal, there's a ton of them that are out there and you need to find the one that you like best. These guys right here, they each have some kind of shining advantage to them, right? Terminator can split the screen but it's not installed by default. I would have to install it if I wanted to use it, right? So if I'm in a hurry on a system, I might not want to install it. I might wanna use something that's built-in. But boy, slicing up the screen like this is pretty handy, right? Same thing goes for Guake. It's really nice to have that drop down from the top that I have to install it and get it set up. It's not installed by default. So I might not wanna deal with that. It's kind of a pros and cons type approach. You need to find out which one meets your needs. Yeah, Don, and I really like how it splits the screen for you. Because if you've ever tried to, and even if you come from a Windows background. And you're like, let me check out this Linux thing. You have the black screens and you're moving around. You're trying to, I'll snap to this side, snap to that side. And try to get everything to look just like you like. Where I'm just, okay, split this, split that, and it's kind of doing that for me. It takes a lot of the hard work out of it, of getting everything lined up perfectly. And that kind of takes us into something else, Don, which we kind of alluded to, which was customizing these terminals. Can you walk us through some of that customization? Yeah, so let me fire up my regular Gnome terminal again. And I want to show you guys profiles, right? Profiles, Daniel mentioned them earlier, are a way that we can kind of customize our terminal. And change the way that it appears and get it to suit our needs. The default profile for most systems is not something that I like. It's usually very small, it's maybe not a font that I like. And so I usually do some customizations there that are part of my user profile. I bring it along with me when I sit down at a new system. So if I wanna go in and take a look at that. What we do is inside of Gnome, if you take a look at your menus up top, or inside a Gnome terminal. We can go to Edit, and under Edit you'll see two options, there's Preferences, and Profile Preferences. And that is a little bit confusing, why do I have these two things that are very similar? Preferences, those are settings that affect the entire terminal, right? Not just my little session inside of it. And the Profile Preferences, that's what affects my session. So let's start with Preferences, and kind of see what's in there. You'll find that there's actually not a whole lot of options tucked away inside of this. So taking a quick glance at it, first I've got, Show menubar by default. Well, I need my menubar, that's why I'm in the options. But if you've memorized all the keyboard shortcuts, you might not need that menubar. You can get a little more screen real estate. Enable mnemonics, such as Alt+F to open the File menu, right? Those are turned off by default because we might need to send Alt+F to the program running inside of the terminal, right? But if you use those, you can turn it on. This is one that I usually turn off, this is on by default. Enable the menu accelerator key, F10 by default. Which means if you hit F10, the next series of keys you hit is being sent to the menu for the terminal. Well, there's a lot of programs like Midnight Commander that I ran earlier. F10 is the key to exit Midnight Commander. If it's mapped to the terminal, that's gonna make it where I can't exit Midnight Commander, it's a [LAUGH]. Open another terminal, and [LAUGH]. You could, you find a way around it. But it's neat that we can come in and we can change that. And then you've got themes. So we can do the Light theme or the Dark theme. You got shortcuts that you can define. You can override keyboard shortcuts to set them with different themes. Maybe you just don't find the default ones very intuitive. The Profiles I'll talk about in a second. And then the Encodings, right? If you're here in the US, it usually defaults to UTF-8, which is probably what this one is at. Let's find out, yeah, UTF-8. But if you are in another country, if you're typing in other languages. Well, UTF-8 is designed to be universal, that's what the whole U part is. But some languages still aren't perfect with that. So you will see where there's other character sets that you can use. Like Greek or Cyrillic to be able to support your alphabet and render it better on screen. So those are things we can change. None of those settings that I just showed you have to do with font size, or color, or performance of the console itself. So these are all just kinda general settings that apply to the terminal. Under Profiles, this is where we create Profiles. And you'll have one profile by default it's usually called Default. I've renamed mine Don's Custom, but you can call it whatever you want. You can have one or more Profiles, and the Profiles are where all your special settings really end up. That's where the real work gets done inside of these things. So if I have a shared computer that I use alongside Daniel. He might have his profile and I have my own profile, and we can easily switch back and forth. Now that doesn't normally happen. Because normally, Daniel has his own user account, I have my own user account, so we don't bump heads. Never the twain shall meet, right? But I might need some different profile based on applications that I'm running, right? I might have a certain color scheme that works well with one application, and doesn't work well with another. So I can come in, and I can create those. But a lot of times, we'll just have one. You can use the Default one if you want, and you can edit it to customize it how you want. Now I went into the Preferences screen. And if I choose Edit, it's going to take me to the Profile Preferences. That's the same as if I've gone back out here and gone to Edit and Profile Preferences. The difference is this immediately takes me to the Don's Custom profile. Versus going to the regular Preferences screen, I can pick which profile I want to edit if I have more than one profile. So that's the only difference. If I just wanna modify the profile I'm currently in, I can go to Edit, and Profile Preferences and jump right in there. And now we can jump in and start to customize things. Now I wanna show you some of the standard things that I customize, right? The first thing, just the very first thing that I do is go to a custom font, right? A lot of times the default font is set to Monospace 10. And a 10 pitch font on a high resolution monitor is very, very difficult to read. Now, I'm getting older. [LAUGH] Getting a little older each day, and it gets harder and harder for me to see. So I need a slightly bigger font. You might be young, you're 18, you're in high school, and you can read a microscopic font. And so you set the highest resolution font, good for you. Or you're Mike Rodrick. One of our other hosts, he always has tiny fonts, I don't understand it. But you can pick whatever font you want, and you can make that larger or smaller. You can actually choose from a number of different fonts. Maybe, I have seen people that like the ones that look like cursive or whatever. You can get all kinds of fancy-pants with this stuff, if you want. And you can load custom fonts too, if you really wanna go crazy. Those look good, I like that. Some don't work as well as others. [LAUGH] So you might not want those. We're not going to pick the Wingdings font or whatever, or Webdings. But you can customize this to be pleasing to you. If you are going to be working in this terminal a lot, you want it to be something that makes sense. But for me it's normally the font size that impacts me the most, and I can see that right down here. I've got mine at a 16 pitch, you might need to go even larger. If you're on a super high resolution monitor, you may want it at a 24 or something higher like that. But usually, 10 or 11 is the default and for me that's just too small. So we can customize that. After that, there's other things we can customize like the Initial terminal size, okay. Now, the default here, let's do this. Let me get out of this one. And I'm gonna go and I'm gonna switch, let me go into my Preferences and Profiles, all right? And I'm gonna create a new Profile here, right? And this is just at the default, so see how it's Monospace 12, slightly off on that. But the initial terminal size is 80 and 24, right? So that's kind of the default settings here for this Unnamed profile that I've created. So I'm going to take that profile, and so we've got this Unnamed profile right there. And I'm going to switch my terminal to use that. Now, you probably noticed the option where I can pick the default profile that's going to be used. And right now it's going to default to Don's Custom. So I'm gonna choose Unnamed, and the reason I'm doing that is I want it to just launch when I first launch. We can always switch when we launch a new terminal, when we open one from an existing terminal. But when you open a new one it takes that default value. And so here's the default terminal. And you'll see kind of my point, it's really small, it's hard to read. It's not necessarily the ideal situation. It's also not very wide, okay? Now, I can come in and hit Ctrl+Shift+Plus and make it bigger, okay? But that's a one time thing. If I come up here and say File ; Open Terminal, until I actually get choices now between which Profile I wanna use. I can open another one unnamed and see how the new one comes back small. It even does that with tabs, which is super annoying. [LAUGH] [LAUGH] If I go to open a tab and I do it unnamed, see how this tab is small, and then this tab is big? As I switch tabs, it's changing. That's pretty annoying, too. I feel like I'm on psychedelics watching that. What's going on here? [LAUGH] It's usability, right? We have to get in here and kind of customize this to meet our needs, right? That's just really the whole point of having these profiles is being able to set them to whatever it is that our system needs. So if I go back into my preferences, I can change that default profile back to mine. And I can edit it. But I like to modify the font size, and then the width of the terminal. The terminal itself will default to 80 by 24, cuz that's what the old dummy terminals used. The mainframe terminals I mentioned, they were 80 characters wide and 24 characters or lines tall. That can be kind of small on our new widescreen monitors. Most people buy 16 by 9 monitors these days. So it makes sense to make the terminal a little wider. i usually go 100 by 24, like that, is kinda my default. A few other things you can tweak, the terminal bell. The terminal bell is super annoying. [LAUGH] Any time, maybe you backspace to delete characters and there's no more characters, every time you hit backspace it goes ding, ding, ding. It gets annoying. Some people really like that, right? So we can leave that bell on or off. Mine's on, but I keep my laptop muted so it doesn't matter. But you might wanna disable that. You can specify a command. When you first launch the terminal, what does it do? Well, the default is it drops you to command prompt, and it sits there and it waits for you to do something. But if there's a command that you run every time you launch the terminal, you can come in here and tell it, hey, I want you to run a command. Maybe I don't want it to go to a regular terminal. Maybe I want it to go to something special, like tmux. Tmux is a special kind of terminal that's very much like Terminator. They'll let you slice up the screen, but it does it all with keyboard shortcuts, and it does it all in one session. It's kind of, it's almost borderline magic. [LAUGH] So I can say, hey, when I launch a shell, I want you to just go straight into tmux, don't go into Bash, or whatever my default shell happens to be. So you can override those values here. Normally, we don't do that, but you could do it. The colors? The colors are kinda fun. In the olden days, right, we just had white text on a black background. Or maybe the other way around. Black text on a white background. Or your favorite, black text on black background. [LAUGH] Yeah, yeah. It's always great. [LAUGH] The stealth shell, right? [LAUGH] But you can change it. You'll see like green on black, to get that true retro feel. [LAUGH] [INAUDIBLE] that, you'll really feel like a dummy terminal. You can do that. But all of these color settings can be overridden from within the terminal itself. And you'll see that pretty frequently when you're working with these terminals because things get colorized. When I pulled up my directory listing, different files had different colors. That's being determined by the shell that I'm using. So the terminal has a default color set, and that's really what you're picking here. And then the shell can override that at different places. And there's some default schemes that you can choose from. You'll see down here, mine's set to custom for some reason. I don't remember customizing it. But you can choose from some of these other default color schemes to pick whatever it is that you want and get things kind of set to your liking. The scrolling tab is kind of an important one for me. As you run commands, there's often times when commands will exceed the top row of your screen, it'll scroll off the screen. You need to be able to scroll back and see it. Some operating systems have that scroll back buffer set really small. If it's only set to 100 lines, and I do a yum update and there's more than 50 updates, it's gonna be more than 100 lines, I'm gonna lose messages that were at the top. Okay, that's how it works. So I need to have scrollback buffer that's big enough to let me scroll back to see messages. Now you don't want to go too big, because where does that scrollback buffer get stored? It's stored in RAM. So the bigger your scrollback buffer, the more RAM you're eating up. Now this day and age, we usually have tons of RAM, so it's not that big of a deal. But you don't wanna set this to be millions of lines stored in RAM. So 10,000 here is actually a really good number, that's a huge number of lines to scroll back and see, but without consuming too much memory. But you might wanna tweak that and change it, make it smaller, make it bigger. You certainly have that option. Well, Don, I know a lot of people like to, and with these newer terminals, they have the ability to increase the transparency of the terminal. Very cool stuff, kind of an effect thing. But that's kind of a personal thing, right? It is, I hate it. Where is that, is that under colors? Yeah, I've noticed you're not a huge fan. No, I absolutely hate it. Here it is, transparent background. If you watch a hacker movie- [LAUGH] Any hacker movie. Any hacker movie, they love the transparent terminals. I don't know why. It's like, I've got this readable terminal, let's make it less readable. The transparency, right, so if I turn that on, this transparent background, what it does is it takes the background of your terminal and it makes it read kind of see through it. And the idea behind that is if I have multiple terminals, right? So let me close out of this. I'm gonna open up a new terminal, right? And I'm in here and I'm doing work, well, see how you can see my wallpaper through the terminal now? You can see the big 7. I see the Linux. The word Linux up there, yeah. I'm seeing through my terminal. And if I open up another terminal window, see how I can see the old terminal through my new terminal? It gets super confusing, doesn't it? [LAUGH] Well, I think the idea was if I needed some information from the other terminal I could see it while I'm in here. But in practice what happens is you end up with just overlapping stuff. And it becomes really confusing and difficult to read. And this is just terminal windows, right? Maybe I've got a webpage open, and so I'm browsing to ITProTV, and so I'm browsing the Internet, there we go. And so I fire open my terminals, and I can kind of see through them. And I've got the transparency set at 50%. That's probably a little too aggressive here. If we were to tweak that down a bit, it creates a kind of artistic effect that some people like. I absolutely hate it. [LAUGH] But some people, boy, they just love that stuff. So if I take that transparent background, and let me ratchet it down to a more reasonable level, right? Now you can still sort of see the web page behind it, but it's not totally in the way. You can get that and increase a nice little artistic effect. There are some distros that have this set by default. Again, I usually just come in and disable that transparent background. Now I can read everything nice and neat. That's the way that I like it. Now Don, I know we're running super short on time, but I was wondering if you could just touch on some of the, or one of the major things that we do inside of our computing experience, which is copy, cut, or paste. Okay. Can we do this in the terminal and can we go from like your web browser to the terminal? Yeah, you can, but it does get a little bit tricky, right? So normally, when you're in an application, like if I'm in a web browser back here. And I wanna copy Enjoy IT Training Courses, so I wanna copy this little marketing slogan. I can take that and I can hit Ctrl+C on my keyboard and that copies. And then when I go up here, I can hit Ctrl+V and it pastes, right? Well, that works. It even works in a lot of terminals, but it doesn't work in every terminal. And, the main reason is that Ctrl+C is usually a breaking command. It's how you abort a command. So for example, if I start pinging some server, It's gonna ping, and it's gonna ping forever, until I hit Ctrl+C. Ctrl+C tells it to stop, right? Ctrl+C doesn't tell it to copy, it tells it to stop. And so if I highlight some text, like with my mouse here, I'll highlight some text, and hit Ctrl+C, it didn't copy. And if I do Ctrl+V, it doesn't do much of anything, right? So those traditional copy and paste don't quite work the way that you might expect them to. Now you can always use your mouse, right, which is a little bit anti-Unix. But we're not in Unix, right, we're in Linux. I can highlight with the mouse and I can right-click and I can choose copy, and then I can right-click and I can choose paste. And there we go, it worked, right? But a lot of terminals will rematch shortcuts to something that actually does work inside of a terminal. Whichever terminal you pick, you'll need to look at what its defaults are, right? Back up here and edit and preferences. We had the shortcuts and right here is where I could define a number of shortcuts including copy and paste. And if you take a look at the ones that are in here, it's got Shift+Ctrl+C, Shift+Ctrl+V. So instead of just hitting Ctrl+C I hit shift as well and that's how it avoids sending the breaking command, right? So that'll make sure that it does that and ensures that I can copy it. So now, I could come in and I could highlight something. And I could hit, I don't usually do Shift+Ctrl, I usually do Ctrl+Shift. But Ctrl+Shift+C to copy and then Ctrl+Shift+V and there I'm pasting what I highlighted, all right? Now in the GNOME Terminal, that's the way you do it. That's the shortcut that you remember. In some terminals though they do what's called copy on highlight, where if you just highlight something the moment you let go off your mouse it copies it into the clipboard. And the moment you right click it immediately paste that data, right? The GNOME Terminal doesn't do that but there are terminals that do. And they usually just call that copy on click or copy on highlight. So as you dig through the options on your terminal, you may find something that indicates that. And I don't think I have that option here at all. If we take a look at even Shortcuts, O'm pretty sure GNOME Terminal doesn't support that. But like I said, yours might and if you dig through your options you may find it and see where you can turn that on or customize that option. So that's another way we might do that. But again, it does vary a bit from terminal to terminal. All right. Well Don, we've run out of time with this episode. I know you have more to go, jumping into the shells area or the arena, should I say. Yeah. But looks like we'll have to wait for part two on that. We do thank you for joining today. Is there anything you'd like to part our guests with before we go? I certainly didn't get to every terminal in the world, there's hundreds of them, and you might have a favourite one. I know I left out Konsole, the one from KDE. KDE's console has a neat little bookmark feature, where you can bookmark folders as you navigate your file system, you can bookmark location. And so when you launch that console, you can say go to this bookmark and it jumps right to that location on the file system. Very nice. It's a neat feature. All of those terminals, they have bright shiny spots that make them great to use. They usually have a couple of cons that make them not so great. You just gotta find the one that's perfect for you and it's trial and error. Usually they're very small so it's easy to install a bunch of them. I probably have five different terminals installed here. Just take a look at what you've got and find out what one you like and just know that it's pretty easy to move to another one if you chose to. That's right. It never hurts to test drive something, right? You're not locked into it. You don't like it, you delete it, and you move on to the next thing. Don, thanks for joining us today. We appreciate your expertise on this and imparting that into us. But as I've said, we're out of time for this episode. Definitely come back for part two as we look into shells. But as for this episode and we are gonna go ahead and sign off for ITProTV. I've been your host Daniel Lawry. And I'm Don Pezet. And we'll see you next time. [MUSIC] Thank you for watching ITProTV.

Overview

The Linux Command Line show is designed to introduce viewers to working on Linux based computers using only the command line interface. This is considered the first step in learning BASH scripting as most scripts are made up of a series of CLI commands.

Learning Style

On Demand

Length of course

9h 12m
20 Episodes

Here are the topics we'll cover

  • Getting Started with the CLI
  • Basic Shell Commands
  • Advanced Shell Commands
  • Shell Environments
  • Installing Software
  • Editing Files
Learning Options

Options for this course