WEBVTT

1
00:00:00.160 --> 00:00:02.799
<v Speaker 1>Welcome to the deep dive. Today. We're getting into something

2
00:00:02.879 --> 00:00:06.080
<v Speaker 1>that's well, it's practically everywhere Linux. You find it running

3
00:00:06.080 --> 00:00:09.880
<v Speaker 1>smart TVs, powering huge chunks of the Internet, maybe even

4
00:00:09.919 --> 00:00:12.480
<v Speaker 1>the website you just visited. But what is it really?

5
00:00:12.560 --> 00:00:16.640
<v Speaker 1>What are the absolute fundamentals behind this powerhouse OS? We're

6
00:00:16.679 --> 00:00:20.440
<v Speaker 1>doing a deep dive into Linux Yourself, concept and programming

7
00:00:20.519 --> 00:00:24.039
<v Speaker 1>by Sanil K. Singh. The goal isn't just definitions. We

8
00:00:24.079 --> 00:00:27.280
<v Speaker 1>want to find those real aha moments, you know, give

9
00:00:27.320 --> 00:00:31.440
<v Speaker 1>you a much clearer picture of Linux's architecture and why

10
00:00:31.480 --> 00:00:33.039
<v Speaker 1>it matters so much exactly.

11
00:00:33.079 --> 00:00:35.399
<v Speaker 2>We're trying to peel back the layers here, get past

12
00:00:35.439 --> 00:00:38.320
<v Speaker 2>the jargon and really grasp the core ideas that make

13
00:00:38.399 --> 00:00:42.159
<v Speaker 2>Linux so efficient, so secure, and frankly so flexible. Hopefully,

14
00:00:42.159 --> 00:00:44.960
<v Speaker 2>by the end you'll have a sharper review on why

15
00:00:45.039 --> 00:00:47.719
<v Speaker 2>it's become so dominant in so many critical tech areas.

16
00:00:47.759 --> 00:00:50.000
<v Speaker 1>Okay, let's start at the beginning. The origin story is

17
00:00:50.000 --> 00:00:52.679
<v Speaker 1>actually pretty cool and maybe not what everyone expects. Linux

18
00:00:52.719 --> 00:00:55.799
<v Speaker 1>wasn't some big corporate project started with one person, right

19
00:00:55.920 --> 00:00:57.439
<v Speaker 1>Linus Torvoltz.

20
00:00:57.039 --> 00:00:59.000
<v Speaker 2>Yeah, just a student back in ninety one. He was

21
00:00:59.039 --> 00:01:03.719
<v Speaker 2>inspired by miniic Andrew cannon bomb system and the whole

22
00:01:03.759 --> 00:01:05.719
<v Speaker 2>philosophy behind Unix. It really was a.

23
00:01:05.680 --> 00:01:08.439
<v Speaker 1>Passion project, which is amazing considering where it is now.

24
00:01:08.680 --> 00:01:13.040
<v Speaker 2>And it's key to understand what Linux actually is because fundamentally,

25
00:01:13.079 --> 00:01:16.159
<v Speaker 2>Linux itself is just the kernel, just the kernel, right,

26
00:01:16.480 --> 00:01:18.719
<v Speaker 2>think of it as the heart of the OS. Its

27
00:01:18.760 --> 00:01:22.040
<v Speaker 2>only job is managing the hardware, keeping resources in check,

28
00:01:22.079 --> 00:01:25.400
<v Speaker 2>that sort of thing. It's pure function. This focus is

29
00:01:25.439 --> 00:01:28.159
<v Speaker 2>actually one of its biggest strengths modularity.

30
00:01:28.239 --> 00:01:31.879
<v Speaker 1>So when I install, say a buntur Fedora, that's not

31
00:01:31.959 --> 00:01:32.519
<v Speaker 1>just Linux.

32
00:01:33.120 --> 00:01:37.200
<v Speaker 2>Exactly. What you're actually installing is a GNU Linux distribution.

33
00:01:37.799 --> 00:01:40.400
<v Speaker 2>That's the Linux kernel bundled together with a whole load

34
00:01:40.439 --> 00:01:43.680
<v Speaker 2>of software from the GNU project plus other applications. This

35
00:01:43.760 --> 00:01:47.359
<v Speaker 2>separation is brilliant because the core kernel can stay super stable,

36
00:01:47.480 --> 00:01:50.439
<v Speaker 2>but the entire user experience on top can be completely

