12 videos 📅 2025-02-18 09:00:00 Africa/Blantyre
4:47:02
2025-02-19 09:20:08
2:39
2025-02-19 21:55:33
4:40
2025-02-19 22:23:21
2:58
2025-02-19 23:09:29
20:58
2025-02-19 23:48:16
3:00
2025-02-20 05:21:32
2:29
2025-02-20 05:53:02
5:18
2025-02-20 06:35:37
4:07
2025-02-20 07:47:51
1:15:07
2025-02-20 09:31:43
1:28:23
2025-02-20 11:13:37
1:16:38
2025-02-20 13:43:10

Visit the Network Engineers Programme course recordings page

                WEBVTT

00:00:00.000 --> 00:00:03.460
I don't have the permission to do that. I'm not sure if you understand.

00:00:04.380 --> 00:00:07.880
Yeah, I get it. So what can I do to help you out?

00:00:08.800 --> 00:00:13.320
It's possible to give you those permissions or just make me...

00:00:13.320 --> 00:00:16.360
I just want to see once you have a terminal on my campus a bit.

00:00:16.480 --> 00:00:19.000
I can see it's a bit more now that that is...

00:00:19.560 --> 00:00:21.540
You want to make it a full screen?

00:00:22.140 --> 00:00:23.640
I just want to make it a full screen.

00:00:23.640 --> 00:00:33.220
If you go to your far on the right, far right on the bottom,

00:00:34.360 --> 00:00:36.160
there's some icons there.

00:00:36.700 --> 00:00:38.900
This one that I put out...

00:00:39.640 --> 00:00:41.540
Others do that?

00:00:41.980 --> 00:00:46.420
I managed to maximize my screen.

00:00:46.420 --> 00:00:48.360
So do you want to see yours now?

00:00:51.120 --> 00:00:56.360
You'll probably have to switch between mine and yours.

00:00:58.860 --> 00:00:59.360
I'm just wondering.

00:00:59.360 --> 00:01:01.120
No, it's fine. I'll give it a try.

00:01:02.060 --> 00:01:06.740
Okay. Just let me know if there's something I can do.

00:01:07.000 --> 00:01:07.500
No problem.

00:01:07.780 --> 00:01:10.860
Alright. So we've got three terminals opened up.

00:01:11.220 --> 00:01:13.800
Can I request you to do the same on your desktop?

00:01:13.800 --> 00:01:16.520
Just open three terminals, please.

00:01:16.520 --> 00:01:18.720
Whichever way you like.

00:01:19.440 --> 00:01:21.900
Quick one. It's Control-Alt-T.

00:01:22.880 --> 00:01:23.200
Yes.

00:01:23.200 --> 00:01:24.220
Like it.

00:01:24.520 --> 00:01:25.040
Terminal.

00:01:25.420 --> 00:01:26.780
And then it's a menu.

00:01:26.780 --> 00:01:29.780
From the menu. Just search for it.

00:01:30.020 --> 00:01:32.340
Oh my God. Just search for terminal.

00:01:32.580 --> 00:01:35.040
I should be able to find it.

00:01:35.940 --> 00:01:36.820
Terminal. Is that the one?

00:01:36.820 --> 00:01:37.720
Yeah, yeah. That's the one.

00:01:37.820 --> 00:01:39.160
It's just a graphical environment.

00:01:39.160 --> 00:01:41.280
So probably question number one,

00:01:41.400 --> 00:01:44.320
before we do anything on this environment,

00:01:44.400 --> 00:01:46.540
just looking at the terminal,

00:01:46.860 --> 00:01:49.440
there is a little bit of a prompt.

00:01:51.260 --> 00:01:52.980
This prompt is very friendly.

00:01:53.140 --> 00:01:55.780
It tells you the current logged in username,

00:01:56.700 --> 00:01:58.640
at the host that you're on,

00:01:58.640 --> 00:02:00.920
and the current directory you are in.

00:02:01.940 --> 00:02:03.440
That's kind of nice.

00:02:03.440 --> 00:02:05.860
Just to know who you are

00:02:05.860 --> 00:02:09.380
and what kind of location you happen to be.

00:02:10.500 --> 00:02:14.480
What is the first thing that should stand out to you

00:02:15.280 --> 00:02:17.380
when you see that dollar sign?

00:02:17.560 --> 00:02:18.840
What does that typically indicate?

00:02:19.040 --> 00:02:20.240
And please don't mind.

00:02:20.620 --> 00:02:22.440
I will take you through some fundamentals.

00:02:23.380 --> 00:02:25.460
I know you're all comfortable with Linux,

00:02:25.580 --> 00:02:26.900
but there are certain things

00:02:26.900 --> 00:02:28.480
I just don't want to take a chance.

00:02:28.620 --> 00:02:30.140
So now go over the concepts,

00:02:30.140 --> 00:02:32.320
making sure that we're all on the same page.

00:02:32.320 --> 00:02:33.820
So what does that dollar indicate

00:02:33.820 --> 00:02:35.500
when you're working on the terminal?

00:02:35.540 --> 00:02:36.880
You can always take a guess.

00:02:36.980 --> 00:02:39.140
If you're not so sure, you can say you're not so sure.

00:02:39.420 --> 00:02:41.480
Oh yes, it's not for money, eh?

00:02:43.640 --> 00:02:44.500
It's not a prompt.

00:02:46.100 --> 00:02:47.560
Maybe just to show you,

00:02:47.720 --> 00:02:50.000
you are working as, I don't know,

00:02:52.160 --> 00:02:54.580
as a user name. I don't know. Just kidding.

00:02:55.240 --> 00:02:58.120
Okay. So that dollar indicates

00:02:58.120 --> 00:03:00.500
you are not the super user.

00:03:00.500 --> 00:03:03.560
You are a normal user into that system.

00:03:04.520 --> 00:03:05.980
But that's your privilege.

00:03:06.340 --> 00:03:09.440
We can very quickly try something

00:03:09.440 --> 00:03:11.480
on any of the terminals.

00:03:12.220 --> 00:03:14.240
Let's do a quick sudo bash.

00:03:16.280 --> 00:03:19.560
We'll talk about sudo a bit more in depth maybe later on,

00:03:19.580 --> 00:03:21.700
but just a quick sudo bash.

00:03:22.000 --> 00:03:28.200
Switch and start the shell as root.

00:03:28.200 --> 00:03:30.640
What changes into the prompt?

00:03:33.440 --> 00:03:34.200
Last character.

00:03:36.880 --> 00:03:39.520
So that's your hash.

00:03:39.640 --> 00:03:40.760
And what does that indicate?

00:03:42.520 --> 00:03:45.220
You have all the privileges.

00:03:45.560 --> 00:03:47.220
You are a super user.

00:03:48.620 --> 00:03:51.800
And we have another name for a terminal

00:03:51.800 --> 00:03:53.580
which has the super user.

00:03:53.620 --> 00:03:55.020
Do you know the name for a terminal

00:03:55.020 --> 00:03:57.880
which is running as super user?

00:03:59.840 --> 00:04:03.020
We call it as the CV updater.

00:04:03.800 --> 00:04:06.280
This is where one mistake

00:04:06.280 --> 00:04:08.140
can wipe your system clean,

00:04:08.320 --> 00:04:10.140
forcing you to look for a new job.

00:04:11.680 --> 00:04:12.520
What's the command?

00:04:13.380 --> 00:04:14.180
Sudo bash.

00:04:19.340 --> 00:04:23.740
Yeah, we used to actually kill

00:04:23.740 --> 00:04:25.920
Unix machines in 10 different ways.

00:04:26.020 --> 00:04:27.560
When we were doing clustering

00:04:27.560 --> 00:04:29.200
and we wanted to kill one node

00:04:29.740 --> 00:04:32.480
to show that the other node can sustain the cluster.

00:04:33.360 --> 00:04:35.500
And we used to come up with creative ways

00:04:35.500 --> 00:04:36.840
of killing a Unix machine.

00:04:37.020 --> 00:04:39.540
I'm definitely not doing that here.

00:04:41.660 --> 00:04:45.480
The bottom line is you work under root privileges

00:04:45.480 --> 00:04:49.360
when some system administration is absolutely necessary.

00:04:49.360 --> 00:04:54.300
You do that and then you exit back to save time.

00:04:54.300 --> 00:04:56.320
I would request you to do the same.

00:04:57.840 --> 00:04:59.040
Let's just exit back

00:05:00.420 --> 00:05:02.200
and be a normal user.

00:05:02.460 --> 00:05:03.560
But then just very quickly,

00:05:03.780 --> 00:05:05.420
first thing to know about the terminal

00:05:05.420 --> 00:05:07.100
which is what are my privileges.

00:05:07.160 --> 00:05:09.880
Are you still going to explain this sudo bash?

00:05:10.100 --> 00:05:12.780
Yeah, I will have a look at the sudo later on.

00:05:13.720 --> 00:05:16.200
Yeah, because the way we switch to root,

00:05:16.200 --> 00:05:19.420
the first time I see it is sudo bash.

00:05:20.700 --> 00:05:23.940
Just use sudo su like that.

00:05:24.440 --> 00:05:26.680
There are many ways to get things done

00:05:26.680 --> 00:05:28.580
in these kind of operating systems

00:05:28.580 --> 00:05:30.440
and they are set up in a certain way.

00:05:31.140 --> 00:05:32.380
In most enterprises,

00:05:32.820 --> 00:05:34.560
there might be some differences

00:05:34.560 --> 00:05:35.760
in the way they are set up.

00:05:36.100 --> 00:05:38.200
So question number one is

00:05:39.660 --> 00:05:44.140
what distribution are we working on?

00:05:45.520 --> 00:05:47.140
We have to check it.

00:05:47.720 --> 00:05:49.140
Right, and how do we check?

00:05:49.720 --> 00:05:51.280
By the way, if you are working on a terminal,

00:05:51.500 --> 00:05:54.180
you can zoom in a bit with the control and plus.

00:05:54.580 --> 00:05:56.260
I'm just going to do that.

00:05:58.680 --> 00:06:00.360
Just making your life a little bit easier.

00:06:00.920 --> 00:06:02.860
You can do the same from view.

00:06:05.160 --> 00:06:07.180
I'm sure it is asking chat.

00:06:08.180 --> 00:06:10.060
Of course, that's the answer to everything.

00:06:10.440 --> 00:06:11.960
There are a few things to consider.

00:06:11.960 --> 00:06:14.020
Anyway, the first thing we probably want to do

00:06:14.020 --> 00:06:20.960
is this command lsb underscore release minus a.

00:06:26.300 --> 00:06:28.240
Let's give that a quick try.

00:06:32.480 --> 00:06:34.080
Yeah, because I was about to say

00:06:34.080 --> 00:06:36.940
the command will depend on the twister that you are using.

00:06:37.100 --> 00:06:40.440
Yes, so since we are currently on Ubuntu,

00:06:40.440 --> 00:06:42.320
that's one way of doing this.

00:06:43.620 --> 00:06:44.900
And different distributions

00:06:44.900 --> 00:06:46.620
will also have multiple commands.

00:06:46.640 --> 00:06:48.180
And there are some core commands

00:06:48.180 --> 00:06:49.980
that you can always use

00:06:49.980 --> 00:06:52.780
across even Linux and Unix environments.

00:06:53.180 --> 00:06:54.660
Not just Linux distribution,

00:06:54.800 --> 00:06:57.780
but all the way to different kinds of Unix environments.

00:06:58.040 --> 00:06:59.880
How do we know

00:06:59.880 --> 00:07:01.280
what kernel we are running?

00:07:05.620 --> 00:07:07.540
I just said I used your name,

00:07:07.540 --> 00:07:08.340
and that's it.

00:07:14.880 --> 00:07:17.000
Now keep in mind many commands,

00:07:17.400 --> 00:07:18.960
especially commands like uname

00:07:18.960 --> 00:07:21.020
might provide a lot of output.

00:07:21.060 --> 00:07:22.620
You may not need all of it.

00:07:23.640 --> 00:07:25.300
You may have very specific things

00:07:25.300 --> 00:07:26.260
that you want to know.

00:07:26.420 --> 00:07:28.200
Oh, this is running on Intel platform.

00:07:29.520 --> 00:07:32.080
Obviously, you can look into the help

00:07:32.080 --> 00:07:33.360
to see the details.

00:07:33.680 --> 00:07:35.280
Let's try some simple commands.

00:07:35.280 --> 00:07:37.680
Let's see how long the system has been up and running.

00:07:37.960 --> 00:07:40.280
It's going uptime.

00:07:44.820 --> 00:07:45.720
So I've worked on systems

00:07:45.720 --> 00:07:47.900
where the uptime is in years.

00:07:47.900 --> 00:07:48.800
So,

00:07:50.820 --> 00:07:52.360
there was a funny command

00:07:52.360 --> 00:07:53.060
back in the day

00:07:53.060 --> 00:07:55.300
which uses a lot in

00:07:55.300 --> 00:07:58.040
I'm not sure if it was finger or fingers.

00:07:58.400 --> 00:07:59.080
Does it ring?

00:08:00.460 --> 00:08:01.680
It does not ring.

00:08:01.760 --> 00:08:02.500
It does not ring.

00:08:03.360 --> 00:08:05.620
Yeah, it's more of like

00:08:05.620 --> 00:08:07.640
on a remote system,

00:08:09.200 --> 00:08:09.800
it used

00:08:09.800 --> 00:08:11.860
the finger

