1 00:00:00,000 --> 00:00:09,109 [MUSIC] 2 00:00:09,109 --> 00:00:12,765 Hi, I'm Jay McGavren, a web developer and instructor at Treehouse. 3 00:00:12,765 --> 00:00:15,040 And I'm here to introduce you to the terminal. 4 00:00:15,040 --> 00:00:19,340 The terminal is a way to control your computer using just text. 5 00:00:19,340 --> 00:00:23,650 The graphical user interfaces, or GUIs, you see on desktop, and mobile apps, and 6 00:00:23,650 --> 00:00:25,270 websites have their place. 7 00:00:25,270 --> 00:00:27,750 You can easily see what options are available to you and 8 00:00:27,750 --> 00:00:29,200 click on the one you want. 9 00:00:29,200 --> 00:00:32,860 But have you ever tried to describe to someone how to do something using a GUI, 10 00:00:32,860 --> 00:00:35,810 especially if it's buried under three levels of menus? 11 00:00:35,810 --> 00:00:37,890 It takes a long time. 12 00:00:37,890 --> 00:00:40,467 Have you ever tried to do a task repeatedly using a GUI, 13 00:00:40,467 --> 00:00:42,721 especially if there's no shortcut key for it? 14 00:00:42,721 --> 00:00:43,564 It's tedious. 15 00:00:47,075 --> 00:00:51,202 The terminal lets you run commands that are far more powerful than anything a GUI 16 00:00:51,202 --> 00:00:52,010 can do for you. 17 00:00:53,020 --> 00:00:57,380 Apps that run in the terminal use what's called a command-line interface, or a CLI. 18 00:00:58,380 --> 00:01:02,030 It takes longer to learn how to use a command-line interface than a GUI. 19 00:01:02,030 --> 00:01:05,580 But in the end, a command-line interface is faster for more complicated or 20 00:01:05,580 --> 00:01:06,890 more repetitive tasks. 21 00:01:08,290 --> 00:01:11,260 This is why so many developers prefer to use the terminal. 22 00:01:12,270 --> 00:01:15,211 Many developer tools only offer a command-line interface, 23 00:01:15,211 --> 00:01:17,070 not a graphical user interface. 24 00:01:17,070 --> 00:01:20,208 The terminal is the only way you'll be able to perform essential tasks, 25 00:01:20,208 --> 00:01:22,380 like managing Docker containers, for example. 26 00:01:23,410 --> 00:01:27,250 Even when an app has both a CLI and a GUI available, like with the Git 27 00:01:27,250 --> 00:01:31,930 version control system, most developers prefer to use the CLI version. 28 00:01:31,930 --> 00:01:37,560 And most servers where developers deploy apps only offer command-line access. 29 00:01:37,560 --> 00:01:39,720 So how do you access the terminal? 30 00:01:39,720 --> 00:01:43,470 Most operating systems offer some kind of terminal-like program by default. 31 00:01:44,490 --> 00:01:47,420 On Mac and Linux machines, it's usually simply called Terminal. 32 00:01:48,450 --> 00:01:51,830 On Windows, it's called Command Prompt, although there are alternatives, 33 00:01:51,830 --> 00:01:53,450 like PowerShell. 34 00:01:53,450 --> 00:01:56,010 But you don't have to worry about those details right now, 35 00:01:56,010 --> 00:01:59,700 because you have access to Treehouse Workspaces. 36 00:01:59,700 --> 00:02:03,740 Each workspace includes a console area that works just like a terminal. 37 00:02:03,740 --> 00:02:06,440 You can run commands and see their output. 38 00:02:06,440 --> 00:02:09,660 We'll give you directions on how to do this shortly. 39 00:02:09,660 --> 00:02:13,320 In this course, we're going to be focusing on the terminal as used in Linux and 40 00:02:13,320 --> 00:02:15,368 Mac operating systems. 41 00:02:15,368 --> 00:02:17,140 We'll have info near the end of the course for 42 00:02:17,140 --> 00:02:20,380 those who need to apply some of these concepts in Windows. 43 00:02:20,380 --> 00:02:24,604 You might wonder why we're not showing the Windows way first, let me explain. 44 00:02:24,604 --> 00:02:28,569 The vast majority of servers where developers deploy their software 45 00:02:28,569 --> 00:02:32,192 are running operating systems that are compatible with Unix, 46 00:02:32,192 --> 00:02:34,667 a powerful OS developed in the 1960s. 47 00:02:34,667 --> 00:02:39,070 These compatible OSs include Linux and Mac OS. 48 00:02:39,070 --> 00:02:41,990 All of these operating system feature file systems and 49 00:02:41,990 --> 00:02:44,320 programs that work in much the same way. 50 00:02:44,320 --> 00:02:46,710 If you learn to use terminal programs on Linux, 51 00:02:46,710 --> 00:02:50,650 you'll find they all work in much the same way on Mac OS, and vice versa. 52 00:02:51,670 --> 00:02:53,540 This isn't true with Windows. 53 00:02:53,540 --> 00:02:56,470 You can still do a lot from the Command Prompt on Windows, but 54 00:02:56,470 --> 00:03:00,770 most commands are run in a different way and will only work on Windows. 55 00:03:00,770 --> 00:03:04,785 We're focusing on Unix-like operating systems because they're more popular in 56 00:03:04,785 --> 00:03:09,510 servers, and because the commands you learn will be usable on more systems. 57 00:03:09,510 --> 00:03:12,578 But like I said, we'll have info near the end of the course for 58 00:03:12,578 --> 00:03:15,700 those who need to apply what they learn on Windows. 59 00:03:15,700 --> 00:03:17,366 There is quite a bit of overlap, 60 00:03:17,366 --> 00:03:22,070 and you can even install tools that will give you Unix-like commands on Windows. 61 00:03:22,070 --> 00:03:26,910 We'll also show you how to access the terminal on Mac and Linux systems. 62 00:03:26,910 --> 00:03:27,410 By the way, 63 00:03:27,410 --> 00:03:32,160 this course is an update to our retired Console Foundations course by Jim Hoskins. 64 00:03:32,160 --> 00:03:35,275 A big thanks goes to Jim for his earlier work. 65 00:03:35,275 --> 00:03:36,210 Okay, are you ready? 66 00:03:36,210 --> 00:03:39,640 In the next video, we're going to try our first terminal commands.