37
00:01:50.560 --> 00:01:54.519
<v Speaker 2>changed or customized. And because its design philosophy came from Unix,

38
00:01:54.719 --> 00:01:57.680
<v Speaker 2>almost anything written for Unix could compile and run on

39
00:01:57.719 --> 00:02:00.879
<v Speaker 2>Linux pretty easily. That made it instantly power full and efficient.

40
00:02:01.000 --> 00:02:04.719
<v Speaker 1>That adaptability is really something, but okay for someone used

41
00:02:04.760 --> 00:02:09.159
<v Speaker 1>to like Windows or macOS. What's the biggest draw besides

42
00:02:09.240 --> 00:02:11.479
<v Speaker 1>just being free? Why did it take off so much

43
00:02:11.520 --> 00:02:14.360
<v Speaker 1>and keep improving? What's the secret ingredient?

44
00:02:14.639 --> 00:02:18.280
<v Speaker 2>Oh, that's definitely open source software OSS. It's more than

45
00:02:18.400 --> 00:02:21.800
<v Speaker 2>just being free to use or change. The real magic

46
00:02:21.919 --> 00:02:24.879
<v Speaker 2>is how fast it lets software evolve. The book puts

47
00:02:24.879 --> 00:02:29.680
<v Speaker 2>it really well. It talks about a rapid evolutionary process. Also, well,

48
00:02:29.800 --> 00:02:34.280
<v Speaker 2>imagine potentially thousands millions of programmers all over the world

49
00:02:34.319 --> 00:02:37.360
<v Speaker 2>being able to read, modify, and redistribute the source code.

50
00:02:37.520 --> 00:02:40.439
<v Speaker 1>Ah. So it's not just one company's team finding bugs.

51
00:02:40.479 --> 00:02:43.879
<v Speaker 2>Precisely, users find bugs, they fix them, They see a

52
00:02:43.879 --> 00:02:46.719
<v Speaker 2>way to improve something, they contribute it back. This happens

53
00:02:46.759 --> 00:02:49.120
<v Speaker 2>way faster than in traditional closed models. You end up

54
00:02:49.120 --> 00:02:51.680
<v Speaker 2>with software that's often more robust, more secure. That's a

55
00:02:51.680 --> 00:02:55.039
<v Speaker 2>big reason why for many Linux desktop users you don't

56
00:02:55.080 --> 00:02:57.360
<v Speaker 2>really need extra antivirus software.

57
00:02:57.439 --> 00:03:00.000
<v Speaker 1>Right. The community itself is kind of the security system

58
00:03:00.319 --> 00:03:00.719
<v Speaker 1>in a way.

59
00:03:01.159 --> 00:03:04.599
<v Speaker 2>In a way, yeah, and the book mentions the security

60
00:03:04.680 --> 00:03:08.560
<v Speaker 2>levels and data protection mechanisms are generally very high. Plus

61
00:03:08.639 --> 00:03:13.800
<v Speaker 2>there's this huge excellent developer community providing free support globally.

62
00:03:13.879 --> 00:03:16.080
<v Speaker 1>So it's not just free as in cost, but freeze

63
00:03:16.080 --> 00:03:18.560
<v Speaker 1>in collaboration exactly.

64
00:03:18.639 --> 00:03:22.439
<v Speaker 2>You get access to this massive pool of expertise, constantly

65
00:03:22.479 --> 00:03:25.159
<v Speaker 2>making the system better. It's a huge benefit for you

66
00:03:25.319 --> 00:03:25.800
<v Speaker 2>the user.

67
00:03:25.879 --> 00:03:29.319
<v Speaker 1>That collective brain power is pretty compelling. Okay, so we've

68
00:03:29.319 --> 00:03:31.800
<v Speaker 1>got the what and the why. Let's get practical. How

69
00:03:31.840 --> 00:03:34.639
<v Speaker 1>do I actually talk to Linux? It mostly comes down

70
00:03:34.639 --> 00:03:35.719
<v Speaker 1>to the shell, doesn't it?

71
00:03:35.719 --> 00:03:38.360
<v Speaker 2>It does. The shell is your main interface. It's the

72
00:03:38.439 --> 00:03:42.199
<v Speaker 2>command language interpreter, basically the layer between you and the kernel.

73
00:03:42.280 --> 00:03:44.680
<v Speaker 1>So it's more than just that black box where you