00:08:11.860 --> 00:08:12.840
tool

00:08:13.540 --> 00:08:14.980
to get the answer.

00:08:15.820 --> 00:08:16.520
So,

00:08:16.540 --> 00:08:18.980
there's a couple of different ways to do that.

00:08:20.220 --> 00:08:20.920
Maybe

00:08:20.920 --> 00:08:23.180
the command who

00:08:25.800 --> 00:08:26.960
and who

00:08:26.960 --> 00:08:28.660
minus a

00:08:28.660 --> 00:08:31.260
might answer that question.

00:08:33.000 --> 00:08:34.600
What does w do?

00:08:34.600 --> 00:08:35.220
So, w

00:08:42.400 --> 00:08:43.760
Yes.

00:08:58.260 --> 00:08:59.620
No,

00:09:00.160 --> 00:09:01.700
Google did

00:09:01.700 --> 00:09:02.220
W.

00:09:04.500 --> 00:09:06.100
Look, when we are working on

00:09:06.100 --> 00:09:07.800
live environments, we stick to

00:09:07.800 --> 00:09:09.900
one thing that has worked, and that's good enough

00:09:09.900 --> 00:09:11.040
because it works everywhere.

00:09:12.940 --> 00:09:14.300
We're not going around

00:09:14.300 --> 00:09:15.600
experimenting with this.

00:09:15.660 --> 00:09:17.620
We don't have time to kind of do that

00:09:17.620 --> 00:09:18.480
all the time.

00:09:19.600 --> 00:09:21.720
So, if I don't want to see everything with

00:09:21.720 --> 00:09:23.800
uname, maybe I can just do

00:09:23.800 --> 00:09:26.060
uname minus r.

00:09:30.560 --> 00:09:31.140
So,

00:09:31.420 --> 00:09:32.180
we have commands

00:09:32.180 --> 00:09:34.100
and options and arguments. We're going to come

00:09:34.100 --> 00:09:36.040
to that, but this is just getting to know

00:09:36.040 --> 00:09:37.420
your system a little bit.

00:09:37.640 --> 00:09:39.540
By the way, running commands is not

00:09:39.540 --> 00:09:41.300
a difficult part. For many commands,

00:09:41.580 --> 00:09:43.440
understanding the output is.

00:09:44.360 --> 00:09:45.640
Classic example for that

00:09:45.640 --> 00:09:47.060
is running the command top.

00:09:48.340 --> 00:09:49.240
Kind of like

00:09:49.240 --> 00:09:51.300
the performance monitor

00:09:51.300 --> 00:09:52.960
and task manager

00:09:52.960 --> 00:09:55.120
combined in the

00:09:55.120 --> 00:09:56.040
next world.

00:09:57.040 --> 00:09:58.660
It has 10 million options.

00:09:58.900 --> 00:10:00.720
Well, if I just run top,

00:10:02.480 --> 00:10:03.200
it kind of gives

00:10:03.200 --> 00:10:04.480
me a summary

00:10:05.640 --> 00:10:07.000
overall percentage

00:10:07.000 --> 00:10:08.520
of CPU utilization,

00:10:08.860 --> 00:10:10.020
memory utilization,

00:10:12.500 --> 00:10:13.180
which

00:10:13.180 --> 00:10:15.080
processes at this point

00:10:15.080 --> 00:10:17.060
in time are eating up most

00:10:17.060 --> 00:10:18.400
of your resources,

00:10:20.600 --> 00:10:21.100
what

00:10:21.100 --> 00:10:23.180
processes are running in the system.

00:10:23.180 --> 00:10:25.380
Top, when you run it, obviously, keeps

00:10:25.380 --> 00:10:26.700
in this case your terminal

00:10:27.780 --> 00:10:29.380
running and it is

00:10:29.380 --> 00:10:31.440
showing you these statistics live.

00:11:11.720 --> 00:11:12.280
So,

00:11:13.580 --> 00:11:15.280
I'll come back to the terminal

00:11:15.280 --> 00:11:17.220
if you see my screen. I have just

00:11:17.220 --> 00:11:19.440
come out of top with the command

00:11:19.440 --> 00:11:21.240
Q to quit.

00:11:21.240 --> 00:11:23.640
Frankly, this is your

00:11:23.640 --> 00:11:25.700
new generation shell

00:11:25.700 --> 00:11:27.140
which allow

00:11:27.140 --> 00:11:29.200
customization of the prompt.

00:11:30.540 --> 00:11:31.420
And right now

00:11:31.420 --> 00:11:33.540
it is your user

00:11:33.540 --> 00:11:35.500
name at the date.

00:11:36.840 --> 00:11:39.040
Let's find out

00:11:40.180 --> 00:11:41.740
your hostname.

00:11:46.000 --> 00:11:46.880
See if that works.

00:11:47.320 --> 00:11:49.440
Is your prompt a combination of these

00:11:49.440 --> 00:11:50.200
two things?

00:11:52.580 --> 00:11:53.780
And this

00:11:53.780 --> 00:11:54.880
third thing.

00:11:58.500 --> 00:11:59.380
What's your hostname?

00:11:59.620 --> 00:12:01.900
Who you are currently as

00:12:01.900 --> 00:12:03.200
in this terminal?

00:12:03.680 --> 00:12:04.400
Which user?

00:12:05.460 --> 00:12:07.840
And what's the current location in the file

00:12:07.840 --> 00:12:08.980
system that you are at?

00:12:08.980 --> 00:12:11.400
It's a friendly prompt. I remember when

00:12:11.400 --> 00:12:13.540
we first saw this 10-15 years

00:12:13.540 --> 00:12:15.620
ago, we were like, wow, that's amazing.

00:12:15.620 --> 00:12:16.000
So,

00:12:20.040 --> 00:12:21.340
you want to enjoy a lot

00:12:21.340 --> 00:12:23.600
is a command like which and

00:12:23.600 --> 00:12:24.700
where is.

00:12:24.840 --> 00:12:27.340
Because it has a lot of system

00:12:27.340 --> 00:12:27.700
admin.

00:12:28.280 --> 00:12:29.600
Yes, of course.

00:12:30.120 --> 00:12:34.340
No, no, no.

00:12:34.540 --> 00:12:35.680
It's what which and

00:12:35.680 --> 00:12:36.360
where is.

00:12:38.060 --> 00:12:39.360
For instance, you look for Java,

00:12:39.440 --> 00:12:41.200
which Java C or

00:12:41.200 --> 00:12:42.660
which Java

00:12:42.660 --> 00:12:43.820
which you have to animate.

00:12:44.220 --> 00:12:45.240
It is installed.

00:12:45.700 --> 00:12:48.060
You need to put it in the file.

00:12:51.080 --> 00:12:52.340
It's useful if you're

00:12:52.340 --> 00:12:53.580
updating Java for instance.

00:12:54.360 --> 00:12:56.260
If you're updating any application.

00:12:58.660 --> 00:13:00.480
It's very critical to figure out

00:13:00.480 --> 00:13:02.580
the path of what we're at.

00:13:04.820 --> 00:13:06.660
That's a big part of

00:13:07.780 --> 00:13:08.760
system administration.

00:13:09.060 --> 00:13:10.660
Frankly, it's mostly about

00:13:13.560 --> 00:13:15.240
the most common errors

00:13:15.240 --> 00:13:17.000
in the Linux index world is doing the right

00:13:17.000 --> 00:13:18.260
thing but in the wrong place.

00:13:18.920 --> 00:13:19.700
Yes, yes.

00:13:20.120 --> 00:13:22.140
I have been told sometimes that

00:13:22.140 --> 00:13:24.540
the applications are telling us

00:13:24.540 --> 00:13:25.740
to turn off the system.

00:13:34.180 --> 00:13:35.440
Don't give it all away.

00:13:36.780 --> 00:13:38.800
Again, just getting to know the system

00:13:38.800 --> 00:13:40.880
a little bit. How long the system has been

00:13:40.880 --> 00:13:42.960
up and running. What's my distribution?

00:13:43.180 --> 00:13:44.180
What's my kernel?

00:13:44.980 --> 00:13:47.340
Who am I currently logged in as?

00:13:47.460 --> 00:13:48.980
Who else is

00:13:48.980 --> 00:13:50.260
on the system?

00:13:51.240 --> 00:13:53.020
What's my host name?

00:13:53.160 --> 00:13:55.120
Maybe we can add to that fundamental

00:13:55.120 --> 00:13:56.920
like what's my IP address.

00:14:06.820 --> 00:14:08.300
Quickly try that.

00:14:08.300 --> 00:14:08.800
Sorry.

00:14:18.740 --> 00:14:24.620
You can see IP itself

00:14:24.620 --> 00:14:26.480
as a command can be used

00:14:26.480 --> 00:14:28.320
to configure a lot of layer

00:14:28.320 --> 00:14:30.680
2, layer 3 and in this case

00:14:30.680 --> 00:14:32.080
A is short for address.

00:14:33.000 --> 00:14:34.360
So it's printing out

00:14:34.360 --> 00:14:36.420
your network configuration. So you can see

00:14:36.420 --> 00:14:38.200
I have a loopback configuration.

00:14:38.740 --> 00:14:40.800
You have the V4 loopback.

00:14:40.920 --> 00:14:42.000
All network guys.

00:14:42.260 --> 00:14:44.340
This is your V6 loopback.

00:14:46.060 --> 00:14:48.300
Here is my internet.

00:14:48.340 --> 00:14:50.560
This is a VM at the end of the day.

00:14:50.940 --> 00:14:52.420
But I can see my

00:14:53.080 --> 00:14:54.080
physical addresses.

00:14:54.220 --> 00:14:56.400
I can see my V4.

00:14:58.120 --> 00:15:00.140
Are we in the same segment?

00:15:02.500 --> 00:15:04.420
Yes, I only just

00:15:04.420 --> 00:15:05.720
know there is it

00:15:06.340 --> 00:15:06.920
ifconfig.

00:15:07.460 --> 00:15:09.420
Yeah, so classic

00:15:10.200 --> 00:15:10.780
ifconfig.

00:15:12.120 --> 00:15:13.800
You might have to add. Again, depending on

00:15:13.800 --> 00:15:15.680
the distribution. This is where the

00:15:15.680 --> 00:15:17.880
difference in the distribution comes into picture.

00:15:19.260 --> 00:15:20.780
So I come from

00:15:20.780 --> 00:15:22.280
the historic Unix

00:15:22.280 --> 00:15:24.320
background. I always

00:15:24.320 --> 00:15:25.880
natively start writing

00:15:26.420 --> 00:15:28.240
ifconfig and the Linux machine

00:15:28.240 --> 00:15:30.020
says what's that? So changes in

00:15:30.020 --> 00:15:32.280
distributions can make a difference there as well.

00:15:34.420 --> 00:15:34.480
So,

00:15:36.540 --> 00:15:38.420
also the user sometimes

00:15:38.420 --> 00:15:40.060
I'm not mistaken

00:15:40.060 --> 00:15:42.740
if you are not a super user

00:15:42.740 --> 00:15:44.980
there are other commands that you can find.

00:15:46.060 --> 00:15:46.760
Yes, of course.

00:15:46.880 --> 00:15:47.520
Very true.

00:15:48.540 --> 00:15:49.760
Just give me a second.

00:15:51.000 --> 00:15:52.400
Now I understand

00:15:52.400 --> 00:15:55.700
why you've got pajamas in your corner.

00:15:55.700 --> 00:15:56.820
What?

00:15:58.400 --> 00:15:59.420
Lightning.

00:16:01.660 --> 00:16:03.680
I'm comfortable with

00:16:03.680 --> 00:16:04.480
my stage here.

00:16:05.280 --> 00:16:06.340
Expensive coffee.

00:16:10.720 --> 00:16:11.580
Coffee.

00:16:13.700 --> 00:16:13.960
Coffee.

00:16:14.560 --> 00:16:15.360
Coffee.

00:16:16.280 --> 00:16:17.860
I'm not coffee.

00:16:19.620 --> 00:16:21.040
You are not coffee.

00:16:22.160 --> 00:16:23.040
I'm not coffee.

00:16:23.040 --> 00:16:24.240
Hey, Ivan.

00:16:24.780 --> 00:16:25.520
Yes, guys.

00:16:26.700 --> 00:16:27.480
How are you?

00:16:28.500 --> 00:16:29.200
I'm fine.

00:16:30.660 --> 00:16:32.180
The tour is breaking too.

00:16:32.940 --> 00:16:33.880
Now you're out of touch.

00:16:34.020 --> 00:16:36.700
So guys, how do you zoom in your terminal

00:16:36.700 --> 00:16:37.580
for the signal?

00:16:38.280 --> 00:16:38.660
Yeah.

00:16:41.980 --> 00:16:43.300
How do you zoom in

00:16:43.300 --> 00:16:43.560
the terminal?

00:16:43.620 --> 00:16:48.080
I remember you

00:16:48.080 --> 00:16:48.620
showing us

00:16:48.620 --> 00:16:49.780
the other thing.

00:16:53.000 --> 00:16:53.960
What is you?

00:16:54.460 --> 00:16:55.160
Can you ask God?

00:16:55.240 --> 00:16:57.000
No, he did it very simple, guys.

00:16:57.340 --> 00:16:58.660
Okay, I'm going to zoom in.

00:17:00.840 --> 00:17:02.040
Control plus control.

00:17:02.260 --> 00:17:02.840
No, yeah.

00:17:03.860 --> 00:17:04.340
Alright.

