1 00:00:06,540 --> 00:00:07,373 - In this video, 2 00:00:07,373 --> 00:00:10,080 I would like to explain what the shell is all about. 3 00:00:10,080 --> 00:00:11,340 And in order to understand, 4 00:00:11,340 --> 00:00:15,060 we need to talk about a little bit about Linux architecture. 5 00:00:15,060 --> 00:00:17,490 So the heart of Linux is the kernel. 6 00:00:17,490 --> 00:00:19,560 The kernel is the part that takes care 7 00:00:19,560 --> 00:00:22,263 of addressing the hardware in your system. 8 00:00:23,220 --> 00:00:26,130 This kernel comes together with fundamental libraries. 9 00:00:26,130 --> 00:00:28,800 These are offered by glibc, 10 00:00:28,800 --> 00:00:32,700 and you can also consider glibc an essential component 11 00:00:32,700 --> 00:00:34,533 of the Linux operating system. 12 00:00:35,550 --> 00:00:38,160 In these libraries, there are specific functions 13 00:00:38,160 --> 00:00:42,240 and in order to use all of these, we need a user interface 14 00:00:42,240 --> 00:00:45,363 and the user interface that will be the shell. 15 00:00:46,200 --> 00:00:49,380 So the shell bash is a default shell on Linux. 16 00:00:49,380 --> 00:00:52,410 The shell is where you as a user are going 17 00:00:52,410 --> 00:00:54,750 to type your commands. 18 00:00:54,750 --> 00:00:56,610 So everything you do as a user, 19 00:00:56,610 --> 00:01:00,450 every command that you type goes through a shell 20 00:01:00,450 --> 00:01:02,370 but the shell is not the only thing. 21 00:01:02,370 --> 00:01:05,670 Apart from that, there are surfaces as well. 22 00:01:05,670 --> 00:01:07,950 Surfaces don't need to go through a shell. 23 00:01:07,950 --> 00:01:11,640 Surfaces would go through this other component, 24 00:01:11,640 --> 00:01:13,830 which is called system D. 25 00:01:13,830 --> 00:01:16,200 System D is the manager of everything 26 00:01:16,200 --> 00:01:19,410 and as manager of everything connects directly 27 00:01:19,410 --> 00:01:21,720 to your glibc and your kernel. 28 00:01:21,720 --> 00:01:24,000 So it's just a different route that can be used 29 00:01:24,000 --> 00:01:26,400 by your services. 30 00:01:26,400 --> 00:01:28,590 But if it's about typing commands 31 00:01:28,590 --> 00:01:31,590 and making your life on a command line easier, 32 00:01:31,590 --> 00:01:33,753 the shell is what you should be looking at.