74
00:03:44.719 --> 00:03:45.360
<v Speaker 1>type commands.

75
00:03:45.400 --> 00:03:48.479
<v Speaker 2>Oh yeah, it's a whole environment. The process is simple

76
00:03:48.560 --> 00:03:50.919
<v Speaker 2>but powerful. You see a prompt, you type a command,

77
00:03:50.960 --> 00:03:53.560
<v Speaker 2>hit enter, The shell figures out what you mean, tells

78
00:03:53.599 --> 00:03:55.319
<v Speaker 2>the colonel to do it, The kernel does its thing,

79
00:03:55.400 --> 00:03:58.639
<v Speaker 2>You see the output, and then boom, a new prompt, ready.

80
00:03:58.400 --> 00:03:58.960
<v Speaker 1>For the next one.

81
00:03:59.039 --> 00:04:02.599
<v Speaker 2>A constant loop, a continuous feedback loop. Yeah, very effective.

82
00:04:02.719 --> 00:04:04.960
<v Speaker 1>And the shell most people use today is Bash.

83
00:04:05.120 --> 00:04:08.840
<v Speaker 2>Right. The original was the born shell shoish, but Bash,

84
00:04:08.919 --> 00:04:12.840
<v Speaker 2>the Born again shell is the improved jan U version.

85
00:04:12.879 --> 00:04:15.120
<v Speaker 2>It's pretty much the default everywhere now adds a lot

86
00:04:15.159 --> 00:04:16.040
<v Speaker 2>of useful features.

87
00:04:16.079 --> 00:04:18.360
<v Speaker 1>Okay, so we're at the shell right to type, but

88
00:04:18.879 --> 00:04:23.120
<v Speaker 1>just typing basic commands feels like scratching the surface. There's

89
00:04:23.160 --> 00:04:26.639
<v Speaker 1>this sort of secret language involved. These meta characters. What

90
00:04:26.839 --> 00:04:28.480
<v Speaker 1>are they and why are they so important?

91
00:04:28.519 --> 00:04:31.600
<v Speaker 2>Ah? Meta characters. Yes, they're not just random symbols. They are,

92
00:04:31.800 --> 00:04:34.040
<v Speaker 2>like the book says, a specific set of characters that

93
00:04:34.079 --> 00:04:36.519
<v Speaker 2>have a special meaning to the shell. They give you

94
00:04:36.639 --> 00:04:37.720
<v Speaker 2>incredible power.

95
00:04:37.920 --> 00:04:39.480
<v Speaker 1>Okay, Like, what give me an example?

96
00:04:39.600 --> 00:04:42.079
<v Speaker 2>Well, the asterisky it's not just for multiplication here, it's

97
00:04:42.079 --> 00:04:45.560
<v Speaker 2>a wild card. It means match zero or more of

98
00:04:45.639 --> 00:04:49.959
<v Speaker 2>any character. So if you type lsdata dot csv, it

99
00:04:50.000 --> 00:04:53.360
<v Speaker 2>could find data dot csv, data final dot csv, data

100
00:04:53.399 --> 00:04:56.160
<v Speaker 2>backup twenty twenty three dot csv. You know, anything starting

101
00:04:56.160 --> 00:04:58.040
<v Speaker 2>with data and ending with dot csv.

102
00:04:58.279 --> 00:04:59.360
<v Speaker 1>Okay, that seems useful.

103
00:04:59.360 --> 00:05:01.360
<v Speaker 2>What about the question The question mark is similar, but

104
00:05:01.399 --> 00:05:04.959
<v Speaker 2>more specific. It matches exactly one character. So report dot

105
00:05:05.000 --> 00:05:07.480
<v Speaker 2>doc would match report one dot doc or report ada

106
00:05:07.600 --> 00:05:09.800
<v Speaker 2>dot doc, but it wouldn't match report ten dot doc.

107
00:05:10.079 --> 00:05:12.199
<v Speaker 1>See the difference, got it one character exactly.

108
00:05:12.279 --> 00:05:15.600
<v Speaker 2>Then there's the pipe symbol DF. This one's a real workhourse.

109
00:05:15.680 --> 00:05:18.199
<v Speaker 2>It connects commands. It takes the output from the command

110
00:05:18.279 --> 00:05:20.399
<v Speaker 2>on the left and feeds it directly as input to the.