00:17:05.000 --> 00:17:06.620
Control plus and minus.

00:17:07.520 --> 00:17:09.240
I thought you were talking about parts there.

00:17:09.980 --> 00:17:10.860
No, that was cleaning.

00:17:11.260 --> 00:17:11.880
No, no, no.

00:17:14.920 --> 00:17:16.300
So you don't have

00:17:16.300 --> 00:17:16.840
a double clip?

00:17:18.300 --> 00:17:19.700
I'm sorry.

00:17:20.740 --> 00:17:22.140
I don't know how to do some work.

00:17:25.400 --> 00:17:26.100
Alright.

00:17:26.400 --> 00:17:27.660
So, very quickly,

00:17:30.060 --> 00:17:30.760
some

00:17:30.760 --> 00:17:31.680
fundamentals.

00:17:31.860 --> 00:17:34.900
Let's have a quick look at those as well.

00:17:35.500 --> 00:17:36.560
So, yes,

00:17:37.000 --> 00:17:38.840
we looked at

00:17:39.480 --> 00:17:41.140
different distributions.

00:17:42.640 --> 00:17:43.360
There are many

00:17:43.360 --> 00:17:44.880
different applications that you guys

00:17:44.880 --> 00:17:46.200
are already familiar with.

00:17:46.920 --> 00:17:48.860
And, of course, these tools depend on

00:17:48.860 --> 00:17:50.120
the platform as well.

00:17:50.620 --> 00:17:52.640
There are all kinds of different shells.

00:17:52.780 --> 00:17:54.480
There are many different

00:17:54.480 --> 00:17:56.780
graphical environments that you can

00:17:56.780 --> 00:17:58.880
work on. There are plenty

00:17:58.880 --> 00:18:00.760
of different system tools.

00:18:01.600 --> 00:18:02.640
And some of these

00:18:04.400 --> 00:18:05.080
are

00:18:05.080 --> 00:18:06.100
basically

00:18:06.880 --> 00:18:08.620
for super user, basically

00:18:08.620 --> 00:18:10.540
system administration tools.

00:18:11.280 --> 00:18:12.680
And many of these are common

00:18:12.680 --> 00:18:14.580
tools that anybody can work on

00:18:14.580 --> 00:18:16.680
the system. I want to focus on

00:18:16.680 --> 00:18:17.460
this first.

00:18:18.600 --> 00:18:20.620
Basic principles of Linux.

00:18:20.780 --> 00:18:22.420
And the first one is very important.

00:18:23.860 --> 00:18:24.660
When you come from

00:18:24.660 --> 00:18:26.660
Windows, what is a file?

00:18:29.580 --> 00:18:30.700
If you come from

00:18:30.700 --> 00:18:32.600
the Windows operating system and

00:18:32.600 --> 00:18:34.560
somebody talks about a file, what do we

00:18:34.560 --> 00:18:35.100
think about?

00:18:36.720 --> 00:18:38.100
No, I hate Windows.

00:18:39.040 --> 00:18:39.940
What's the question?

00:18:40.900 --> 00:18:41.500
Oh,

00:18:42.240 --> 00:18:43.560
what do you mean?

00:18:44.280 --> 00:18:45.940
I can still ask the question

00:18:45.940 --> 00:18:47.700
in a different way. What is a file?

00:18:47.700 --> 00:18:49.460
A file can be text file.

00:18:49.500 --> 00:18:52.340
It can be Excel file.

00:18:52.740 --> 00:18:53.720
Word file.

00:18:56.200 --> 00:18:58.040
And most of the time, sometimes

00:18:58.040 --> 00:18:59.900
coming from Windows

00:18:59.900 --> 00:19:01.940
to Linux, there will be

00:19:03.180 --> 00:19:04.200
I don't know if it's

00:19:04.200 --> 00:19:05.740
a coding or

00:19:05.740 --> 00:19:08.000
what it is, but

00:19:08.000 --> 00:19:10.160
sometimes you

00:19:10.160 --> 00:19:11.740
kind of open the other

00:19:11.740 --> 00:19:13.700
somebody. But I don't

00:19:13.700 --> 00:19:16.080
text file from Windows

00:19:16.080 --> 00:19:18.400
because there are other files that you can't open.

00:19:21.000 --> 00:19:21.940
I'll take that one.

00:19:22.400 --> 00:19:24.280
Now the very basic

00:19:24.280 --> 00:19:26.200
fundamental question is still there.

00:19:26.880 --> 00:19:27.960
Which is, what

00:19:27.960 --> 00:19:28.800
is a file?

00:19:32.560 --> 00:19:34.320
Well, the answer

00:19:34.320 --> 00:19:36.040
is the right thing from Toria.

00:19:38.540 --> 00:19:39.480
Everything is a file.

00:19:40.480 --> 00:19:41.000
Yeah.

00:19:42.120 --> 00:19:43.680
Like storage of

00:19:44.520 --> 00:19:45.040
the

00:19:45.940 --> 00:19:46.460
data.

00:19:50.820 --> 00:19:51.860
Because now

00:19:51.860 --> 00:19:53.940
you can stretch it to say

00:19:53.940 --> 00:19:56.280
it doesn't have to be text, you know.

00:19:56.620 --> 00:19:57.640
No, so

00:19:57.640 --> 00:20:00.140
I think that as Vintu

00:20:00.140 --> 00:20:02.060
said, a file is everything and everything

00:20:02.060 --> 00:20:03.000
is a file.

00:20:04.140 --> 00:20:05.420
Because now I think what is the best

00:20:05.420 --> 00:20:06.320
type of file?

00:20:08.420 --> 00:20:11.240
And the answer to that question is

00:20:11.240 --> 00:20:13.480
in the Linux Unix world, when you

00:20:13.480 --> 00:20:14.720
describe a file,

00:20:15.820 --> 00:20:17.540
don't think about storage

00:20:17.540 --> 00:20:19.140
and don't think about a

00:20:19.140 --> 00:20:21.340
file is a pointer

00:20:21.340 --> 00:20:22.700
to a resource.

00:20:24.340 --> 00:20:25.900
It's a very broad

00:20:25.900 --> 00:20:27.360
definition. It's not just about

00:20:27.360 --> 00:20:29.340
data, it's not just about

00:20:29.340 --> 00:20:31.360
storage, it's not about your volume

00:20:31.360 --> 00:20:33.280
and it's not just about your file system.

00:20:33.280 --> 00:20:35.660
Here is an example.

00:20:36.520 --> 00:20:37.280
So we have

00:20:38.360 --> 00:20:39.400
we can

00:20:39.400 --> 00:20:41.360
try this right away. Just bring

00:20:41.360 --> 00:20:43.580
two terminals side

00:20:43.580 --> 00:20:45.220
by side. And

00:20:45.220 --> 00:20:47.320
as I'm demonstrating this, we will

00:20:47.320 --> 00:20:49.200
try to answer a question

00:20:49.200 --> 00:20:51.280
which is what are

00:20:51.280 --> 00:20:53.340
the different types of files

00:20:53.340 --> 00:20:54.080
in Linux?

00:20:55.940 --> 00:20:57.280
And the answer is not

00:20:59.100 --> 00:21:01.280
text files and PDFs

00:21:01.280 --> 00:21:03.440
and PowerPoint. So let's try and answer that fundamental

00:21:03.440 --> 00:21:05.400
question. The first thing we're going to do is

00:21:05.400 --> 00:21:07.280
we are on a terminal here

00:21:24.000 --> 00:21:25.560
Remember the command we wrote

00:21:25.560 --> 00:21:27.760
earlier, who

00:21:29.300 --> 00:21:31.340
is in the system?

00:21:31.360 --> 00:21:32.820
Right now it shows me

00:21:32.820 --> 00:21:33.900
on a terminal.

00:21:34.400 --> 00:21:36.040
If I do

00:21:36.040 --> 00:21:37.920
who minus a who is

00:21:37.920 --> 00:21:39.460
basically everybody.

00:21:42.600 --> 00:21:44.700
I can see there is

00:21:44.700 --> 00:21:46.040
student and student

00:21:46.040 --> 00:21:48.260
is on many

00:21:48.260 --> 00:21:48.900
terminals.

00:21:50.880 --> 00:21:51.760
1, 3,

00:21:52.660 --> 00:21:53.460
4.

00:21:53.800 --> 00:21:55.720
So if I write the command TTY,

00:21:55.720 --> 00:21:58.100
what is this

00:21:58.100 --> 00:21:59.720
terminal that I am in?

00:22:02.420 --> 00:22:04.400
It gives you a path

00:22:04.400 --> 00:22:05.840
slash dev

00:22:05.840 --> 00:22:08.040
slash bts slash

00:22:08.040 --> 00:22:09.780
true. Well that

00:22:09.780 --> 00:22:10.580
is a file.

00:22:11.560 --> 00:22:12.680
It's a location.

00:22:13.820 --> 00:22:15.820
But it's not data stored on

00:22:15.820 --> 00:22:17.760
the system. This terminal is

00:22:17.760 --> 00:22:19.400
represented by a file.

00:22:21.060 --> 00:22:21.720
Let me go

00:22:22.420 --> 00:22:23.680
to the other

00:22:23.680 --> 00:22:25.600
terminal. Do TTY

00:22:26.900 --> 00:22:27.900
and it says

00:22:27.900 --> 00:22:29.240
slash dev slash

00:22:29.240 --> 00:22:31.500
bts one. So that terminal

00:22:31.500 --> 00:22:33.680
is represented by this.

00:22:33.780 --> 00:22:35.540
Let's try a very simple command.

00:22:35.720 --> 00:22:37.460
echo hello

00:22:37.460 --> 00:22:39.420
If I do that, what's going to happen?

00:22:40.840 --> 00:22:41.680
Then I press it.

00:22:45.160 --> 00:22:46.720
And it's going to say hello

00:22:47.940 --> 00:22:49.540
on the same

00:22:49.540 --> 00:22:51.540
terminal. Correct? What happens

00:22:51.540 --> 00:22:53.680
when I do

00:22:55.660 --> 00:22:56.540
that?

00:23:00.800 --> 00:23:01.680
What am I saying?

00:23:10.080 --> 00:23:11.320
I'm literally saying

00:23:11.320 --> 00:23:13.600
put hello, send

00:23:13.600 --> 00:23:15.780
it into that file.

00:23:16.960 --> 00:23:17.660
Before I do

00:23:17.660 --> 00:23:19.640
that, I can just

00:23:19.640 --> 00:23:21.800
say like this.

00:23:21.820 --> 00:23:23.820
I want to create a hello file.

00:23:25.480 --> 00:23:27.160
What is that going to do?

00:23:27.760 --> 00:23:29.700
In this current

00:23:29.700 --> 00:23:30.660
directory,

00:23:31.720 --> 00:23:33.700
it's going to create

00:23:34.680 --> 00:23:36.080
a hello file.

00:23:36.480 --> 00:23:37.680
And I can read

00:23:37.680 --> 00:23:38.580
that file.

00:23:41.480 --> 00:23:43.580
So all I've done here with any direction

00:23:44.480 --> 00:23:45.760
is take this

00:23:45.760 --> 00:23:47.580
text and put it into a new

00:23:47.580 --> 00:23:48.040
file.

00:23:51.720 --> 00:23:53.800
What does the dash in front

00:23:53.800 --> 00:23:55.060
of this output indicate?

00:24:05.660 --> 00:24:07.960
That first dash means

00:24:07.960 --> 00:24:09.740
it is just an

00:24:09.740 --> 00:24:11.620
ordinary file. It's a file that

00:24:11.620 --> 00:24:13.680
contains data. What I'm going to do right

00:24:13.680 --> 00:24:15.820
now, I'm going to send

00:24:15.820 --> 00:24:16.320
hello

00:24:19.860 --> 00:24:20.500
there.

00:24:23.800 --> 00:24:25.380
Can you please try the same?

00:24:27.340 --> 00:24:29.680
From one terminal, send hello to another

00:24:29.680 --> 00:24:30.660
terminal.

00:24:44.880 --> 00:24:46.320
Find out the identity

00:24:46.320 --> 00:24:47.240
of that terminal

00:24:47.240 --> 00:24:48.880
with the command ppy

00:24:51.220 --> 00:24:53.320
and send it from one to the other.

00:25:01.900 --> 00:25:02.700
Terminal send

00:25:02.700 --> 00:25:04.380
by send.

00:25:13.020 --> 00:25:14.540
Everything I do, I would recommend

00:25:14.540 --> 00:25:16.380
obviously that you try it out as well.

00:25:37.000 --> 00:25:38.000
So what

00:25:38.000 --> 00:25:38.840
of your

00:25:38.840 --> 00:25:39.620
your last

00:25:39.620 --> 00:25:40.740
thing for the

00:25:40.740 --> 00:25:42.360
going hello into

00:25:43.820 --> 00:25:44.500
dts2.

00:25:44.620 --> 00:25:46.640
How come when I do that

00:25:46.640 --> 00:25:48.320
I get a hello

00:25:48.320 --> 00:25:48.660
back?

00:25:50.140 --> 00:25:51.980
Well, which terminal are you sending

00:25:51.980 --> 00:25:53.520
into? Please first write

00:25:53.520 --> 00:25:55.680
ppy on both the terminals.

00:25:55.700 --> 00:25:56.620
Check that I did.

00:25:56.620 --> 00:25:57.960
Hello.

00:26:02.620 --> 00:26:03.800
Where are you sending it to?

00:26:19.580 --> 00:26:22.620
We have two terminals opened up