111
00:05:20.360 --> 00:05:23.279
<v Speaker 1>Command on the right, like plumbing for data.

112
00:05:23.399 --> 00:05:26.959
<v Speaker 2>Kind of yeah. A classic example is ls L L LISS.

113
00:05:27.199 --> 00:05:30.160
<v Speaker 2>You list files in detail LSL, but instead of flooding

114
00:05:30.199 --> 00:05:33.720
<v Speaker 2>your screen, you pipe that output into less, which lets

115
00:05:33.759 --> 00:05:35.600
<v Speaker 2>you scroll through it page by page.

116
00:05:35.759 --> 00:05:38.000
<v Speaker 1>Okay, I use that one. What about the greater than

117
00:05:38.040 --> 00:05:38.519
<v Speaker 1>signed on.

118
00:05:38.600 --> 00:05:44.040
<v Speaker 2>Output redirection, simple but powerful ls LS fileist dot t

119
00:05:44.279 --> 00:05:48.000
<v Speaker 2>x T. Instead of showing the detailed fileist on the screen,

120
00:05:48.319 --> 00:05:51.279
<v Speaker 2>it saves it directly into the file fileis dot pxt.

121
00:05:51.600 --> 00:05:54.600
<v Speaker 1>So these characters let you build more complex instructions exactly.

122
00:05:54.639 --> 00:05:57.879
<v Speaker 2>You go from just typing single commands to actually composing workflows.

123
00:05:58.279 --> 00:06:00.920
<v Speaker 2>But you do have to be careful. Well, sometimes you

124
00:06:00.959 --> 00:06:03.000
<v Speaker 2>want to use one of these characters literally, not for

125
00:06:03.079 --> 00:06:05.800
<v Speaker 2>its special meaning. Maybe you have a file actually named

126
00:06:05.920 --> 00:06:07.160
<v Speaker 2>report dot txt.

127
00:06:07.560 --> 00:06:09.360
<v Speaker 1>Ah, right, how do you handle that?

128
00:06:09.759 --> 00:06:13.079
<v Speaker 2>You can escape the special meaning using a backslash right

129
00:06:13.160 --> 00:06:15.680
<v Speaker 2>before it, or by putting the whole thing in single

130
00:06:15.720 --> 00:06:19.120
<v Speaker 2>quotes or sometimes double quotes. That tells the shell, Hey,

131
00:06:19.240 --> 00:06:20.480
<v Speaker 2>treat this as just a character.

132
00:06:20.639 --> 00:06:24.240
<v Speaker 1>Okay, useful safety tip. So medic characters give you precision?

133
00:06:24.879 --> 00:06:30.199
<v Speaker 1>What about just being faster? Are there tricks experienced users

134
00:06:30.240 --> 00:06:30.680
<v Speaker 1>rely on?

135
00:06:30.800 --> 00:06:34.720
<v Speaker 2>Oh? Definitely. Efficiency hacks are key. One huge thing that

136
00:06:34.720 --> 00:06:37.279
<v Speaker 2>trips up beginners is the path environment.

137
00:06:36.920 --> 00:06:39.959
<v Speaker 1>Variable path sounds important. It is.

138
00:06:40.199 --> 00:06:43.839
<v Speaker 2>It's basically a list of directories separated by Colin's where

139
00:06:43.839 --> 00:06:46.279
<v Speaker 2>the shell looks when you type a command. If the

140
00:06:46.279 --> 00:06:48.879
<v Speaker 2>command you're trying to run isn't in one of those directories,

141
00:06:48.959 --> 00:06:52.800
<v Speaker 2>a man not found exactly that dreaded message, so you

142
00:06:52.839 --> 00:06:54.879
<v Speaker 2>either need to type the full path to your command

143
00:06:55.120 --> 00:06:56.959
<v Speaker 2>or you need to add its directory to your path.

144
00:06:57.439 --> 00:07:00.399
<v Speaker 2>Understanding path saves a lot of frustration.

145
00:07:00.240 --> 00:07:02.839
<v Speaker 1>To know what else. Any keyboard shortcuts absolutely.

146
00:07:03.079 --> 00:07:06.279
<v Speaker 2>Tab completion is your best friend. Start typing a command

147
00:07:06.399 --> 00:07:08.720
<v Speaker 2>or file name, hit tab and the shell tries to

148
00:07:08.720 --> 00:07:11.839
<v Speaker 2>finish it for you. Saves typing, prevents typos. It's almost