00:26:22.620 --> 00:26:24.100
side by side.

00:26:25.420 --> 00:26:26.640
Just look at my

00:26:26.640 --> 00:26:28.100
screen if you can.

00:26:29.380 --> 00:26:30.540
That's fine. At least

00:26:32.420 --> 00:26:32.940
two.

00:26:37.400 --> 00:26:38.980
Is everyone okay with this?

00:26:45.380 --> 00:26:46.420
Everything is

00:26:46.420 --> 00:26:47.260
a file.

00:26:48.640 --> 00:26:50.420
So with that in mind, coming back

00:26:50.420 --> 00:26:51.900
to my screen share.

00:26:58.060 --> 00:27:00.460
Let's have a look.

00:27:00.460 --> 00:27:01.880
ls minus

00:27:01.880 --> 00:27:03.120
l

00:27:04.140 --> 00:27:05.620
del pts

00:27:06.760 --> 00:27:08.160
What is the

00:27:08.160 --> 00:27:10.060
first character in the output of

00:27:10.060 --> 00:27:11.120
ls minus l?

00:27:13.200 --> 00:27:14.240
Compare it

00:27:15.480 --> 00:27:16.220
to

00:27:16.220 --> 00:27:18.080
the ls minus

00:27:18.080 --> 00:27:20.060
l I did for a file I created

00:27:20.060 --> 00:27:21.780
which contains some text

00:27:22.500 --> 00:27:23.760
that was started

00:27:23.760 --> 00:27:24.800
with a dash.

00:27:27.740 --> 00:27:30.060
This one says c.

00:27:34.160 --> 00:27:34.940
Any idea?

00:27:38.920 --> 00:27:39.780
This is

00:27:39.780 --> 00:27:41.880
what we will call as a device

00:27:41.880 --> 00:27:43.720
file. Device files can start

00:27:43.720 --> 00:27:45.680
with a c, start with a b depending

00:27:45.680 --> 00:27:47.700
on the read character

00:27:47.700 --> 00:27:49.180
by character or these are blocks.

00:27:49.180 --> 00:27:51.320
So it's a special file.

00:27:51.480 --> 00:27:53.260
This file represents

00:27:53.260 --> 00:27:54.060
a device.

00:27:57.580 --> 00:27:59.020
A device is not a hardware.

00:28:00.620 --> 00:28:01.320
A device is

00:28:01.320 --> 00:28:02.720
something that needs drivers.

00:28:02.940 --> 00:28:05.660
In Linux, your terminology is completely different.

00:28:06.940 --> 00:28:07.640
Third,

00:28:09.160 --> 00:28:11.180
let's have a look at

00:28:12.480 --> 00:28:14.520
the root file system.

00:28:16.760 --> 00:28:17.360
So

00:28:17.360 --> 00:28:18.580
we're going to do ls

00:28:18.580 --> 00:28:20.300
minus l

00:28:20.300 --> 00:28:22.520
and let's put a forward slash

00:28:24.420 --> 00:28:26.540
to say we want to look at the root

00:28:26.540 --> 00:28:29.020
file system. I want to see

00:28:29.880 --> 00:28:32.400
the top of the tree or the bottom

00:28:32.400 --> 00:28:34.520
however you want to say it.

00:28:36.200 --> 00:28:38.180
Notice something here.

00:28:39.320 --> 00:28:39.680
Bin

00:28:40.960 --> 00:28:42.160
points to

00:28:42.160 --> 00:28:44.300
usr slash bin

00:28:44.300 --> 00:28:46.260
and look at the first

00:28:46.260 --> 00:28:47.320
character.

00:28:50.860 --> 00:28:52.000
That is

00:28:52.000 --> 00:28:54.180
l which

00:28:54.180 --> 00:28:55.220
means

00:28:56.160 --> 00:28:58.060
what type of file is this?

00:28:58.060 --> 00:28:58.740
That's l.

00:29:10.200 --> 00:29:12.200
l here would mean

00:29:12.200 --> 00:29:14.200
this is a link like a shortcut.

00:29:20.440 --> 00:29:22.260
This is the third type

00:29:22.260 --> 00:29:23.520
of file. I repeat

00:29:24.060 --> 00:29:25.920
there are ordinary files

00:29:25.920 --> 00:29:27.680
that begin with a dash.

00:29:29.120 --> 00:29:30.020
There are device

00:29:30.020 --> 00:29:32.060
files that begin with a c

00:29:32.060 --> 00:29:33.020
or a b.

00:29:33.980 --> 00:29:35.860
There are links like

00:29:35.860 --> 00:29:37.920
shortcuts. They begin with

00:29:37.920 --> 00:29:39.980
an l and what does the d

00:29:39.980 --> 00:29:41.800
indicate here?

00:29:43.000 --> 00:29:43.720
Directly.

00:29:43.720 --> 00:29:45.860
So a directory is

00:29:45.860 --> 00:29:47.000
also a file.

00:29:48.940 --> 00:29:49.880
So l

00:29:49.880 --> 00:29:50.500
is a link.

00:29:50.720 --> 00:29:52.740
I've never seen l.

00:29:53.400 --> 00:29:55.060
Is it a matter of

00:29:55.060 --> 00:29:55.660
connection?

00:29:56.980 --> 00:29:58.160
Just symbolic?

00:29:58.880 --> 00:30:00.500
Yes, a symbolic link.

00:30:02.520 --> 00:30:04.740
Is it a matter of

00:30:06.540 --> 00:30:06.980
do you need

00:30:06.980 --> 00:30:08.800
certain permissions to say it or

00:30:08.800 --> 00:30:10.240
is it just normal like t?

00:30:12.740 --> 00:30:14.740
Nothing special for you to see it.

00:30:15.740 --> 00:30:16.960
Majority of the links

00:30:16.960 --> 00:30:18.920
in the system are just to maintain

00:30:18.920 --> 00:30:20.420
backward compatibility.

00:30:21.340 --> 00:30:22.500
So scripts

00:30:22.500 --> 00:30:24.420
that were written 20-30 years ago

00:30:25.280 --> 00:30:26.400
sorry lucky scripts

00:30:26.400 --> 00:30:28.380
that were written 20-30 years ago

00:30:28.380 --> 00:30:30.140
they pointed to slash bin.

00:30:31.320 --> 00:30:32.640
Will continue to

00:30:32.640 --> 00:30:34.400
work even if the binaries

00:30:34.400 --> 00:30:36.700
have now moved to a different location

00:30:36.700 --> 00:30:38.620
in the new Linux Unix systems.

00:30:40.460 --> 00:30:42.440
But a script that still says

00:30:42.440 --> 00:30:44.480
slash bin will continue

00:30:44.480 --> 00:30:46.500
to work 30-40 years

00:30:46.500 --> 00:30:48.400
later. So majority

00:30:48.400 --> 00:30:50.460
of the links are system

00:30:50.460 --> 00:30:52.400
built. You will see later on

00:30:52.400 --> 00:30:54.400
how to make them and how to use them.

00:30:56.620 --> 00:30:57.460
Lucky, go ahead.

00:30:58.760 --> 00:31:00.140
No, I was just saying it's like

00:31:00.140 --> 00:31:02.620
a short cut. Yes, it is.

00:31:02.880 --> 00:31:04.560
It is and it isn't. We'll look at

00:31:04.560 --> 00:31:06.400
symbolic links and see how it is slightly

00:31:06.920 --> 00:31:08.500
different. We have soft links, hard

00:31:08.500 --> 00:31:08.840
links.

00:31:12.840 --> 00:31:13.280
Okay.

00:31:14.440 --> 00:31:15.960
So a very

00:31:15.960 --> 00:31:17.960
fundamental question

00:31:19.640 --> 00:31:22.000
we would like to answer

00:31:22.000 --> 00:31:24.360
which I hope that we have

00:31:24.360 --> 00:31:26.440
is this.

00:31:26.840 --> 00:31:28.320
These commands are exposing me.

00:31:28.460 --> 00:31:29.520
I thought I know Linux.

00:31:32.160 --> 00:31:33.820
Do you know Linux?

00:31:35.200 --> 00:31:35.920
Yes.

00:31:37.800 --> 00:31:37.860
Linux

00:31:37.860 --> 00:31:39.320
full commands.

00:31:40.260 --> 00:31:41.120
Very difficult.

00:31:41.640 --> 00:31:44.120
As I said, it's not so difficult

00:31:44.120 --> 00:31:46.020
to get started, but to truly

00:31:46.020 --> 00:31:48.200
understand what you're looking at. And

00:31:48.200 --> 00:31:50.280
then in Linux, there are three

00:31:50.280 --> 00:31:51.980
levels. You have users,

00:31:52.740 --> 00:31:53.980
you have administrators

00:31:53.980 --> 00:31:55.160
and you have engineers.

00:31:57.600 --> 00:31:58.200
So engineers

00:31:58.200 --> 00:31:59.940
are above administrators

00:31:59.940 --> 00:32:01.940
in the sense that they understand

00:32:01.940 --> 00:32:04.080
under the hood, behind

00:32:04.080 --> 00:32:05.920
the scene, how the system functions.

00:32:06.500 --> 00:32:08.340
And administrators can do the admin

00:32:08.340 --> 00:32:10.100
work and set up a platform and

00:32:10.100 --> 00:32:12.220
set up the user and services and all that.

00:32:13.040 --> 00:32:14.940
So there is a third and the fourth

00:32:14.940 --> 00:32:17.300
level in this

00:32:18.160 --> 00:32:19.080
which I totally

00:32:19.080 --> 00:32:19.680
understand.

00:32:20.260 --> 00:32:22.460
I don't do a lot of that these days,

00:32:22.500 --> 00:32:24.340
but we used to spend a lot of time

00:32:25.560 --> 00:32:26.680
with high-end

00:32:26.680 --> 00:32:27.440
systems.

00:32:28.500 --> 00:32:30.440
I spent 20 years

00:32:30.440 --> 00:32:32.240
on Solaris as an OS.

00:32:33.240 --> 00:32:34.460
And we used to do

00:32:34.460 --> 00:32:36.400
kernel tweaking and tuning and we'll

00:32:36.400 --> 00:32:38.600
have people coming in 10 years of experience

00:32:39.200 --> 00:32:40.900
with a lot of

00:32:40.900 --> 00:32:42.660
confidence saying, I know Unix.

00:32:42.800 --> 00:32:44.840
And then after five days they said, I

00:32:44.840 --> 00:32:45.640
don't know Unix.

00:32:46.520 --> 00:32:48.700
I thought I knew I don't.

00:32:49.160 --> 00:32:50.680
And that thing is true for everything.

00:32:50.780 --> 00:32:52.600
There is a next level for everything.

00:32:53.740 --> 00:32:54.600
That's just how it goes.

00:32:54.820 --> 00:32:56.400
And these systems can be complicated.

00:32:57.160 --> 00:32:58.940
A quick look at what I'm sharing on the

00:32:58.940 --> 00:32:59.360
slide.

00:33:01.280 --> 00:33:02.540
There are four

00:33:02.540 --> 00:33:03.940
types of files.

00:33:04.760 --> 00:33:06.620
Files that contain data.

00:33:07.400 --> 00:33:08.760
Remember they have a dash

00:33:08.760 --> 00:33:11.040
in front of them when you do ls-l.

00:33:12.560 --> 00:33:13.020
We have

00:33:13.020 --> 00:33:14.780
directories. Directories are also

00:33:14.780 --> 00:33:16.000
considered as files.

00:33:17.840 --> 00:33:18.960
We have devices.

00:33:19.420 --> 00:33:20.600
This slide is incorrect.

00:33:20.800 --> 00:33:22.640
Devices are not for accessing the hardware.

00:33:23.140 --> 00:33:24.960
Devices for accessing anything that

00:33:24.960 --> 00:33:26.260
needs a driver.

00:33:27.460 --> 00:33:28.240
Including hardware.

00:33:28.860 --> 00:33:30.020
And we have links.

00:33:30.880 --> 00:33:32.540
We're going to see more of the links

00:33:32.540 --> 00:33:34.800
later on. But on the

00:33:34.800 --> 00:33:37.000
OS we can

00:33:37.000 --> 00:33:39.500
understand the different file types

00:33:39.500 --> 00:33:41.300
by looking at the

00:33:41.300 --> 00:33:43.000
output of ls-l.

00:33:47.540 --> 00:33:49.300
ls-l

00:33:49.300 --> 00:33:50.700
slash

00:33:50.700 --> 00:33:52.300
ETC password.

00:33:52.740 --> 00:33:54.780
This is what kind of file.

00:34:00.200 --> 00:34:01.600
So when it doesn't have

00:34:01.600 --> 00:34:04.920
a normal

00:34:04.920 --> 00:34:06.900
file, it's a data file.

00:34:07.080 --> 00:34:09.220
So remember this could be

00:34:10.000 --> 00:34:11.000
an image.

00:34:11.040 --> 00:34:12.280
This could be a PDF.

00:34:12.440 --> 00:34:13.800
This could be a document.

00:34:14.220 --> 00:34:16.780
Please understand that in Linux there is

00:34:16.780 --> 00:34:18.460
nothing called as extensions

00:34:18.460 --> 00:34:19.640
for the files.

00:34:37.160 --> 00:34:37.780
We

00:34:38.900 --> 00:34:40.320
put the dots

00:34:40.920 --> 00:34:43.300
and the three characters at the end.

00:34:43.720 --> 00:34:44.940
A, because it makes us feel