149
00:07:11.839 --> 00:07:13.000
<v Speaker 2>like a mini security feature.

150
00:07:13.120 --> 00:07:14.519
<v Speaker 1>Yeah, I use tab all the time.

151
00:07:14.879 --> 00:07:18.079
<v Speaker 2>C trill plus L instantly clears your screen, great for

152
00:07:18.120 --> 00:07:21.319
<v Speaker 2>reducing clutter. And then there's command history. The up and

153
00:07:21.360 --> 00:07:23.959
<v Speaker 2>down arrow keys let you scroll through previous.

154
00:07:23.519 --> 00:07:27.399
<v Speaker 1>Commands, saves retyping long commands totally.

155
00:07:27.199 --> 00:07:29.720
<v Speaker 2>And c trill plus R lets you search your history.

156
00:07:29.920 --> 00:07:32.439
<v Speaker 2>Start typing part of an old command, hit cea trill

157
00:07:32.560 --> 00:07:36.439
<v Speaker 2>plus R and it finds matches. These aren't just minor conveniences.

158
00:07:36.480 --> 00:07:38.959
<v Speaker 2>They make you way faster and more accurate. You can

159
00:07:39.000 --> 00:07:41.360
<v Speaker 2>really fly around the command line. Once you get these down.

160
00:07:41.360 --> 00:07:43.759
<v Speaker 1>It definitely feels like the shell is where you get

161
00:07:43.759 --> 00:07:46.720
<v Speaker 1>that fine grained control. But let's boom out again. You

162
00:07:46.759 --> 00:07:50.600
<v Speaker 1>mentioned Lenox's core philosophy earlier. There's this one idea that

163
00:07:50.720 --> 00:07:55.000
<v Speaker 1>apparently explains well almost everything about how it's organized.

164
00:07:55.079 --> 00:07:59.000
<v Speaker 2>Ah. Yes, this one is fundamental. It sounds simple, maybe

165
00:07:59.040 --> 00:08:01.759
<v Speaker 2>even a bit weird at far, but it's incredibly powerful.

166
00:08:02.600 --> 00:08:05.639
<v Speaker 2>Everything in Linux is based on the concept of files everything,

167
00:08:05.800 --> 00:08:07.639
<v Speaker 2>or we can simply say that everything in Linux is

168
00:08:07.680 --> 00:08:09.959
<v Speaker 2>a file. If it's not a file, then it is

169
00:08:09.959 --> 00:08:12.480
<v Speaker 2>a process. That's the core idea.

170
00:08:12.600 --> 00:08:16.480
<v Speaker 1>Okay, unpack that. What does everything is a file actually mean?

171
00:08:16.519 --> 00:08:17.079
<v Speaker 1>In practice?

172
00:08:17.360 --> 00:08:20.319
<v Speaker 2>It means the system treats almost everything you interact with

173
00:08:20.399 --> 00:08:23.920
<v Speaker 2>as if it were a file. This provides incredible consistency.

174
00:08:24.600 --> 00:08:28.000
<v Speaker 2>The whole system is organized in this single hierarchical tree

175
00:08:28.000 --> 00:08:31.319
<v Speaker 2>of directories, starting from the root directory, which.

176
00:08:31.120 --> 00:08:33.519
<v Speaker 1>Is just an appall right, the single slash m H.

177
00:08:33.919 --> 00:08:36.960
<v Speaker 2>And inside that you have important directories like root which

178
00:08:37.000 --> 00:08:41.120
<v Speaker 2>is the super users or administrator's home directory, and home

179
00:08:41.399 --> 00:08:44.159
<v Speaker 2>which contains the personal directories for all the regular users.

180
00:08:44.159 --> 00:08:46.320
<v Speaker 1>Standard stuff. But where does it get weird?

181
00:08:46.519 --> 00:08:50.600
<v Speaker 2>Here's the Kicker. This file concept extends even to your

182
00:08:50.600 --> 00:08:54.360
<v Speaker 2>hardware devices. The book says Linux treats that shell is

183
00:08:54.399 --> 00:08:57.559
<v Speaker 2>file and directories and devices are also a file. And

184
00:08:57.600 --> 00:09:03.080
<v Speaker 2>by devices it means your hard disk, mouse, printer, USB, drives, everything.

185
00:09:03.159 --> 00:09:04.799
<v Speaker 1>Wait, so my hard drive is a file? How does