00:34:44.940 --> 00:34:45.660
better.

00:34:47.680 --> 00:34:48.920
B, because certain

00:34:50.380 --> 00:34:51.000
applications

00:34:51.000 --> 00:34:52.240
will make some assumptions.

00:34:53.800 --> 00:34:55.060
But technically in the

00:34:55.060 --> 00:34:57.100
Linux unit there is nothing called as

00:34:57.100 --> 00:34:59.060
extensions. So when you look at a

00:34:59.060 --> 00:34:59.500
file

00:35:00.920 --> 00:35:02.640
with a dash in front of it.

00:35:02.640 --> 00:35:04.380
With nothing

00:35:04.380 --> 00:35:07.020
at the end as a dot text

00:35:07.020 --> 00:35:07.720
or whatever.

00:35:08.180 --> 00:35:10.180
How do I know what is in it?

00:35:11.000 --> 00:35:12.520
Is it an image? Is it a PDF?

00:35:13.440 --> 00:35:14.840
Is it an executable

00:35:14.840 --> 00:35:16.420
file? Is it a binary?

00:35:17.500 --> 00:35:18.260
Is it a script?

00:35:18.460 --> 00:35:19.040
How do I know?

00:35:20.940 --> 00:35:22.480
That just tells you

00:35:22.480 --> 00:35:24.620
it's a file. But what type

00:35:24.620 --> 00:35:26.700
of file? Is it PDF?

00:35:27.140 --> 00:35:28.300
Is it a document?

00:35:29.680 --> 00:35:30.480
We

00:35:30.480 --> 00:35:31.160
use this.

00:35:34.040 --> 00:35:34.300
Okay.

00:35:44.220 --> 00:35:45.220
Oh, okay.

00:35:47.540 --> 00:35:47.980
Take note.

00:35:48.380 --> 00:35:49.000
Take note.

00:35:51.500 --> 00:35:52.160
It's recording.

00:35:52.380 --> 00:35:52.920
It's recording.

00:35:54.600 --> 00:35:55.560
It's recording.

00:35:55.560 --> 00:35:56.100
It's recording.

00:36:01.760 --> 00:36:03.460
Can I please

00:36:03.460 --> 00:36:05.600
request you to try exactly what

00:36:05.600 --> 00:36:07.860
you see on my screen?

00:36:13.800 --> 00:36:14.940
It's a lot of info.

00:36:15.560 --> 00:36:17.580
It's a binary. So what kind of binary

00:36:17.580 --> 00:36:18.160
it is?

00:36:20.360 --> 00:36:22.040
Okay. So is it

00:36:22.040 --> 00:36:23.560
more like...

00:36:23.560 --> 00:36:25.480
You always expect an extension.

00:36:25.700 --> 00:36:26.680
You don't have an extension.

00:36:27.960 --> 00:36:29.460
So here it's more like

00:36:29.460 --> 00:36:31.740
basically a file

00:36:31.740 --> 00:36:33.440
is almost

00:36:34.480 --> 00:36:35.420
is it

00:36:35.420 --> 00:36:37.900
an object that contains information

00:36:37.900 --> 00:36:40.160
about the resource, like name, size

00:36:40.160 --> 00:36:41.680
and link, the file type

00:36:41.680 --> 00:36:43.000
and all that.

00:36:43.520 --> 00:36:44.960
The logic is very simple.

00:36:46.020 --> 00:36:47.880
By changing an extension, you're not changing

00:36:47.880 --> 00:36:48.480
anything.

00:36:49.840 --> 00:36:51.200
Almost in...

00:36:52.500 --> 00:36:53.180
Because

00:36:53.180 --> 00:36:55.480
there is nothing called an extension

00:36:55.480 --> 00:36:57.320
in the file system.

00:36:57.320 --> 00:36:58.880
It's just a file name.

00:36:58.880 --> 00:36:59.340
Okay.

00:37:00.360 --> 00:37:02.860
So how do we see the metadata

00:37:02.860 --> 00:37:04.080
of the file?

00:37:05.340 --> 00:37:07.540
More like when was it created?

00:37:09.140 --> 00:37:11.480
typically will print everything about that.

00:37:11.620 --> 00:37:13.080
As you can already see with LS

00:37:13.080 --> 00:37:14.780
minus L.

00:37:15.700 --> 00:37:16.380
Permissions,

00:37:16.820 --> 00:37:18.980
UID, GID, sizes,

00:37:18.980 --> 00:37:20.820
date, time. So typically

00:37:20.820 --> 00:37:25.060
LS command will do all kinds of things for you.

00:37:25.820 --> 00:37:26.860
So this

00:37:26.860 --> 00:37:27.900
is why

00:37:28.820 --> 00:37:30.600
Unix does not suffer a lot from

00:37:30.600 --> 00:37:31.100
ISA.

00:37:33.840 --> 00:37:35.080
Not really.

00:37:35.300 --> 00:37:36.980
That's not the reason for it.

00:37:38.900 --> 00:37:40.980
It's the kernel architecture itself

00:37:44.260 --> 00:37:45.120
which is

00:37:45.120 --> 00:37:46.180
slightly different.

00:37:47.240 --> 00:37:49.280
Anyways, I don't want to get into this.

00:37:50.660 --> 00:37:50.700
But

00:37:50.700 --> 00:37:52.900
each OS has its own vulnerabilities.

00:37:54.460 --> 00:37:54.600
So

00:37:54.600 --> 00:37:57.080
architectures make a big difference as well.

00:37:58.540 --> 00:37:59.760
So I would again

00:37:59.760 --> 00:38:02.180
request all of you to please try this out.

00:38:03.640 --> 00:38:04.320
I can

00:38:04.320 --> 00:38:06.320
guarantee you Linux is very

00:38:06.320 --> 00:38:08.100
easy to watch, very difficult

00:38:08.100 --> 00:38:08.700
to do.

00:38:10.380 --> 00:38:12.260
Sometimes when you see something, it looks

00:38:12.260 --> 00:38:14.360
very straightforward. When we try

00:38:14.360 --> 00:38:16.720
things may not always work out.

00:38:18.300 --> 00:38:20.520
So I hope we have at least answered

00:38:20.520 --> 00:38:22.640
some core fundamental

00:38:22.640 --> 00:38:24.200
questions. What's a file?

00:38:24.300 --> 00:38:26.240
What are the different types of files?

00:38:26.320 --> 00:38:28.460
How do I know what type of file

00:38:28.460 --> 00:38:30.400
I am working on?

00:38:31.860 --> 00:38:32.420
Or I

00:38:32.420 --> 00:38:34.460
should be working on as well.

00:38:36.280 --> 00:38:38.360
We'll get into the

00:38:39.300 --> 00:38:40.780
commands a little bit

00:38:40.780 --> 00:38:42.120
as we go through this.

00:38:43.280 --> 00:38:44.760
But this is also

00:38:44.760 --> 00:38:45.440
where

00:38:46.440 --> 00:38:48.040
we would like to

00:38:48.040 --> 00:38:50.180
just get comfortable with

00:38:50.180 --> 00:38:52.240
the file system.

00:38:54.240 --> 00:38:55.540
And that's another bit.

00:38:55.900 --> 00:38:58.060
Which is

00:38:58.060 --> 00:39:00.120
depending on the

00:39:01.040 --> 00:39:02.220
Linux distribution

00:39:02.220 --> 00:39:04.060
that you're working on, some things might be

00:39:04.060 --> 00:39:05.960
different. But generally speaking,

00:39:07.860 --> 00:39:08.480
if I would

00:39:08.480 --> 00:39:10.240
compare it to Windows, you have

00:39:10.240 --> 00:39:12.280
the Windows folder and you have the

00:39:12.280 --> 00:39:14.240
programs file folder. There are certain locations

00:39:14.920 --> 00:39:16.660
where we expect

00:39:16.660 --> 00:39:18.660
certain configurations

00:39:19.560 --> 00:39:20.620
to be.

00:39:21.100 --> 00:39:22.320
In the Linux Unix world,

00:39:22.540 --> 00:39:24.580
half the battle is trying to figure out

00:39:24.580 --> 00:39:25.620
or remembering

00:39:26.740 --> 00:39:28.460
what is in which folder.

00:39:29.500 --> 00:39:30.540
These don't matter

00:39:30.540 --> 00:39:32.400
too much for an end user

00:39:32.400 --> 00:39:33.840
working on the command line.

00:39:34.420 --> 00:39:36.220
But they probably do better

00:39:36.220 --> 00:39:37.580
if you're a sys admin.

00:39:37.580 --> 00:39:40.020
Then you need to familiarize yourself

00:39:40.020 --> 00:39:42.060
with many different locations.

00:39:42.640 --> 00:39:43.640
The starting point,

00:39:43.720 --> 00:39:45.160
the top of the tree,

00:39:45.840 --> 00:39:47.680
is what we call as the root.

00:39:49.420 --> 00:39:51.860
And under that, there are

00:39:51.860 --> 00:39:53.800
plenty of different folders,

00:39:54.600 --> 00:39:55.560
each containing

00:39:55.560 --> 00:39:57.700
some specific type

00:39:57.700 --> 00:39:59.540
of files or configurations

00:39:59.540 --> 00:40:01.940
to be found. So for instance,

00:40:02.020 --> 00:40:03.460
under the root, the

00:40:03.460 --> 00:40:05.660
ETC folder contains

00:40:05.660 --> 00:40:06.900
a whole lot of

00:40:06.900 --> 00:40:09.640
hundreds of files where

00:40:09.640 --> 00:40:11.240
all kinds of configuration

00:40:11.240 --> 00:40:13.200
exist. For instance,

00:40:14.460 --> 00:40:15.700
let's say

00:40:15.700 --> 00:40:17.560
again as network

00:40:17.560 --> 00:40:19.660
engineers, I would like

00:40:22.260 --> 00:40:22.940
to

00:40:22.940 --> 00:40:24.100
check this out.

00:40:24.200 --> 00:40:25.720
Cat to read

00:40:25.720 --> 00:40:27.760
a file and I want to read the host

00:40:27.760 --> 00:40:28.500
file.

00:40:32.420 --> 00:40:33.900
And all this is

00:40:33.900 --> 00:40:36.120
well, it's the host file. In Windows

00:40:36.120 --> 00:40:38.240
you find it and see Windows

00:40:38.240 --> 00:40:39.900
System32 drivers

00:40:42.200 --> 00:40:42.860
ETC

00:40:42.860 --> 00:40:44.260
Guess where the ETC

00:40:44.260 --> 00:40:45.900
folder on Windows came from.

00:40:51.000 --> 00:40:52.600
So a lot of

00:40:52.600 --> 00:40:54.160
the Windows hierarchy

00:40:54.160 --> 00:40:55.840
as well that you see

00:40:55.840 --> 00:40:57.900
also comes from

00:40:59.180 --> 00:40:59.820
Linux

00:40:59.820 --> 00:41:01.820
and Unix more or less.

00:41:01.820 --> 00:41:03.700
So the host file for instance

00:41:03.700 --> 00:41:05.500
in Windows is in

00:41:05.500 --> 00:41:07.700
System32 drivers ETC

00:41:07.700 --> 00:41:08.500
folder.

00:41:09.760 --> 00:41:12.080
Same place I see the host file here

00:41:12.080 --> 00:41:13.060
as well.

00:41:14.340 --> 00:41:15.700
So different

00:41:15.700 --> 00:41:16.780
locations

00:41:17.820 --> 00:41:19.680
matter in the file system.

00:41:20.740 --> 00:41:21.960
For instance,

00:41:23.520 --> 00:41:25.680
if we have a look at the root of the

00:41:25.680 --> 00:41:27.100
file system very quickly,

00:41:28.740 --> 00:41:30.840
I see boot,

00:41:32.300 --> 00:41:33.140
MNT,

00:41:33.740 --> 00:41:34.360
proc,

00:41:35.760 --> 00:41:37.180
run, there is a temp

00:41:37.180 --> 00:41:39.100
space, there is bin,

00:41:39.360 --> 00:41:40.380
sbin,

00:41:41.700 --> 00:41:43.480
opt where software packages

00:41:43.480 --> 00:41:45.220
are found, home which is the

00:41:45.220 --> 00:41:47.100
location of the

00:41:48.260 --> 00:41:49.220
user home

00:41:49.220 --> 00:41:50.880
directory which is currently

00:41:50.880 --> 00:41:53.280
as the student.

00:41:53.340 --> 00:41:54.880
So my home directory is

00:41:54.880 --> 00:41:56.700
center slash home student

00:41:56.700 --> 00:41:57.800
desktop

00:41:58.880 --> 00:42:00.920
as you get more into system administration

00:42:00.920 --> 00:42:02.780
then you spend more and more time

00:42:02.780 --> 00:42:04.600
on or in this particular

00:42:04.600 --> 00:42:06.620
folder what exists

00:42:06.620 --> 00:42:08.560
in that particular folder and you become

00:42:08.560 --> 00:42:11.080
familiar frankly with a bit of time.

00:42:12.120 --> 00:42:12.880
There could be

00:42:12.880 --> 00:42:14.220
small differences

00:42:14.880 --> 00:42:16.060
between different

00:42:16.880 --> 00:42:18.820
I would say

00:42:18.820 --> 00:42:20.880
distributions at time but on

00:42:20.880 --> 00:42:22.860
a high level it's kind of something like

00:42:22.860 --> 00:42:24.940
sorry GP there is another question