186
00:09:04.840 --> 00:09:05.240
<v Speaker 1>that work?

187
00:09:05.320 --> 00:09:07.799
<v Speaker 2>Well, there are special files, usually in the dev directory

188
00:09:07.840 --> 00:09:11.279
<v Speaker 2>that represent these devices. For example, dev'sdum might represent your

189
00:09:11.279 --> 00:09:13.759
<v Speaker 2>first main hard drive, and dev's a one might be

190
00:09:13.799 --> 00:09:15.159
<v Speaker 2>the first partition on that drive.

191
00:09:15.399 --> 00:09:19.120
<v Speaker 1>So interacting with hardware often means interacting with a specific

192
00:09:19.159 --> 00:09:20.399
<v Speaker 1>file exactly.

193
00:09:20.559 --> 00:09:22.679
<v Speaker 2>You can use many of the same tools you'd use

194
00:09:22.679 --> 00:09:26.639
<v Speaker 2>for text files to interact in a way with hardware devices.

195
00:09:26.679 --> 00:09:29.480
<v Speaker 1>It's a really unifying concept that is kind of mind

196
00:09:29.519 --> 00:09:31.799
<v Speaker 1>bending if you're used to other systems where hardware is

197
00:09:31.840 --> 00:09:35.159
<v Speaker 1>totally separate. What does this mean for? Just like everyday

198
00:09:35.279 --> 00:09:37.879
<v Speaker 1>use managing files.

199
00:09:37.600 --> 00:09:41.960
<v Speaker 2>It simplifies things immensely, especially for scripting and administration. You

200
00:09:42.080 --> 00:09:45.720
<v Speaker 2>use consistent commands, so creating a file touch file name,

201
00:09:45.799 --> 00:09:48.679
<v Speaker 2>makes an empty one, or just updates the timestamp okay,

202
00:09:48.840 --> 00:09:51.759
<v Speaker 2>Or you can use cat filename, type your content and

203
00:09:51.879 --> 00:09:55.720
<v Speaker 2>hit siegeal plus d to save. Quick way to make

204
00:09:55.720 --> 00:09:56.279
<v Speaker 2>a small.

205
00:09:56.080 --> 00:09:58.240
<v Speaker 1>Text file and looking at files.

206
00:09:58.039 --> 00:10:00.360
<v Speaker 2>Ill jolly well is essential. That gives you the long

207
00:10:00.440 --> 00:10:04.039
<v Speaker 2>listing permissions, owner, size, date, all the key details at

208
00:10:04.039 --> 00:10:07.159
<v Speaker 2>a glance, super important for checking things quickly. To actually

209
00:10:07.200 --> 00:10:09.600
<v Speaker 2>see inside a file, cat file name just dumps the

210
00:10:09.639 --> 00:10:10.840
<v Speaker 2>whole content to your screen.

211
00:10:11.159 --> 00:10:13.240
<v Speaker 1>Fine for short files, but not for long ones.

212
00:10:13.399 --> 00:10:15.639
<v Speaker 2>Right For those, you use head to see the beginning

213
00:10:15.799 --> 00:10:17.679
<v Speaker 2>or more or less to view it page by page.

214
00:10:17.799 --> 00:10:20.240
<v Speaker 2>Less is generally better because you can scroll backwards too.

215
00:10:20.399 --> 00:10:22.679
<v Speaker 1>So the same basic tools work across the board. Because

216
00:10:22.759 --> 00:10:24.600
<v Speaker 1>everything looks like a file pretty.

217
00:10:24.440 --> 00:10:26.720
<v Speaker 2>Much, it makes the whole system feel very coherent.

218
00:10:26.919 --> 00:10:30.080
<v Speaker 1>And if everything's a file, managing who can access what

219
00:10:30.279 --> 00:10:32.759
<v Speaker 1>must be critical permiictionons.

220
00:10:32.279 --> 00:10:35.960
<v Speaker 2>Right, absolutely crucial. It's baked right into the file concept.

221
00:10:36.240 --> 00:10:38.679
<v Speaker 2>The Schmad command is how you manage permissions.

222
00:10:38.679 --> 00:10:41.279
<v Speaker 1>How do those work? I always see those rox things right.

223
00:10:41.840 --> 00:10:45.279
<v Speaker 2>R is for read permission, W for wright, and X