00:42:24.940 --> 00:42:26.800
I think I should have asked you when

00:42:26.800 --> 00:42:28.760
we were doing the echo

00:42:28.760 --> 00:42:29.820
hello

00:42:29.820 --> 00:42:33.060
but if for example

00:42:33.060 --> 00:42:35.200
I am an

00:42:35.200 --> 00:42:36.900
admin and I want

00:42:36.900 --> 00:42:38.860
to see your

00:42:40.120 --> 00:42:40.720
into which

00:42:40.720 --> 00:42:42.680
terminal is using

00:42:42.680 --> 00:42:45.360
why do that and then

00:42:45.360 --> 00:42:47.240
I can send that

00:42:47.240 --> 00:42:49.020
message if I just want to

00:42:49.020 --> 00:42:51.360
say hey if you stop watching this

00:42:54.320 --> 00:42:55.080
so

00:42:55.080 --> 00:42:57.020
first of all who minus

00:42:57.020 --> 00:43:01.540
A will answer that question for you

00:43:01.540 --> 00:43:03.100
who minus A will

00:43:03.100 --> 00:43:05.280
also lucky show you remote

00:43:05.280 --> 00:43:06.640
users who have

00:43:06.640 --> 00:43:09.020
telneted or SSH into the

00:43:09.020 --> 00:43:09.640
system.

00:43:10.860 --> 00:43:13.360
You will see everybody local as well as

00:43:13.360 --> 00:43:15.020
remote logged in users.

00:43:15.020 --> 00:43:17.200
Even as a normal user

00:43:17.200 --> 00:43:19.320
or as root only

00:43:19.320 --> 00:43:20.460
or as super user.

00:43:21.080 --> 00:43:23.160
No we can do both. Who typically imprints

00:43:23.160 --> 00:43:24.240
out all information?

00:43:25.920 --> 00:43:27.480
It should be.

00:43:28.400 --> 00:43:29.600
Some binaries

00:43:29.600 --> 00:43:31.020
are limited if they are not

00:43:31.020 --> 00:43:33.000
running under super user

00:43:33.000 --> 00:43:33.900
account.

00:43:35.000 --> 00:43:37.040
Some binaries are for everybody

00:43:37.040 --> 00:43:38.720
to use and

00:43:38.720 --> 00:43:41.340
lucky what happens is in many

00:43:41.340 --> 00:43:43.240
organizations they

00:43:43.240 --> 00:43:45.460
want to strictly limit the

00:43:45.460 --> 00:43:47.480
privileges of even a normal user

00:43:47.480 --> 00:43:47.860
account.

00:43:49.140 --> 00:43:51.400
For example why does a normal user

00:43:51.400 --> 00:43:53.440
account need to see all the running

00:43:53.440 --> 00:43:54.500
system process.

00:43:54.980 --> 00:43:56.000
That's a classic example.

00:43:56.460 --> 00:43:59.160
So what we normally do is we then harden

00:43:59.160 --> 00:44:01.400
these systems and there are different mechanisms

00:44:01.400 --> 00:44:03.240
by which we do system hardening.

00:44:04.240 --> 00:44:05.340
Creating restricted

00:44:05.340 --> 00:44:07.480
shell and so on and so forth.

00:44:07.640 --> 00:44:09.240
Limiting what commands you

00:44:09.240 --> 00:44:11.080
can execute. So then

00:44:11.080 --> 00:44:13.220
like I think what I'm trying to say

00:44:13.220 --> 00:44:15.180
is so that an operator

00:44:15.760 --> 00:44:17.080
who has specific

00:44:17.080 --> 00:44:18.980
tasks doesn't do anything

00:44:18.980 --> 00:44:21.420
beyond those very specific

00:44:21.420 --> 00:44:23.220
tasks. But it takes some work to do that

00:44:23.220 --> 00:44:25.460
kind of hardening. So in many cases

00:44:25.460 --> 00:44:27.080
an end user might

00:44:27.080 --> 00:44:28.980
be able to do a lot more than

00:44:28.980 --> 00:44:30.900
maybe we really wanted them to do.

00:44:31.180 --> 00:44:33.260
Hopefully that kind of answers the question.

00:44:33.480 --> 00:44:34.500
Yes, yes, yes.

00:44:36.140 --> 00:44:37.160
Alright any other question

00:44:37.160 --> 00:44:39.040
from anyone else at this point in time?

00:44:39.040 --> 00:44:40.080
We have it all good.

00:44:40.360 --> 00:44:42.920
How about the others? I know when we started

00:44:42.920 --> 00:44:44.860
everyone said you guys are intermediate

00:44:44.860 --> 00:44:47.040
on Linux. So I hope this is not super

00:44:47.040 --> 00:44:49.080
basic. But as I mentioned

00:44:49.080 --> 00:44:51.060
I just don't want to take a chance.

00:44:51.860 --> 00:44:52.800
Yes, no,

00:44:52.860 --> 00:44:55.180
don't take a chance. Now we can see

00:44:55.180 --> 00:44:55.500
where

00:44:56.780 --> 00:44:59.140
at least I didn't say I'm in TBL.

00:44:59.400 --> 00:45:01.480
What is that word that I really used?

00:45:03.200 --> 00:45:03.440
Comfortable.

00:45:03.700 --> 00:45:04.220
Comfortable.

00:45:05.620 --> 00:45:06.660
Super comfortable.

00:45:07.660 --> 00:45:08.320
Intermediate.

00:45:12.900 --> 00:45:14.920
So hopefully we are making you

00:45:14.920 --> 00:45:16.780
uncomfortable with your comfort

00:45:16.780 --> 00:45:17.680
level.

00:45:18.780 --> 00:45:19.440
Yes.

00:45:21.320 --> 00:45:22.860
So that's the reason

00:45:22.860 --> 00:45:25.060
I'm just going through some basics

00:45:25.060 --> 00:45:26.100
that I think

00:45:26.660 --> 00:45:28.660
I don't want to take any

00:45:28.660 --> 00:45:30.740
chances here as well. We'll work on

00:45:30.740 --> 00:45:32.800
the file system in a little

00:45:32.800 --> 00:45:34.840
bit. Maybe good time for a short

00:45:34.840 --> 00:45:36.860
break. 15-odd minutes

00:45:36.860 --> 00:45:37.900
and then we resume.

00:45:39.320 --> 00:45:39.700
Yes.

00:45:40.600 --> 00:45:42.420
We'll come back at 10.30.

00:45:43.140 --> 00:45:44.000
All right.

00:45:44.380 --> 00:45:46.300
The guy who

00:45:46.300 --> 00:45:48.400
tells me to break for our group.

00:45:50.660 --> 00:45:52.620
any question about taking

00:45:52.620 --> 00:45:54.360
a break, going to lunch,

00:45:55.120 --> 00:45:57.020
I'm going to answer that one.

00:45:57.520 --> 00:45:58.880
Anything about recording

00:45:58.880 --> 00:46:01.000
and something

00:46:01.000 --> 00:46:02.640
that we need to take, not like

00:46:03.280 --> 00:46:04.560
it will

00:46:04.560 --> 00:46:06.260
normally end there.

00:46:07.720 --> 00:46:08.200
All right.

00:46:08.400 --> 00:46:10.160
Good to have a point person. We like

00:46:10.160 --> 00:46:12.400
outsourcing anyways and having a conference.

00:46:14.300 --> 00:46:16.940
All right. See you guys in

00:46:16.940 --> 00:46:17.740
15-odd minutes.

00:46:18.980 --> 00:46:20.020
Enjoy your lunch.

00:46:20.820 --> 00:46:21.460
Thanks.

00:46:56.160 --> 00:46:58.960
Thank you.

00:47:02.640 --> 00:47:03.980
.

00:47:08.240 --> 00:47:08.640
.

00:47:09.640 --> 00:47:09.980
.

00:47:10.640 --> 00:47:12.280
.

00:47:12.280 --> 00:47:12.300
.

00:47:12.300 --> 00:47:12.360
.

00:47:12.360 --> 00:47:14.420
.

00:47:14.420 --> 00:47:14.820
.

00:47:14.820 --> 00:47:16.120
.

00:47:17.940 --> 00:47:19.340
.

00:47:21.000 --> 00:47:22.400
.

00:48:44.040 --> 00:48:51.000
I'm going to ask where in the world you are.

00:48:51.680 --> 00:48:58.680
Apologies if I haven't mentioned, I'm based in Dubai, just like Kubey, so we are

00:48:58.680 --> 00:49:20.980
colleagues. I've known him maybe 10 years now. I'm from India, I've been in the

00:49:24.140 --> 00:49:29.080
I haven't. I mean, you know, Manla is there and every time there is a client

00:49:29.080 --> 00:49:33.320
engagement that physically requires me to be there, the clients change their

00:49:33.320 --> 00:49:37.360
mind at the last moment. You are too expensive, let's do this online.

00:49:42.080 --> 00:49:47.720
It's definitely on my mind. There are some parts of the world I don't really

00:49:47.720 --> 00:49:52.840
go out of the way on my own, since I know that as part of some engagement I'll end up there

00:49:52.840 --> 00:50:00.140
someday. So I think SA is one of those places where I know I want to be there

00:50:00.140 --> 00:50:05.300
but I know I'll end up there one way or the other. I had a couple of my family

00:50:05.300 --> 00:50:11.420
friends with recently and they went to some beautiful and gorgeous places and it was just

00:50:11.420 --> 00:50:20.620
very tempting when I saw that I said I need to go there. Beautiful coastal locations, they look really nice.

00:50:24.840 --> 00:50:29.200
Everyone here is in Cape Town, Joburg, where are you guys at?

00:50:30.440 --> 00:50:38.480
We are in Joburg, half of it is in Joburg and some of it is in Pretoria.

00:50:42.600 --> 00:50:49.140
I work with people all over the place.

00:50:50.860 --> 00:51:14.500
Lesotho as well, physically I've been in Africa, I've been to Egypt, Ethiopia, Kenya, Tanzania, Zanzibar, but that's about it.

00:51:14.500 --> 00:51:21.960
I just need to go down a little bit more. It's almost in that order that I have traveled.

00:51:28.320 --> 00:51:34.400
How about the others, are you back? Winnie, you've been very quiet in the first half.

00:51:35.820 --> 00:51:39.880
Yes, I'm back. I'm the quietest in the entire group.

00:51:45.340 --> 00:51:47.420
You've been outed, Winnie.

00:51:47.700 --> 00:51:48.920
Saki, how about you, are you with us?

00:51:49.080 --> 00:51:59.260
Yes, I'm here. I'm just listening to Ivan. He likes Cape Town. I don't know why he didn't tell you he likes Cape Town.

00:52:01.260 --> 00:52:02.360
He's bad, he's bad.

00:52:07.040 --> 00:52:10.360
I'm calling him back, I'm sure now it's not long I'll have him picture myself.

00:52:11.500 --> 00:52:12.300
I think we're all in.

00:52:12.300 --> 00:52:13.740
He is bad.

00:52:17.380 --> 00:52:22.140
Good to have you back with me. Let's soldier on.

00:52:23.500 --> 00:52:29.240
So that was frankly the first half, just getting to know some fundamentals of the Linux.

00:52:29.240 --> 00:52:36.420
What we want to do next is just get a bit more comfortable with the file system in terms of the structure.

00:52:36.960 --> 00:52:40.880
How do you move around, some tips and tricks on this.

00:52:41.260 --> 00:52:46.220
As I said, partly the challenge is doing the right thing, but just in the wrong place.

00:52:46.540 --> 00:52:49.980
So we're going to focus a little bit on just moving around the file system.

00:52:51.100 --> 00:52:55.760
We spent a bit of time just knowing that there are different types of files.

00:52:55.760 --> 00:52:58.640
That was the starting point for us.

00:52:59.220 --> 00:53:03.160
Ordinary files and links and directories and so on and so forth.

00:53:04.140 --> 00:53:11.240
The first thing probably on any table, as I mentioned, is just figuring out where you are at.

00:53:12.480 --> 00:53:20.720
And that would be a quick PWD, print my working directory.

00:53:21.980 --> 00:53:27.860
And that will just very quickly tell you where currently in the file system you are.

00:53:28.580 --> 00:53:34.400
As I did mention, we have the root and everything under the system.

00:53:34.500 --> 00:53:36.980
All the resources are available under the root.

00:53:37.960 --> 00:53:42.760
So we can just do this CD forward slash.

00:53:42.760 --> 00:53:50.620
And that means I'm on the top of the tree or at the bottom, however you want to look at it.

00:53:50.760 --> 00:53:57.020
But all system resources are available under the root in terms of the file system.

00:53:58.260 --> 00:54:02.900
And here we can again validate that with a quick print working directory.

00:54:03.020 --> 00:54:10.440
Yep, I am absolutely at the root of the file system and all the resources are under that.

00:54:10.440 --> 00:54:16.360
What happens if I just write CD and press enter into the directory to what?

00:54:17.440 --> 00:54:18.680
Would it accept that?

00:54:18.840 --> 00:54:20.380
Does it not go to root?

00:54:20.860 --> 00:54:24.060
No, it takes you to your home directory.

00:54:31.600 --> 00:54:35.440
Quick shortcut to go to your home directory is that.

00:54:36.400 --> 00:54:39.480
Just write CD and press enter.

00:54:39.480 --> 00:54:43.480
Can you see what character represents your home directory?

00:54:55.680 --> 00:54:57.140
That's the tilde.

00:54:57.740 --> 00:54:59.780
Tilde represents your home directory.

00:55:00.540 --> 00:55:01.700
It's what tilde?

00:55:01.940 --> 00:55:02.880
Yeah, tilde.

00:55:03.880 --> 00:55:08.880
Yeah, Linux makes you reacquaint yourself with the keyboard a little bit.

00:55:25.060 --> 00:55:30.180
So tilde simply represents your home directory.

00:55:30.400 --> 00:55:32.080
So what is my home directory?

00:55:32.080 --> 00:55:38.080
Right now it is slash student slash, sorry, slash home slash student, correct?

00:55:40.020 --> 00:55:43.200
Let me change my current directory now.

00:55:43.520 --> 00:55:45.660
Now I am in the root of the system.

00:55:46.900 --> 00:55:49.980
Let's say I want to create a file in my home directory.

00:55:50.220 --> 00:55:52.560
Do I have to go into the directory first?

00:55:53.040 --> 00:55:55.200
Not necessary, I can just mention the path.

00:55:56.540 --> 00:56:03.240
Yes, but before you can go there, I see up there the first three lines.

00:56:03.820 --> 00:56:07.020
You see there's that tilde and then slash desktop.

00:56:07.280 --> 00:56:09.400
What is happening here?

00:56:12.740 --> 00:56:19.140
Under my home directory, there are many folders.

00:56:19.960 --> 00:56:21.240
Oh, OK.

00:56:21.340 --> 00:56:22.780
One of them is the desktop.

00:56:22.780 --> 00:56:24.620
Desktop, OK.

00:56:25.200 --> 00:56:27.920
How did I start this particular terminal?

00:56:28.040 --> 00:56:35.900
Most likely by right-clicking the desktop and saying open in terminal.

00:56:39.600 --> 00:56:48.400
So then it opens a terminal and the current location in the terminal is the desktop.

00:56:50.700 --> 00:56:55.320
So the desktop is just a folder under my home directory.

00:56:55.540 --> 00:57:00.340
I have documents downloaded because it's a normal user account and all kinds of other things.

00:57:02.000 --> 00:57:03.820
Are we OK with this?

00:57:04.320 --> 00:57:07.420
Tilde represents your home directory.

00:57:09.160 --> 00:57:11.620
As a shortcut, it can be used for the same.

00:57:13.360 --> 00:57:20.560
Now, when you're working on the file system, we mentioned that there are two ways to move around.

00:57:20.780 --> 00:57:26.380
There is something called as the absolute path and there is something called as the relative path.

00:57:27.840 --> 00:57:33.260
Let's just look at that with a quick diagram.

00:57:33.480 --> 00:57:37.460
I'll just share a quick whiteboard to represent that idea.

00:57:37.720 --> 00:57:38.860
Give me a second.

00:57:40.960 --> 00:57:45.360
And then we will use that to move around the file system a little bit.

00:57:45.360 --> 00:57:50.300
So in terms of how do we move around and how do we mention the path?

00:57:50.480 --> 00:57:58.860
Let's say we've got the root and then under the root, I have the folder home.

00:58:00.260 --> 00:58:04.240
Under home, I have the folder student.

00:58:05.260 --> 00:58:09.340
The root, I also have the folder who are here.

00:58:09.580 --> 00:58:13.420
So the first thing is, what's your current directory?

00:58:13.480 --> 00:58:15.560
So let's say my current directory.

00:58:16.400 --> 00:58:19.760
Happens to be slash home.

00:58:22.300 --> 00:58:24.540
Absolute path means.

00:58:25.620 --> 00:58:33.940
Anytime I mentioned the path and I begin with the forward slash, the moment you start a path with slash,

00:58:35.640 --> 00:58:41.860
you are referring to the top or the root of the file system.

00:58:41.880 --> 00:58:43.980
And then you have to give the path according to that.

00:58:43.980 --> 00:58:48.760
If you're not starting with this, then you're starting from the current.

00:58:48.760 --> 00:58:49.880
What do I mean by that?

00:58:50.360 --> 00:58:57.220
If I'm in the home directory and I want to go into the student folder, there are many ways I can do this.

00:58:57.380 --> 00:59:00.620
One is I can just say CD student.

00:59:01.560 --> 00:59:06.240
It assumes that student folder is relative to my current location.

00:59:06.460 --> 00:59:07.520
It will work.

00:59:08.460 --> 00:59:11.060
What happens if I say CD slash?

00:59:11.180 --> 00:59:14.600
The moment I say slash, it doesn't care where I am anymore.

00:59:16.300 --> 00:59:23.260
I need to provide the complete path in the file system.

00:59:23.780 --> 00:59:26.980
Slash home slash student.

00:59:28.040 --> 00:59:33.940
So you can use relative or absolute path in many cases like scripts and all.

00:59:33.940 --> 00:59:38.280
We want to give the exact path where something is.

00:59:38.960 --> 00:59:40.980
Sometimes relative is just faster.

00:59:42.200 --> 00:59:44.920
I don't want to start from the root every single time.

00:59:46.120 --> 00:59:49.720
All right, let's give some of these things just a quick try.

00:59:51.120 --> 00:59:59.160
I'm going to just share my screen and do exactly that.

01:00:00.140 --> 01:00:03.220
First, I'm going to go into the home folder.

01:00:04.420 --> 01:00:07.460
You can not find this out as well after you have a quick look.

01:00:07.940 --> 01:00:09.300
I'm in slash home.

01:00:14.160 --> 01:00:15.140
Will this work?

01:00:15.140 --> 01:00:20.120
No, because you started with a slash and you are already at home.

01:00:20.340 --> 01:00:22.840
There is no such folder under the root.

01:00:23.980 --> 01:00:29.940
If I start from the slash, then I must say slash home slash student in the full path.

01:00:31.100 --> 01:00:36.460
Don't forget the shell is a little bit friendly, so you can use tab to autocomplete.

01:00:38.600 --> 01:00:39.580
Tab is your friend.

01:00:39.580 --> 01:00:45.800
It helps us eliminate typical typing errors that we can have.

01:00:53.760 --> 01:00:55.960
More productive and less errors.

01:00:56.560 --> 01:00:58.100
The less we type, the better it is.

01:00:58.400 --> 01:01:01.680
Now from slash home, how do I go to slash what?

01:01:04.480 --> 01:01:07.680
What's the question from slash home?

01:01:08.620 --> 01:01:12.680
How do I go to slash bar, which is another folder under the root?

01:01:15.280 --> 01:01:17.780
You have to say these.

01:01:18.860 --> 01:01:23.120
So if I start with slash means I'm giving absolute path.

01:01:23.880 --> 01:01:25.800
How do I do this relatively?

01:01:26.640 --> 01:01:28.200
So what will this do?

01:01:29.380 --> 01:01:30.440
Level up.

01:01:33.800 --> 01:01:35.040
So what is that?

01:01:35.800 --> 01:01:37.100
That is the root, isn't it?

01:01:37.220 --> 01:01:38.280
Under over home.

01:01:40.420 --> 01:01:42.300
Then I can say slash what?

01:01:46.120 --> 01:01:49.120
I climbed up and then climbed down.

01:01:57.160 --> 01:01:59.760
Now I have a question for you.

01:02:00.680 --> 01:02:04.100
Please watch my terminal carefully and look at my current folder.

01:02:05.560 --> 01:02:06.120
Carefully.

01:02:06.860 --> 01:02:08.140
I am under home.

01:02:08.420 --> 01:02:10.260
Under home, I am in student folder.

01:02:10.320 --> 01:02:12.220
From here, how do I go what?

01:02:13.940 --> 01:02:14.380
Relatively.

01:02:14.940 --> 01:02:16.380
I know absolute path is simple.

01:02:16.440 --> 01:02:17.300
CD slash what?

01:02:31.380 --> 01:02:32.600
Please give it a try.

01:02:32.980 --> 01:02:36.760
Then if you are here, because I see you are on the slash bar,

01:02:38.100 --> 01:02:41.280
if you want to go to that path that you are coming from,

01:02:41.280 --> 01:02:45.960
that is the path that we are looking for.

01:02:49.680 --> 01:02:50.960
CD dash.

01:02:52.860 --> 01:02:55.980
Oh, I thought this thing,

01:02:57.400 --> 01:02:59.760
why do you call it that thing?

01:02:59.940 --> 01:03:01.640
That will represent your home.

01:03:02.620 --> 01:03:03.820
Oh, till death.

01:03:04.080 --> 01:03:04.720
Till death.

01:03:05.280 --> 01:03:07.020
I thought it was till death.

01:03:07.020 --> 01:03:12.760
No, CD dash is simply a way to quickly jump between two locations.

01:03:13.120 --> 01:03:15.060
Current location, last location.

01:03:17.000 --> 01:03:19.020
Glad we have answered that.

01:03:19.720 --> 01:03:21.440
Yes, thank you very much.

01:03:22.520 --> 01:03:23.140
So.

01:03:23.140 --> 01:03:24.640
I will help you baby.

01:03:31.400 --> 01:03:35.520
So CD dash is just a quick way of jumping between two locations.

01:03:35.520 --> 01:03:39.120
You can obviously use dollar, sorry, tilde,

01:03:39.240 --> 01:03:41.820
if you want to specifically refer your home directory.

01:03:41.820 --> 01:03:44.340
It might be faster, of course.

01:03:48.900 --> 01:03:50.100
What's that going to do?

01:03:50.380 --> 01:03:55.040
It's going to create a file on the home directory.

01:03:56.980 --> 01:03:59.000
So that's just much faster.

01:04:00.860 --> 01:04:02.780
Oh, till death.

01:04:06.360 --> 01:04:08.680
Vinny, I don't see you trying things out.

01:04:08.980 --> 01:04:11.220
OK, I can see you're doing things in the terminal.

01:04:11.860 --> 01:04:11.920
Brilliant.

01:04:12.080 --> 01:04:13.280
Akun, are you trying things out?

01:04:13.460 --> 01:04:16.060
Hi, sorry, sorry, sorry, I got stuck there a little bit.

01:04:16.520 --> 01:04:18.560
I'm doing that now at 12 o'clock.

01:04:19.140 --> 01:04:22.380
All right, when you come back, I can see Lucky is doing the same.

01:04:23.600 --> 01:04:25.400
OK, so creating a file.

01:04:26.760 --> 01:04:29.840
So creating a file called your file.

01:04:30.420 --> 01:04:34.100
Yeah, just and in terms of what's happening, look at my terminal.

01:04:34.100 --> 01:04:35.420
Start from the top.

01:04:36.540 --> 01:04:40.200
We are just trying to navigate the file system.

01:04:41.660 --> 01:04:44.920
Using absolute path and relative path.

01:04:45.100 --> 01:04:45.880
Absolute path.

01:04:45.880 --> 01:04:51.320
We are starting with the slash and relative path is from where we are at.

01:04:51.320 --> 01:04:57.600
We are using something like dot dot to go up or tilde to refer to our home directory.

01:04:57.640 --> 01:04:59.400
It's moving around the file system.

01:04:59.840 --> 01:05:01.160
No, no, no, that's fine.

01:05:01.360 --> 01:05:01.680
That's fine.

01:05:01.820 --> 01:05:03.800
I appreciate that.

01:05:06.960 --> 01:05:10.340
And just writing cd with nothing takes you to your home directory.

01:05:10.980 --> 01:05:12.060
Yes, yes, that's right.

01:05:12.980 --> 01:05:14.760
And cd space dash.

01:05:15.080 --> 01:05:19.200
Helps you hop back into the directory you came from.

01:05:19.200 --> 01:05:20.980
Previous location.

01:05:22.200 --> 01:05:27.800
So cd dash will help you hop between two folders, one and the other.

01:05:28.560 --> 01:05:29.420
Back and forth.

01:05:30.820 --> 01:05:31.200
That's OK.

01:05:31.960 --> 01:05:32.620
That's OK.

01:05:33.840 --> 01:05:36.540
You can just touch dash that tilde new file.

01:05:36.580 --> 01:05:40.360
This is just to show you that tilde refers to your home directory.

01:05:42.040 --> 01:05:42.380
OK.

01:05:42.380 --> 01:05:43.140
OK.

01:05:44.020 --> 01:05:44.400
OK.

01:05:44.540 --> 01:05:47.380
Can I request everyone come back to their home directory please?

01:05:55.620 --> 01:05:59.860
So dot dot was the parent directory.

01:06:02.200 --> 01:06:03.560
Now let's look at this command.

01:06:03.660 --> 01:06:04.440
Just for instance.

01:06:04.620 --> 01:06:06.360
I want to copy this file.

01:06:07.540 --> 01:06:08.840
Copy is a command.

01:06:08.840 --> 01:06:12.380
And it needs some argument.

01:06:13.340 --> 01:06:14.420
Have argument.

01:06:14.480 --> 01:06:17.840
How many arguments are needed for the copy command to work?

01:06:18.120 --> 01:06:19.460
I'll say two.

01:06:19.780 --> 01:06:23.140
Because we need to copy to the destination.

01:06:23.580 --> 01:06:26.300
So we need a source and a destination, isn't it?

01:06:27.200 --> 01:06:32.480
So if I just write copy slash etc hosts, it's not assuming the destination.

01:06:32.740 --> 01:06:34.220
It's not enough.

01:06:35.600 --> 01:06:36.160
Where?

01:06:36.300 --> 01:06:37.320
Where is it going to go?

01:06:37.320 --> 01:06:39.640
How do I say here?