224
00:10:45.360 --> 00:10:47.320
<v Speaker 2>is for execute, meaning you can run it if it's

225
00:10:47.360 --> 00:10:51.279
<v Speaker 2>a program or script. And these permissions are set separately

226
00:10:51.320 --> 00:10:55.240
<v Speaker 2>for three different categories, the user who owns the file,

227
00:10:55.399 --> 00:10:59.279
<v Speaker 2>the group the file belongs to, and others basically everyone else.

228
00:10:59.559 --> 00:11:02.879
<v Speaker 1>So it really specific control, extremely granular.

229
00:11:03.000 --> 00:11:05.840
<v Speaker 2>A DASH just means that permission is not granted for

230
00:11:05.879 --> 00:11:08.080
<v Speaker 2>that category. So you can say the owner can read

231
00:11:08.120 --> 00:11:10.080
<v Speaker 2>and write this file, people in my group can only

232
00:11:10.120 --> 00:11:12.159
<v Speaker 2>read it, and nobody else can do anything.

233
00:11:12.240 --> 00:11:13.720
<v Speaker 1>And this applies to device files too.

234
00:11:13.919 --> 00:11:17.200
<v Speaker 2>Yes, that's the power of it. You control access to

235
00:11:17.279 --> 00:11:20.080
<v Speaker 2>hardware the same way you control access to a document.

236
00:11:20.480 --> 00:11:23.919
<v Speaker 2>It makes the whole system incredibly flexible and secure, all

237
00:11:23.960 --> 00:11:27.159
<v Speaker 2>built on this simple, elegant everything is a file idea.

238
00:11:27.440 --> 00:11:31.399
<v Speaker 1>Wow. Okay, we've covered a lot from Linux, starting as

239
00:11:32.679 --> 00:11:34.679
<v Speaker 1>just Lions Torval's personal project.

240
00:11:34.360 --> 00:11:35.960
<v Speaker 2>Yea fueled by open source.

241
00:11:35.799 --> 00:11:38.399
<v Speaker 1>Right to digging into the shell your command center with

242
00:11:38.480 --> 00:11:42.759
<v Speaker 1>those powerful meta characters and efficiency shortcuts making.

243
00:11:42.559 --> 00:11:44.480
<v Speaker 2>You faster and more precise, and.

244
00:11:44.440 --> 00:11:48.240
<v Speaker 1>Then landing on this really core idea, everything is a file,

245
00:11:49.320 --> 00:11:53.200
<v Speaker 1>which explains so much about its structure and consistency. It

246
00:11:53.279 --> 00:11:55.600
<v Speaker 1>really does feel like a thoughtfully designed system.

247
00:11:55.759 --> 00:11:58.080
<v Speaker 2>It really is. And what's amazing is how these, you know,

248
00:11:58.159 --> 00:12:03.080
<v Speaker 2>relatively simple foundational concepts combine to create something so robust,

249
00:12:03.399 --> 00:12:07.159
<v Speaker 2>so secure, and so adaptable that it basically runs huge

250
00:12:07.440 --> 00:12:10.080
<v Speaker 2>parts of the modern world. They're not just abstract ideas,

251
00:12:10.320 --> 00:12:13.320
<v Speaker 2>they're the practical bedrock making Linux what it is for

252
00:12:13.480 --> 00:12:14.840
<v Speaker 2>millions and millions of users.

253
00:12:14.919 --> 00:12:17.039
<v Speaker 1>It definitely gives you a new appreciation for what's under

254
00:12:17.039 --> 00:12:19.120
<v Speaker 1>the hood, which leads to a final thought, something for

255
00:12:19.159 --> 00:12:20.320
<v Speaker 1>you to maybe mull over.

256
00:12:20.600 --> 00:12:23.679
<v Speaker 2>Considering that Linux represents even physical hardware like your hard

257
00:12:23.720 --> 00:12:27.399
<v Speaker 2>driver printer, as just another file in the system. What

258
00:12:27.600 --> 00:12:30.879
<v Speaker 2>other things from our everyday lives, maybe even abstract concepts,

259
00:12:30.879 --> 00:12:34.080
<v Speaker 2>could you imagine representing as a file in a digital system.

260
00:12:34.519 --> 00:12:37.919
<v Speaker 2>And what new possibilities or maybe even new problems could

261
00:12:37.960 --> 00:12:39.360
<v Speaker 2>that kind of abstraction create.