01:06:39.700 --> 01:06:42.220
Copy the file where I am right now.

01:06:42.480 --> 01:06:42.560
Dot.

01:06:44.160 --> 01:06:45.720
Hopefully that makes sense.

01:06:45.900 --> 01:06:47.000
Dot means here.

01:06:47.300 --> 01:06:49.700
Dot dot means in the parent location.

01:06:53.820 --> 01:06:56.320
Bring me the file where I am at right now.

01:06:57.740 --> 01:06:58.400
OK.

01:07:00.620 --> 01:07:02.240
So there's no default.

01:07:02.720 --> 01:07:03.900
For instance.

01:07:03.900 --> 01:07:05.900
The parent doesn't provide the default.

01:07:06.500 --> 01:07:07.600
If you leave it blank.

01:07:08.180 --> 01:07:08.960
There's no assumption.

01:07:09.460 --> 01:07:10.920
It doesn't default to anything.

01:07:12.900 --> 01:07:16.020
I thought it was going to default to the current.

01:07:16.220 --> 01:07:16.520
Yeah.

01:07:18.360 --> 01:07:22.040
So if you can also use the tilde.

01:07:22.620 --> 01:07:23.660
Yes, of course.

01:07:24.860 --> 01:07:27.820
But maybe it's just not in the home directory.

01:07:28.060 --> 01:07:29.060
I am somewhere else.

01:07:29.420 --> 01:07:31.320
Dot simply means in my current directory.

01:07:31.320 --> 01:07:33.780
Dot does not mean my home directory.

01:07:34.060 --> 01:07:34.620
OK.

01:07:35.900 --> 01:07:36.760
I get you.

01:07:37.540 --> 01:07:38.920
So dot is here.

01:07:39.660 --> 01:07:40.200
Yes.

01:07:40.780 --> 01:07:42.540
Wherever that here happens to be.

01:07:43.440 --> 01:07:46.500
Are we a little bit more comfortable with the file system?

01:07:48.500 --> 01:07:50.940
Dot dot dot slash.

01:07:51.160 --> 01:07:53.800
We are starting from the root of the file system.

01:07:54.000 --> 01:07:54.080
Yeah.

01:07:54.960 --> 01:07:55.320
Yes.

01:07:55.320 --> 01:07:55.560
Yes.

01:07:57.960 --> 01:07:59.640
I'm becoming comfortable.

01:08:03.340 --> 01:08:04.900
I think while we're here.

01:08:04.980 --> 01:08:07.380
I'm not sure if we're still getting to it.

01:08:07.380 --> 01:08:09.260
One thing that took me.

01:08:11.440 --> 01:08:14.940
When using the CPU command and the tilde.

01:08:15.520 --> 01:08:17.540
Was copying from one server to another.

01:08:18.080 --> 01:08:18.420
Ah.

01:08:18.420 --> 01:08:19.720
Then you need SCP.

01:08:20.740 --> 01:08:21.660
Which is very useful.

01:08:21.660 --> 01:08:21.760
So.

01:08:24.520 --> 01:08:25.040
Yes.

01:08:26.660 --> 01:08:28.380
So secure copy between hosts.

01:08:28.640 --> 01:08:29.940
Secure copy between hosts.

01:08:31.900 --> 01:08:33.640
The colon and tilde at the end.

01:08:34.020 --> 01:08:36.120
Then you continue with the actual path if you want.

01:08:36.120 --> 01:08:36.540
Yes.

01:08:37.520 --> 01:08:39.380
Or just use the tilde for the home directory.

01:08:39.380 --> 01:08:40.080
For the home directory.

01:08:40.780 --> 01:08:41.220
Yeah.

01:08:41.840 --> 01:08:45.020
So hopefully this adds a bit more clarity to it.

01:08:46.040 --> 01:08:46.420
Yes.

01:08:46.960 --> 01:08:47.300
Alright.

01:08:47.300 --> 01:08:48.660
So that's again.

01:08:48.880 --> 01:08:50.800
The basics of the file system.

01:08:52.160 --> 01:08:53.020
Other things to note.

01:08:53.040 --> 01:08:54.880
About the file system.

01:08:56.160 --> 01:08:56.300
Is.

01:08:58.080 --> 01:08:59.300
If you want to just see.

01:09:00.120 --> 01:09:01.400
What are the different.

01:09:01.520 --> 01:09:03.220
I don't want to say partitions.

01:09:03.320 --> 01:09:05.300
But what are the different file systems.

01:09:07.600 --> 01:09:09.080
We can do this command.

01:09:09.520 --> 01:09:11.600
DF minus H.

01:09:11.840 --> 01:09:13.740
H is for human readable.

01:09:14.060 --> 01:09:15.060
Very kind of them.

01:09:19.080 --> 01:09:19.680
Because.

01:09:20.260 --> 01:09:20.540
Otherwise.

01:09:20.840 --> 01:09:22.620
Good luck with the calculations.

01:09:26.300 --> 01:09:27.360
On how many.

01:09:28.420 --> 01:09:29.020
Blocks.

01:09:29.700 --> 01:09:31.320
So someone somewhere said well actually.

01:09:31.580 --> 01:09:32.880
Humans need to understand it.

01:09:32.880 --> 01:09:34.620
So we have DF minus H.

01:09:36.180 --> 01:09:37.260
And it's kind of.

01:09:37.260 --> 01:09:39.060
Tells me a little bit about.

01:09:39.400 --> 01:09:41.020
My partitions on my mouth.

01:09:41.280 --> 01:09:42.160
On the file system.

01:09:42.400 --> 01:09:44.160
How much space is there.

01:09:44.160 --> 01:09:45.640
How much is used.

01:09:46.320 --> 01:09:47.360
That's kind of a little bit handy.

01:09:47.540 --> 01:09:50.180
What is a little bit tricky sometimes.

01:09:51.000 --> 01:09:51.220
Is.

01:09:51.660 --> 01:09:52.140
Understanding.

01:09:53.820 --> 01:09:55.280
The folder size.

01:09:56.280 --> 01:09:57.080
Let me explain.

01:09:58.660 --> 01:09:59.320
If I do.

01:09:59.480 --> 01:10:00.540
LS minus L.

01:10:01.020 --> 01:10:01.980
To start listing.

01:10:03.620 --> 01:10:04.480
The file system.

01:10:04.720 --> 01:10:06.200
First up I am in my home directory.

01:10:07.000 --> 01:10:08.800
If I do LS minus L.

01:10:09.280 --> 01:10:10.320
You can see like.

01:10:10.320 --> 01:10:12.000
I see some folders.

01:10:12.020 --> 01:10:14.020
I see some files.

01:10:16.860 --> 01:10:18.820
If I do.

01:10:19.200 --> 01:10:21.280
LS minus L.

01:10:21.720 --> 01:10:22.200
Now.

01:10:22.260 --> 01:10:24.080
You know that.

01:10:24.160 --> 01:10:25.580
Let's start with home directory.

01:10:25.760 --> 01:10:27.400
You know that under slash home.

01:10:28.420 --> 01:10:29.880
We have home directories.

01:10:30.060 --> 01:10:31.040
Of many other users.

01:10:32.740 --> 01:10:33.760
So we start from here.

01:10:33.800 --> 01:10:35.400
I do LS minus L home.

01:10:36.520 --> 01:10:38.700
And it tells me that there is.

01:10:38.700 --> 01:10:41.100
Now the question is.

01:10:41.280 --> 01:10:43.400
What is the size of this folder.

01:10:52.940 --> 01:10:54.700
Right now what does it say.

01:11:05.520 --> 01:11:06.180
But.

01:11:07.140 --> 01:11:08.540
Let me do one thing.

01:11:08.620 --> 01:11:09.560
Let me go.

01:11:09.880 --> 01:11:11.160
This is just a demonstration.

01:11:11.160 --> 01:11:12.760
You don't have to do this.

01:11:12.820 --> 01:11:15.200
I am in my home directory.

01:11:16.380 --> 01:11:18.180
And if I just look at.

01:11:21.780 --> 01:11:23.540
Some of the files that I have.

01:11:23.560 --> 01:11:25.200
That should be more than four.

01:11:25.200 --> 01:11:26.280
These are all directories.

01:11:26.340 --> 01:11:29.000
Directories just show 4K.

01:11:33.420 --> 01:11:33.980
So.

01:11:34.060 --> 01:11:35.260
So what might be difficult.

01:11:35.660 --> 01:11:37.340
At first it's just to figure out.

01:11:37.580 --> 01:11:39.440
Well actually what's the.

01:11:40.020 --> 01:11:41.420
The size of the folder.

01:11:42.860 --> 01:11:43.560
There is a tool.

01:11:43.700 --> 01:11:44.760
Called as DU.

01:11:48.780 --> 01:11:50.580
And typically most commands.

01:11:50.700 --> 01:11:53.400
If not all support the.

01:11:53.520 --> 01:11:55.120
Argument dash dash help.

01:11:55.780 --> 01:11:56.860
To give you some help.

01:12:01.320 --> 01:12:01.960
Sometimes.

01:12:01.980 --> 01:12:03.680
The help is so big that we simply.

01:12:03.880 --> 01:12:05.160
Google these things but.

01:12:07.380 --> 01:12:09.120
I have this DU.

01:12:09.900 --> 01:12:11.160
Summarizes the use.

01:12:11.160 --> 01:12:12.640
Of the set of files.

01:12:16.700 --> 01:12:19.140
And we have this one minus.

01:12:19.700 --> 01:12:20.880
H print.

01:12:22.940 --> 01:12:25.300
And I have summarized minus.

01:12:25.640 --> 01:12:26.740
S give me a total.

01:12:29.040 --> 01:12:31.260
So what I'm going to try now.

01:12:31.620 --> 01:12:32.420
Is DU.

01:12:33.320 --> 01:12:34.500
Minus SH.

01:12:36.340 --> 01:12:37.140
Slash home.

01:12:40.540 --> 01:12:41.860
That is better.

01:12:42.200 --> 01:12:43.300
Slash home.

01:12:43.500 --> 01:12:44.640
Slash student.

01:12:46.140 --> 01:12:46.860
That's nice.

01:12:49.260 --> 01:12:50.480
What about the.

01:12:51.000 --> 01:12:52.560
ETC folder which contains.

01:12:52.640 --> 01:12:54.360
Configuration files.

01:12:55.460 --> 01:12:56.980
Ignore any permissions denied.

01:12:56.980 --> 01:12:58.200
Because we are a normal user.

01:12:58.440 --> 01:13:00.460
So some files we can't.

01:13:00.460 --> 01:13:01.580
Get to.

01:13:01.800 --> 01:13:03.180
That's around 18 MB.

01:13:04.360 --> 01:13:06.440
So this is a.

01:13:06.660 --> 01:13:07.320
Quick command.

01:13:07.880 --> 01:13:09.520
To understand the folders.

01:13:09.700 --> 01:13:11.300
Because this doesn't show up in.

01:13:11.440 --> 01:13:12.960
LS minus L for a folder.

01:13:13.600 --> 01:13:15.800
In Unix we used to have.

01:13:16.260 --> 01:13:17.080
MK file.

01:13:17.300 --> 01:13:18.560
I wonder if it's here.

01:13:18.860 --> 01:13:20.220
Yeah it's not here.

01:13:22.080 --> 01:13:23.560
Can I do.

01:13:23.560 --> 01:13:26.160
This is just for me.

01:13:26.240 --> 01:13:28.020
To try things out.

01:13:28.400 --> 01:13:29.380
Or we do.

01:13:31.780 --> 01:13:33.560
Equals to.

01:13:34.920 --> 01:13:35.820
Big file.

01:13:36.260 --> 01:13:37.580
At the current location.

01:13:37.940 --> 01:13:39.580
Block size five.

01:13:44.480 --> 01:13:44.600
Count.

01:13:47.060 --> 01:13:47.880
50.

01:13:49.020 --> 01:13:49.140
Nice.

01:13:50.900 --> 01:13:51.360
By the way.

01:13:51.360 --> 01:13:53.060
I've just created a file.

01:13:53.320 --> 01:13:54.540
Of a certain size.

01:13:56.040 --> 01:13:57.360
This is for the.

01:13:58.160 --> 01:13:58.800
Advanced.

01:13:59.520 --> 01:14:00.160
People.

01:14:02.540 --> 01:14:03.800
DD is literally.

01:14:04.060 --> 01:14:04.580
Copy.

01:14:06.020 --> 01:14:07.400
Guess what that device does.

01:14:07.720 --> 01:14:09.040
What do you think that device does.

01:14:09.140 --> 01:14:10.100
They have zero.

01:14:10.700 --> 01:14:12.880
Gives you no price for guessing.

01:14:13.340 --> 01:14:14.320
And gives you zeros.

01:14:14.520 --> 01:14:16.700
I'm actually reading.

01:14:17.080 --> 01:14:19.340
From a device that gives zeros.

01:14:19.340 --> 01:14:21.300
I'm putting them in.

01:14:21.540 --> 01:14:22.560
Output file.

01:14:23.800 --> 01:14:25.340
In the block size.

01:14:25.660 --> 01:14:26.320
Of 500.

01:14:26.480 --> 01:14:28.460
And I'm repeating that 50 times.

01:14:28.720 --> 01:14:29.980
Please be careful with this command.

01:14:30.580 --> 01:14:33.200
I have now created a 26 KB file.

01:14:33.320 --> 01:14:34.680
What if I repeat the same thing.

01:14:34.720 --> 01:14:35.680
Make it 500.