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:01.740 --> 00:00:07.960
All right, well, I can see everybody is in and we'll wait for you to come in as well.

00:00:08.220 --> 00:00:13.420
Anyway, so meanwhile, as we do that, let's just take a very quick look at what we are

00:00:13.420 --> 00:00:14.400
doing today.

00:00:15.240 --> 00:00:19.220
And again, this is just the fundamentals.

00:00:19.340 --> 00:00:22.220
So I'll just quickly fire this up.

00:00:23.640 --> 00:00:29.540
As this is on Linux command line basics, as I said, we are almost seeing this as

00:00:29.540 --> 00:00:31.380
the first look at Linux.

00:00:31.740 --> 00:00:33.140
You guys are comfortable with it.

00:00:33.140 --> 00:00:35.420
So we'll probably accelerate through some of that.

00:00:36.180 --> 00:00:40.540
However, there is something that I would like you to know, which is we can always

00:00:40.540 --> 00:00:42.380
work on a system on our own.

00:00:42.460 --> 00:00:48.240
But there are some ideas or concepts that should be clear for us to probably

00:00:49.120 --> 00:00:50.880
troubleshoot when things go wrong.

00:00:50.880 --> 00:00:53.520
Sorry, I'm going to start recording now.

00:00:53.780 --> 00:00:54.440
Yes, go ahead.

00:00:55.660 --> 00:00:56.980
I thought that was going on.

00:00:57.140 --> 00:00:57.620
If not, go ahead.

00:00:58.580 --> 00:00:59.720
Are we all good?

00:01:01.180 --> 00:01:01.900
Yes.

00:01:02.160 --> 00:01:02.520
All right.

00:01:02.640 --> 00:01:02.820
Lovely.

00:01:03.340 --> 00:01:08.860
So we look at the Linux fundamentals from the operating system concepts.

00:01:09.360 --> 00:01:15.380
Just a super quick history, understanding different Linux distributions and then start

00:01:15.380 --> 00:01:18.140
working on the Linux command line.

00:01:18.580 --> 00:01:24.220
And as we work on the command line, the absolute fundamentals of the file system,

00:01:24.220 --> 00:01:29.160
how it works, how do we interact with the operating system, what are the different

00:01:29.160 --> 00:01:35.100
file types, many core commands that will work across most of the Linux

00:01:35.100 --> 00:01:35.800
distributions.

00:01:36.120 --> 00:01:38.260
We're going to have a look at those.

00:01:39.440 --> 00:01:42.720
Pretty much everything that we are doing will be done hands on.

00:01:43.180 --> 00:01:49.260
I would be sharing with you some just like a lab file as well, and the

00:01:49.260 --> 00:01:51.520
content of this as well.

00:01:52.080 --> 00:01:59.700
I would say the starting point on working on any operating system is just the absolute

00:01:59.700 --> 00:02:02.020
basics in terms of the concepts.

00:02:02.700 --> 00:02:06.360
And you guys have already been interacting with the operating system, so we'll just

00:02:06.360 --> 00:02:08.180
keep it very, very quick.

00:02:08.900 --> 00:02:14.860
The core here is that the core of your operating system is what we call as a kernel.

00:02:17.480 --> 00:02:24.120
And we interface with this kernel, typically through a graphical interface or

00:02:24.120 --> 00:02:27.500
through some sort of a command line or a shell environment.

00:02:28.020 --> 00:02:33.540
As you guys already know, right now Linux, we have fantastic graphical

00:02:33.540 --> 00:02:36.020
interfaces available, also for administration.

00:02:37.040 --> 00:02:39.360
And at the same time, we have the shell available.

00:02:39.720 --> 00:02:44.020
If you go back in the day, yeah, I think the only thing available was a

00:02:44.020 --> 00:02:46.100
shell, I'm saying, 20, 30 years ago.

00:02:46.580 --> 00:02:49.340
Graphical interfaces were not so common.

00:02:49.500 --> 00:02:51.380
Today we have the choice of both.

00:02:51.900 --> 00:02:58.200
There are a few things you can literally do more efficiently only through the

00:02:58.200 --> 00:02:59.680
shell itself.

00:03:00.400 --> 00:03:01.140
A quick question.

00:03:01.720 --> 00:03:04.380
Are you aware of different types of shells?

00:03:04.680 --> 00:03:04.980
You have a choice.

00:03:04.980 --> 00:03:06.220
Not on my site.

00:03:07.120 --> 00:03:07.260
No.

00:03:08.280 --> 00:03:13.040
So I think the comparison that I could have is that if you go to Windows,

00:03:13.040 --> 00:03:16.740
for instance, we have one graphical interface, right?

00:03:17.180 --> 00:03:20.780
Like one environment, one type of graphical interface.

00:03:21.300 --> 00:03:23.020
And then you open a command prompt.

00:03:23.760 --> 00:03:26.800
That's your command line, maybe a PowerShell.

00:03:27.440 --> 00:03:30.800
Linux Unix systems are known for flexibility.

00:03:31.020 --> 00:03:33.920
So you can have different types of graphical environments.

00:03:34.340 --> 00:03:37.220
And we also have different types of shells.

00:03:37.820 --> 00:03:44.080
And they give like different capabilities or different feature sets, for instance.

00:03:44.380 --> 00:03:49.000
So it's just nice to know that when we look at the OS concepts, that there are

00:03:49.000 --> 00:03:52.560
different types of graphical environments and shells available.

00:03:52.620 --> 00:03:59.000
Typically, when we use a platform like Ubuntu or any other platform, we can

00:03:59.000 --> 00:04:02.760
customize some of this during the installation as well.

00:04:03.180 --> 00:04:06.100
So today, when you work on a shell, you're working on a certain type.

00:04:06.100 --> 00:04:10.020
When you're looking at a graphical interface, it's a certain type of graphical interface.

00:04:10.260 --> 00:04:15.180
And that depends on what type of Linux distribution you are working on.

00:04:15.660 --> 00:04:21.280
On a fundamental level, the shell is your interface to work with the system

00:04:21.280 --> 00:04:25.340
through the kernel, which is your absolute core.

00:04:26.520 --> 00:04:33.020
Maybe the very first thing we want to do is just get started having a terminal

00:04:33.020 --> 00:04:34.280
in our environment.

00:04:35.300 --> 00:04:38.280
Maybe we can do exactly that.

00:04:38.420 --> 00:04:42.360
You can see that in the online lab environment as well.

00:04:42.380 --> 00:04:45.300
But let me just share exactly that.

00:04:48.380 --> 00:04:51.740
Since you all are users of the Linux as well, what's the quick

00:04:51.740 --> 00:04:53.440
shortcut to open a terminal?

00:04:55.860 --> 00:04:56.840
Keyboard shortcut.

00:04:58.800 --> 00:05:02.180
Let's try Control-Alt-T.

00:05:03.080 --> 00:05:05.700
And get a terminal up and running.

00:05:09.040 --> 00:05:10.800
Let's give that a try.

00:05:12.280 --> 00:05:13.620
Control-Alt-T.

00:05:14.220 --> 00:05:16.080
Let's just get a terminal up and running.

00:05:16.440 --> 00:05:17.360
We like shortcuts.

00:05:17.640 --> 00:05:18.320
Shortcuts are good.

00:05:18.440 --> 00:05:20.580
Many ways to get the terminal up and running.

00:05:21.300 --> 00:05:22.780
Let's try the keyboard shortcut.

00:05:22.920 --> 00:05:24.880
I can see it error-wise, got it up and running.

00:05:25.160 --> 00:05:27.000
Control-Alt-T.

00:05:28.160 --> 00:05:30.300
Yeah, we have the terminal up and running.

00:05:33.620 --> 00:05:37.860
And Austin is up and running with the terminal as well.

00:05:40.280 --> 00:05:44.400
Of course, the other way to get a terminal up and running is you can right

00:05:44.400 --> 00:05:46.900
click on many of the Linux distributions.

00:05:46.900 --> 00:05:47.700
You can do that.

00:05:50.340 --> 00:05:53.020
You can just right click the desktop, open a terminal.

00:05:54.540 --> 00:06:01.140
And I can also maybe go into my applications, the menu and search

00:06:01.860 --> 00:06:02.900
for terminal.

00:06:04.060 --> 00:06:05.860
I see another terminal here.

00:06:05.940 --> 00:06:06.340
Here we go.

00:06:09.340 --> 00:06:13.840
So I have three terminals up and running, but they're all

00:06:13.840 --> 00:06:15.520
started in a different manner.

00:06:17.400 --> 00:06:20.840
One with the help of a shortcut, the other one with the right

00:06:20.840 --> 00:06:26.620
click on the desktop, and the third one from the menu.

00:06:27.400 --> 00:06:29.460
Can I request you to do the same, please?

00:06:29.460 --> 00:06:35.380
Let's fire up three different terminals through the menu, from the right

00:06:35.380 --> 00:06:38.860
click and from Control-Alt-T.

00:06:48.680 --> 00:06:50.320
On the menu, where do I go?

00:06:50.840 --> 00:06:54.660
So in the menu, you can just type to search.

00:06:56.340 --> 00:06:59.080
Easiest thing to do would be to just type terminal.

00:07:00.400 --> 00:07:04.940
And you might see this terminal, made terminal for this GUI available there.

00:07:05.000 --> 00:07:06.740
You might see multiple types of terminals.

00:07:06.740 --> 00:07:08.420
We'll look into that.

00:07:10.240 --> 00:07:13.440
But you might see, again, depending honestly on the different Linux

00:07:13.440 --> 00:07:15.540
platforms, they might be in different places.

00:07:18.300 --> 00:07:23.140
They might be arranged and organized under system tools.

00:07:28.660 --> 00:07:34.080
And then when in doubt, just search the fastest way of getting into the

00:07:34.080 --> 00:07:34.780
terminal itself.

00:07:35.800 --> 00:07:40.460
So in other words, we are working in a terminal.

00:07:40.540 --> 00:07:47.360
This is a cell which provides us access into the OS, and then we can

00:07:47.360 --> 00:07:49.440
do all kinds of things from here.

00:07:50.140 --> 00:07:53.120
And as I said, once upon a time, a terminal is a terminal.

00:07:53.120 --> 00:07:55.340
And a terminal was the only way to work.

00:07:56.240 --> 00:07:58.620
So as we work on that, quick question.

00:08:00.400 --> 00:08:05.440
What are our privileges in the operating system right now?

00:08:07.880 --> 00:08:12.200
Just by looking at the terminal, what are our privileges into the

00:08:12.200 --> 00:08:12.960
operating system?

00:08:15.600 --> 00:08:22.900
What does that dollar indicate on the shell?

00:08:32.620 --> 00:08:36.140
You can, you can take a guess, please don't worry about right or wrong.

00:08:36.180 --> 00:08:37.160
You can just take a guess.

00:08:39.100 --> 00:08:39.580
Okay.

00:08:40.360 --> 00:08:43.820
Is it not the rate and, and right?

00:08:45.140 --> 00:08:45.720
So a dollar.

00:08:45.980 --> 00:08:48.100
No, yeah, go ahead, please.

00:08:49.620 --> 00:08:49.800
Yeah.

00:08:49.800 --> 00:08:56.500
I mean, I can't go with the rate because I understand what you mean by

00:08:59.920 --> 00:09:02.420
I can execute a command.

00:09:04.360 --> 00:09:07.080
So you can execute commands on all the terminals.

00:09:07.420 --> 00:09:10.280
However, you are a normal.

00:09:12.180 --> 00:09:15.640
You don't have what we call as the root privileges.

00:09:15.840 --> 00:09:17.700
In other words, you're not the administrator.

00:09:17.700 --> 00:09:23.340
So certain commands that require admin privileges just won't work.

00:09:23.900 --> 00:09:25.640
You are a normal user.

00:09:26.040 --> 00:09:31.460
If you have root privileges, what does the terminal look like?

00:09:31.780 --> 00:09:33.480
What does the prompt look like?

00:09:35.900 --> 00:09:37.020
What changes?

00:09:40.660 --> 00:09:43.900
So let's try that on one of these terminals.

00:09:43.960 --> 00:09:45.720
We have three terminals in front of us.

00:09:45.720 --> 00:09:46.860
I'll explain the commands.

00:09:46.860 --> 00:09:50.440
Of course, as we go in, I'm going to do.

00:09:58.160 --> 00:10:08.080
If I do pseudo bash and logic in a bit, I want you to notice if your

00:10:08.080 --> 00:10:12.040
terminal changes the prompt, the last character changes.

00:10:16.120 --> 00:10:19.340
I believe changes in changes into a hash.

00:10:20.140 --> 00:10:22.180
You please try the same pseudo bash.

00:10:22.220 --> 00:10:31.820
So now we have one terminal where we have all the privileges.

00:10:32.300 --> 00:10:38.860
And current limited privileges as a normal user.

00:10:39.680 --> 00:10:43.480
Okay, so are we doing that on all of those three terminals?

00:10:43.480 --> 00:10:52.680
Just one, just to show the difference, just visually how it looks.

00:10:52.740 --> 00:10:53.540
Does that work, Austin?

00:10:54.400 --> 00:10:55.240
Yes, it did.

00:10:55.640 --> 00:10:56.560
Yes, it did.

00:10:57.360 --> 00:10:58.160
Yeah, go ahead.

00:10:59.620 --> 00:11:03.040
Oh, no, just saying that I have to find teams to unmute.

00:11:03.640 --> 00:11:06.820
If I'm open, this might be a little bit delayed.

00:11:07.580 --> 00:11:07.740
Yeah.

00:11:07.740 --> 00:11:08.540
So you wanted to say.

00:11:08.880 --> 00:11:12.520
No, what I'm saying is there is another name for a terminal where you

00:11:12.520 --> 00:11:14.280
have root privilege privileges.

00:11:14.360 --> 00:11:15.920
Do you know the name of that terminal?

00:11:17.820 --> 00:11:19.920
What's the name of that terminal?

00:11:20.180 --> 00:11:21.180
Yeah, it is.

00:11:21.180 --> 00:11:27.580
It is called as the CV updater because this is where you make a mess and

00:11:27.580 --> 00:11:34.340
you start looking for another job with great power comes great responsibilities.

00:11:36.400 --> 00:11:42.200
The moment you see the hash sign on a terminal, think twice and do

00:11:42.200 --> 00:11:42.560
nothing.

00:11:42.560 --> 00:11:49.320
What that means is we work as a normal user as much as we can till we need to

00:11:49.320 --> 00:11:52.140
actually perform some system administration.

00:11:54.080 --> 00:11:58.400
We wear the hat of the system administrator as long as needed.

00:11:58.480 --> 00:12:01.980
And then we get out of that and back into the normal user.

00:12:02.640 --> 00:12:07.520
Can I request all of you here just to type exit into the terminal, which

00:12:07.520 --> 00:12:09.340
is running under root privileges.

00:12:10.480 --> 00:12:11.080
Okay.

00:12:12.200 --> 00:12:15.600
What changes onto the prompt and go back to the last time.

00:12:15.720 --> 00:12:21.760
Yeah, we are back to the safe job because here you can't mess up

00:12:21.760 --> 00:12:23.020
everything into the system.

00:12:23.340 --> 00:12:26.200
Probably the very first thing I want to tell people is when you are

00:12:26.200 --> 00:12:32.300
working on the shell, how to recognize if you have higher privileges or not.

00:12:32.340 --> 00:12:36.260
And if you have higher privileges as root, the prompt changes.

00:12:36.920 --> 00:12:40.920
And maybe we ask ourselves a question saying, do I really need those

00:12:40.920 --> 00:12:46.160
privileges for what I intend to do on the system right now, or is a normal

00:12:46.160 --> 00:12:50.320
user enough for me to carry on my will get more into the pseudo and the

00:12:50.320 --> 00:12:54.120
other commands a little bit later on, but just wanted to bring that point

00:12:54.120 --> 00:12:54.620
across.

00:12:56.120 --> 00:12:56.680
Are we clear?

00:12:56.900 --> 00:12:58.760
Any doubts, questions, thoughts?

00:12:59.340 --> 00:12:59.720
Okay.

00:12:59.840 --> 00:13:03.040
I take that as a sign.

00:13:03.120 --> 00:13:04.920
I'm going to do exactly the same.

00:13:06.820 --> 00:13:14.920
Exit and just come back to a normal terminal, which ends with that dollar.

00:13:17.320 --> 00:13:18.220
All right.

00:13:18.240 --> 00:13:22.200
Just a little bit very quickly on Linux.

00:13:22.500 --> 00:13:28.040
I really don't want to turn this into a history lesson, but I think it's

00:13:28.040 --> 00:13:34.300
worth mentioning this when we work with Linux, we normally hear the

00:13:35.060 --> 00:13:41.820
distribution Linux distribution and fancy people use the word distro, right?

00:13:41.920 --> 00:13:44.940
Which Linux distro are you working on?

00:13:45.400 --> 00:13:48.560
What that fundamentally means is that there are many flavors of

00:13:48.560 --> 00:13:52.040
Linux as it is open source.

00:13:52.900 --> 00:13:57.520
A lot of modifications have been done and Linux has been adopted and

00:13:57.520 --> 00:14:02.780
adapted for various reasons by different organizations and individuals.

00:14:03.460 --> 00:14:08.240
And all of these are considered as distributions, very popular

00:14:08.240 --> 00:14:13.740
distributions will be something like Susie, like Debian, like Fedora,

00:14:14.360 --> 00:14:15.580
Ubuntu, like we have.

00:14:16.000 --> 00:14:19.500
There are many, many, many distributions around and each has

00:14:19.500 --> 00:14:24.920
certain advantages, disadvantages, specific purposes that we've got.

00:14:26.200 --> 00:14:27.020
First question.

00:14:27.140 --> 00:14:32.460
How do we know what kind of Linux system are we working on?

00:14:32.460 --> 00:14:33.800
What is the distribution?

00:14:34.100 --> 00:14:36.120
What is the kernel that we have?

00:14:36.200 --> 00:14:38.320
How would we know what that is like?

00:14:38.500 --> 00:14:38.720
Anyone?

00:14:38.940 --> 00:14:39.940
Let's give it a try.

00:14:47.040 --> 00:14:50.040
Please try this out as you see on my screen.

00:14:50.080 --> 00:14:54.760
If not, let me just share it with you right away.

00:14:56.240 --> 00:15:06.960
So I try this command lsb underscore release dash a should give you a

00:15:06.960 --> 00:15:08.380
little bit of information.

00:15:09.620 --> 00:15:15.120
What kind of distribution you're on lsb underscore release dash a.

00:15:15.440 --> 00:15:19.820
Now not to make your life a little bit difficult, but different

00:15:19.820 --> 00:15:24.660
Linux distributions have their own unique ways of getting things done.

00:15:25.940 --> 00:15:31.660
Which in simple English translates to the commands, the way they work on

00:15:31.660 --> 00:15:35.060
one distribution may not work the same way on the other.

00:15:35.060 --> 00:15:38.880
It can be a little bit challenging if you jump from distribution to

00:15:38.880 --> 00:15:44.560
distribution and you might say, oh, on one distribution I used to do

00:15:44.560 --> 00:15:46.360
this command or this tool.

00:15:47.200 --> 00:15:50.660
Yeah, there could be some differences as you jump across them.

00:15:50.920 --> 00:15:54.580
And there are certain things which are kind of common across all the

00:15:54.580 --> 00:15:55.320
different distributions.

00:15:55.420 --> 00:15:59.900
So maybe it's nice to know, hey, what kind of distribution I am currently

00:15:59.900 --> 00:16:04.300
on in terms of the Linux operating system?

00:16:05.140 --> 00:16:09.840
What is the distribution that I'm working on can be quite handy as well.

00:16:10.600 --> 00:16:13.460
Let's try some very basic things right now.

00:16:13.520 --> 00:16:17.380
We mentioned I'm back to my terminal.

00:16:18.540 --> 00:16:20.960
I will minimize the other terminals.

00:16:21.120 --> 00:16:23.240
I'm happy with just one at the moment.

00:16:26.580 --> 00:16:30.200
If you're going to make your user experience a little bit better, you

00:16:30.200 --> 00:16:31.700
can always zoom in a little bit.

00:16:35.400 --> 00:16:37.540
I do the control with the plus.

00:16:41.820 --> 00:16:44.120
Just to zoom in a little bit.

00:16:44.280 --> 00:16:45.120
So yeah, just take one.

00:16:45.640 --> 00:16:47.500
I'm struggling with audio.

00:16:50.580 --> 00:16:51.020
Hang on.

00:16:51.240 --> 00:16:53.000
Is everybody else able to hear me?

00:16:54.280 --> 00:16:57.860
No, you go away and then you come back and then it goes back again.

00:17:00.400 --> 00:17:00.420
Okay.

00:17:00.500 --> 00:17:00.780
Yeah.

00:17:00.800 --> 00:17:02.120
Well, that's not good.

00:17:02.460 --> 00:17:03.500
I shouldn't be going away.

00:17:03.640 --> 00:17:05.280
Let me just make some adjustments.

00:17:11.760 --> 00:17:15.080
I've just moved into a new home like three days ago.

00:17:16.680 --> 00:17:18.800
So still finding that sweet spot.

00:17:19.580 --> 00:17:21.480
I think now it should be better.

00:17:22.280 --> 00:17:23.960
Is the audio a little bit better now?

00:17:26.120 --> 00:17:26.900
Yeah, much better.

00:17:28.100 --> 00:17:30.820
So you believe that I'm a network engineer?

00:17:31.140 --> 00:17:37.220
No, you're a new house owner trying to find the sweet spot.

00:17:38.620 --> 00:17:42.120
Yes, I hope that the audio works just fine.

00:17:44.160 --> 00:17:46.060
So you said control plus.

00:17:46.700 --> 00:17:49.940
Yeah, control with the shift and the plus, of course.

00:17:49.940 --> 00:17:52.100
Yeah, that should help you zoom in a little bit.

00:17:56.080 --> 00:18:00.100
Let me keep a ping up and running to the gateway.

00:18:02.040 --> 00:18:03.860
Okay, one and three milliseconds.

00:18:07.820 --> 00:18:09.760
You can see beyond that.

00:18:10.380 --> 00:18:12.040
No, sorry, GP.

00:18:12.300 --> 00:18:13.660
The same thing is happening now.

00:18:14.220 --> 00:18:17.660
I see no challenges with my network connections.

00:18:17.660 --> 00:18:18.880
It's got to be teams.

00:18:20.260 --> 00:18:23.780
Let's just see how it goes because from my point of view,

00:18:23.780 --> 00:18:27.800
I just see a very happy connectivity.

00:18:30.040 --> 00:18:34.660
I'm able to ping remote network systems with eight milliseconds

00:18:34.660 --> 00:18:39.160
and I have one gig and my upload speeds around 250 MB.

00:18:44.300 --> 00:18:46.220
We can just do one thing.

00:18:46.240 --> 00:18:48.020
I'll just drop out and join back in.

00:18:48.840 --> 00:18:50.040
See if that makes a difference.

00:18:54.700 --> 00:18:54.880
Okay.

00:18:55.220 --> 00:18:57.720
Yeah, always worth trying.

00:18:58.940 --> 00:19:00.560
Let me just leave.

00:19:11.000 --> 00:19:11.760
Okay.

00:19:14.620 --> 00:19:15.380
Okay.

00:19:15.380 --> 00:19:17.260
You guys don't know much.

00:19:18.780 --> 00:19:19.980
How's it now?

00:19:20.300 --> 00:19:20.800
Just wondering.

00:19:23.840 --> 00:19:25.800
Going and then.

00:19:26.140 --> 00:19:26.700
Even now.

00:19:31.700 --> 00:19:36.160
Okay, so I'll keep talking and you can just let me know if it works.

00:19:38.360 --> 00:19:40.200
Is the mouthpiece next to your mouth?

00:19:40.680 --> 00:19:41.980
Or is it facing the sky?

00:19:45.720 --> 00:19:47.580
But now you sound fine.

00:19:48.360 --> 00:19:49.500
Okay, hang on.

00:19:49.860 --> 00:19:52.580
We can always find a setup that works.

00:19:52.860 --> 00:19:53.060
Wait a second.

00:19:59.200 --> 00:20:01.500
We're just testing out my audio.

00:20:01.940 --> 00:20:04.680
It seems they have some challenges.

00:20:09.540 --> 00:20:13.900
So I think every time I have to do a couple of pull-ups

00:20:14.820 --> 00:20:16.300
and push-ups and I come back.

00:20:19.740 --> 00:20:20.940
Is it better now?

00:20:25.440 --> 00:20:28.280
Let's carry on and then again just let me know on the chat

00:20:28.280 --> 00:20:30.780
if there is any challenges with the audio.

00:20:31.180 --> 00:20:32.340
We'll try a different setup.

00:20:34.340 --> 00:20:35.980
But frankly from the network perspective,

00:20:36.000 --> 00:20:39.280
I don't see much in terms of the challenges.

00:20:40.220 --> 00:20:42.340
Okay, if you are with me, let's carry on

00:20:43.140 --> 00:20:48.760
and let's head back to the shell that we are in.

00:20:48.920 --> 00:20:54.260
So we'll continue on just discovering a little bit more about our system.

00:20:55.820 --> 00:20:58.000
And we do that.

00:20:58.180 --> 00:21:05.260
Let's share my screen and I'm here.

00:21:05.940 --> 00:21:08.220
Back here on my environment.

00:21:08.780 --> 00:21:15.240
So we did this lsb-release-a tells us we are on Ubuntu.

00:21:15.340 --> 00:21:16.940
There is a specific release.

00:21:16.940 --> 00:21:18.180
You can look at documentation.

00:21:19.460 --> 00:21:21.580
Let's try uname minus a.

00:21:23.900 --> 00:21:26.120
It gives kind of a scary output.

00:21:28.020 --> 00:21:29.400
There is a lot happening there.

00:21:30.620 --> 00:21:33.600
What do we get from uname minus a?

00:21:33.660 --> 00:21:36.680
It tells a lot about the system but more specifically

00:21:36.680 --> 00:21:41.680
helps us learn about which exact kernel is running in the system.

00:21:42.540 --> 00:21:47.440
That might also make a difference to the way some commands execute

00:21:47.440 --> 00:21:51.820
or what capabilities of the system are available to us.

00:21:52.140 --> 00:21:55.960
From the basic command line perspective, it shouldn't matter.

00:21:56.160 --> 00:22:00.020
Interacting with the file system and doing basic system administration.

00:22:00.500 --> 00:22:02.640
Yeah, this doesn't really matter a whole lot.

00:22:03.420 --> 00:22:08.580
Let's see if we can find out how long our system has been up and running.

00:22:10.140 --> 00:22:13.100
We can try a simple command uptime.

00:22:15.440 --> 00:22:18.140
So what do you reckon that uptime is on?

00:22:21.200 --> 00:22:23.440
So it hasn't been up and running for too long.

00:22:25.560 --> 00:22:33.540
Those are seconds, minutes, hours.

00:22:37.340 --> 00:22:38.400
Kindly try the same.

00:22:40.780 --> 00:22:44.720
We try uname minus a, give some details of the kernel.

00:22:44.960 --> 00:22:48.980
We try uptime, tells us how long the system has been up and running.

00:22:49.660 --> 00:22:51.480
All of us will be almost identical.

00:22:51.480 --> 00:22:54.980
I've worked on systems where the uptime goes in years.

00:22:55.540 --> 00:23:01.220
Many mission-critical systems literally just don't go down unless it's planned maintenance.

00:23:03.120 --> 00:23:06.600
So we're just discovering a little bit about our system.

00:23:06.600 --> 00:23:07.640
What's the distribution?

00:23:08.020 --> 00:23:11.780
What's the specific kernel release or kernel version?

00:23:11.980 --> 00:23:14.220
How long the system's been up and running?

00:23:15.340 --> 00:23:19.580
The architecture, just some basic commands about our system.

00:23:19.580 --> 00:23:22.060
Just discovering it, what's going on.

00:23:23.680 --> 00:23:30.380
We might also on most environments just like to quickly know how the system is performing.

00:23:31.460 --> 00:23:33.300
Let's give that a try.

00:23:34.340 --> 00:23:38.320
Let me fire up my shell.

00:23:40.800 --> 00:23:42.880
All right, this will be easier to share.

00:23:44.860 --> 00:23:46.860
Anything new for you till now?

00:23:47.680 --> 00:23:49.300
A command that you haven't tried before?

00:23:49.300 --> 00:23:51.620
Everything that you just did.

00:23:52.280 --> 00:23:54.080
Okay, listen, how about the others?

00:23:54.320 --> 00:23:57.640
Just check the things you've tried before, things you've never tried before.

00:23:57.840 --> 00:23:59.980
Yeah, maybe for me that has been.

00:24:00.740 --> 00:24:02.920
Let me share my screen again.

00:24:04.200 --> 00:24:11.720
So a very typical command just to understand how the system is performing is the command top.

00:24:15.140 --> 00:24:19.280
And as I said in Linux, there are many ways to go about something.

00:24:19.300 --> 00:24:26.800
Top is one of the common commands that gives you a live snapshot of system's performance.

00:24:29.480 --> 00:24:36.220
If I just write top and press enter, it kind of fills up your screen, runs constantly.

00:24:36.440 --> 00:24:39.920
You can almost think of it like the Windows performance monitor.

00:24:43.120 --> 00:24:44.340
And we can see

00:24:49.150 --> 00:24:50.270
which application.

00:24:53.130 --> 00:24:54.370
This is the remote connection.

00:24:54.410 --> 00:24:57.790
VNC is taking around 10, 11% of the CPU.

00:24:59.310 --> 00:25:06.770
The overall CPU utilization, overall load of the system, the number of tasks running,

00:25:07.670 --> 00:25:09.930
amount of memory, how much is free.

00:25:10.050 --> 00:25:12.230
This kind of gives you a quick snapshot into,

00:25:13.010 --> 00:25:14.550
again, in troubleshooting.

00:25:14.710 --> 00:25:18.910
Is there anything eating up the system's resources at this point in time?

00:25:19.410 --> 00:25:21.570
Top command itself has a lot of details.

00:25:21.610 --> 00:25:25.510
If I press Q, it will quit the top command.

00:25:26.530 --> 00:25:27.990
And I'll get back to my top.

00:25:30.550 --> 00:25:31.270
Give that a go.

00:25:35.710 --> 00:25:37.070
You run the command top.

00:25:38.510 --> 00:25:42.350
You see some summary of system utilization.

00:25:43.050 --> 00:25:45.670
You can see, yes, go ahead.

00:25:46.490 --> 00:25:47.550
What command is it?

00:25:49.350 --> 00:25:51.770
The running command, top, T-O-V, top.

00:25:52.090 --> 00:25:53.730
Just run top and press enter.

00:25:53.890 --> 00:25:54.610
Thank you.

00:25:54.870 --> 00:26:00.270
So we can see now which applications are taking the most resources

00:26:00.270 --> 00:26:05.690
or which processes are taking the most resources, 10, 12% of CPU utilization.

00:26:05.690 --> 00:26:07.690
Our system seems to be okay.

00:26:08.630 --> 00:26:09.450
It's doing all right.

00:26:11.510 --> 00:26:12.890
Austin, you can try the same as well.

00:26:15.250 --> 00:26:18.170
Top command itself has many things that we can do with it.

00:26:18.910 --> 00:26:19.370
No, wait.

00:26:19.610 --> 00:26:21.110
Didn't you just use top alone?

00:26:21.650 --> 00:26:21.690
Yeah.

00:26:25.670 --> 00:26:28.830
I got confused a bit there because I said, oh,

00:26:29.130 --> 00:26:30.470
it's copied with us.

00:26:30.970 --> 00:26:33.670
Does it realize you're only using the environment to do the same?

00:26:35.330 --> 00:26:35.870
Okay.

00:26:36.290 --> 00:26:37.950
We just run the command top.

00:26:38.270 --> 00:26:41.890
And if you press Q to quit, this is for everybody else.

00:26:42.610 --> 00:26:45.570
It will exit the tool and you'll come back onto the command line.

00:26:47.790 --> 00:26:48.310
All right.

00:26:48.430 --> 00:26:54.030
A quick look at the very basic architecture of Linux.

00:26:54.270 --> 00:26:56.430
Commands, obviously, is one aspect of it.

00:26:56.530 --> 00:27:00.470
But understanding the OS helps in understanding what the commands do.

00:27:01.430 --> 00:27:07.350
So as we saw earlier, we have the operating system kernel

00:27:08.390 --> 00:27:13.030
which manages the hardware resources and we interact with the kernel.

00:27:14.690 --> 00:27:21.470
So the kernel itself is here.

00:27:23.050 --> 00:27:25.070
It works with the drivers.

00:27:26.310 --> 00:27:28.150
For example, when you run the command top,

00:27:28.570 --> 00:27:35.110
basically, you are asking kernel, hey, please give me the details of the running processes.

00:27:35.810 --> 00:27:37.510
So that's what the command is doing.

00:27:37.590 --> 00:27:42.130
The command is asking the kernel and the kernel is going and fetching all the details.

00:27:43.770 --> 00:27:47.290
As I did mention, there are different types of shells available.

00:27:47.910 --> 00:27:52.830
We have the original shell, born shell, C shell, T shell.

00:27:52.850 --> 00:27:55.830
There are so many different variants of these shells.

00:27:55.830 --> 00:28:00.330
Typically, most Linux environments have what we call as a born again shell,

00:28:00.470 --> 00:28:03.570
but it can be different from environment to environment.

00:28:03.650 --> 00:28:09.010
And there are many different graphical environments that the different Linux

00:28:09.010 --> 00:28:14.210
distributions you work with will have possibly different graphical environments.

00:28:14.570 --> 00:28:18.850
And the good part is potentially you can choose also what you like.

00:28:19.950 --> 00:28:25.710
In terms of the architecture, there are plenty of different system tools.

00:28:25.830 --> 00:28:28.450
We're going to try those tools.

00:28:29.030 --> 00:28:33.510
Again, we will learn not only how to execute one tool or one command,

00:28:33.590 --> 00:28:37.470
but the power comes from connecting the commands together.

00:28:37.910 --> 00:28:40.950
And we're going to have a look at that today.

00:28:43.330 --> 00:28:44.130
Can I tell you this?

00:28:44.150 --> 00:28:45.710
This is a very important slide.

00:28:45.930 --> 00:28:48.170
And the first point is the most important.

00:28:49.910 --> 00:28:55.530
Anyone coming from Windows, if I ask you what is a file, what's your answer to Windows

00:28:55.530 --> 00:28:56.630
when you think of a file?

00:28:56.730 --> 00:28:57.450
What do you think about?

00:29:01.330 --> 00:29:03.210
Something you can read or type into.

00:29:04.150 --> 00:29:06.630
So you're thinking about data, right?

00:29:06.870 --> 00:29:07.170
Awesome.

00:29:07.410 --> 00:29:07.710
Yes.

00:29:08.730 --> 00:29:09.510
Okay. Anybody else?

00:29:09.670 --> 00:29:10.230
What's the file?

00:29:10.390 --> 00:29:12.130
Karam, I can see you are unmuted.

00:29:12.190 --> 00:29:12.890
We don't hear you.

00:29:15.390 --> 00:29:17.410
So I think this is the thinking, right?

00:29:17.410 --> 00:29:19.070
I see the bubbles up the head.

00:29:19.150 --> 00:29:22.270
Yeah, I wanted to answer, but I'm like, is that my people?

00:29:23.010 --> 00:29:23.570
That's fine.

00:29:23.570 --> 00:29:25.710
I encourage any and every response.

00:29:26.230 --> 00:29:26.870
It's fine.

00:29:27.210 --> 00:29:28.850
No, I thought of a folder.

00:29:29.310 --> 00:29:30.530
Yes, fair enough.

00:29:31.490 --> 00:29:34.610
See, in Windows, we associate files with storage.

00:29:36.190 --> 00:29:38.950
In Linux, that's a mistake.

00:29:40.150 --> 00:29:45.210
Because in Linux and Unix, everything is a file.

00:29:45.270 --> 00:29:48.030
And I'll prove it to you as we work on the system.

00:29:49.130 --> 00:29:50.610
Your hard disk is a file.

00:29:51.030 --> 00:29:52.490
Your keyboard is a file.

00:29:53.090 --> 00:29:54.930
Your memory is a file.

00:29:55.210 --> 00:29:57.050
Your user account is a file.

00:29:57.530 --> 00:30:00.510
The screen you are looking at is a file.

00:30:01.150 --> 00:30:03.590
The terminal you're working in is a file.

00:30:03.730 --> 00:30:06.030
And that can kind of make your head spin a little bit

00:30:06.030 --> 00:30:08.570
when you come from Windows because you're like, hey,

00:30:08.990 --> 00:30:10.010
the file is for data.

00:30:10.310 --> 00:30:13.310
No, here, a file is a pointer to a resource.

00:30:14.870 --> 00:30:17.890
And it's a very broad open definition,

00:30:18.110 --> 00:30:20.930
like a pointer to some sort of a resource.

00:30:20.930 --> 00:30:23.190
The resource could be anything.

00:30:24.210 --> 00:30:27.430
Let's give that a little bit of a try.

00:30:29.090 --> 00:30:36.510
I'm going to go to my network environment.

00:30:36.850 --> 00:30:39.750
I'm back onto the shell, as you can see.

00:30:42.010 --> 00:30:44.030
The very first thing I'm going to do here

00:30:44.030 --> 00:30:46.410
is try a very basic command ls.

00:30:46.410 --> 00:30:47.150
Take a list.

00:30:47.250 --> 00:30:47.970
What do I see?

00:30:49.030 --> 00:30:51.390
Well, I see some resources.

00:30:52.710 --> 00:30:56.270
But I can't tell if this is a file or a folder.

00:30:57.690 --> 00:30:59.670
There are many ways to take a list.

00:31:02.350 --> 00:31:03.530
We're going to try them all.

00:31:11.110 --> 00:31:13.210
The command ls itself, just to showcase,

00:31:13.370 --> 00:31:15.010
has many ways to doing things.

00:31:15.510 --> 00:31:17.110
What I want to do here first

00:31:18.310 --> 00:31:20.470
let me try this command.

00:31:23.770 --> 00:31:25.930
And it's a very interesting command that I'm writing.

00:31:27.170 --> 00:31:30.430
tty, which terminal is this?

00:31:31.650 --> 00:31:35.590
I hope you remember we also have other terminals.

00:31:35.810 --> 00:31:36.770
I've minimized them.

00:31:36.970 --> 00:31:37.970
I find them at the bottom.

00:31:38.730 --> 00:31:40.390
And in the other terminal,

00:31:42.350 --> 00:31:48.130
I'm going to say tty, which terminal is this?

00:31:55.750 --> 00:31:59.130
And what we notice is when I say, hey,

00:31:59.270 --> 00:32:00.410
what terminal is this?

00:32:00.510 --> 00:32:09.270
It gives me a location, slash dev, slash pts, slash one.

00:32:09.330 --> 00:32:11.730
It's literally a file system hierarchy.

00:32:13.510 --> 00:32:15.250
So what the system is telling me

00:32:15.250 --> 00:32:17.870
is that this terminal that I'm looking at

00:32:17.870 --> 00:32:20.750
is represented as a file here.

00:32:23.170 --> 00:32:26.190
And this terminal that I see on the left-hand side

00:32:26.190 --> 00:32:30.370
is also represented in the system as a file.

00:32:30.410 --> 00:32:32.110
Do you notice that there are different pointers?

00:32:32.230 --> 00:32:34.110
This is number one and this is number two.

00:32:38.730 --> 00:32:42.090
Is that based on which one you opened first?

00:32:42.170 --> 00:32:43.290
Yes, absolutely.

00:32:44.030 --> 00:32:45.130
Just one question.

00:32:45.390 --> 00:32:46.490
Just one question again.

00:32:47.330 --> 00:32:50.170
I assume the one that you're on with the desktop

00:32:50.170 --> 00:32:53.370
is the one that you opened via desktop.

00:32:53.630 --> 00:32:56.950
Is there a reason why it's named differently?

00:32:58.570 --> 00:32:59.330
No, no, no.

00:32:59.330 --> 00:33:00.530
This is just numbering.

00:33:00.710 --> 00:33:02.070
They're both dev, pts.

00:33:02.390 --> 00:33:04.290
The type of terminal is the same.

00:33:05.090 --> 00:33:06.490
How do you do that?

00:33:07.590 --> 00:33:10.730
Also, I was just asking the question of where is the slash desktop?

00:33:12.230 --> 00:33:13.210
Ah, you're being different.

00:33:14.110 --> 00:33:16.410
Yeah, I was just a matter of identifying.

00:33:16.490 --> 00:33:17.810
Oh, you come to it.

00:33:18.350 --> 00:33:19.150
Okay, okay, no problem.

00:33:19.410 --> 00:33:21.210
But anyways, the quick-shot answer is

00:33:21.210 --> 00:33:26.770
right now the prompt is reflecting the current location you are in.

00:33:30.250 --> 00:33:34.150
Yes, this is just they are being very helpful to you

00:33:35.230 --> 00:33:37.010
because they know we are all lazy people.

00:33:37.190 --> 00:33:38.110
They're like, hey, guess what?

00:33:38.130 --> 00:33:39.090
You are in that folder.

00:33:39.210 --> 00:33:39.990
Okay, thank you.

00:33:41.370 --> 00:33:44.710
One of the most common mistakes in the Linux Unix world

00:33:44.710 --> 00:33:46.530
is right command but in the wrong location.

00:33:46.590 --> 00:33:48.210
So they're kind of helping you out

00:33:48.210 --> 00:33:50.450
and we'll come to that just in a short bit.

00:33:51.150 --> 00:33:52.710
Okay, one and two we can see.

00:33:55.670 --> 00:33:58.950
I do have my third terminal here as well.

00:34:01.950 --> 00:34:04.890
I have zoomed everything else other than the terminal in

00:34:04.890 --> 00:34:05.970
and I do the same thing.

00:34:05.990 --> 00:34:07.390
Hey, what terminal is this?

00:34:07.450 --> 00:34:09.030
This is terminal zero.

00:34:09.690 --> 00:34:12.190
So there is some numbering starting from zero.

00:34:12.190 --> 00:34:13.370
This is device zero.

00:34:13.410 --> 00:34:14.450
This is device one.

00:34:14.450 --> 00:34:15.490
This is device two.

00:34:17.270 --> 00:34:18.410
Let me try something.

00:34:18.950 --> 00:34:20.490
Let me try a very simple command.

00:34:20.650 --> 00:34:23.050
I'm going to say echo hello.

00:34:25.390 --> 00:34:29.290
Any guesses what it's going to do?

00:34:32.550 --> 00:34:33.410
It's going to show hello.

00:34:34.830 --> 00:34:39.230
So it literally just takes this input

00:34:39.230 --> 00:34:42.250
and the output is on the current device.

00:34:43.210 --> 00:34:46.710
So hello comes out on my terminal.

00:34:48.930 --> 00:34:53.290
What if I did that

00:34:57.910 --> 00:35:01.730
and I said this dev vts two.

00:35:02.130 --> 00:35:03.610
What am I trying to do here?

00:35:05.110 --> 00:35:07.010
I'm trying to put it in that vt.

00:35:07.010 --> 00:35:08.790
Hello to input net file.

00:35:09.550 --> 00:35:12.530
Oh, since you have to a file.

00:35:12.770 --> 00:35:17.930
But is that is that file really a file how we think about it?

00:35:18.670 --> 00:35:20.090
No, it's not.

00:35:20.870 --> 00:35:22.630
So what's going to happen when I do this?

00:35:24.210 --> 00:35:25.030
Where does the hello go?

00:35:26.930 --> 00:35:28.570
I was in that directory.

00:35:28.830 --> 00:35:30.290
Maybe just the same thing.

00:35:32.490 --> 00:35:34.710
The hello showed up in the other terminal.

00:35:36.910 --> 00:35:38.710
Wait, oh, is it?

00:35:38.790 --> 00:35:39.750
I just saw that.

00:35:40.450 --> 00:35:42.390
Can you guys try this out?

00:35:43.390 --> 00:35:46.230
I just saw that you actually listed a different path

00:35:46.230 --> 00:35:48.350
and you see that it was on zero.

00:35:48.790 --> 00:35:50.590
But yeah, okay.

00:35:50.850 --> 00:35:52.310
Now I just saw that.

00:35:52.950 --> 00:35:54.070
Can we try this please?

00:35:55.570 --> 00:35:59.230
Send a hello from one terminal to another terminal.

00:36:01.950 --> 00:36:06.370
Mention the file that represents that terminal

00:36:06.370 --> 00:36:08.330
and just writing tty will tell you

00:36:08.330 --> 00:36:11.050
what is the identity of that terminal.

00:36:11.190 --> 00:36:12.850
The example is in front of you.

00:36:13.710 --> 00:36:15.150
Just give it a try.

00:36:16.510 --> 00:36:18.550
Guys, I hope you don't mind us doing these things

00:36:18.550 --> 00:36:19.570
because all of you have said

00:36:19.570 --> 00:36:21.070
you are a bit comfortable with Linux.

00:36:22.130 --> 00:36:25.570
So I'm just expanding beyond the little bit of comfort

00:36:25.570 --> 00:36:27.670
that you have with Linux with some core concepts.

00:36:27.790 --> 00:36:28.870
No, we are good.

00:36:30.430 --> 00:36:32.290
You want us to follow you also?

00:36:32.290 --> 00:36:33.330
Yes, yes, yes.

00:36:33.350 --> 00:36:33.730
Okay.

00:36:34.930 --> 00:36:37.330
So arrange your three terminals.

00:36:37.330 --> 00:36:42.530
Find out their identity, which file represents them

00:36:43.290 --> 00:36:51.890
and try the echo command just as you see.

00:36:56.130 --> 00:37:01.430
We should redirect it to two, even though I don't have it.

00:37:01.430 --> 00:37:03.050
Oh, I can do one.

00:37:03.530 --> 00:37:05.070
Yeah, any other terminal is fine.

00:37:05.710 --> 00:37:08.130
So normally we just click right.

00:37:08.270 --> 00:37:10.570
We right-click when we want to paste something.

00:37:10.830 --> 00:37:12.010
Does it work here?

00:37:14.570 --> 00:37:15.930
Sorry, could you repeat that?

00:37:17.050 --> 00:37:20.630
When we want to say you've copied something,

00:37:20.670 --> 00:37:22.310
you want to paste it.

00:37:23.030 --> 00:37:24.910
Normally we just right-click.

00:37:25.130 --> 00:37:27.010
So I wanted to find out for this.

00:37:30.490 --> 00:37:32.190
You can try that out.

00:37:32.190 --> 00:37:33.830
Depends on the terminal

00:37:34.510 --> 00:37:36.910
and the type of terminal application as well.

00:37:38.790 --> 00:37:40.590
All right, quick question.

00:37:40.750 --> 00:37:42.770
Do we understand everything is a file?

00:37:42.910 --> 00:37:45.210
File is not just data storage.

00:37:46.150 --> 00:37:48.830
Very important in the Linux world,

00:37:49.130 --> 00:37:52.470
even devices are files, physical or logical.

00:37:53.390 --> 00:37:56.770
I might say Unix by mistake, but I mean the same thing.

00:37:59.430 --> 00:38:01.070
Basic principles are the same.

00:38:07.130 --> 00:38:12.370
So we answer a very fundamental question.

00:38:12.590 --> 00:38:14.930
What is a file?

00:38:15.750 --> 00:38:17.310
And the answer is this.

00:38:23.470 --> 00:38:25.410
So what we would like to know,

00:38:35.230 --> 00:38:38.770
so let's have a look at what is a file.

00:38:39.330 --> 00:38:43.030
And then we'll explore it in our operating system

00:38:43.030 --> 00:38:44.350
exactly the same way.

00:38:45.490 --> 00:38:53.650
I'm just going to look at the file types.

00:38:53.650 --> 00:38:55.770
Here we go and let me just share.

00:38:59.590 --> 00:39:05.770
So files that contain data, we call them as ordinary files.

00:39:06.890 --> 00:39:10.750
Even folders are considered as files.

00:39:11.850 --> 00:39:15.850
Then we have files that represent devices or drivers.

00:39:16.170 --> 00:39:18.050
We call them as device files.

00:39:18.350 --> 00:39:20.630
The example we saw right now was for terminal.

00:39:20.630 --> 00:39:23.770
And we have shortcuts in the Windows world.

00:39:23.790 --> 00:39:25.130
We call them as links.

00:39:25.890 --> 00:39:29.030
And we have different kinds of shortcuts,

00:39:30.570 --> 00:39:31.870
soft links and hard links.

00:39:31.970 --> 00:39:33.270
And we're going to have a look at those.

00:39:33.630 --> 00:39:36.950
So let's just see the file types

00:39:36.950 --> 00:39:40.870
and have a quick look at what we call as the directory structure.

00:39:42.550 --> 00:39:45.770
Here is what we need to know about the directory structure.

00:39:47.850 --> 00:39:52.790
And I would say like this is the starting point

00:39:52.790 --> 00:39:57.870
for your journey in the Linux world.

00:39:57.890 --> 00:40:00.650
Let me share my whiteboard here with you.

00:40:02.750 --> 00:40:06.490
And let's just take a closer look at the Linux file system.

00:40:10.710 --> 00:40:14.150
And obviously the starting of the Linux file system

00:40:14.150 --> 00:40:16.790
is what we consider as the root.

00:40:18.150 --> 00:40:19.750
Don't confuse the word root.

00:40:19.910 --> 00:40:23.690
Root can be a term used to describe the file system

00:40:23.690 --> 00:40:27.250
and root can be used to describe the user

00:40:28.270 --> 00:40:30.990
who is the super user.

00:40:31.290 --> 00:40:32.570
The super user is super chill.

00:40:32.610 --> 00:40:34.710
Here we are referencing the root

00:40:35.490 --> 00:40:40.190
in terms of our file system, how things are laid out.

00:40:41.150 --> 00:40:44.170
And the root of the Linux file system

00:40:44.170 --> 00:40:46.770
is represented by that forward slash.

00:40:47.010 --> 00:40:48.950
This is the top of the hierarchy.

00:40:50.470 --> 00:40:56.970
Every resource in the system is somewhere down there.

00:40:57.350 --> 00:41:02.630
So for instance, under slash, I see a folder etc.

00:41:03.150 --> 00:41:05.750
This contains all kinds of configuration files.

00:41:06.390 --> 00:41:13.010
Similarly under slash, I'm gonna see a lot of other folders

00:41:13.010 --> 00:41:18.030
and learning Linux is half learning this hierarchy.

00:41:18.150 --> 00:41:19.050
What is where?

00:41:19.130 --> 00:41:22.630
The important thing is what is the top of the tree

00:41:23.410 --> 00:41:26.370
or the root, depending on how you want to look at it.

00:41:26.610 --> 00:41:31.030
So if we go to our live environment,

00:41:31.330 --> 00:41:32.830
let's try some things out.

00:41:33.710 --> 00:41:36.590
The very first thing we would like to do,

00:41:37.150 --> 00:41:39.650
I'm just happy in any one of these terminals,

00:41:39.710 --> 00:41:42.970
the very first command is writing pwd.

00:41:44.490 --> 00:41:46.490
And I think many of you know that.

00:41:47.770 --> 00:41:50.690
It means print my working directly.

00:41:50.910 --> 00:41:51.670
Where am I?

00:41:53.190 --> 00:41:56.930
The thing to note here is what is the starting point

00:41:56.930 --> 00:42:00.150
on the left hand side is that forward slash.

00:42:00.150 --> 00:42:03.270
Under the root, there is the home folder.

00:42:03.730 --> 00:42:05.650
Under that is the student folder.

00:42:05.750 --> 00:42:08.470
This is where I am currently at this point in time.

00:42:09.850 --> 00:42:14.650
If I write cd backslash, this is literally

00:42:14.650 --> 00:42:17.210
going to the start of the file system.

00:42:17.430 --> 00:42:19.910
Everything is under this structure.

00:42:21.710 --> 00:42:24.050
And if I say, hey, print my working directory,

00:42:25.870 --> 00:42:28.150
it says, well, you are at the start.

00:42:28.150 --> 00:42:32.110
Everything is under this hierarchy.

00:42:32.610 --> 00:42:35.870
So this is the root of the file system

00:42:35.870 --> 00:42:39.950
and everything is under this root as a file system.

00:42:40.030 --> 00:42:42.770
And part of learning Linux is learning navigation.

00:42:44.070 --> 00:42:48.210
Does anyone know if I just write cd and press enter,

00:42:48.750 --> 00:42:49.750
what will happen?

00:42:53.290 --> 00:42:54.450
Here is a command.

00:42:55.530 --> 00:42:58.770
Many commands would need a parameter.

00:42:59.710 --> 00:43:02.550
What happens if this command, I don't give any parameters.

00:43:02.710 --> 00:43:04.930
Change the directory, but I don't tell you where.

00:43:07.010 --> 00:43:08.130
It doesn't do anything.

00:43:09.070 --> 00:43:10.170
Just put the same directory.

00:43:10.710 --> 00:43:14.750
It takes you to your home directory.

00:43:19.130 --> 00:43:23.050
Can you try out exactly what you see in front of you?

00:43:24.930 --> 00:43:29.770
Go to the root cd slash, verify that you are in the root

00:43:29.770 --> 00:43:31.570
with a print working directory.

00:43:31.730 --> 00:43:33.770
Just write cd and press enter

00:43:33.770 --> 00:43:37.470
and you are magically transported to your home directory.

00:43:37.930 --> 00:43:40.790
What character represents the home directory?

00:43:40.870 --> 00:43:42.770
Look at your prompt carefully.

00:43:57.210 --> 00:43:57.650
Okay.

00:43:57.650 --> 00:43:58.690
Can you guys still hear me?

00:44:00.430 --> 00:44:01.250
Yeah, we can hear you.

00:44:01.270 --> 00:44:02.010
Can you hear us?

00:44:02.210 --> 00:44:04.010
Yeah, all well, all well.

00:44:11.410 --> 00:44:13.470
You know why I like Linux?

00:44:13.770 --> 00:44:16.110
It makes you realize we don't know our keyboard.

00:44:18.110 --> 00:44:19.850
You just know where to place it.

00:44:20.010 --> 00:44:20.690
That's all that matters.

00:44:22.330 --> 00:44:23.250
Never mind the names.

00:44:24.630 --> 00:44:29.690
Do you know the story of the Q, W, E, R, T, Y?

00:44:29.930 --> 00:44:31.570
Why those characters are up there

00:44:31.570 --> 00:44:33.290
on the first line of the keyboard?

00:44:35.530 --> 00:44:37.410
If you pay attention,

00:44:37.630 --> 00:44:39.810
you can type the word typewriter

00:44:39.810 --> 00:44:41.810
from the first line on the top.

00:44:46.150 --> 00:44:48.650
So back in the day when typewriters

00:44:48.650 --> 00:44:51.470
were becoming popular, they designed it this way

00:44:51.470 --> 00:44:55.290
so that the salespeople could go and pitch to everybody,

00:44:55.530 --> 00:44:58.390
look how quickly we can type on a typewriter.

00:45:00.170 --> 00:45:01.950
And they would type typewriter

00:45:01.950 --> 00:45:03.370
and people would be impressed.

00:45:07.330 --> 00:45:09.630
And people would be like, wow, yeah, that's so fast.

00:45:09.950 --> 00:45:11.370
They didn't realize that typewriter

00:45:11.370 --> 00:45:12.990
could be typed just on a single line.

00:45:14.070 --> 00:45:14.530
All right.

00:45:15.510 --> 00:45:17.690
I hope this works for everyone, right?

00:45:17.690 --> 00:45:22.110
So the character tilde represents your home directory

00:45:22.890 --> 00:45:27.830
and pwd kind of tells you what is your current directory.

00:45:28.590 --> 00:45:30.130
And what that means is

00:45:30.130 --> 00:45:31.750
when you're working on the command line,

00:45:32.070 --> 00:45:33.190
you need to know three things.

00:45:33.330 --> 00:45:36.310
Commands have parameters and options.

00:45:38.450 --> 00:45:39.710
Let's take a look.

00:45:40.450 --> 00:45:44.510
What do I mean by commands have parameters and options?

00:45:45.330 --> 00:45:51.130
Okay, I'm gonna just share my environment just a little bit.

00:45:51.390 --> 00:45:53.210
And we'll take a break shortly,

00:45:53.310 --> 00:45:56.930
I think around 15 odd minutes from here.

00:45:57.850 --> 00:46:00.670
We'll just stick to your regular break size

00:46:01.390 --> 00:46:03.350
and happy to take any suggestions as well.

00:46:03.890 --> 00:46:05.690
Okay, here, a quick one.

00:46:07.270 --> 00:46:10.530
So here is a command cal, prints out calendar.

00:46:13.610 --> 00:46:16.150
Now, in this case, it says, hey, you don't have calendar.

00:46:16.150 --> 00:46:17.310
Here is a command date.

00:46:21.270 --> 00:46:22.510
What does date give me?

00:46:22.670 --> 00:46:24.670
Let me clear the screen.

00:46:27.950 --> 00:46:31.170
Well, date does a lot beyond date, right?

00:46:31.170 --> 00:46:32.670
It actually tells you time.

00:46:35.250 --> 00:46:37.170
And what does the command time do?

00:46:37.990 --> 00:46:39.570
Just to pre-qual on that.

00:46:39.750 --> 00:46:40.090
Sure.

00:46:40.090 --> 00:46:43.870
So the time zone, it takes it away from the system.

00:46:43.990 --> 00:46:44.470
Yes.

00:46:44.770 --> 00:46:46.090
System, okay.

00:46:46.630 --> 00:46:48.390
Yeah, it's got nothing to do with your time zone.

00:46:49.350 --> 00:46:50.770
It's the time zone set

00:46:50.770 --> 00:46:52.870
during the installation of the system.

00:46:52.910 --> 00:46:55.270
And in these cases, these are virtual machines

00:46:55.830 --> 00:46:57.270
running on a hypervisor.

00:46:57.350 --> 00:47:00.110
So typically, they borrow it from the hypervisor.

00:47:01.290 --> 00:47:02.410
Okay, I will take it.

00:47:02.410 --> 00:47:04.870
So this would represent which part of the world

00:47:04.870 --> 00:47:06.630
the infrastructure is running on, for instance.

00:47:06.770 --> 00:47:08.550
All right, so a very interesting operating system.

00:47:08.550 --> 00:47:09.870
I say date.

00:47:10.270 --> 00:47:12.110
It tells me date and time.

00:47:12.370 --> 00:47:13.510
I run the command time.

00:47:13.710 --> 00:47:15.450
It tells me something I don't understand.

00:47:16.470 --> 00:47:18.030
With the command date,

00:47:18.070 --> 00:47:20.290
what happens if I do dash dash help?

00:47:27.150 --> 00:47:31.190
Some of these helps are a few pages long.

00:47:34.430 --> 00:47:36.790
But the important thing here is

00:47:36.790 --> 00:47:39.110
how it's supposed to be used.

00:47:41.670 --> 00:47:43.070
So it's saying there is a date

00:47:43.070 --> 00:47:45.430
and then you can mention the options.

00:47:47.330 --> 00:47:49.590
Options can be short

00:47:50.770 --> 00:47:53.610
or options can be long.

00:47:56.370 --> 00:47:59.770
But the important thing is the options begin with a dash.

00:48:02.230 --> 00:48:04.850
And there are many options available.

00:48:05.990 --> 00:48:07.370
So let's try something.

00:48:07.630 --> 00:48:12.970
We're gonna make sure you are in your home directory.

00:48:13.030 --> 00:48:15.450
If not, just type cd and press enter.

00:48:15.650 --> 00:48:17.890
You can obviously verify that

00:48:17.890 --> 00:48:19.510
that you're in your home directory.

00:48:19.990 --> 00:48:21.850
Let's try the command ls.

00:48:21.850 --> 00:48:24.390
That gives us a list of resources without.

00:48:29.150 --> 00:48:31.010
And in my home directory,

00:48:31.210 --> 00:48:33.330
there is desktop, music, public picture.

00:48:33.330 --> 00:48:35.710
Many of these look like these are folders.

00:48:36.950 --> 00:48:38.610
But I would like to learn a little bit more

00:48:38.610 --> 00:48:40.410
about how to use the command ls.

00:48:40.630 --> 00:48:41.690
I'll try some help.

00:48:45.050 --> 00:48:47.230
I do a quick dash dash help.

00:48:48.210 --> 00:48:50.290
A long list of help shows up.

00:48:50.410 --> 00:48:53.550
Basically it tells us all the options available.

00:48:59.350 --> 00:49:01.190
And as an argument,

00:49:01.190 --> 00:49:05.670
I can mention which folder I would like to see

00:49:06.470 --> 00:49:08.710
or which file I would like to see more about.

00:49:10.730 --> 00:49:13.270
Couple of interesting options that we see there.

00:49:18.010 --> 00:49:19.830
Minus f, minus g.

00:49:22.190 --> 00:49:24.610
Human readable minus h.

00:49:25.070 --> 00:49:26.610
So there are plenty of them as well.

00:49:26.610 --> 00:49:28.170
We have the long list format.

00:49:29.870 --> 00:49:32.250
I'm sorry, how do you zoom in on the terminal?

00:49:34.250 --> 00:49:36.250
Control with the plus, with the shift.

00:49:38.210 --> 00:49:39.170
Or plus with the shift?

00:49:39.390 --> 00:49:40.530
Or with the view.

00:49:42.090 --> 00:49:42.990
Okay, that's better.

00:49:43.090 --> 00:49:43.750
Okay, thanks.

00:49:44.690 --> 00:49:47.150
First thing that you wanna do is customize it.

00:49:47.470 --> 00:49:48.090
Make it easier.

00:49:51.310 --> 00:49:54.450
So let me run the command ls minus l.

00:49:57.410 --> 00:50:00.310
When you do ls minus l,

00:50:01.050 --> 00:50:03.330
pay attention to the very first character.

00:50:07.390 --> 00:50:09.110
This is the long list.

00:50:09.950 --> 00:50:12.670
And you're looking at the very first character.

00:50:14.830 --> 00:50:16.650
So what does d represent here?

00:50:16.730 --> 00:50:20.330
All of these are

00:50:20.330 --> 00:50:22.130
directories or folders.

00:50:23.510 --> 00:50:24.430
In Windows, you can see that

00:50:24.430 --> 00:50:25.530
you use the word folders.

00:50:25.850 --> 00:50:27.730
Typically in Linux, you use the word directory.

00:50:30.270 --> 00:50:31.330
These are all folders.

00:50:31.890 --> 00:50:35.230
Okay, let's very quickly create a file.

00:50:36.470 --> 00:50:38.670
What is the command to quickly create a file?

00:50:39.630 --> 00:50:40.730
Which has nothing in it.

00:50:40.850 --> 00:50:41.710
The command to do what?

00:50:42.010 --> 00:50:44.370
To create a file, an empty file.

00:50:45.650 --> 00:50:50.130
It's m, k, d, i, r.

00:50:50.670 --> 00:50:52.230
That would make a folder.

00:50:52.230 --> 00:50:54.470
I want to create a file.

00:51:02.930 --> 00:51:06.070
Let's have a look at the long list again.

00:51:09.030 --> 00:51:11.070
What's different about my file?

00:51:13.090 --> 00:51:14.730
By the way, everything I'm doing,

00:51:14.950 --> 00:51:17.570
I'm expecting you to repeat along with me, please.

00:51:18.490 --> 00:51:19.550
And now.

00:51:21.370 --> 00:51:24.490
Okay, what's different is the size and also the rights.

00:51:25.270 --> 00:51:26.890
Look at the first character.

00:51:30.290 --> 00:51:31.330
Yes, it doesn't have a d.

00:51:32.170 --> 00:51:35.410
So that dash indicates an ordinary file.

00:51:36.390 --> 00:51:38.510
Just a file that contains data.

00:51:41.910 --> 00:51:45.290
Do you remember the file that represents a terminal?

00:51:48.230 --> 00:51:52.930
Ls minus l, give me the details of that file.

00:51:58.130 --> 00:51:59.290
What is the first character?

00:52:01.470 --> 00:52:03.950
It is not a minus, isn't it?

00:52:04.450 --> 00:52:06.770
It's some other character, and it's not a d either.

00:52:07.810 --> 00:52:09.630
So if it starts with a c or a b,

00:52:09.630 --> 00:52:11.710
we call it as a device file.

00:52:11.710 --> 00:52:14.090
A file that represents a device.

00:52:14.730 --> 00:52:16.550
So the very first command

00:52:16.550 --> 00:52:18.350
that you probably would like to learn

00:52:18.350 --> 00:52:20.390
when you're working on file system is simple.

00:52:20.530 --> 00:52:22.390
Ls minus l, what am I looking at?

00:52:23.330 --> 00:52:24.110
Is it a folder?

00:52:25.130 --> 00:52:26.570
Is it a regular file?

00:52:26.790 --> 00:52:28.970
Is it some special kind of file?

00:52:29.150 --> 00:52:30.990
Is it a link to something?

00:52:32.190 --> 00:52:35.310
Ls minus l gets us that answer.

00:52:36.670 --> 00:52:37.290
For instance.

00:52:38.010 --> 00:52:38.530
Yes, go ahead.

00:52:38.710 --> 00:52:41.230
So you said the words that means represent what?

00:52:41.410 --> 00:52:42.570
A device file.

00:52:42.570 --> 00:52:44.230
There are character and block.

00:52:44.230 --> 00:52:45.690
What about o and t?

00:52:45.930 --> 00:52:46.770
I thought you said directory.

00:52:46.910 --> 00:52:47.730
A directory or a folder.

00:52:47.850 --> 00:52:50.270
Oh, direct, okay, okay, it was back.

00:52:50.490 --> 00:52:52.710
And a dash is an ordinary file.

00:52:54.330 --> 00:52:55.970
I think, see, writing commands on Linux

00:52:55.970 --> 00:52:56.970
is not so difficult,

00:52:57.830 --> 00:52:59.830
but understanding the logic behind it helps.

00:52:59.830 --> 00:53:02.150
Makes us more comfortable with the platform.

00:53:02.590 --> 00:53:04.770
Linux can be a bit complicated as well.

00:53:04.990 --> 00:53:06.590
All right, before we go any further,

00:53:06.670 --> 00:53:08.790
just a quick check.

00:53:09.270 --> 00:53:12.550
Are we all good so far?

00:53:12.570 --> 00:53:15.510
Is Andre, Austin, Karamal, Faith.

00:53:16.210 --> 00:53:17.710
Oh, color fellow, we just saw you, sorry.

00:53:18.210 --> 00:53:18.870
Just happy morning.

00:53:19.170 --> 00:53:20.270
Yeah, it's all good on my side.

00:53:22.050 --> 00:53:26.150
Yes, what I wanted to know is that this dash dash help

00:53:26.150 --> 00:53:27.450
brings up what?

00:53:27.710 --> 00:53:29.150
I know it brings up a lot of info,

00:53:29.330 --> 00:53:31.910
but like what would the show description be?

00:53:32.010 --> 00:53:33.670
So yeah, so dash dash help.

00:53:35.110 --> 00:53:37.250
You're asking what does it do?

00:53:37.290 --> 00:53:38.430
Are you looking for something?

00:53:38.970 --> 00:53:39.470
Yes, yes, no.

00:53:39.690 --> 00:53:40.330
Okay, yeah.

00:53:40.330 --> 00:53:43.390
So dash dash help tells you about the command

00:53:43.390 --> 00:53:45.270
and tells you about all the options

00:53:45.270 --> 00:53:46.830
for that particular command.

00:53:48.490 --> 00:53:49.010
Okay.

00:53:49.570 --> 00:53:51.630
Some of the commands, if you ask for help,

00:53:51.630 --> 00:53:53.710
you get a book as a response.

00:53:54.610 --> 00:53:55.130
Oh.

00:53:55.490 --> 00:53:57.390
And then we just Google the option there,

00:53:57.390 --> 00:54:00.150
like I'm not reading this, thank you.

00:54:00.390 --> 00:54:02.250
I'll just Google how to do something.

00:54:02.330 --> 00:54:04.510
And of course, these are the chat GPT,

00:54:04.530 --> 00:54:06.370
your deep mind will work just as well.

00:54:07.670 --> 00:54:09.750
There are commands like tar

00:54:09.750 --> 00:54:12.470
for which you can actually read a book.

00:54:13.030 --> 00:54:16.350
Yeah, but it does give you help on that.

00:54:16.570 --> 00:54:17.630
How about the other space?

00:54:18.210 --> 00:54:21.050
Too much, too little, we know all this.

00:54:21.250 --> 00:54:22.970
I just need to know.

00:54:23.290 --> 00:54:23.610
There are.

00:54:25.790 --> 00:54:27.090
I'm here on my side.

00:54:27.290 --> 00:54:28.710
However, I think maybe when we come back,

00:54:29.830 --> 00:54:32.110
I just wanted to know more about the list

00:54:32.110 --> 00:54:34.770
because I just wanted to know the difference

00:54:34.770 --> 00:54:39.210
between the Ls minus Ltr and that one Ls.

00:54:40.470 --> 00:54:40.970
Sure.

00:54:41.330 --> 00:54:41.510
Yes.

00:54:41.650 --> 00:54:43.430
So different options and what happens

00:54:43.430 --> 00:54:45.190
when you combine different options?

00:54:45.390 --> 00:54:46.750
We're gonna have a look at that.

00:54:46.750 --> 00:54:47.490
I'm really proud.

00:54:48.510 --> 00:54:49.190
Let's do that.

00:54:49.270 --> 00:54:49.750
Okay.

00:54:50.090 --> 00:54:50.490
All right.

00:54:50.490 --> 00:54:52.870
So maybe a good time for a short break.

00:54:54.970 --> 00:54:55.970
A long break, yes.

00:54:59.390 --> 00:54:59.890
Okay.

00:55:00.890 --> 00:55:02.030
How about 20 minutes?

00:55:02.310 --> 00:55:03.570
I'm very generous.

00:55:04.510 --> 00:55:04.790
See you guys.

00:55:04.790 --> 00:55:05.570
No, no, I'm kidding.

00:55:05.910 --> 00:55:06.710
15 is fine.

00:55:06.710 --> 00:55:07.230
Oh, fair enough.

00:55:07.450 --> 00:55:08.450
After lunch.

00:55:08.450 --> 00:55:09.250
Now we have.

00:55:10.450 --> 00:55:11.050
All right.

00:55:11.130 --> 00:55:13.730
All right, then a short 15 minutes break.

00:55:13.910 --> 00:55:15.190
See you guys in a bit.

00:55:15.630 --> 00:55:15.950
Okay.

00:55:15.970 --> 00:55:16.390
Thank you.

00:55:16.510 --> 00:55:17.310
Okay, cool.

00:55:19.370 --> 00:55:19.870
Okay.

00:55:54.890 --> 00:55:56.290
Okay.

00:56:19.690 --> 00:56:20.290
Yeah.

00:56:30.510 --> 00:56:31.110
Cool.

00:56:31.830 --> 00:56:32.290
All right.

00:56:32.490 --> 00:56:32.910
All right.

00:56:32.910 --> 00:56:38.510
All right, all right, back with all of you,

00:56:38.730 --> 00:56:40.450
if you're around.

00:56:48.090 --> 00:56:52.650
All right, here we get a big thumbs up from Carl O'Fellow.

00:56:53.790 --> 00:56:57.430
Hey, all right, Carol Mung is back as well

00:56:58.730 --> 00:57:01.210
with the second cup of coffee, I assume.

00:57:03.410 --> 00:57:04.690
Not yet.

00:57:05.050 --> 00:57:06.050
You're saving it for later.

00:57:08.110 --> 00:57:10.090
Yes, maybe in about six minutes,

00:57:10.170 --> 00:57:13.250
because I had it later, like half night.

00:57:13.750 --> 00:57:16.550
We have to be careful with the caffeine dose,

00:57:17.050 --> 00:57:18.450
right amount, right time.

00:57:20.190 --> 00:57:22.790
Yes, and the thing is I don't drink coffee

00:57:23.670 --> 00:57:24.970
for the next three months,

00:57:25.730 --> 00:57:30.350
so I'm not enjoying this tea, like coffee.

00:57:30.350 --> 00:57:33.270
Of course, you're not.

00:57:33.290 --> 00:57:38.670
I can live with it without it two hours or three hours away.

00:57:39.110 --> 00:57:41.730
Any particular reason for giving up coffee

00:57:41.730 --> 00:57:42.790
for three months?

00:57:44.410 --> 00:57:45.510
I'm on a diet.

00:57:49.890 --> 00:57:51.910
Didn't know coffee was part of any of this,

00:57:51.910 --> 00:57:52.810
but good to know.

00:57:54.550 --> 00:57:57.310
Yeah, you know, I don't know.

00:57:57.730 --> 00:57:59.050
My dietitian said that.

00:57:59.950 --> 00:58:02.410
The dietitian has to say something, right?

00:58:02.490 --> 00:58:04.250
So they have to be creative as well.

00:58:05.930 --> 00:58:08.790
What else can we ask this person to not do?

00:58:09.130 --> 00:58:09.930
How about coffee?

00:58:10.010 --> 00:58:11.290
Yeah, let's go with that one.

00:58:12.090 --> 00:58:14.690
Yeah, no, I also don't trust her,

00:58:15.430 --> 00:58:17.090
but she's a producer.

00:58:17.270 --> 00:58:19.070
She's the best in the game.

00:58:20.810 --> 00:58:21.610
Welcome back.

00:58:21.650 --> 00:58:23.830
Hopefully you survive without a bit of caffeine.

00:58:25.510 --> 00:58:27.130
Yeah, no, I have my water here.

00:58:27.270 --> 00:58:28.450
All right, that works.

00:58:29.050 --> 00:58:32.890
I once gave a break and someone came back with a kale juice

00:58:32.890 --> 00:58:34.250
and I said, you win.

00:58:34.510 --> 00:58:37.650
Anyone who can come back with a kale juice just wins.

00:58:40.930 --> 00:58:42.050
I know.

00:58:42.390 --> 00:58:43.590
They're on another mission.

00:58:44.290 --> 00:58:46.990
It's a different level when you're on kale juice.

00:58:48.490 --> 00:58:49.770
Faith, Lissandra, welcome back.

00:58:49.970 --> 00:58:50.890
Hopefully you're around.

00:58:51.370 --> 00:58:51.650
Austin?

00:58:52.270 --> 00:58:52.970
I'm here.

00:58:53.490 --> 00:58:55.890
I see Austin and Faith and you.

00:58:56.470 --> 00:58:57.350
I'm in front of the whole building.

00:58:57.350 --> 00:58:59.150
Hopefully they'll be back soon.

00:58:59.150 --> 00:59:01.070
Just give them a few minutes.

00:59:02.510 --> 00:59:04.670
So just talking about what we were doing earlier,

00:59:04.670 --> 00:59:07.210
as I said, I would highly encourage you

00:59:07.210 --> 00:59:09.430
to try things out along as well.

00:59:10.690 --> 00:59:13.010
I once said to some group,

00:59:13.170 --> 00:59:14.810
Linux is not a spectator sport.

00:59:15.750 --> 00:59:17.510
It's the easiest operating system

00:59:17.510 --> 00:59:19.670
to watch somebody else do things

00:59:19.670 --> 00:59:21.890
and when you do it, nothing works.

00:59:22.470 --> 00:59:26.830
Sometimes, you know, uppercase, lowercase, spaces,

00:59:26.830 --> 00:59:28.990
and you're like, well, when that guy was doing it,

00:59:28.990 --> 00:59:31.690
everything was working, what was going on.

00:59:31.930 --> 00:59:35.030
So you do need to try it to make your own mistakes

00:59:35.030 --> 00:59:36.630
and then learn from it.

00:59:39.670 --> 00:59:40.410
Yeah, true.

00:59:41.030 --> 00:59:43.070
Would encourage you to do the same as well.

00:59:44.630 --> 00:59:48.790
Hopefully the others just join us just in a bit.

00:59:49.930 --> 00:59:51.790
Let's see where we are at.

00:59:56.850 --> 01:00:00.630
So we're looking at different file types as such.

01:00:02.530 --> 01:00:05.370
Ordinary files start with a dash,

01:00:05.770 --> 01:00:07.590
directories start with a D.

01:00:08.050 --> 01:00:11.250
We saw the devices start with a C

01:00:11.250 --> 01:00:13.030
or there is a B as well, block device,

01:00:13.430 --> 01:00:18.910
and we will get into the links as well shortly.

01:00:18.970 --> 01:00:21.070
We're just familiarizing ourselves right now

01:00:21.070 --> 01:00:23.090
with the directory structure as well

01:00:23.750 --> 01:00:27.790
and some of the basics on the commands as well.

01:00:29.790 --> 01:00:32.950
And I think part of that is just over a period of time,

01:00:33.210 --> 01:00:34.770
you kind of create a memory map

01:00:34.770 --> 01:00:36.610
of which folders are important,

01:00:36.730 --> 01:00:38.070
why they are important,

01:00:38.970 --> 01:00:41.930
and that's mostly true for administrative side.

01:00:42.990 --> 01:00:45.550
If you're working in your own home directory as a user,

01:00:45.890 --> 01:00:47.950
working on some, we'll answer some of the questions

01:00:47.950 --> 01:00:50.710
in terms of LS and a few other basic commands.

01:00:52.230 --> 01:00:54.130
First, let's just take a quick look

01:00:54.130 --> 01:00:57.090
at the typical directories.

01:00:57.510 --> 01:00:59.730
I'm gonna share my screen in just a bit.

01:00:59.950 --> 01:01:03.110
All right, I'm gonna get back to my terminal.

01:01:03.210 --> 01:01:04.790
Let's share this.

01:01:09.330 --> 01:01:13.030
So we looked at the root as such

01:01:13.030 --> 01:01:15.090
and we were looking at the command LS.

01:01:15.190 --> 01:01:18.250
We were looking at the options of the command LS

01:01:18.250 --> 01:01:19.930
and I will dive into that shortly

01:01:20.450 --> 01:01:22.470
as we get back into the commands bit.

01:01:22.910 --> 01:01:26.050
The important thing I wanted as a message to come across

01:01:26.050 --> 01:01:27.930
is the idea that we have commands,

01:01:29.430 --> 01:01:31.110
we have options,

01:01:32.870 --> 01:01:35.530
and we have parameters.

01:01:38.310 --> 01:01:41.870
So in this case, LS is the command,

01:01:42.850 --> 01:01:44.310
minus L is an option.

01:01:44.310 --> 01:01:45.690
I have a long list.

01:01:46.750 --> 01:01:48.570
And then maybe the location.

01:01:51.550 --> 01:01:53.930
Are you moving away again?

01:01:55.530 --> 01:01:57.230
Sorry, can you hear me?

01:01:58.310 --> 01:01:58.970
Very fast.

01:02:00.330 --> 01:02:03.130
I can promise you I'm right where I was.

01:02:04.750 --> 01:02:07.150
Let's just see if the audio is okay.

01:02:08.330 --> 01:02:10.970
No, no, I'm getting the same idea.

01:02:11.310 --> 01:02:12.730
I can hardly hear what you're saying.

01:02:13.250 --> 01:02:15.490
All right, so let me leave and come back.

01:02:17.250 --> 01:02:17.810
Okay.

01:02:34.190 --> 01:02:35.130
All right.

01:02:35.310 --> 01:02:38.630
All right, let's see if this is any better than earlier.

01:02:38.870 --> 01:02:39.650
I don't know if it is the same.

01:02:39.750 --> 01:02:41.590
That is definitely better for my end.

01:02:42.150 --> 01:02:45.690
All right, let me also try another trick.

01:02:46.250 --> 01:02:47.150
Wait, wait.

01:02:47.990 --> 01:02:49.490
I'm super far away.

01:02:50.070 --> 01:02:51.650
Okay, how about now?

01:02:52.850 --> 01:02:54.390
It's soft, but I think we can hear.

01:02:54.590 --> 01:02:56.270
I don't know if the other guys,

01:02:56.870 --> 01:03:00.610
it's softer than where before, but we can still hear.

01:03:01.770 --> 01:03:03.430
It's all right, I can always try something

01:03:03.430 --> 01:03:05.610
to make it better in terms of the audio.

01:03:05.670 --> 01:03:07.430
Could just be a setting in Teams.

01:03:08.590 --> 01:03:10.050
You can always give that a try.

01:03:10.270 --> 01:03:11.890
All right, I'll just keep on talking

01:03:11.890 --> 01:03:17.050
and just let me know if any better or worse.

01:03:18.010 --> 01:03:19.990
Yeah, definitely better now.

01:03:20.710 --> 01:03:21.090
Yeah.

01:03:21.090 --> 01:03:21.610
All right, lovely.

01:03:21.670 --> 01:03:24.710
Hopefully since we are spending time on the command line,

01:03:24.770 --> 01:03:26.870
it kind of helps seeing what I'm doing.

01:03:30.550 --> 01:03:32.810
All right, so back to the idea of command,

01:03:33.010 --> 01:03:34.710
options, and argument.

01:03:35.870 --> 01:03:39.230
LS is the command, minus L is the option,

01:03:39.830 --> 01:03:42.170
and the root file system is the argument.

01:03:42.250 --> 01:03:45.330
I want to see a long list of the root.

01:03:46.270 --> 01:03:49.050
And I kind of get something like this.

01:03:49.350 --> 01:03:51.030
We can also see here,

01:03:52.750 --> 01:03:55.670
there are a couple of files that begin with an L.

01:03:55.850 --> 01:03:58.250
This is the fourth type of file.

01:03:58.990 --> 01:04:01.890
Shortcuts, or what we call in the Linux Unix world,

01:04:02.390 --> 01:04:05.450
as links, begins with an L.

01:04:07.170 --> 01:04:10.530
So we have D for a directory.

01:04:11.890 --> 01:04:14.090
We have dash for a regular file.

01:04:14.610 --> 01:04:16.770
We have C or a B for devices,

01:04:17.410 --> 01:04:19.150
and we have L for the links.

01:04:21.050 --> 01:04:24.750
This is how you know what is the type of file

01:04:24.750 --> 01:04:26.790
you are looking at.

01:04:27.470 --> 01:04:29.830
Just to take a quick note.

01:04:31.370 --> 01:04:33.370
What happens if I swap this?

01:04:33.650 --> 01:04:37.770
If I say LS slash minus L, would that work?

01:04:40.110 --> 01:04:42.270
Command, argument, options.

01:04:43.470 --> 01:04:44.470
Any guess?

01:04:44.530 --> 01:04:47.650
I'm guessing it won't work, because like you said,

01:04:47.930 --> 01:04:52.010
argument, options, ah, okay, it's time to correct it.

01:04:53.190 --> 01:04:54.030
And guess what?

01:04:54.810 --> 01:04:58.390
If you try the same thing on older Linuxes

01:04:58.390 --> 01:05:01.190
or older Unix environments, it just won't work.

01:05:01.370 --> 01:05:04.470
So Linux has become friendlier and friendlier

01:05:04.470 --> 01:05:05.310
and friendlier.

01:05:05.350 --> 01:05:08.110
For instance, you have some color coding in a terminal.

01:05:08.190 --> 01:05:11.090
I don't remember seeing this in the 90s.

01:05:11.090 --> 01:05:12.650
It was nothing like this.

01:05:13.990 --> 01:05:16.490
So the operating systems, especially Linux,

01:05:16.670 --> 01:05:20.130
is a bit more friendly than typical Unix,

01:05:20.250 --> 01:05:22.550
which is a bit more hardcore,

01:05:22.550 --> 01:05:25.670
and it is the way it is with very little flexibility.

01:05:26.470 --> 01:05:31.130
Your comfort and ease of use was not the top priority.

01:05:31.810 --> 01:05:33.090
But here it is.

01:05:33.630 --> 01:05:36.210
Coming at the other file.

01:05:36.630 --> 01:05:37.030
Go ahead.

01:05:37.030 --> 01:05:38.550
Can you help me with the improvements?

01:05:40.030 --> 01:05:40.290
Why not?

01:05:40.430 --> 01:05:41.270
That's progress.

01:05:41.910 --> 01:05:43.830
There's no need to be a snob about it.

01:05:44.630 --> 01:05:45.690
There are a lot of people like that.

01:05:45.890 --> 01:05:48.810
They're like, no, no, no, they're making it easy for us.

01:05:49.650 --> 01:05:50.570
They don't want anything.

01:05:50.570 --> 01:05:53.230
It needs to be very hard to do all of those things.

01:05:53.230 --> 01:05:53.910
Yeah, absolutely.

01:05:53.930 --> 01:05:54.950
They're loyalists.

01:05:55.510 --> 01:05:58.550
So a lot of people will have that snobby attitude.

01:05:58.750 --> 01:06:01.830
You know, the elitist, ah, if you don't know VI,

01:06:02.090 --> 01:06:03.590
you are not a Unix guy,

01:06:03.610 --> 01:06:05.490
and if you cannot compile the kernel.

01:06:06.450 --> 01:06:07.630
Yeah, well, it doesn't matter.

01:06:07.690 --> 01:06:10.650
Most of those people are irrelevant now.

01:06:12.570 --> 01:06:14.450
It's getting the job done,

01:06:14.510 --> 01:06:17.150
understanding the architecture is always helpful,

01:06:17.250 --> 01:06:17.990
no doubt.

01:06:18.850 --> 01:06:20.430
Especially in troubleshooting.

01:06:20.710 --> 01:06:23.890
That's where I make a distinction between a user,

01:06:24.450 --> 01:06:26.610
an administrator, and an engineer.

01:06:29.110 --> 01:06:30.870
So user is just using the system,

01:06:31.170 --> 01:06:32.690
administrator is managing it,

01:06:32.730 --> 01:06:34.810
and engineer understands under the hood.

01:06:35.530 --> 01:06:38.710
In the olden days, I really sound old saying that,

01:06:39.210 --> 01:06:41.250
but you couldn't be an administrator

01:06:41.250 --> 01:06:42.730
if you were not an engineer,

01:06:42.810 --> 01:06:44.430
if you didn't know how it worked.

01:06:44.570 --> 01:06:46.530
These days, not so much.

01:06:46.610 --> 01:06:48.250
You don't need to look under the hood.

01:06:48.510 --> 01:06:50.830
You can just do the system administration

01:06:50.830 --> 01:06:53.250
without taking deep dives.

01:06:54.330 --> 01:06:56.070
This just means more productivity

01:06:56.070 --> 01:06:58.090
from an organization perspective.

01:07:01.550 --> 01:07:02.950
As long as you can produce faster,

01:07:03.190 --> 01:07:03.850
that's all that matters.

01:07:04.570 --> 01:07:06.790
So cloud automation, all of this,

01:07:06.890 --> 01:07:08.690
I mean, it's a result of that drive.

01:07:09.690 --> 01:07:12.810
Okay, so we see a lot of folders here.

01:07:13.590 --> 01:07:17.570
And again, we see slash home.

01:07:17.710 --> 01:07:20.070
This was where the user's home directory was.

01:07:20.890 --> 01:07:25.190
ETC is where a lot of configuration files are,

01:07:25.450 --> 01:07:27.250
almost like the registry of Windows.

01:07:27.810 --> 01:07:29.470
MNT is where you get mount points,

01:07:29.470 --> 01:07:34.090
basically access to any storage or other volume,

01:07:34.430 --> 01:07:37.070
like my computer, C drive, D drive, and others.

01:07:37.870 --> 01:07:38.990
We have the bin.

01:07:39.050 --> 01:07:41.810
This is where the actual applications

01:07:41.810 --> 01:07:43.930
or executables are located.

01:07:45.370 --> 01:07:47.530
And many others are where log files

01:07:47.530 --> 01:07:48.810
and other structures are.

01:07:49.310 --> 01:07:52.110
Over a period of time, as I did mention earlier,

01:07:52.710 --> 01:07:54.630
you get more and more comfortable

01:07:55.550 --> 01:07:57.970
with kind of what is where.

01:07:57.970 --> 01:08:02.970
Just to show you a reasonable mind map of that.

01:08:03.970 --> 01:08:06.870
It's not easy to memorize everything all at once.

01:08:08.370 --> 01:08:09.970
The more you work with the system,

01:08:10.150 --> 01:08:11.270
you kind of figure out,

01:08:11.510 --> 01:08:14.910
ah, this location contains ETC is configuration.

01:08:15.670 --> 01:08:17.510
Boot is where the kernel is.

01:08:17.890 --> 01:08:21.230
Bin is where the typical executables are.

01:08:21.930 --> 01:08:25.450
S bin is where the system administrative tools are.

01:08:25.450 --> 01:08:27.130
And other locations.

01:08:27.230 --> 01:08:29.650
You kind of discover them over a period of time.

01:08:30.550 --> 01:08:33.290
And this is more, again, for administrative purposes.

01:08:33.350 --> 01:08:35.090
You kind of get used to them as well.

01:08:35.850 --> 01:08:37.090
And then over a period of time,

01:08:37.130 --> 01:08:38.330
the more you use the system,

01:08:38.410 --> 01:08:40.730
the more you start realizing what is where.

01:08:40.890 --> 01:08:42.690
That's part of learning Linux and Unix.

01:08:42.750 --> 01:08:44.050
That has not changed.

01:08:45.950 --> 01:08:49.390
The exact structure of the file system

01:08:50.090 --> 01:08:53.290
could be slightly different depending on the distribution

01:08:53.290 --> 01:08:56.330
and other variants within the Linux world.

01:08:57.730 --> 01:08:59.390
Fundamentally, it remains similar,

01:08:59.410 --> 01:09:01.110
but not always the same.

01:09:02.370 --> 01:09:04.410
So yeah, there are certain directory structures

01:09:04.410 --> 01:09:05.230
that you kind of get.

01:09:05.430 --> 01:09:07.090
Let's look at some basic commands,

01:09:07.130 --> 01:09:09.770
but before that, also look at the,

01:09:09.890 --> 01:09:11.190
how do you work with the files.

01:09:11.770 --> 01:09:13.930
Let's go back to the commands bit.

01:09:15.030 --> 01:09:17.430
And we start our journey very quickly

01:09:18.170 --> 01:09:19.930
with the command ls.

01:09:22.530 --> 01:09:24.510
So here, take a list.

01:09:25.090 --> 01:09:27.490
The implied argument is the current directory.

01:09:28.550 --> 01:09:31.070
We saw dash dash help.

01:09:41.070 --> 01:09:44.930
Minus r, give me a reverse order if I'm sorting.

01:09:47.670 --> 01:09:49.910
l, give me a long.

01:09:50.650 --> 01:09:53.210
List, because it's case-sensitive,

01:09:54.790 --> 01:09:57.270
it's not always the same parameters.

01:09:57.290 --> 01:10:01.330
So minus i lowercase is not the same as i uppercase.

01:10:05.190 --> 01:10:10.790
rst, I am sorting by time, the newest first.

01:10:14.330 --> 01:10:14.970
So.

01:10:20.450 --> 01:10:22.830
This is my home directory.

01:10:27.330 --> 01:10:29.850
This option, I can do two ways.

01:10:30.990 --> 01:10:33.450
I can separate the options out.

01:10:33.790 --> 01:10:35.350
Minus l minus r.

01:10:39.470 --> 01:10:41.890
I can also just combine them together.

01:10:49.490 --> 01:10:49.970
So.

01:10:52.190 --> 01:10:55.250
A quick bit of help might come in handy.

01:10:56.410 --> 01:11:00.830
And of course, there are detailed helps available,

01:11:01.210 --> 01:11:02.030
which we will get into.

01:11:02.070 --> 01:11:04.190
This is what we call as the man page.

01:11:04.630 --> 01:11:06.470
Basically, man is short for manual.

01:11:07.830 --> 01:11:09.590
And the man page is quite handy.

01:11:11.370 --> 01:11:15.130
I can go enter.

01:11:15.150 --> 01:11:17.830
Can you please get to the manual?

01:11:18.710 --> 01:11:19.490
Sorry, go ahead please.

01:11:19.490 --> 01:11:20.050
Oh, man.

01:11:20.770 --> 01:11:22.730
No, I was asking how did you get to the manual,

01:11:22.890 --> 01:11:24.230
but I see now.

01:11:24.450 --> 01:11:24.750
Man?

01:11:24.810 --> 01:11:25.110
Yeah.

01:11:25.210 --> 01:11:25.610
Yes.

01:11:27.110 --> 01:11:27.490
Okay.

01:11:28.330 --> 01:11:30.330
So any command typically you want,

01:11:30.410 --> 01:11:32.090
we can open the manual page for it

01:11:32.090 --> 01:11:33.150
for a quick reference.

01:11:41.510 --> 01:11:44.110
What is the difference between the manual and the help?

01:11:44.790 --> 01:11:47.530
Some commands don't have that detailed dash dash help.

01:11:48.050 --> 01:11:49.770
Most would have a manual page.

01:11:51.330 --> 01:11:53.810
And man page is literally like opening a book.

01:11:54.050 --> 01:11:56.670
So it's easy to jump from topic to topic.

01:11:57.650 --> 01:12:00.950
A dash dash help is just a quick output on the screen.

01:12:01.090 --> 01:12:02.670
Man itself is a tool.

01:12:04.650 --> 01:12:07.550
Yeah, would we be able to jump from topic to topic?

01:12:08.310 --> 01:12:11.450
So if you look at the help for man,

01:12:11.570 --> 01:12:14.070
we will talk about this as well towards the end.

01:12:14.890 --> 01:12:18.750
But man page itself has a lot of commands.

01:12:21.890 --> 01:12:24.390
You can find what is related,

01:12:25.050 --> 01:12:26.350
the pattern search.

01:12:28.730 --> 01:12:30.590
You can generate an index.

01:12:30.750 --> 01:12:31.870
So there are many ways to use.

01:12:31.990 --> 01:12:34.790
So man is a powerful tool all on its own.

01:12:36.190 --> 01:12:40.930
So for example, while I'm reading the help,

01:12:41.830 --> 01:12:44.090
I can actually execute a command.

01:12:46.270 --> 01:12:47.330
While I'm reading help.

01:12:47.370 --> 01:12:49.190
So it is very interactive, very useful.

01:12:50.070 --> 01:12:51.850
Maybe towards the end of the session,

01:12:51.930 --> 01:12:53.990
we'll have a quick look at man in depth.

01:12:56.010 --> 01:12:58.250
Once we have seen all of these different commands,

01:12:58.470 --> 01:13:00.830
we can see how man pages can be helpful as well.

01:13:01.210 --> 01:13:04.190
It's almost the cornerstone of Linux Unix environment,

01:13:04.190 --> 01:13:06.690
which is going through the man page

01:13:06.690 --> 01:13:08.050
and looking for what you want.

01:13:08.650 --> 01:13:11.050
Again, remember, this is before Google and all that.

01:13:11.950 --> 01:13:14.390
So it's just the built in into the system.

01:13:17.050 --> 01:13:18.330
But man is big.

01:13:18.390 --> 01:13:21.930
It's got a lot of commands built into it.

01:13:22.990 --> 01:13:25.450
And it's not the only help system on automation.

01:13:25.750 --> 01:13:27.750
This is the code that you will find

01:13:28.450 --> 01:13:33.430
on most examples of these platforms.

01:13:33.430 --> 01:13:35.110
So man is something you expect

01:13:35.110 --> 01:13:36.750
in every Linux Unix platform.

01:13:38.190 --> 01:13:38.670
All right.

01:13:39.010 --> 01:13:40.190
We'll dive into man as well.

01:13:40.190 --> 01:13:42.650
You'll see some examples of how it could be useful.

01:13:42.850 --> 01:13:45.590
Maybe I'll give you some small challenges as well

01:13:45.590 --> 01:13:46.610
along the lines.

01:13:47.490 --> 01:13:51.030
As we start to work within the file system,

01:13:51.710 --> 01:13:55.490
maybe it's good to start with understanding paths

01:13:56.630 --> 01:14:00.450
and what we mean by absolute path and relative path.

01:14:00.550 --> 01:14:02.050
So let me explain that.

01:14:04.130 --> 01:14:06.690
First thing, I recommend that everybody

01:14:06.690 --> 01:14:08.030
is in their home directory.

01:14:08.150 --> 01:14:12.470
And let's create a quick file.

01:14:25.670 --> 01:14:27.290
Let's create a folder.

01:14:34.550 --> 01:14:37.510
So just a simple file that contains hello

01:14:38.190 --> 01:14:39.250
and an empty folder.

01:14:39.830 --> 01:14:44.170
Right now, when I have mentioned the path of file one,

01:14:45.750 --> 01:14:48.850
this is what we will consider as a relative path.

01:14:48.890 --> 01:14:51.770
I have not mentioned the exact location of file one.

01:14:51.790 --> 01:14:54.270
So the system assumes in the current location.

01:14:55.490 --> 01:14:57.110
When I'm making a folder also,

01:14:57.110 --> 01:15:00.850
I've mentioned the system assumes current location.

01:15:01.530 --> 01:15:03.550
The only reason for that is very simple.

01:15:03.930 --> 01:15:06.170
And you need to pay attention to this one.

01:15:06.630 --> 01:15:09.150
Anytime you mention a path,

01:15:09.330 --> 01:15:13.590
if the path begins with that slash,

01:15:15.290 --> 01:15:19.070
then it doesn't matter where you are in this function.

01:15:20.150 --> 01:15:23.010
Your current location is not very important.

01:15:24.610 --> 01:15:26.910
What matters is you are giving the system

01:15:26.910 --> 01:15:31.130
the absolute location based on the hierarchy.

01:15:32.370 --> 01:15:34.790
You are mentioning the full location, the full path.

01:15:34.850 --> 01:15:41.250
In other words, if I go here in my current directory,

01:15:43.050 --> 01:15:46.590
one way to create a file is just say echo hello file one.

01:15:46.970 --> 01:15:49.650
What if I want to do this with the absolute way?

01:15:52.270 --> 01:15:53.790
I'm gonna say echo hello.

01:15:55.670 --> 01:15:58.910
But now I'm going to mention the absolute path.

01:15:59.070 --> 01:16:02.430
That means starting from slash home,

01:16:05.190 --> 01:16:06.310
slash file two.

01:16:07.510 --> 01:16:09.910
The end result in this case is the same.

01:16:10.130 --> 01:16:12.230
There is a file in my home directory.

01:16:12.350 --> 01:16:16.650
The only difference is here when I mentioned file one,

01:16:16.670 --> 01:16:18.230
I did not start with the root.

01:16:20.470 --> 01:16:23.090
This is relative to where I am.

01:16:23.090 --> 01:16:28.030
And here I mentioned the exact location.

01:16:29.490 --> 01:16:32.970
Anytime you want to be sure about the location

01:16:32.970 --> 01:16:38.970
of file system object, you can start with slash.

01:16:39.090 --> 01:16:43.210
Then you know for a fact exactly where that resource is.

01:16:44.290 --> 01:16:46.870
So for instance, right now if I say

01:16:47.890 --> 01:16:50.750
I want to see what is in file one,

01:16:50.750 --> 01:16:54.810
very simple command cat to catalog to read a text file.

01:16:56.090 --> 01:16:56.830
And it works.

01:16:58.830 --> 01:17:02.890
If I change my location to another folder,

01:17:06.330 --> 01:17:08.550
and if I say cat file one,

01:17:09.130 --> 01:17:10.950
that's probably not going to work

01:17:10.950 --> 01:17:13.230
unless there is a file called as file one

01:17:13.230 --> 01:17:14.190
in that folder.

01:17:16.830 --> 01:17:19.150
It is able, I don't know where that is.

01:17:19.910 --> 01:17:25.330
I can always mention the exact path, the full path.

01:17:29.930 --> 01:17:33.390
So in that case, my current location has no meaning

01:17:33.390 --> 01:17:37.390
since I have mentioned what the path begins with.

01:17:37.450 --> 01:17:39.510
So this is called as absolute path.

01:17:40.730 --> 01:17:43.910
And there are many other ways to mention the path

01:17:43.910 --> 01:17:46.890
relative to where you are.

01:17:46.890 --> 01:17:49.670
So other way to think of that,

01:17:49.670 --> 01:17:52.130
I'll give you some time to now try this out.

01:17:52.890 --> 01:17:55.770
But the other way to look at this would be,

01:17:55.910 --> 01:17:57.530
yeah, Colorful, please go ahead.

01:17:59.910 --> 01:18:00.650
Hi, good morning.

01:18:03.010 --> 01:18:06.290
You added a file that already says,

01:18:06.890 --> 01:18:08.390
oh, no, no, can you change the path?

01:18:08.670 --> 01:18:09.310
Sorry, I missed the path.

01:18:09.490 --> 01:18:11.730
Can you change the path to ETC?

01:18:12.230 --> 01:18:13.550
Okay, makes sense.

01:18:13.890 --> 01:18:14.210
Good.

01:18:14.210 --> 01:18:16.050
All right, done.

01:18:16.230 --> 01:18:16.930
Anybody else?

01:18:17.090 --> 01:18:19.250
What you're looking at is very important

01:18:19.250 --> 01:18:20.830
in the Linux Unix world.

01:18:22.090 --> 01:18:23.670
Where something is located.

01:18:23.750 --> 01:18:26.150
How do I mention where something is located?

01:18:27.530 --> 01:18:28.610
Recommendation is simple.

01:18:28.790 --> 01:18:32.690
When in doubt, start from the slash.

01:18:34.430 --> 01:18:35.530
Start from the root.

01:18:39.230 --> 01:18:41.230
Let's have a look at the whiteboard

01:18:42.510 --> 01:18:44.470
and understand that better.

01:18:45.350 --> 01:18:48.350
So let's say, can you see my whiteboard?

01:18:48.590 --> 01:18:49.670
Can I get a quick thumbs up?

01:18:49.690 --> 01:18:50.710
All right, thank you.

01:18:50.950 --> 01:18:53.210
So let's say under the root, we have a folder.

01:18:53.330 --> 01:18:58.310
Under the folder home is the folder date.

01:18:58.370 --> 01:19:02.730
Under the root is also the folder var.

01:19:02.870 --> 01:19:05.990
And under var is a folder log.

01:19:06.790 --> 01:19:11.610
If my current working directory is home,

01:19:12.510 --> 01:19:16.030
how do I refer to the other locations?

01:19:16.710 --> 01:19:18.650
First of all, I can refer to home,

01:19:18.710 --> 01:19:22.110
which is my current location, with a dot.

01:19:22.150 --> 01:19:23.610
I'll explain that in a bit.

01:19:24.210 --> 01:19:25.130
That's your current location.

01:19:26.450 --> 01:19:29.510
If I want to refer to a directory under home,

01:19:29.870 --> 01:19:34.050
I can just say, for example, CD data.

01:19:34.050 --> 01:19:36.130
Where does it assume data is?

01:19:36.350 --> 01:19:41.010
It assumes data is under my current location.

01:19:41.110 --> 01:19:41.750
That works.

01:19:42.950 --> 01:19:47.450
I can also say CD slash home slash data.

01:19:47.530 --> 01:19:48.670
That will always work,

01:19:48.870 --> 01:19:52.850
because I'm giving the full absolute path.

01:19:52.930 --> 01:19:55.170
How do I change to the log directory?

01:19:55.570 --> 01:19:57.610
If I want to give the absolute path,

01:19:57.810 --> 01:20:03.530
I can just say CD slash var slash log.

01:20:03.530 --> 01:20:04.950
That works, correct?

01:20:05.150 --> 01:20:07.450
Important thing is I started with that.

01:20:09.030 --> 01:20:11.450
What if I don't want to give a full path

01:20:11.450 --> 01:20:12.490
starting from the root?

01:20:12.570 --> 01:20:14.810
I want to give it relative to where I am.

01:20:19.110 --> 01:20:21.390
How do I tell on the file system

01:20:21.390 --> 01:20:25.230
that from here we need to go up and then go down?

01:20:25.510 --> 01:20:30.290
For example, how do I go from home to the root?

01:20:30.410 --> 01:20:31.530
Let's try this out.

01:20:32.770 --> 01:20:34.990
We're going to do this right now.

01:20:34.990 --> 01:20:37.210
We're gonna create a simple structure,

01:20:38.490 --> 01:20:41.930
and we will try just maneuvering and moving around.

01:20:43.510 --> 01:20:45.550
Can I request everybody to make sure

01:20:45.550 --> 01:20:47.850
you are in your home directory, please?

01:20:48.810 --> 01:20:49.930
Just type CD.

01:20:51.070 --> 01:20:52.610
Make sure you're in a home directory.

01:20:53.170 --> 01:20:54.790
Slash home slash student.

01:20:57.150 --> 01:20:57.950
Any of you know this?

01:20:58.030 --> 01:20:59.850
How do I go one step up

01:21:01.110 --> 01:21:02.890
in the hierarchy?

01:21:05.210 --> 01:21:08.590
It's CD dot dot slash var slash.

01:21:09.190 --> 01:21:10.730
So if I do nothing else,

01:21:10.850 --> 01:21:13.530
CD dot dot simply means go one level up, correct?

01:21:15.190 --> 01:21:15.610
Yes.

01:21:16.210 --> 01:21:18.350
So I'm here in the home directory, slash home.

01:21:19.310 --> 01:21:21.610
From here, how do I go one level up?

01:21:27.870 --> 01:21:29.230
I should be in the root.

01:21:31.050 --> 01:21:33.810
There is no further up to climb.

01:21:34.370 --> 01:21:35.210
This is it.

01:21:38.190 --> 01:21:41.350
Let's go to our home directory.

01:21:44.830 --> 01:21:47.730
From here, how do we go

01:21:49.750 --> 01:21:53.110
to the var folder, which is under root?

01:21:55.270 --> 01:21:57.810
Remember, we are two levels below root, right?

01:22:01.410 --> 01:22:04.190
Where will that take us?

01:22:06.590 --> 01:22:07.490
From here to here.

01:22:07.510 --> 01:22:09.330
So let me first of all just do a quick

01:22:09.330 --> 01:22:11.450
print working directory to prove that I am

01:22:11.450 --> 01:22:13.950
in the student folder under home.

01:22:15.470 --> 01:22:16.790
What happens if I do this?

01:22:18.450 --> 01:22:19.570
What does that mean?

01:22:23.730 --> 01:22:26.070
Two spaces are in the folder.

01:22:26.150 --> 01:22:27.850
So that will take me to the root, correct?

01:22:28.870 --> 01:22:30.570
And then slash var.

01:22:30.610 --> 01:22:32.930
Now I'm climbing down the hill.

01:22:34.090 --> 01:22:35.590
And all the way up to the root.

01:22:37.310 --> 01:22:40.030
And now I'm going down into slash var.

01:22:40.690 --> 01:22:41.850
Let's have a look.

01:22:46.210 --> 01:22:48.590
From slash var, exactly the same way.

01:22:48.650 --> 01:22:50.910
How do I go into the home student folder?

01:22:50.990 --> 01:22:53.170
Not giving the full absolute path,

01:22:53.210 --> 01:22:54.290
starting from slash.

01:22:54.290 --> 01:22:55.350
So what do I start with?

01:22:55.350 --> 01:22:56.010
What do I say?

01:22:57.890 --> 01:22:59.590
One level up.

01:23:01.110 --> 01:23:02.390
That will take me to the root.

01:23:03.150 --> 01:23:04.450
And then down.

01:23:14.850 --> 01:23:18.810
Can you please try this out on your own?

01:23:19.290 --> 01:23:21.250
Make sure you're comfortable navigating.

01:23:29.230 --> 01:23:31.530
Let's try exactly what we have done.

01:23:31.590 --> 01:23:33.190
Please move around a bit.

01:23:34.630 --> 01:23:36.210
Once we are comfortable with navigating,

01:23:36.310 --> 01:23:38.550
then we're gonna move into all sorts of commands

01:23:38.550 --> 01:23:39.770
and working on the system.

01:23:40.150 --> 01:23:41.190
But this is the basics.

01:23:41.410 --> 01:23:44.230
And you will realize what happens when you do

01:23:44.750 --> 01:23:45.990
or give spaces.

01:23:46.310 --> 01:23:47.630
No spaces in the path.

01:23:47.730 --> 01:23:49.990
Keramang, as you do cd dot dot.

01:23:50.570 --> 01:23:50.990
No space.

01:23:51.110 --> 01:23:53.470
Now you know why I said this is not a spectator sport.

01:23:53.510 --> 01:23:55.390
When you watch it, everything works.

01:23:55.450 --> 01:23:56.870
When you do it, nothing works.

01:23:58.650 --> 01:23:59.110
Great.

01:23:59.310 --> 01:24:00.490
I can see that works.

01:24:03.430 --> 01:24:05.230
Austin, are you back with us?

01:24:05.470 --> 01:24:06.610
Is Andrea just checking?

01:24:06.810 --> 01:24:07.710
Yes, I'm here.

01:24:08.210 --> 01:24:08.730
Yeah, yeah.

01:24:08.790 --> 01:24:10.030
Give it a try, please.

01:24:10.190 --> 01:24:11.570
Exactly what we are trying.

01:24:12.710 --> 01:24:13.670
I think I did.

01:24:14.530 --> 01:24:14.910
Yeah.

01:24:15.170 --> 01:24:16.090
I was following.

01:24:16.970 --> 01:24:17.610
Really nice.

01:24:17.750 --> 01:24:18.810
An old trick.

01:24:18.930 --> 01:24:20.830
Let me see if that works, cd dash.

01:24:21.490 --> 01:24:24.110
It just takes you to the last folder you were in.

01:24:27.970 --> 01:24:29.170
Just cd dash.

01:24:29.190 --> 01:24:31.270
Just takes you wherever you were earlier.

01:24:31.610 --> 01:24:33.550
It's a quick way of jumping.

01:24:35.870 --> 01:24:36.530
All right.

01:24:36.950 --> 01:24:40.830
Could you please come back to your home directory?

01:24:42.770 --> 01:24:45.570
Let me also show you the use of dot.

01:24:46.470 --> 01:24:50.530
I wanna copy something.

01:24:51.290 --> 01:24:53.950
Let's say I wanna copy some file.

01:25:00.470 --> 01:25:01.170
What's missing?

01:25:01.390 --> 01:25:04.150
If I just say, hey, I wanna copy this file.

01:25:05.370 --> 01:25:06.170
It's not happy.

01:25:06.350 --> 01:25:07.970
It says one parameter is not enough.

01:25:08.010 --> 01:25:09.030
I need two parameters.

01:25:09.110 --> 01:25:10.130
You wanna copy it where?

01:25:10.130 --> 01:25:12.990
I just wanna say I wanna copy it here, where I am.

01:25:13.010 --> 01:25:17.170
One way of saying where I am is just a single dot.

01:25:17.290 --> 01:25:18.190
I hope that's clear.

01:25:18.830 --> 01:25:21.270
Dot dot is the directory above.

01:25:22.190 --> 01:25:23.990
Dot is the current directory.

01:25:24.410 --> 01:25:25.650
So when you do this,

01:25:26.570 --> 01:25:31.570
in your home directory now,

01:25:34.210 --> 01:25:37.290
there should be a hosts file.

01:25:40.310 --> 01:25:42.050
Could you please try this in?

01:25:44.370 --> 01:25:48.030
Copy the etc hosts file into the current folder.

01:25:50.030 --> 01:25:51.110
That should work.

01:25:52.250 --> 01:25:54.510
You should have a hosts file in your

01:25:58.390 --> 01:25:59.970
current home directory.

01:26:00.530 --> 01:26:02.230
Please give it a try.

01:26:06.590 --> 01:26:08.090
Here dot means current directory.

01:26:08.210 --> 01:26:09.870
And take a list wherever you are.

01:26:10.190 --> 01:26:11.270
You should have that file.

01:26:11.290 --> 01:26:11.670
Brilliant.

01:26:11.790 --> 01:26:13.390
I can see it works for Austin.

01:26:14.310 --> 01:26:16.190
Works for Keramon as well.

01:26:18.710 --> 01:26:20.190
Faith, give it a try as well.

01:26:21.510 --> 01:26:24.910
Faith says she's coming back home.

01:26:25.330 --> 01:26:26.590
I can see her working.

01:26:27.930 --> 01:26:30.270
Maybe it's the spirit waking up.

01:26:30.410 --> 01:26:31.250
The body's also in.

01:26:31.530 --> 01:26:32.690
Works for Faith.

01:26:33.290 --> 01:26:34.250
Works for Austin.

01:26:34.970 --> 01:26:35.070
Brilliant.

01:26:35.130 --> 01:26:36.110
Works for me too.

01:26:36.650 --> 01:26:36.890
Lovely.

01:26:40.010 --> 01:26:42.150
Don't forget, what if I was,

01:26:42.250 --> 01:26:43.730
again, this is just a demonstration.

01:26:45.110 --> 01:26:47.870
If I wanna copy that hosts file,

01:26:47.950 --> 01:26:50.070
what happens if I just put that tilde?

01:26:50.070 --> 01:26:51.310
What does it do?

01:26:54.590 --> 01:26:57.450
That represents the home directory.

01:26:57.550 --> 01:26:59.510
Yeah, that represents my home directory.

01:27:00.590 --> 01:27:03.750
But that would fail because of the file like that.

01:27:03.810 --> 01:27:04.950
Did it say that?

01:27:06.290 --> 01:27:08.030
No, no, just take it on your site.

01:27:08.230 --> 01:27:08.770
Yeah, yeah.

01:27:08.830 --> 01:27:10.150
I'm glad it will say that.

01:27:11.150 --> 01:27:13.510
Do you see it saying that here in my terminal?

01:27:14.930 --> 01:27:15.670
No, it didn't.

01:27:17.230 --> 01:27:19.450
Linux generally, and Unix in particular,

01:27:19.450 --> 01:27:21.810
doesn't question you a lot.

01:27:23.050 --> 01:27:25.150
You are responsible for your actions.

01:27:30.790 --> 01:27:33.850
If you want that friendly option,

01:27:33.910 --> 01:27:35.210
please try this one.

01:27:35.370 --> 01:27:36.330
Minus I.

01:27:38.110 --> 01:27:40.090
What's the difference when I do minus I?

01:27:40.250 --> 01:27:41.330
Now it cares.

01:27:44.910 --> 01:27:47.490
Otherwise, it just does what you ask it to do.

01:27:49.970 --> 01:27:51.390
Now it asks the question.

01:27:51.550 --> 01:27:52.550
Hey, do you wanna overwrite?

01:27:59.430 --> 01:28:02.690
Imagine doing that under the root privileges.

01:28:02.750 --> 01:28:05.410
I told you why we call that as the CV updater.

01:28:07.750 --> 01:28:11.690
You can wipe a system clean with one wrong command.

01:28:17.190 --> 01:28:18.890
No, what's done is done.

01:28:20.630 --> 01:28:23.010
The fallback is update your CV, sir.

01:28:26.510 --> 01:28:28.090
Sometimes, and we will see this later on,

01:28:28.170 --> 01:28:31.110
we will create aliases that make it a little bit easier.

01:28:36.230 --> 01:28:38.370
You can try this on the terminal,

01:28:38.650 --> 01:28:40.110
and I'm gonna talk about this

01:28:40.110 --> 01:28:41.890
because it's a very important point as well

01:28:41.890 --> 01:28:42.910
related to commands.

01:28:43.510 --> 01:28:45.450
Do you see some aliases here?

01:28:47.270 --> 01:28:50.530
LL is the same as this.

01:28:51.310 --> 01:28:54.630
So maybe I can create an alias that says

01:28:54.630 --> 01:29:03.330
CP is the same as CP minus I.

01:29:07.270 --> 01:29:09.870
Now, if I repeat that command.

01:29:11.290 --> 01:29:11.930
Oh, sorry.

01:29:11.930 --> 01:29:17.210
If I repeat the simple CP command.

01:29:18.270 --> 01:29:19.970
Ooh, it's doing something helpful.

01:29:22.410 --> 01:29:24.170
How long does it keep the alias for?

01:29:24.330 --> 01:29:25.530
This is temporary.

01:29:25.910 --> 01:29:27.930
It's a temporary environment

01:29:27.930 --> 01:29:31.290
unless you put it in some files which make it permanent.

01:29:34.630 --> 01:29:36.450
It then forgets.

01:29:37.550 --> 01:29:39.690
The shell is a programming environment.

01:29:40.410 --> 01:29:43.150
You can program it either temporarily or permanent.

01:29:43.570 --> 01:29:45.850
Can I recommend all of you to try this out?

01:29:47.470 --> 01:29:49.110
Check the current aliases,

01:29:49.270 --> 01:29:51.330
create a new alias,

01:29:52.550 --> 01:29:56.930
and then try the regular CP command,

01:29:58.530 --> 01:30:02.230
and see that it is automatically adding the minus I.

01:30:02.510 --> 01:30:03.710
Even if you don't do it,

01:30:03.790 --> 01:30:05.290
the system's doing it for you.

01:30:07.610 --> 01:30:09.590
Pay attention to the quotations.

01:30:09.910 --> 01:30:13.790
Quotations, spaces, cases, these are all very critical.

01:30:16.830 --> 01:30:17.870
Sorry, GP.

01:30:18.090 --> 01:30:19.450
Yeah, minus I.

01:30:19.550 --> 01:30:21.390
CP minus I, go ahead, please.

01:30:22.830 --> 01:30:24.170
Okay, just a question.

01:30:24.810 --> 01:30:27.150
That up arrow and the C,

01:30:28.170 --> 01:30:29.610
why does that happen?

01:30:30.490 --> 01:30:31.570
It happens to me a lot,

01:30:31.650 --> 01:30:33.890
and I don't always know why, why in this timeline.

01:30:35.590 --> 01:30:38.010
Not sure if I follow the question.

01:30:39.090 --> 01:30:41.770
Third line from the bottom, right?

01:30:41.990 --> 01:30:45.230
With the CP override, home student dose,

01:30:45.650 --> 01:30:46.730
and then at the end of it,

01:30:46.850 --> 01:30:49.110
it's an arrow up and the C.

01:30:49.750 --> 01:30:50.870
Why does it do that?

01:30:51.790 --> 01:30:54.010
Let me just look at your screen.

01:30:55.150 --> 01:30:56.430
No, it's on your screen, actually.

01:30:56.950 --> 01:30:58.050
Ah, okay, hang on.

01:31:00.170 --> 01:31:02.970
Yeah, at the bottom, the third row at the end.

01:31:03.570 --> 01:31:05.750
The up arrow and the C.

01:31:06.250 --> 01:31:11.530
Ah, that is me interrupting the process, control C.

01:31:13.170 --> 01:31:14.530
So what happens is,

01:31:14.770 --> 01:31:17.070
so what happens is when you're reading documentation

01:31:17.070 --> 01:31:18.510
about Linux online,

01:31:19.670 --> 01:31:22.110
you might see a screenshot like this

01:31:22.110 --> 01:31:24.150
with a control C or a control C.

01:31:24.570 --> 01:31:26.370
So control C is your best friend.

01:31:27.410 --> 01:31:29.830
When in doubt, if you're stuck somewhere on a terminal,

01:31:30.010 --> 01:31:31.130
just press control C.

01:31:32.990 --> 01:31:35.350
And then what, what, what do you do?

01:31:35.830 --> 01:31:37.530
It basically interrupts that process

01:31:37.530 --> 01:31:38.550
if you're stuck somewhere.

01:31:38.650 --> 01:31:39.550
Here is an example.

01:31:39.570 --> 01:31:40.650
I don't know if it's gonna work.

01:31:40.730 --> 01:31:41.970
Let's say sleep for 100.

01:31:42.410 --> 01:31:44.850
Literally, I'm asking the terminal

01:31:44.850 --> 01:31:46.930
to go to sleep for 100 seconds.

01:31:47.930 --> 01:31:48.450
Okay.

01:31:49.650 --> 01:31:51.630
Or I could just do control C

01:31:54.130 --> 01:31:56.550
to break that process.

01:31:57.450 --> 01:31:59.290
Take 100 seconds of sleep, basically.

01:32:01.710 --> 01:32:02.730
Lissandra, is it clear?

01:32:02.930 --> 01:32:04.910
If you're stuck in a loop or a process

01:32:04.910 --> 01:32:06.670
is taking very long, then you can,

01:32:06.670 --> 01:32:09.510
it's like end task of the windows work.

01:32:09.670 --> 01:32:11.550
Okay, I see, okay.

01:32:12.190 --> 01:32:13.470
So you get back to your terminal.

01:32:14.370 --> 01:32:17.970
I lost you at the beginning when we did-

01:32:17.970 --> 01:32:18.210
The alias?

01:32:19.150 --> 01:32:20.830
Yes, before we got the alias,

01:32:21.130 --> 01:32:23.770
when we were asking to overwrite those.

01:32:23.810 --> 01:32:24.330
Yes.

01:32:24.330 --> 01:32:25.770
That overwrite. Sure, I can show you.

01:32:25.770 --> 01:32:27.250
So after that, I lost you.

01:32:27.350 --> 01:32:28.050
That's all right.

01:32:28.050 --> 01:32:29.930
Let's just quickly have a look.

01:32:40.490 --> 01:32:42.110
Oh yeah, I could die.

01:32:42.390 --> 01:32:44.530
So when you-

01:32:44.530 --> 01:32:45.590
Go ahead, Austin.

01:32:46.550 --> 01:32:48.090
No, I was asking the comment that you just made.

01:32:48.330 --> 01:32:50.730
Are you then reversing the alias?

01:32:51.930 --> 01:32:54.310
Yeah, I'm reversing it.

01:32:55.070 --> 01:32:57.130
Is it only gonna focus on

01:32:57.130 --> 01:33:01.610
all of the only aliases or can you specify which one?

01:33:01.670 --> 01:33:03.610
I specify the exact one.

01:33:04.390 --> 01:33:05.210
Oh, okay.

01:33:05.530 --> 01:33:08.090
Okay, so Lissandra, this is what we were trying to do.

01:33:08.430 --> 01:33:13.190
We copied some file from the ETC folder

01:33:13.190 --> 01:33:14.530
into the current location.

01:33:15.990 --> 01:33:18.390
Now, if we repeat the command again,

01:33:18.510 --> 01:33:20.350
it seems to not care.

01:33:20.350 --> 01:33:23.410
It is just overwriting the file again and again,

01:33:24.210 --> 01:33:26.010
which is typical of Linux.

01:33:27.270 --> 01:33:29.270
They don't always question you a lot.

01:33:30.550 --> 01:33:33.890
If we use command like minus i as an option,

01:33:34.570 --> 01:33:38.050
it seems that it prevents us from overwriting.

01:33:38.310 --> 01:33:40.310
That sounds like a good idea, saying hey,

01:33:40.690 --> 01:33:43.110
this is going to accidentally overwrite the file.

01:33:43.970 --> 01:33:45.190
Would you like to do this?

01:33:45.250 --> 01:33:45.690
Yes or no?

01:33:45.910 --> 01:33:48.490
So maybe we want to replace that every time

01:33:48.490 --> 01:33:52.090
we type the command cp, it actually executes this one

01:33:52.930 --> 01:33:53.810
with this option.

01:33:54.790 --> 01:33:58.590
For example, I always like to do ls ltr.

01:33:59.410 --> 01:34:01.790
This is my favorite way of taking a list.

01:34:03.390 --> 01:34:05.330
If I just type the command list,

01:34:05.450 --> 01:34:06.970
it says, well, there is no such thing.

01:34:07.470 --> 01:34:10.450
What I can do is I can make an alias

01:34:11.110 --> 01:34:17.730
where I can say list equals to ls minus ltr.

01:34:18.910 --> 01:34:21.330
I'm just making a shortcut for a command.

01:34:22.990 --> 01:34:25.170
Do keep in mind, as I mentioned to Austin,

01:34:25.370 --> 01:34:27.310
right now, this is just temporary on this table.

01:34:28.110 --> 01:34:30.290
Now, if I type the command list,

01:34:30.570 --> 01:34:32.730
it should execute that alias,

01:34:32.750 --> 01:34:36.830
and I can also double check the aliases currently

01:34:36.830 --> 01:34:37.710
on that system.

01:34:38.230 --> 01:34:40.730
You can try this out, please.

01:34:45.370 --> 01:34:46.630
And that should work.

01:34:52.090 --> 01:34:54.710
I'm sorry, I just want to see the alias list.

01:34:55.690 --> 01:34:58.710
The same command, just try exactly the same thing, Austin.

01:35:00.030 --> 01:35:02.950
Just type an alias, and the alias you created.

01:35:06.150 --> 01:35:09.150
An alias, and the alias you created was list, right?

01:35:09.270 --> 01:35:11.310
No, and then the list, yes, it was just.

01:35:11.710 --> 01:35:12.130
Ah, okay, yeah.

01:35:12.130 --> 01:35:14.270
The last one I did was just the copy one.

01:35:14.310 --> 01:35:15.830
Then you just say cp, right?

01:35:15.830 --> 01:35:17.130
An alias cp.

01:35:18.130 --> 01:35:19.770
Oh, an alias cp, oh, okay.

01:35:19.770 --> 01:35:20.850
That's the one you created.

01:35:22.950 --> 01:35:23.910
Yeah, okay.

01:35:23.970 --> 01:35:26.990
So cp will be replaced with the cp minus i.

01:35:27.230 --> 01:35:29.470
Mm, okay, okay, no, that's fine.

01:35:29.870 --> 01:35:31.010
I'll do the list now.

01:35:31.770 --> 01:35:32.050
Try it out.

01:35:32.250 --> 01:35:34.830
Aliases just make your life a little bit easier.

01:35:35.410 --> 01:35:38.830
So Keramong, you're experiencing something on the shelf.

01:35:38.910 --> 01:35:40.190
You started a quotation,

01:35:40.270 --> 01:35:42.170
but you did not close the quotation.

01:35:42.790 --> 01:35:44.070
When you pressed enter,

01:35:44.150 --> 01:35:47.150
you started seeing weird new lines coming up,

01:35:47.170 --> 01:35:49.310
and you said, let me get out of here with a control c.

01:35:49.310 --> 01:35:49.730
Yes.

01:35:50.750 --> 01:35:52.150
Which is fine.

01:35:52.390 --> 01:35:55.470
So that's a perfect example of when to use control c.

01:36:01.210 --> 01:36:03.330
Oh, and I made a mistake again.

01:36:05.150 --> 01:36:06.630
You might have to un-alias it.

01:36:06.690 --> 01:36:09.390
I think that the alias never got created, right?

01:36:09.410 --> 01:36:11.070
Because you did control c.

01:36:11.390 --> 01:36:13.830
Yes, but then I just have to.

01:36:14.070 --> 01:36:15.030
You tried it again, alias.

01:36:15.250 --> 01:36:17.210
Ah, too many spaces, Keramong.

01:36:17.210 --> 01:36:19.570
If you love spaces, get rid of the spaces.

01:36:20.590 --> 01:36:24.650
After list, that's why you have to

01:36:24.650 --> 01:36:25.930
look a bit more carefully.

01:36:26.110 --> 01:36:27.670
Hey, the screen is small.

01:36:29.590 --> 01:36:30.650
I meant in general.

01:36:33.710 --> 01:36:34.190
Yeah.

01:36:34.230 --> 01:36:36.410
There is a space after list as well

01:36:36.410 --> 01:36:38.130
that you wanna get rid of.

01:36:38.710 --> 01:36:39.190
Oh.

01:36:40.570 --> 01:36:42.410
Now you know.

01:36:43.830 --> 01:36:45.410
Watching it is the easiest thing to do.

01:36:45.410 --> 01:36:48.050
There is a T missing before you press enter.

01:36:53.310 --> 01:36:54.950
Missing windows already.

01:36:55.130 --> 01:36:56.410
I'm just out of curiosity.

01:36:56.550 --> 01:36:56.970
Yes.

01:36:57.090 --> 01:37:02.090
Can you un-descript just using alias

01:37:02.090 --> 01:37:04.230
to indicate that this alias will actually

01:37:04.230 --> 01:37:05.130
un-descript?

01:37:06.990 --> 01:37:10.570
You can just mention the path of anything.

01:37:16.370 --> 01:37:18.530
So that will kick off that particular script.

01:37:18.530 --> 01:37:20.130
It doesn't matter what you're executing.

01:37:20.130 --> 01:37:22.270
Change any time.

01:37:22.630 --> 01:37:23.390
Are we all good?

01:37:24.990 --> 01:37:27.010
So that's alias can be handy.

01:37:27.190 --> 01:37:30.970
However, this ties into a very important concept,

01:37:31.030 --> 01:37:36.870
which is when we are executing commands,

01:37:37.070 --> 01:37:40.490
where are they actually located as executables?

01:37:40.930 --> 01:37:43.830
Let's have a quick look at that.

01:37:43.830 --> 01:37:45.390
Give me a quick second.

01:37:47.850 --> 01:37:48.310
Hello.

01:37:50.010 --> 01:37:50.270
Yes.

01:37:52.110 --> 01:37:52.510
After you, boss.

01:37:54.110 --> 01:37:54.570
Wrong?

01:37:55.850 --> 01:37:57.470
Sir, bye, bye, I'm in a meeting.

01:37:57.570 --> 01:37:58.430
Thank you, boss.

01:37:58.710 --> 01:37:59.150
Thank you.

01:38:08.230 --> 01:38:12.470
So there is an interesting command called as which.

01:38:14.430 --> 01:38:17.330
And what it shows is that the command ls

01:38:17.330 --> 01:38:19.990
that you're executing on the file system,

01:38:20.010 --> 01:38:21.050
where is it found?

01:38:22.050 --> 01:38:24.650
And turns out it is found in the bin

01:38:24.650 --> 01:38:26.650
or the binary folder.

01:38:27.910 --> 01:38:32.510
What if I look at tools which are meant for,

01:38:32.510 --> 01:38:37.790
let's say, the administrator.

01:38:39.170 --> 01:38:40.990
System administration tool.

01:38:41.730 --> 01:38:43.890
This system administration tool

01:38:43.890 --> 01:38:46.310
is in another location called as sbin.

01:38:47.410 --> 01:38:50.670
Basically, this tool sits in a folder

01:38:50.670 --> 01:38:54.150
which contains management tools or administrative tools.

01:38:54.290 --> 01:38:57.510
Now why does it matter where something is located?

01:38:59.550 --> 01:39:01.130
Well, one is that it gives you an indication

01:39:01.130 --> 01:39:03.930
that this is not an average system shell,

01:39:03.990 --> 01:39:06.030
but this is mostly a command

01:39:06.030 --> 01:39:08.630
for the administrator to manage the system.

01:39:09.410 --> 01:39:11.690
Also, sometimes, if there is an alias,

01:39:11.690 --> 01:39:14.970
you can ignore it by directly executing the command

01:39:14.970 --> 01:39:16.530
from where it is.

01:39:16.890 --> 01:39:18.370
Let me show you what do I mean.

01:39:19.290 --> 01:39:23.790
I'm gonna show two quick demonstrations here to get.

01:39:25.510 --> 01:39:27.750
The first thing that I'm going to do

01:39:28.610 --> 01:39:32.990
is I'll just keep two terminals just side by side.

01:39:36.390 --> 01:39:40.330
Just let me zoom out a bit.

01:39:41.610 --> 01:39:41.830
Okay.

01:39:42.450 --> 01:39:46.650
In the first terminal, first up,

01:39:47.150 --> 01:39:49.510
let me look at the aliases.

01:39:56.610 --> 01:40:00.590
Let me create an alias like we did earlier.

01:40:00.590 --> 01:40:05.670
CP equals to CP minus I.

01:40:07.090 --> 01:40:11.710
And I can prove this that now if I copy

01:40:14.130 --> 01:40:18.190
something into my current directory,

01:40:18.390 --> 01:40:19.610
you can see that it is asking,

01:40:19.710 --> 01:40:20.890
hey, do you wanna override?

01:40:21.410 --> 01:40:24.810
So clearly the replacement of the command has worked.

01:40:25.810 --> 01:40:26.690
But watch this.

01:40:26.830 --> 01:40:29.490
I want to know where this command actually is

01:40:29.490 --> 01:40:32.490
and directly run it like this.

01:40:34.230 --> 01:40:35.770
I mentioned the full location of.

01:40:37.990 --> 01:40:41.230
What happens when I directly run the command

01:40:41.230 --> 01:40:42.450
from a location?

01:40:47.570 --> 01:40:48.830
Let's see.

01:40:50.250 --> 01:40:52.050
Does it care about the alias anymore?

01:40:53.130 --> 01:40:54.330
No, it doesn't.

01:40:55.130 --> 01:40:57.670
But if I run the command CP again,

01:40:59.490 --> 01:41:00.790
the alias is working.

01:41:02.050 --> 01:41:03.170
What have we learned?

01:41:07.870 --> 01:41:10.310
If you want to be 100% sure

01:41:11.010 --> 01:41:13.850
that you're not using any shortcuts or aliases,

01:41:13.950 --> 01:41:16.510
you can always mention the full location

01:41:16.510 --> 01:41:18.670
of the application that you're executing.

01:41:19.190 --> 01:41:21.730
Because sometimes these aliases can be annoying,

01:41:21.810 --> 01:41:24.630
but we want to temporarily avoid them.

01:41:26.110 --> 01:41:26.990
Does that make sense?

01:41:26.990 --> 01:41:29.270
This is temporarily avoiding the alias.

01:41:30.250 --> 01:41:33.190
If I just run CP, it will be replaced.

01:41:33.610 --> 01:41:36.590
But if I want to run CP without this alias,

01:41:37.650 --> 01:41:39.750
often I don't have to unalias it.

01:41:40.210 --> 01:41:43.270
I can keep the alias, just temporarily run.

01:41:44.910 --> 01:41:48.790
But how do I know where does the binary exist?

01:41:48.890 --> 01:41:49.630
So guess what?

01:41:49.950 --> 01:41:51.410
All you have to do is this command.

01:41:53.910 --> 01:41:55.510
Can you try this out, please?

01:41:59.110 --> 01:42:01.370
Just to ask this, just one thing.

01:42:01.570 --> 01:42:03.770
So most of the commands that you want to use,

01:42:03.950 --> 01:42:06.130
like your list, copy, and all of those,

01:42:06.590 --> 01:42:08.830
they are all sitting in that path.

01:42:08.830 --> 01:42:10.550
And bin, in binary directly.

01:42:10.850 --> 01:42:11.010
That's correct.

01:42:11.010 --> 01:42:11.650
In bin.

01:42:12.130 --> 01:42:12.450
That's correct.

01:42:13.270 --> 01:42:14.710
Okay, okay, now note it.

01:42:14.770 --> 01:42:17.150
And the administrative tools are in SB.

01:42:17.730 --> 01:42:19.270
Okay, note it, please.

01:42:19.450 --> 01:42:20.490
Please give it a try.

01:42:20.490 --> 01:42:22.110
I'll be back in just a minute.

01:42:22.210 --> 01:42:22.990
Someone over there.

01:42:34.250 --> 01:42:36.110
And back with you all.

01:42:36.110 --> 01:42:38.910
Let me check out how things are.

01:42:45.170 --> 01:42:47.950
So a very nice command, which.

01:42:48.310 --> 01:42:50.350
Where is this command located?

01:42:50.470 --> 01:42:53.210
In which folder is the command located?

01:42:55.250 --> 01:42:56.630
And quick short summary.

01:42:57.730 --> 01:43:00.870
Typical system tools are in the user bin directory.

01:43:01.670 --> 01:43:04.290
And administrative tools are in the user SB.

01:43:04.470 --> 01:43:06.210
And again, at any point in time,

01:43:06.310 --> 01:43:08.170
if something is not clear, please ask.

01:43:10.170 --> 01:43:12.830
We explore a little bit more of the fundamentals

01:43:12.830 --> 01:43:15.190
and move into the other aspects of managing

01:43:15.770 --> 01:43:17.250
or working with the command line.

01:43:17.590 --> 01:43:20.210
Okay, I can see this is working for most of us.

01:43:20.510 --> 01:43:22.590
All right, back to my terminal.

01:43:23.950 --> 01:43:28.370
A few other quick basics on working on the system itself.

01:43:30.030 --> 01:43:31.470
Maybe we have seen already

01:43:31.470 --> 01:43:33.590
how to identify some basic parameters.

01:43:33.790 --> 01:43:35.770
Maybe one of the other things we wanna know is

01:43:35.770 --> 01:43:36.630
who are we?

01:43:38.090 --> 01:43:39.570
And there is a very nice command.

01:43:40.690 --> 01:43:41.250
Who am I?

01:43:41.290 --> 01:43:42.790
And it says you are a student.

01:43:43.830 --> 01:43:45.950
If I write the command ID,

01:43:46.310 --> 01:43:49.390
it tells me a little bit more about my user.

01:43:49.930 --> 01:43:51.790
What is the ID of my user?

01:43:55.230 --> 01:43:58.870
And what is my main group and other groups

01:43:58.870 --> 01:44:00.230
that I am part of?

01:44:00.250 --> 01:44:01.910
So it gives a little bit more details

01:44:01.910 --> 01:44:06.550
about the current user account that I am in.

01:44:08.690 --> 01:44:09.650
Very handy command.

01:44:15.550 --> 01:44:18.510
I can't wait till you show us if you are root,

01:44:18.670 --> 01:44:21.510
if somebody is suited as root, right?

01:44:22.710 --> 01:44:25.950
And yes, can you, if you are suited as root,

01:44:26.010 --> 01:44:30.190
can I still run the command that will show me my home?

01:44:33.890 --> 01:44:35.650
No, not home account.

01:44:36.750 --> 01:44:37.810
If I'm suited as root,

01:44:37.890 --> 01:44:41.630
can I remember what my original username is?

01:44:42.770 --> 01:44:45.490
I'm looking forward to learning about that command.

01:44:45.790 --> 01:44:47.270
Sure, let's just take it out right now.

01:44:48.070 --> 01:44:51.590
So right now, who am I says I am student, correct?

01:44:52.470 --> 01:44:57.090
And my ID shows 1000 as my current ID.

01:44:57.890 --> 01:45:02.830
And if I try to run some tool to manage the hard disk,

01:45:04.630 --> 01:45:06.390
say it's okay, that's the tool.

01:45:06.410 --> 01:45:08.270
And if I try to actually work on the disk.

01:45:09.510 --> 01:45:10.670
Let's try something.

01:45:11.050 --> 01:45:15.570
I'm gonna switch using the pseudo tool.

01:45:15.570 --> 01:45:17.230
I'm gonna run the shell,

01:45:17.290 --> 01:45:20.470
and that shell will have the privileges of the root user.

01:45:21.490 --> 01:45:22.970
Now, if you do pseudo bash,

01:45:24.710 --> 01:45:26.650
I think we can notice first up

01:45:27.850 --> 01:45:30.770
that in the profile, the way the prompt shows

01:45:30.770 --> 01:45:33.610
on the terminal gives me an indication.

01:45:34.270 --> 01:45:35.870
Also it tells me I am root,

01:45:35.970 --> 01:45:38.090
at the rate, the name of that system,

01:45:38.150 --> 01:45:39.310
that's another indicator.

01:45:40.130 --> 01:45:41.570
What if I say, who am I?

01:45:43.250 --> 01:45:46.150
It says, well, right now, you are root.

01:45:46.850 --> 01:45:48.910
If I type the command ID,

01:45:52.290 --> 01:45:53.590
it says, you are root.

01:45:54.130 --> 01:45:58.390
The question that you had was like, who I really am.

01:46:01.370 --> 01:46:02.430
Try this one.

01:46:04.430 --> 01:46:06.630
This is like literally shouting at the system,

01:46:06.730 --> 01:46:07.770
who am I?

01:46:07.770 --> 01:46:09.830
And it says, fine, you are student.

01:46:10.570 --> 01:46:11.750
Give that a try.

01:46:12.910 --> 01:46:13.890
Linux is fun, isn't it?

01:46:14.110 --> 01:46:16.090
So you might shout if you want that.

01:46:18.070 --> 01:46:19.810
Yeah, please don't tell to others,

01:46:19.950 --> 01:46:21.390
what did you learn in the class today?

01:46:21.390 --> 01:46:23.270
You have to really shout at the system,

01:46:24.150 --> 01:46:26.490
and then it'll give you the real information.

01:46:27.230 --> 01:46:27.630
Yes.

01:46:28.770 --> 01:46:30.350
I mean, that's one way of remembering it.

01:46:30.450 --> 01:46:31.810
You literally have to shout at the system.

01:46:31.890 --> 01:46:33.210
Hopefully that answers the question.

01:46:33.350 --> 01:46:33.930
Yes, it does.

01:46:34.150 --> 01:46:34.730
Yes, it does.

01:46:34.990 --> 01:46:36.170
Can it be used in scripts?

01:46:37.030 --> 01:46:37.230
Anything.

01:46:37.490 --> 01:46:38.650
Who's writing the script?

01:46:38.650 --> 01:46:42.130
Anything and everything can be run in script.

01:46:42.130 --> 01:46:44.690
Script is just a shell environment

01:46:44.690 --> 01:46:46.270
which is programmed to execute.

01:46:47.490 --> 01:46:49.170
Anything and everything can be in a script.

01:46:49.210 --> 01:46:51.590
Then I'm happy if we can continue.

01:46:53.090 --> 01:46:55.230
Yeah, there are many things you can do in the system.

01:46:55.310 --> 01:46:56.630
Linux is still programmable.

01:46:57.830 --> 01:46:59.570
Yeah, so hopefully this tells us again

01:46:59.570 --> 01:47:03.130
who we are and what we are executing the command as.

01:47:03.170 --> 01:47:05.230
We know a little bit about now the options,

01:47:06.030 --> 01:47:07.990
the idea of commands and options

01:47:07.990 --> 01:47:10.070
and printing our identity.

01:47:11.130 --> 01:47:14.190
Let's try a few other simple commands.

01:47:14.210 --> 01:47:18.230
It's just working on Linux as well.

01:47:19.750 --> 01:47:22.190
Just familiarizing ourselves, so to speak.

01:47:22.410 --> 01:47:24.890
Since we are still working on the file system,

01:47:25.450 --> 01:47:27.310
let's just also have a look at

01:47:28.390 --> 01:47:30.550
just the idea of creating links.

01:47:30.790 --> 01:47:33.310
I think this might be a bit handy.

01:47:33.950 --> 01:47:37.530
Let's have a look at that.

01:47:37.930 --> 01:47:40.650
Then we look at the file system like copy and move

01:47:40.650 --> 01:47:41.310
and all of that.

01:47:41.470 --> 01:47:42.810
We can quickly try this out

01:47:42.810 --> 01:47:46.350
since we are already onto the file system

01:47:47.270 --> 01:47:48.670
and a little bit comfortable

01:47:48.670 --> 01:47:51.350
working with the commands themselves.

01:47:52.510 --> 01:47:53.630
So some basics.

01:47:54.210 --> 01:47:58.430
Let me switch back to where I was.

01:48:02.050 --> 01:48:04.630
So I have a file here.

01:48:06.530 --> 01:48:08.170
First of all, I can just make sure

01:48:08.170 --> 01:48:12.110
that I am exiting out of root.

01:48:17.450 --> 01:48:19.950
Just making sure I'm back as a normal user.

01:48:22.770 --> 01:48:25.190
I'm happily sitting in my home directory.

01:48:26.830 --> 01:48:28.410
I can exit the file.

01:48:28.410 --> 01:48:32.330
I can execute, as we saw, different commands

01:48:33.410 --> 01:48:35.590
and I can create some files.

01:48:36.190 --> 01:48:38.410
So for instance, if I have

01:48:39.590 --> 01:48:42.270
a quick look at this file

01:48:43.110 --> 01:48:47.330
and I think we currently have a hosts file already

01:48:47.330 --> 01:48:49.050
in our home directory.

01:48:49.070 --> 01:48:49.810
Yeah, perfect.

01:48:50.610 --> 01:48:53.730
So I already have a file in my home directory.

01:48:54.670 --> 01:48:56.350
So what I can do here is

01:48:56.350 --> 01:49:01.950
I can create what we consider as links

01:49:01.950 --> 01:49:04.330
and we can create links.

01:49:04.770 --> 01:49:07.470
We have to be careful when we use the word links

01:49:08.270 --> 01:49:11.910
because it's not exactly how we imagine it works

01:49:11.910 --> 01:49:14.730
in the Windows world.

01:49:15.270 --> 01:49:17.210
Let's give that a try.

01:49:17.790 --> 01:49:19.350
I'm gonna use the command

01:49:24.990 --> 01:49:25.710
ln

01:49:25.710 --> 01:49:28.210
and ln says make links between files.

01:49:28.270 --> 01:49:30.470
Careful, folders are also links, yeah.

01:49:30.530 --> 01:49:32.690
So when it says files, don't just think of store.

01:49:34.370 --> 01:49:35.710
Couple of options.

01:49:45.670 --> 01:49:46.730
I'm gonna try them out.

01:49:47.510 --> 01:49:51.050
And here is an option that says minus s, symbolic links.

01:49:51.330 --> 01:49:52.330
Let me explain.

01:50:00.170 --> 01:50:04.130
So I'm saying there is a file hosts already

01:50:04.130 --> 01:50:06.710
and I would like to create a link to it.

01:50:10.710 --> 01:50:13.850
I will just put a little asterisk.

01:50:13.930 --> 01:50:17.710
So any and everything that starts from hosts will show up.

01:50:21.070 --> 01:50:23.350
I can also put it in.

01:50:23.350 --> 01:50:26.170
You may not be very happy with that, but that works.

01:50:27.190 --> 01:50:30.050
So if you just do what I have done right now,

01:50:30.170 --> 01:50:35.470
which is make a link from hosts to new hosts.

01:50:37.690 --> 01:50:40.170
And you can kind of see that here.

01:50:41.730 --> 01:50:45.270
It actually says this one points to that one.

01:50:46.330 --> 01:50:51.290
If I read this file, cat or more or any of these tools will work.

01:50:51.290 --> 01:50:57.030
But if I read this file, it displays the content.

01:50:57.330 --> 01:51:02.670
So that means we can say that or we can argue that the shortcut is working.

01:51:03.590 --> 01:51:07.190
When I work on this, it reads from there.

01:51:09.050 --> 01:51:11.190
Just a quick question as you try this.

01:51:12.190 --> 01:51:16.070
What happens if I delete the original file, the hosts file?

01:51:16.070 --> 01:51:19.050
The link will still be there, but there will be no source.

01:51:19.850 --> 01:51:22.150
So it wouldn't work, isn't it?

01:51:22.470 --> 01:51:23.490
Yeah, it wouldn't work, yeah.

01:51:24.350 --> 01:51:27.390
I'll just wait for you guys to try this part out first.

01:51:31.530 --> 01:51:35.310
Make sure you are a student, not as root, not as root.

01:51:35.410 --> 01:51:36.250
Call a fellow.

01:51:39.330 --> 01:51:40.290
Thank you.

01:51:40.290 --> 01:51:42.010
Thank you.

01:51:47.930 --> 01:51:49.530
Hey, it's not a fire.

01:51:49.750 --> 01:51:53.190
Maybe it's just looking for a promotion.

01:51:54.910 --> 01:51:57.190
We do need to scare people away from root.

01:51:57.430 --> 01:52:00.030
So I believe the shortcut kind of works, right?

01:52:00.230 --> 01:52:00.990
It just works.

01:52:01.290 --> 01:52:06.990
And Faith, I did the star host star because anything it starts with

01:52:07.690 --> 01:52:09.350
and in the middle is hosts.

01:52:09.350 --> 01:52:13.330
So that will give you both the files.

01:52:14.610 --> 01:52:15.890
LN minus S.

01:52:16.010 --> 01:52:19.250
So you made a mistake with the source host Faith.

01:52:20.870 --> 01:52:23.350
You mentioned the source as host, not hosts.

01:52:24.110 --> 01:52:25.470
It still followed your order.

01:52:25.730 --> 01:52:26.810
It said, sir, yes, sir.

01:52:28.230 --> 01:52:30.950
But the trouble is the original file doesn't exist.

01:52:31.270 --> 01:52:33.850
The terminal is very kind to you, showing in red.

01:52:35.190 --> 01:52:38.630
I wish things were like this 30 years ago, green and red.

01:52:38.630 --> 01:52:40.690
But it doesn't exist.

01:52:40.810 --> 01:52:43.870
You can repeat the command again or just pick another file.

01:52:44.350 --> 01:52:46.810
Yeah, so if you try, Faith, you're going to get an error.

01:52:48.530 --> 01:52:49.930
Try to read that file.

01:52:50.270 --> 01:52:50.710
It's fine.

01:52:50.730 --> 01:52:53.090
It's just the perfect example of what we want to show.

01:52:56.550 --> 01:53:02.090
So here I have the host file.

01:53:06.850 --> 01:53:13.610
I have the new host file, which is a link, starts with an N.

01:53:17.430 --> 01:53:20.570
What happens if I remove the host file?

01:53:26.110 --> 01:53:27.090
It's not very happy.

01:53:29.370 --> 01:53:31.750
Of course, if I try to read it, it doesn't work.

01:53:35.750 --> 01:53:40.950
So there is another concept, which we call as hard links.

01:53:41.790 --> 01:53:43.690
Let me explain what is a hard link.

01:53:43.750 --> 01:53:46.590
Suddenly, you won't have to read too much about it.

01:53:47.570 --> 01:53:51.590
The idea of the hard link is something like think of the file as a room.

01:53:53.370 --> 01:53:54.910
So let's take a room.

01:54:00.790 --> 01:54:04.150
And let's take a room and paint it blue.

01:54:06.430 --> 01:54:14.770
Now, if I create two doors in this room, does it matter which door do I enter from?

01:54:15.090 --> 01:54:16.510
What color am I going to choose?

01:54:16.550 --> 01:54:17.250
It doesn't matter, right?

01:54:23.530 --> 01:54:26.090
So I enter the same room, isn't it?

01:54:26.190 --> 01:54:27.870
It just has two doors.

01:54:28.110 --> 01:54:30.970
This idea is called as hard link.

01:54:31.390 --> 01:54:34.690
If I close one door, do I have another?

01:54:34.830 --> 01:54:36.390
What if I create many doors?

01:54:36.850 --> 01:54:40.530
How many doors I need working to access the room?

01:54:40.910 --> 01:54:41.770
Minimum one.

01:54:42.170 --> 01:54:44.970
As long as there is one door, you are in, isn't it?

01:54:44.970 --> 01:54:48.510
This is the idea of what we call as a hard link.

01:54:48.630 --> 01:54:50.170
Let me show you.

01:54:51.070 --> 01:55:02.990
I'm going to copy the original host file into the current directory.

01:55:03.490 --> 01:55:07.270
I'm going to make a link, but this time I will not use the option minus S.

01:55:07.350 --> 01:55:10.310
I will just say host, host one.

01:55:14.210 --> 01:55:17.330
Do you notice there is a number here which is incrementing?

01:55:17.330 --> 01:55:18.630
Now it is two.

01:55:19.730 --> 01:55:21.930
What do you guess that number two is?

01:55:22.970 --> 01:55:26.690
Think of my analogy I just gave you right now.

01:55:27.130 --> 01:55:27.610
Two doors?

01:55:28.050 --> 01:55:28.570
Absolutely.

01:55:28.670 --> 01:55:29.430
These are two doors.

01:55:29.550 --> 01:55:34.750
What if I keep saying Ellen, host one to host two?

01:55:36.230 --> 01:55:37.850
Look at the original file.

01:55:45.210 --> 01:55:45.770
Three.

01:55:49.370 --> 01:55:53.470
If I get rid of that first file, that's okay.

01:55:54.590 --> 01:55:57.390
We still have two more doors.

01:56:00.930 --> 01:56:02.250
And it will still work.

01:56:02.650 --> 01:56:03.890
Can you please try this out?

01:56:03.890 --> 01:56:05.110
This is called as hard links.

01:56:05.910 --> 01:56:09.490
You can do that in Windows as well, just to show you the concept.

01:56:10.690 --> 01:56:16.670
Please give it a try.

01:56:20.910 --> 01:56:22.210
CPE slash host.

01:56:23.990 --> 01:56:24.970
I got it right.

01:56:26.030 --> 01:56:27.930
It's important that we try things out.

01:56:27.930 --> 01:56:30.470
So if you make mistakes, we learn from it.

01:56:30.690 --> 01:56:33.390
It's under LS minus L host star.

01:56:33.390 --> 01:56:39.270
So you see all the files where the name begins with hosts.

01:56:48.750 --> 01:56:52.350
I'm not sure if I was supposed to press enter, because I did.

01:56:53.170 --> 01:56:54.370
And then all of these came up.

01:56:54.610 --> 01:56:55.650
After cat there's one.

01:56:58.290 --> 01:56:58.770
Right.

01:56:59.710 --> 01:57:00.950
Just looking at what you.

01:57:01.030 --> 01:57:01.430
Yeah, yeah.

01:57:01.430 --> 01:57:03.410
So this is the content of that file.

01:57:03.890 --> 01:57:07.730
So cat is just a command to read a text file.

01:57:09.650 --> 01:57:13.390
So one command that generally comes in very handy.

01:57:14.570 --> 01:57:15.770
We will have this.

01:57:24.190 --> 01:57:26.230
Just this file.

01:57:27.530 --> 01:57:30.850
If you want to know what type of file something is.

01:57:30.850 --> 01:57:34.310
Have you noticed in Linux, we don't really have extensions.

01:57:35.470 --> 01:57:37.670
In Linux, there is nothing called as file extension.

01:57:38.970 --> 01:57:42.070
So I can literally create a file like this.

01:57:48.510 --> 01:57:50.230
The only trouble with that is.

01:57:51.310 --> 01:57:54.370
If there is a file, we don't know what is in it.

01:57:56.170 --> 01:57:57.170
Here is an example.

01:57:57.910 --> 01:58:00.850
What type of file is this?

01:58:01.410 --> 01:58:02.170
This is an executable.

01:58:03.950 --> 01:58:06.170
What type of file is ETC host?

01:58:06.410 --> 01:58:07.630
That's a text file.

01:58:08.750 --> 01:58:12.670
What type of file is my file is so cool, it's empty.

01:58:14.050 --> 01:58:19.870
So the file command is very handy in knowing what is the file.

01:58:20.210 --> 01:58:21.570
What type of file it is.

01:58:21.630 --> 01:58:22.390
Is it a PDF?

01:58:22.590 --> 01:58:23.370
Is it an image?

01:58:23.690 --> 01:58:24.670
Is it text?

01:58:25.570 --> 01:58:28.410
Since extensions are not really a thing.

01:58:29.470 --> 01:58:32.370
I like that people are creating the file exactly as I said.

01:58:32.410 --> 01:58:33.810
My file is so cool.

01:58:33.850 --> 01:58:36.530
Appreciate that.

01:58:38.230 --> 01:58:39.910
Okay, we managed to stop.

01:58:40.250 --> 01:58:40.910
That's fine.

01:58:41.770 --> 01:58:44.510
Now, can we create it without owning?

01:58:46.230 --> 01:58:46.690
Yeah.

01:58:47.110 --> 01:58:48.050
No need for extension.

01:58:48.330 --> 01:58:49.910
There is nothing called as extension.

01:58:50.310 --> 01:58:53.330
So if you are looking at something and you don't know what it is.

01:58:53.330 --> 01:58:54.490
Use the file command.

01:58:54.490 --> 01:58:57.650
Of course, please use the tab to autocomplete.

01:58:58.710 --> 01:59:02.930
If you are writing the path, if you are writing a command, just use the tab.

01:59:03.110 --> 01:59:04.030
It will autocomplete.

01:59:04.990 --> 01:59:06.750
And it reduces the number of errors.

01:59:07.230 --> 01:59:10.050
Just under file and extensions there, right?

01:59:11.650 --> 01:59:17.690
So if you want to create a file for PDF as an example.

01:59:18.330 --> 01:59:22.870
How would you go about creating that since you are not including the extensions?

01:59:23.910 --> 01:59:25.870
Because most of the time I've noticed that.

01:59:26.830 --> 01:59:28.290
For me, I always just take a shortcut.

01:59:28.470 --> 01:59:33.350
I just find a file with the same format and then just copy it to use it.

01:59:33.730 --> 01:59:39.250
But I've never, I don't think I've ever actually created a file with a different file extension there.

01:59:39.890 --> 01:59:45.130
Yeah, so the only thing we can create is just an empty file or a text file.

01:59:45.210 --> 01:59:47.510
Other files you will create using applications.

01:59:49.730 --> 01:59:51.110
Nothing different there.

01:59:53.670 --> 01:59:59.350
But these are the basic things that can make it very confusing when you work on Linux operating system, right?

01:59:59.350 --> 02:00:04.490
It's very different than the OS windows that you're comfortable with.

02:00:04.490 --> 02:00:05.270
Yeah, that's true.

02:00:05.450 --> 02:00:08.430
The extensions are a very big thing on Windows.

02:00:09.370 --> 02:00:11.170
So now if you don't have them, yeah.

02:00:12.690 --> 02:00:15.190
Sometimes you will have them, sometimes you may not.

02:00:15.470 --> 02:00:16.810
So that's cool.

02:00:17.570 --> 02:00:24.130
All right, so that was a little bit about the links and a little bit about just navigation, generally speaking.

02:00:25.770 --> 02:00:33.610
Let's just work on the command line a little bit more so that we can do like copy paste, just move things around a bit.

02:00:35.250 --> 02:00:39.670
Manipulate the contents a bit beyond what we have just seen right now.

02:00:39.670 --> 02:00:47.910
So we'll just have a quick look at the copy, the rename and other things so that we feel comfortable with that process.

02:00:49.950 --> 02:00:53.590
All right, back to my terminal.

02:00:54.310 --> 02:00:55.910
So we are comfortable moving around.

02:00:55.990 --> 02:00:58.610
Again, I'm making sure I'm a student.

02:00:58.710 --> 02:01:01.830
I'm in my current directory.

02:01:02.830 --> 02:01:10.950
First, let me very quickly handle renaming and moving because the command is same.

02:01:12.450 --> 02:01:13.410
What does that mean?

02:01:13.870 --> 02:01:15.470
Let me create a file.

02:01:16.730 --> 02:01:17.730
Data one.

02:01:20.030 --> 02:01:29.090
If I say move data one to data two.

02:01:31.690 --> 02:01:38.190
MV is not moving it because there is nothing called as data two right now.

02:01:38.230 --> 02:01:41.430
So MV says, OK, in that case, you want me to rename it.

02:01:41.650 --> 02:01:43.390
I'll rename it.

02:01:44.250 --> 02:01:47.890
If I say MV data two to data three.

02:01:50.150 --> 02:01:51.210
It does the same thing.

02:01:51.270 --> 02:01:54.050
It says there is nothing called as data three here.

02:01:54.130 --> 02:01:56.790
So most likely you want me to rename it.

02:01:56.790 --> 02:01:59.090
I will rename it.

02:01:59.410 --> 02:01:59.950
Wait a second.

02:02:00.010 --> 02:02:05.890
What if I create a folder called as data five or data four?

02:02:07.630 --> 02:02:12.790
And I say let's MV data three to data four.

02:02:12.850 --> 02:02:13.970
Something is different now.

02:02:13.990 --> 02:02:15.290
The command is the same.

02:02:17.290 --> 02:02:24.330
But what is different is what I have mentioned as a destination actually exists as a folder.

02:02:25.250 --> 02:02:31.270
In Linux, a file or a folder cannot have the same name in the same location.

02:02:33.830 --> 02:02:35.830
So if I do this.

02:02:38.730 --> 02:02:40.470
What it has done.

02:02:41.950 --> 02:02:46.230
It has taken this.

02:02:49.130 --> 02:02:55.990
Where is my data four.

02:02:55.990 --> 02:03:01.450
You can see that that folder now contains this file.

02:03:01.530 --> 02:03:09.570
So it's the same command is for renaming and the same command is for a move.

02:03:10.310 --> 02:03:15.430
The key here is does the destination already exist?

02:03:15.430 --> 02:03:18.450
If it doesn't, it just doesn't.

02:03:18.450 --> 02:03:20.430
If it doesn't, then it's a move.

02:03:20.510 --> 02:03:26.270
Because the fundamental idea is that you cannot have a file or a folder which has the same name.

02:03:26.570 --> 02:03:27.490
Here is an example.

02:03:27.570 --> 02:03:29.350
I'm going to create a file.

02:03:29.610 --> 02:03:30.170
I'm sorry.

02:03:31.870 --> 02:03:36.050
So you say you moved that file into the folder.

02:03:37.830 --> 02:03:44.630
But if you already had a file or had a folder with the same name, what would have happened?

02:03:46.230 --> 02:03:53.770
For example, if you are moving the data three right into into data four and I need a data four folder.

02:03:54.090 --> 02:03:57.350
You already have a folder named data three.

02:03:57.470 --> 02:03:58.630
Same as before.

02:03:59.890 --> 02:04:04.530
It won't it won't bother unless you do the minus i.

02:04:04.530 --> 02:04:05.570
It just won't bother.

02:04:05.850 --> 02:04:08.230
It will overwrite happily.

02:04:09.810 --> 02:04:12.150
So minus i is your friend.

02:04:19.110 --> 02:04:25.810
So let's say I create a file called as July.

02:04:26.730 --> 02:04:27.730
This is a file.

02:04:31.230 --> 02:04:32.590
I can verify that.

02:04:32.670 --> 02:04:32.730
Right.

02:04:32.730 --> 02:04:33.770
There is a dash here.

02:04:34.050 --> 02:04:34.750
It's a file.

02:04:36.030 --> 02:04:39.130
What if I want to create a folder called as July?

02:04:39.570 --> 02:04:41.950
Should it allow you to do this or not?

02:04:42.790 --> 02:04:44.270
No, it shouldn't.

02:04:45.830 --> 02:04:48.410
Because a folder is also a file.

02:04:50.190 --> 02:04:51.550
In the Linux, everything is fine.

02:04:52.390 --> 02:04:54.470
So you get a very confusing message, right?

02:04:54.470 --> 02:04:56.950
Cannot create a directory because the file exists.

02:05:00.150 --> 02:05:03.210
And then you'll be listening and not seeing it.

02:05:04.190 --> 02:05:05.910
And you're like, where is this file July?

02:05:05.990 --> 02:05:07.310
I don't see it.

02:05:08.130 --> 02:05:10.050
There's no other folder called as July.

02:05:10.210 --> 02:05:14.630
It's just that we cannot have the same name because the system treats them as the same.

02:05:14.690 --> 02:05:16.230
It's just something for you to notice.

02:05:16.430 --> 02:05:21.270
So that's MV can be used for the name, can be used for a move.

02:05:21.270 --> 02:05:26.770
You can also obviously use commands like CP.

02:05:27.230 --> 02:05:29.050
Colorful, please go ahead.

02:05:29.610 --> 02:05:30.690
Before we move on.

02:05:31.470 --> 02:05:40.990
So what if I touch July dot extension like maybe CSV and I make a folder called July will still be the same.

02:05:41.390 --> 02:05:41.950
Yeah.

02:05:42.330 --> 02:05:43.010
Yeah.

02:05:43.010 --> 02:05:45.790
So the idea here is good that you mentioned it.

02:05:46.150 --> 02:05:48.390
If a folder already exists.

02:05:48.830 --> 02:05:49.970
Let's take an example.

02:05:49.970 --> 02:05:54.670
So this is my current home directory.

02:05:54.850 --> 02:05:59.950
I see there is a folder called as the data for.

02:06:03.490 --> 02:06:05.450
And I have a file here as well.

02:06:05.550 --> 02:06:06.650
So let's take an example.

02:06:06.670 --> 02:06:07.570
You can see this.

02:06:07.630 --> 02:06:08.850
I'm going to start scratch.

02:06:10.290 --> 02:06:11.970
I will just do something very quickly.

02:06:12.070 --> 02:06:14.930
I will get the host file in the current folder.

02:06:15.630 --> 02:06:20.710
Ls minus L this host file works all is well.

02:06:20.710 --> 02:06:24.130
What would happen if I touch this file right now?

02:06:25.310 --> 02:06:30.330
The file already exists and it has some content.

02:06:32.190 --> 02:06:32.770
Any guess?

02:06:34.770 --> 02:06:35.770
Overwrite this file?

02:06:36.490 --> 02:06:37.170
Not really.

02:06:37.310 --> 02:06:40.330
It will only update the date and time stamp.

02:06:42.390 --> 02:06:45.430
That is a non destructive command.

02:06:47.710 --> 02:06:50.710
What happens if I touch a folder that exists?

02:06:50.830 --> 02:06:51.630
Same thing.

02:06:51.990 --> 02:06:55.070
It is only going to update the timestamp.

02:06:56.410 --> 02:06:59.350
If you create a file first.

02:07:00.930 --> 02:07:03.790
It won't let you create a folder with the same name.

02:07:04.810 --> 02:07:06.930
Because another file exists.

02:07:07.030 --> 02:07:08.230
Does that answer your question?

02:07:08.230 --> 02:07:08.890
Yes.

02:07:10.130 --> 02:07:11.110
I think.

02:07:12.850 --> 02:07:14.950
Let me try it out.

02:07:18.010 --> 02:07:20.150
Try exactly what you see.

02:07:20.490 --> 02:07:21.390
Same for the others.

02:07:21.590 --> 02:07:22.390
Feel free to try.

02:07:22.490 --> 02:07:25.150
And I appreciate the questions coming in.

02:07:26.670 --> 02:07:28.510
I know you can't see me.

02:07:28.510 --> 02:07:30.190
But I'm shaking my head vigorously.

02:07:34.750 --> 02:07:36.190
Linux is fun.

02:07:36.190 --> 02:07:39.710
It takes a while for you to warm up to it.

02:07:39.750 --> 02:07:40.370
But it's fun.

02:07:40.530 --> 02:07:40.930
All right.

02:07:41.110 --> 02:07:42.350
Let's try a little bit more.

02:07:42.490 --> 02:07:44.210
Just on the file system.

02:07:44.410 --> 02:07:49.050
Similarly, let's just have a super quick look at how you will copy things.

02:07:49.150 --> 02:07:50.930
We have already seen CP.

02:07:52.570 --> 02:07:56.810
But as we work on CP again, I'm making sure I'm in the current location.

02:07:57.230 --> 02:08:01.290
By the way, you can make an entire directory structure with a minus P.

02:08:01.630 --> 02:08:03.530
For example, in the current folder.

02:08:03.530 --> 02:08:06.070
I want backup.

02:08:07.810 --> 02:08:08.410
Slash.

02:08:09.970 --> 02:08:11.690
Files slash generally.

02:08:15.990 --> 02:08:17.490
So what that does.

02:08:19.330 --> 02:08:19.710
Is this.

02:08:20.010 --> 02:08:21.810
It just creates the whole path for me.

02:08:23.310 --> 02:08:25.470
I don't have to do it step by step.

02:08:25.610 --> 02:08:26.730
It's kind of nice.

02:08:27.970 --> 02:08:30.010
But I'm doing a copy.

02:08:30.090 --> 02:08:32.050
Of course, I can use the wild cards.

02:08:32.050 --> 02:08:33.970
Can be useful.

02:08:33.970 --> 02:08:38.150
For example, I can say let's copy from ETC.

02:08:40.010 --> 02:08:43.210
Anything that ends with the dot com.

02:08:44.890 --> 02:08:48.030
So multiple files might match this filter.

02:08:48.550 --> 02:08:50.030
Where do I want them to go?

02:08:50.410 --> 02:08:54.510
I want them to go into my backup files.

02:08:55.350 --> 02:08:56.330
Jen folder.

02:08:59.030 --> 02:09:00.890
Just a quick copy.

02:09:03.930 --> 02:09:06.490
What if I want to copy the whole folder?

02:09:15.070 --> 02:09:21.130
It says I don't like copying folders till you mention minus R.

02:09:22.290 --> 02:09:28.970
We will mention minus R recursive.

02:09:36.510 --> 02:09:38.890
Now I have two folders in there.

02:09:40.030 --> 02:09:42.670
So that's a simple example of copying files and folders.

02:09:42.790 --> 02:09:43.690
Please try both.

02:09:44.810 --> 02:09:46.610
Can you please go up a bit?

02:09:47.290 --> 02:09:49.030
Let's see if.

02:09:49.390 --> 02:09:50.290
I didn't miss anything.

02:09:52.830 --> 02:09:55.770
Yeah, there's one folder path that we created.

02:09:56.670 --> 02:09:57.290
Yeah, we should.

02:09:58.590 --> 02:09:59.870
That's one.

02:10:07.290 --> 02:10:10.170
Good works for this Andre.

02:10:10.250 --> 02:10:10.990
Call a fellow.

02:10:10.990 --> 02:10:14.250
I appreciate you guys doing everything with me live.

02:10:16.210 --> 02:10:18.350
Yeah, Mohammed trained us well.

02:10:19.310 --> 02:10:20.430
He'll be back with you.

02:10:20.490 --> 02:10:21.090
Don't worry.

02:10:21.530 --> 02:10:22.770
Just not complaining.

02:10:24.150 --> 02:10:25.270
That as well.

02:10:26.290 --> 02:10:28.730
If you see any errors, just revisit.

02:10:29.350 --> 02:10:30.810
And one more suggestion.

02:10:31.030 --> 02:10:36.990
Use the tab to auto complete, especially if there is a path file names backup files.

02:10:37.190 --> 02:10:41.890
Is there a folder like that?

02:10:42.950 --> 02:10:44.370
Yeah, it should be done.

02:10:46.550 --> 02:10:49.290
And then later on, you're copying that folder to another.

02:10:51.950 --> 02:10:54.410
I'm just wondering what it costs.

02:10:55.810 --> 02:11:01.770
When you're in the training room, I'm struggling to see your screen anymore.

02:11:01.770 --> 02:11:04.470
I think we still see connecting and connecting.

02:11:04.950 --> 02:11:07.130
But it's not showing up.

02:11:07.250 --> 02:11:09.030
You know, I still didn't get one.

02:11:09.590 --> 02:11:10.410
That's true.

02:11:11.330 --> 02:11:13.730
That might be a little bit of an issue, right?

02:11:15.050 --> 02:11:15.990
How about you?

02:11:17.210 --> 02:11:17.730
Refresh.

02:11:18.770 --> 02:11:20.270
Yeah, I did that.

02:11:21.550 --> 02:11:23.230
They can fall.

02:11:24.030 --> 02:11:27.710
I mean, if you think to a different browser, sometimes could just do the trick.

02:11:29.390 --> 02:11:29.890
Okay.

02:11:33.170 --> 02:11:35.070
I can see it works for everybody else.

02:11:35.970 --> 02:11:40.970
So minus R is forcing it to do it for a folder as well or directory.

02:11:52.070 --> 02:11:52.350
Yeah.

02:11:52.390 --> 02:11:53.710
Austin, let me know if it works.

02:11:53.710 --> 02:11:56.150
Got back now.

02:11:56.970 --> 02:11:58.310
Yeah, let's switch sometimes.

02:11:59.330 --> 02:11:59.650
All right.

02:11:59.690 --> 02:12:01.970
Let's copy and move a little bit.

02:12:02.210 --> 02:12:05.630
Some other file system level tricks.

02:12:06.390 --> 02:12:08.910
What if you want to get rid of things?

02:12:12.930 --> 02:12:15.550
So we have the command RM.

02:12:17.250 --> 02:12:19.330
Thankfully, it does not assume anything.

02:12:19.390 --> 02:12:22.190
It says if you want to remove, well, what do you want to remove?

02:12:26.650 --> 02:12:28.510
Maybe I want to remove a file.

02:12:29.930 --> 02:12:31.170
No questions asked.

02:12:32.370 --> 02:12:37.650
Maybe I want to remove all the files that begin with hosts.

02:12:40.310 --> 02:12:41.450
No questions asked.

02:12:42.430 --> 02:12:50.750
What if I want to get rid of the folder?

02:12:52.750 --> 02:12:53.850
Doesn't like it.

02:12:53.890 --> 02:12:55.010
Hey, it's a directory.

02:12:59.230 --> 02:12:59.790
Okay.

02:13:00.530 --> 02:13:01.490
How about now?

02:13:02.950 --> 02:13:04.030
Well, that is fine.

02:13:05.070 --> 02:13:14.730
If you insist, we'll get rid of that.

02:13:17.950 --> 02:13:18.810
There we go.

02:13:22.770 --> 02:13:25.050
And it can't remove what you don't have.

02:13:25.270 --> 02:13:29.010
So you can just do LS minus L to see what files you have.

02:13:29.090 --> 02:13:31.830
You can remove something that exists that you created.

02:13:34.290 --> 02:13:39.130
You have data 3, file 1, file 2.

02:13:39.690 --> 02:13:41.770
Good for most of you.

02:13:43.010 --> 02:13:45.970
That's frankly more on the file system.

02:13:46.270 --> 02:13:50.390
And then obviously there are lots of tips and tricks in terms of reading the files.

02:13:50.410 --> 02:13:51.970
We're going to try those out as well.

02:13:52.030 --> 02:13:56.630
There are some other just I would say shell related tricks.

02:13:56.750 --> 02:14:00.090
Simple things that you probably can try out.

02:14:01.830 --> 02:14:04.010
If you remember, that was the command date.

02:14:04.330 --> 02:14:05.830
This was the who am I.

02:14:08.030 --> 02:14:10.270
What happens if I do this?

02:14:15.450 --> 02:14:18.090
Date and who am I.

02:14:21.770 --> 02:14:24.750
Executes multiple commands at once.

02:14:27.790 --> 02:14:31.070
Nice to get many things done at the same time.

02:14:31.070 --> 02:14:33.250
You can execute multiple commands.

02:14:34.770 --> 02:14:38.990
And there are other interesting ways to kind of chain the commands together.

02:14:39.410 --> 02:14:42.670
Do the second one only if the first one works.

02:14:42.750 --> 02:14:48.850
Or do the second one only if the second one or the first one doesn't work.

02:14:48.870 --> 02:14:50.750
There are many ways to chain these together.

02:14:50.990 --> 02:14:53.090
But that's the easiest of all.

02:14:53.990 --> 02:14:58.050
Just in terms of executing kind of commands together.

02:14:58.050 --> 02:15:01.410
And I may have executed many commands earlier.

02:15:02.110 --> 02:15:04.090
I can have a look at the history.

02:15:07.990 --> 02:15:10.190
And it's a long history.

02:15:14.210 --> 02:15:19.990
And maybe I can repeat some command from the history.

02:15:23.970 --> 02:15:28.090
Let's say my command number 174.

02:15:29.550 --> 02:15:30.790
Then I copied a file.

02:15:31.570 --> 02:15:33.050
So I check the history.

02:15:35.230 --> 02:15:37.190
Just do that.

02:15:42.750 --> 02:15:44.890
I write the command history.

02:15:46.810 --> 02:15:48.850
Figure out a command I would like to repeat.

02:15:48.850 --> 02:15:53.170
I can just do exclamation mark and put that command number.

02:15:53.170 --> 02:15:55.270
Saves time.

02:15:56.350 --> 02:15:56.810
Nice one.

02:15:57.030 --> 02:16:01.750
But first please check your history before you execute.

02:16:01.830 --> 02:16:03.450
Type the command history first.

02:16:09.150 --> 02:16:11.190
You guys are getting nothing when you do history.

02:16:19.890 --> 02:16:20.490
Next.

02:16:22.090 --> 02:16:24.850
Can you not hear me?

02:16:26.890 --> 02:16:29.790
Now we are back.

02:16:29.950 --> 02:16:32.130
I said write the command history first.

02:16:32.590 --> 02:16:34.350
To get the list of all the commands.

02:16:35.750 --> 02:16:39.110
And I picked one of the commands where I was copying a file.

02:16:39.210 --> 02:16:41.130
So I executed that command again.

02:16:41.450 --> 02:16:43.310
Just by writing exclamation mark.

02:16:50.650 --> 02:16:51.970
Don't do that.

02:16:51.990 --> 02:16:56.350
Because it's your history that you need to follow.

02:17:01.090 --> 02:17:04.910
I think she wrote line 144444.

02:17:04.910 --> 02:17:06.890
That's a very long training course.

02:17:12.590 --> 02:17:15.570
Just have a look at my output.

02:17:15.850 --> 02:17:17.350
I just did a bit of history.

02:17:18.910 --> 02:17:19.730
Any command.

02:17:19.810 --> 02:17:21.850
Let's say there is a command that says who am I.

02:17:24.430 --> 02:17:27.890
I can just repeat any command with an exclamation mark.

02:17:28.150 --> 02:17:29.550
And the command number.

02:17:31.150 --> 02:17:33.910
Pick a command of your choice from your history.

02:17:34.750 --> 02:17:35.230
Okay.

02:17:42.170 --> 02:17:42.750
I got it.

02:17:42.870 --> 02:17:43.190
Thanks.

02:17:46.270 --> 02:17:47.610
So that's kind of handy.

02:17:47.870 --> 02:17:49.150
Again just repeating.

02:17:50.470 --> 02:17:51.850
Anything that you might have done before.

02:17:52.110 --> 02:17:53.470
And saves us time.

02:17:54.330 --> 02:17:56.470
So there's a bit on the file system.

02:17:56.630 --> 02:18:00.190
It's also a little bit also on just working with the history itself.

02:18:00.190 --> 02:18:04.450
And then comes in working with the text command and so on and so forth.

02:18:04.770 --> 02:18:07.430
What's a good time for your lunch break?

02:18:08.030 --> 02:18:09.390
Typically is it now?

02:18:09.870 --> 02:18:11.570
I think it is around now.

02:18:12.310 --> 02:18:14.830
But we still want to go through certain things before.

02:18:15.350 --> 02:18:16.670
I don't know how the other guys feel.

02:18:17.470 --> 02:18:18.850
I'm happy to have them.

02:18:25.010 --> 02:18:27.710
You want to carry on for another half an hour?

02:18:28.930 --> 02:18:30.170
Half an hour is too long.

02:18:30.190 --> 02:18:31.110
25 minutes.

02:18:31.270 --> 02:18:34.990
Oh, that's such a big difference between 25 minutes and half an hour.

02:18:36.130 --> 02:18:38.290
I'm learning things about South Africa.

02:18:38.690 --> 02:18:40.090
I thought I didn't know.

02:18:40.610 --> 02:18:41.450
Five minutes is a lot.

02:18:41.850 --> 02:18:42.810
Five minutes is a lot.

02:18:43.010 --> 02:18:43.630
Yeah, yeah.

02:18:43.730 --> 02:18:44.690
It's a mind being.

02:18:45.250 --> 02:18:46.590
Don't tell us the two minutes.

02:18:47.550 --> 02:18:48.670
Five minutes.

02:18:49.190 --> 02:18:51.350
Between a meeting happening and being cancelled.

02:18:53.930 --> 02:18:55.550
Yeah, that is very true.

02:18:56.970 --> 02:19:02.690
And I have clients I work with and there are amazing people sometimes I work with.

02:19:03.050 --> 02:19:05.010
There is a meeting invite that they send you.

02:19:05.170 --> 02:19:09.190
They send me like a meeting invite three weeks from now.

02:19:10.050 --> 02:19:15.610
And between now and then I'll receive at least 10 changes of the schedule time.

02:19:17.070 --> 02:19:19.250
Up until like a day before it.

02:19:20.310 --> 02:19:23.550
I'm not entirely sure what the purpose of sending the invite out was.

02:19:24.810 --> 02:19:30.950
It's just to make sure all the resources invited have that exact opening.

02:19:31.070 --> 02:19:32.770
Yeah, you can't say I didn't know.

02:19:32.950 --> 02:19:33.610
That's it.

02:19:34.930 --> 02:19:37.530
Yeah, we told you a month ago we're going to meet sometime.

02:19:38.010 --> 02:19:38.650
That's it.

02:19:38.830 --> 02:19:39.550
That's good enough.

02:19:40.750 --> 02:19:41.550
Work with it.

02:19:44.610 --> 02:19:45.550
Well, that's fine.

02:19:45.570 --> 02:19:46.450
Happy to carry on.

02:19:47.590 --> 02:19:50.850
So that was a little bit on just in terms of tips and tricks.

02:19:51.830 --> 02:19:53.750
On the cell, we're going to see a bit.

02:19:54.890 --> 02:19:59.850
Hopefully we are comfortable with the navigation of the file system itself.

02:20:00.290 --> 02:20:04.810
And frankly, every single command has many options that you can explore.

02:20:04.910 --> 02:20:07.730
And that's part of as you work with the system.

02:20:08.810 --> 02:20:11.170
We learn based on what we need.

02:20:11.930 --> 02:20:16.210
So we don't open the man page and read the 10 million options.

02:20:17.010 --> 02:20:19.850
We go based on the task at hand.

02:20:20.330 --> 02:20:24.250
If needed, then we look into the options and we learn more about the option.

02:20:24.330 --> 02:20:28.310
So this is more about just familiarizing yourself with the file system.

02:20:30.090 --> 02:20:34.130
With the cell, the way to move around and so on and so forth.

02:20:34.790 --> 02:20:37.190
OK, a few more.

02:20:37.670 --> 02:20:38.650
Go ahead, please.

02:20:38.650 --> 02:20:43.170
What is the command that you screened at the machine there?

02:20:43.730 --> 02:20:46.290
Because whoever I am typing is not going through.

02:20:47.070 --> 02:20:48.150
Are you writing it?

02:20:48.310 --> 02:20:48.910
No, not that one.

02:20:49.090 --> 02:20:49.730
The shouting one.

02:20:50.150 --> 02:20:52.790
The who, M, I.

02:20:54.070 --> 02:20:56.430
Who, space, M, space, I.

02:20:57.590 --> 02:20:57.970
That's it.

02:20:58.010 --> 02:20:58.950
Don't type that.

02:20:59.170 --> 02:20:59.650
Let me check.

02:20:59.850 --> 02:21:00.490
OK, thanks.

02:21:00.530 --> 02:21:02.990
The one we equated as shouting at the system.

02:21:03.170 --> 02:21:06.790
Wouldn't do much if you're already signed in here that you're not going to see anything.

02:21:09.030 --> 02:21:10.210
It didn't show anything.

02:21:13.770 --> 02:21:14.830
What is this?

02:21:15.410 --> 02:21:16.430
Would make it like that.

02:21:16.950 --> 02:21:22.650
When you are switched to another user using Sulu and other tools, then it will show you the original user ID.

02:21:27.370 --> 02:21:28.650
OK, now I'll look at that.

02:21:32.990 --> 02:21:33.750
All right.

02:21:33.750 --> 02:21:42.430
Working with, as we are currently on the file system, just a quick look at how do you work with text files.

02:21:42.710 --> 02:21:49.630
First quick reminder, the command file can tell you that you are working with what type of file.

02:21:49.630 --> 02:21:51.190
In this case, a text file.

02:21:51.810 --> 02:21:53.230
We have many commands.

02:21:53.410 --> 02:21:57.550
So let's check out, for example, this file.

02:21:58.810 --> 02:22:03.550
ETC password, which contains everything except passwords.

02:22:05.990 --> 02:22:10.670
If I want to look at that file, I can get it.

02:22:13.110 --> 02:22:17.030
Basically, it reads the text file and shows it to me.

02:22:17.450 --> 02:22:24.650
But if it's the long file, it just kind of runs through the screen instead of cat, which is good for small output.

02:22:24.650 --> 02:22:26.630
I can use the command more.

02:22:28.830 --> 02:22:32.730
Which allows me to read the file kind of step by step.

02:22:35.030 --> 02:22:37.650
I can press enter or space.

02:22:39.470 --> 02:22:40.650
Here I'm pressing enter.

02:22:41.990 --> 02:22:45.710
Line by line or press space page by page.

02:22:48.010 --> 02:22:52.010
And this is just an example of reading a text file.

02:22:53.910 --> 02:22:57.530
So we have cat for things that fit in a page.

02:22:58.070 --> 02:23:00.970
If it's a much bigger file, you can use the command more.

02:23:01.870 --> 02:23:06.230
If you want to read the, let me try this out.

02:23:07.330 --> 02:23:12.110
If you want to start reading from the bottom up, you can sort it out differently.

02:23:13.510 --> 02:23:15.350
We have cat, we have tack.

02:23:16.630 --> 02:23:18.090
This is literally the opposite.

02:23:22.830 --> 02:23:27.390
So here tack reads from the bottom.

02:23:28.910 --> 02:23:30.330
Cat reads from the top.

02:23:31.110 --> 02:23:37.670
Each has its own advantages, what you want to read.

02:23:38.190 --> 02:23:41.450
Sometimes, for example, if I say cat slash hosts.

02:23:44.470 --> 02:23:48.070
Or if I say tack slash ETC slash hosts.

02:23:49.770 --> 02:23:52.510
I start from what was the last entry.

02:23:53.170 --> 02:23:54.570
Maybe that's what I want to see.

02:23:55.010 --> 02:24:01.710
In many Linux configuration files, we make changes by editing the file and making some entry into it.

02:24:02.390 --> 02:24:05.770
So for instance, let's take an example.

02:24:05.910 --> 02:24:09.490
You can try all of these commands, cat, tack, more.

02:24:11.250 --> 02:24:18.050
One of the very useful commands is the one that counts how many lines are in a file.

02:24:18.070 --> 02:24:22.070
Here is WC, word count.

02:24:25.070 --> 02:24:37.990
If I just press enter and I write some, for example, this is sentence one.

02:24:39.710 --> 02:24:42.070
This is second one.

02:24:42.330 --> 02:24:51.690
There are 12 words.

02:24:54.130 --> 02:25:00.330
And if I do like control C or control D here, end of file.

02:25:04.390 --> 02:25:05.750
Control D is end of file.

02:25:06.510 --> 02:25:09.330
You don't see the control D that I am doing.

02:25:09.330 --> 02:25:22.610
What word count is doing is taking the text and saying there is one line, four words, 18 characters.

02:25:23.770 --> 02:25:27.270
So what if I do word count for an existing file?

02:25:31.550 --> 02:25:33.350
Let's say ETC hosts.

02:25:38.470 --> 02:25:41.070
I just want to see how many lines.

02:25:42.590 --> 02:25:46.870
And it says there are 14 lines in that file.

02:25:47.470 --> 02:25:50.690
In Linux, many commands on their own don't make a lot of sense.

02:25:50.750 --> 02:25:55.110
Like why would you care about this till a day you care about?

02:25:55.770 --> 02:25:59.510
There is some use and you're like, oh, I wish I could count the number of lines.

02:25:59.510 --> 02:26:03.650
For example, how many users in this system?

02:26:07.090 --> 02:26:11.170
Well, I know that this file has one line for every user.

02:26:13.950 --> 02:26:21.030
So this tells me that there are 50 users defined in the operating system.

02:26:22.710 --> 02:26:24.710
So counting can be very handy.

02:26:25.090 --> 02:26:28.890
If I want to read the file, I can use the command more or the cat.

02:26:30.050 --> 02:26:34.870
Remember, this is for text files, not PDFs, not executables.

02:26:35.510 --> 02:26:36.990
We are looking at text only.

02:26:38.170 --> 02:26:39.550
You can try this out.

02:26:40.450 --> 02:26:41.890
It doesn't work on executables.

02:26:43.330 --> 02:26:46.110
The word count, because this is for asking.

02:26:49.430 --> 02:26:51.610
So executables like binary files.

02:26:51.670 --> 02:26:52.330
This won't work.

02:26:52.350 --> 02:26:53.450
You will see a gibberish.

02:26:53.650 --> 02:26:55.230
Your terminal will kind of freeze.

02:26:55.470 --> 02:26:56.530
Happy to show you that.

02:26:57.570 --> 02:26:59.210
Let's try to cat.

02:26:59.470 --> 02:27:00.270
Don't do this.

02:27:03.330 --> 02:27:08.150
Sorry, could you could you say it again?

02:27:15.170 --> 02:27:18.530
It won't work on binary files very well.

02:27:20.410 --> 02:27:21.530
It's for text, ASCII text.

02:27:24.320 --> 02:27:28.020
Faith, after you write a couple of lines, press control D.

02:27:28.300 --> 02:27:31.040
Control D is the character for end of five.

02:27:32.820 --> 02:27:34.200
OK, thank you.

02:27:34.480 --> 02:27:35.300
That's OK.

02:27:35.480 --> 02:27:36.960
Back in a quick second.

02:27:58.740 --> 02:28:03.260
How are you?

02:28:03.520 --> 02:28:04.060
Those numbers?

02:28:04.260 --> 02:28:05.240
What are those for?

02:28:06.080 --> 02:28:08.920
Because I know how many characters are there.

02:28:09.720 --> 02:28:11.080
But the one in the four, what are you?

02:28:12.240 --> 02:28:12.620
Hello.

02:28:12.880 --> 02:28:13.420
That's true.

02:28:14.180 --> 02:28:14.560
Anyone?

02:28:15.260 --> 02:28:17.120
Sir, I'll ask again, please.

02:28:17.420 --> 02:28:17.960
What was it?

02:28:19.200 --> 02:28:20.520
On the WC, right?

02:28:20.660 --> 02:28:21.580
And then there's that sentence.

02:28:22.660 --> 02:28:27.660
I get we do the control to count the number of characters.

02:28:28.120 --> 02:28:29.620
And the total of it is 18.

02:28:30.080 --> 02:28:32.460
So what does the one in the four actually represent?

02:28:33.180 --> 02:28:35.140
Because that's where I'm lost now.

02:28:35.460 --> 02:28:37.540
Oh, the WC dash L.

02:28:37.760 --> 02:28:39.020
Or the one, the one.

02:28:39.240 --> 02:28:40.360
I don't know.

02:28:40.660 --> 02:28:41.520
The one in the four.

02:28:41.880 --> 02:28:43.060
That's what I want to understand.

02:28:43.300 --> 02:28:44.240
Because 18 I get is the number of characters.

02:28:44.260 --> 02:28:45.420
I think it's one line.

02:28:45.620 --> 02:28:46.720
It's one line.

02:28:47.200 --> 02:28:47.900
Four words.

02:28:48.540 --> 02:28:49.060
18 characters.

02:28:49.180 --> 02:28:50.060
Oh, four words.

02:28:50.180 --> 02:28:51.460
Oh, OK.

02:28:51.460 --> 02:28:55.520
So if you do it again, and maybe have multiple lines,

02:28:55.760 --> 02:28:57.020
it might return.

02:28:58.860 --> 02:29:00.640
Because I didn't get one thing.

02:29:00.880 --> 02:29:01.900
It gave me five lines.

02:29:02.020 --> 02:29:03.620
One, two, three, four, five.

02:29:03.700 --> 02:29:04.940
Oh, yeah, it should write.

02:29:05.700 --> 02:29:07.200
Because it didn't complete the other sentences.

02:29:07.580 --> 02:29:08.240
I hate it.

02:29:09.260 --> 02:29:09.520
OK.

02:29:09.740 --> 02:29:09.900
Thanks.

02:29:13.900 --> 02:29:15.380
I don't know, hey?

02:29:15.760 --> 02:29:16.040
OK.

02:29:16.160 --> 02:29:18.740
So I WC then wrote two lines.

02:29:18.740 --> 02:29:21.580
I get it.

02:29:21.580 --> 02:29:24.080
It seems to only count the last line.

02:29:24.260 --> 02:29:26.580
But I'm going to take a seat.

02:29:27.820 --> 02:29:28.360
Thank you, sir.

02:29:29.720 --> 02:29:29.800
Look.

02:29:30.180 --> 02:29:33.640
It's like a solution for the two.

02:29:35.080 --> 02:29:35.240
Cool.

02:29:35.440 --> 02:29:35.660
Hello.

02:29:36.520 --> 02:29:37.000
Yes.

02:29:37.540 --> 02:29:38.060
No, it's OK.

02:29:38.140 --> 02:29:39.300
What were you saying you counted?

02:29:40.000 --> 02:29:40.300
OK.

02:29:40.460 --> 02:29:42.100
So I ran the command.

02:29:42.460 --> 02:29:47.260
And I wrote two lines of what not.

02:29:47.260 --> 02:29:48.460
Two lines of data.

02:29:48.940 --> 02:29:51.700
And then the count only returns the last line.

02:29:53.120 --> 02:29:53.500
Is it?

02:29:54.000 --> 02:29:54.280
All right.

02:29:54.280 --> 02:29:55.400
So back with you guys.

02:29:55.740 --> 02:29:56.000
OK.

02:29:56.000 --> 02:29:59.420
It says one line, seven words, which is the total number of words.

02:29:59.460 --> 02:30:00.600
And then 39 characters.

02:30:01.240 --> 02:30:03.760
So I don't put on one line.

02:30:04.020 --> 02:30:04.900
I put on two lines.

02:30:05.200 --> 02:30:06.920
So I don't know what the one is.

02:30:07.160 --> 02:30:07.800
He's back.

02:30:08.180 --> 02:30:09.500
Maybe he will explain it better.

02:30:09.780 --> 02:30:09.940
Yes.

02:30:10.160 --> 02:30:11.080
Press Enter.

02:30:11.500 --> 02:30:12.260
Press Enter.

02:30:12.360 --> 02:30:14.180
Go to a third line.

02:30:14.180 --> 02:30:17.140
And then do the control D.

02:30:18.000 --> 02:30:19.840
What is the definition of a line?

02:30:21.360 --> 02:30:21.740
Anything after that.

02:30:22.860 --> 02:30:22.880
Anything after that.

02:30:25.900 --> 02:30:26.700
Anything after that.

02:30:27.420 --> 02:30:28.940
There is a carriage return.

02:30:29.060 --> 02:30:30.800
CR, IBM terminology.

02:30:31.180 --> 02:30:32.480
We need a carriage return.

02:30:32.680 --> 02:30:35.300
We need an enter for it to be registered as a line.

02:30:35.900 --> 02:30:38.120
So guess back in the Unix days.

02:30:39.100 --> 02:30:41.860
Administrators will edit a configuration file.

02:30:42.720 --> 02:30:45.280
Type a new line at the end of it.

02:30:45.280 --> 02:30:46.300
Save it.

02:30:46.500 --> 02:30:48.800
And the system later on will generate an error.

02:30:48.980 --> 02:30:49.680
Incomplete file.

02:30:49.740 --> 02:30:52.620
And you will read the file through the cat command.

02:30:52.680 --> 02:30:54.600
And you're like, what is incomplete about it?

02:30:54.620 --> 02:30:58.520
What it won't tell you in simple English is, hey man, just go press Enter.

02:30:58.840 --> 02:31:01.740
Now try control D.

02:31:02.400 --> 02:31:07.740
So I mean, it's improved quite a bit in the new generation of operating systems.

02:31:07.740 --> 02:31:11.960
But back in the day, this enter was...

02:31:11.960 --> 02:31:12.960
Let's put it this way.

02:31:12.960 --> 02:31:14.440
There were 10 million ways of me.

02:31:14.720 --> 02:31:20.740
So that's why often, you know, Unix administrators will look down upon the Windows administrators.

02:31:20.920 --> 02:31:23.800
And you guys are just clicky clacky.

02:31:23.800 --> 02:31:24.720
You don't know anything.

02:31:25.480 --> 02:31:26.660
So I just want to suffer.

02:31:27.160 --> 02:31:27.980
Let me suffer.

02:31:31.160 --> 02:31:34.980
Unless you know the true hierarchy of how the kernel works.

02:31:35.060 --> 02:31:36.420
You're not a true admin.

02:31:36.420 --> 02:31:37.800
Yeah, that's...

02:31:37.800 --> 02:31:39.500
Look, there is some truth to it.

02:31:39.980 --> 02:31:42.180
But then it's about being productive as well.

02:31:42.720 --> 02:31:44.080
Hopefully that answers the question.

02:31:44.220 --> 02:31:46.060
If there was a question in the first place.

02:31:47.300 --> 02:31:50.400
Yeah, I see Windows Shift Enter also get recognized.

02:31:53.040 --> 02:31:58.820
Right. So that's a little bit of cat and more and word count and all of that.

02:32:00.280 --> 02:32:05.420
Just from the file system and working from or working with text.

02:32:05.420 --> 02:32:08.980
Now, why we care so much about working with text?

02:32:09.240 --> 02:32:11.100
It's because a lot of...

02:32:11.100 --> 02:32:11.680
Not a lot.

02:32:11.780 --> 02:32:18.140
Pretty much the system configuration is spread across in text files.

02:32:19.360 --> 02:32:26.620
So back in the day, you would have to know every text file, where it is and for what purpose.

02:32:26.720 --> 02:32:29.080
What changes have to be made into it.

02:32:29.540 --> 02:32:32.420
Today, you use graphical tools to do administration.

02:32:32.480 --> 02:32:39.560
But behind the scene, many of them will go and update the actual files.

02:32:40.240 --> 02:32:47.860
Hence, you need to know how to work with the text file was an important bit.

02:32:49.860 --> 02:32:53.420
Still, to some extent, still very true.

02:32:56.620 --> 02:33:01.400
So for instance, let's have a look at this file.

02:33:06.860 --> 02:33:11.440
And this file simply has a mapping for your network engineers.

02:33:11.460 --> 02:33:15.980
So I have the IP address and the host name.

02:33:16.980 --> 02:33:17.940
Right.

02:33:20.340 --> 02:33:25.460
And if I do, let's say...

02:33:25.460 --> 02:33:27.320
I could do...

02:33:28.980 --> 02:33:35.700
Let's try the current host name that I have.

02:33:38.980 --> 02:33:42.980
Let me see if we look at the existing...

02:33:46.400 --> 02:33:47.280
Host file.

02:33:52.260 --> 02:33:53.660
That works.

02:33:54.060 --> 02:33:57.280
And if I ping DD node...

02:34:00.480 --> 02:34:02.500
That host name works as well.

02:34:02.980 --> 02:34:09.760
If I want to add another local host name entry, for that I'll have to edit that file.

02:34:09.760 --> 02:34:18.640
So working on text files is kind of an important aspect, at least from the configuration perspective.

02:34:19.500 --> 02:34:24.540
For instance, these days you're going to find some graphical editors.

02:34:25.100 --> 02:34:27.760
So let's choose like...

02:34:28.820 --> 02:34:29.220
Nano.

02:34:38.780 --> 02:34:40.880
I think it disappeared again.

02:34:41.860 --> 02:34:44.000
Is it the audio or the interface?

02:34:44.380 --> 02:34:46.940
No, it was only the audio. The interface is still there.

02:34:47.480 --> 02:34:48.820
But I can hear you again now.

02:34:49.680 --> 02:34:50.160
Okay.

02:35:00.960 --> 02:35:03.220
So I hope you can still hear me.

02:35:05.980 --> 02:35:09.740
Let me know if I am audible. A quick thumbs up would work.

02:35:11.000 --> 02:35:11.820
Yes. Yes, I can.

02:35:19.520 --> 02:35:21.060
Just a quick one.

02:35:21.620 --> 02:35:24.620
Since you access the GNU there, what did you do?

02:35:25.820 --> 02:35:27.360
The graphical editor?

02:35:28.320 --> 02:35:28.620
Yeah.

02:35:28.620 --> 02:35:29.620
Yeah, I'll just show it again.

02:35:32.180 --> 02:35:36.320
So let's say I create just an empty file.

02:35:37.180 --> 02:35:38.580
File X.

02:35:39.740 --> 02:35:42.920
I can use a graphical editor like nano.

02:35:43.040 --> 02:35:46.420
Let's say I mention nano file X.

02:35:49.020 --> 02:35:53.040
I type a few things in this.

02:35:54.640 --> 02:35:57.600
And again for others, that character means control.

02:35:58.640 --> 02:36:01.620
So control X is exit.

02:36:04.560 --> 02:36:05.640
Control K.

02:36:06.060 --> 02:36:07.400
And all of these are shortcuts.

02:36:07.600 --> 02:36:10.260
Here is a control X. Do you want to save?

02:36:11.420 --> 02:36:12.020
Yes.

02:36:13.020 --> 02:36:15.700
What's the file name? File X.

02:36:15.880 --> 02:36:18.480
And let me read that file.

02:36:19.720 --> 02:36:21.260
Okay, there's gibberish in there.

02:36:21.600 --> 02:36:23.620
But can you just do exactly what I did?

02:36:25.240 --> 02:36:26.820
Just create a blank file.

02:36:26.820 --> 02:36:31.300
Use the editor nano to open that file.

02:36:31.580 --> 02:36:33.140
Type something in.

02:36:33.160 --> 02:36:36.320
Use control X to exit save.

02:36:37.940 --> 02:36:43.680
Once you are back, just verify that the file contains that content.

02:36:45.120 --> 02:36:46.940
The nano is a friendly tool.

02:36:47.020 --> 02:36:49.660
There are many such friendly text editors.

02:36:50.620 --> 02:36:52.020
I have to be honest.

02:36:52.020 --> 02:36:54.980
I am not used to the friendly text editors.

02:36:54.980 --> 02:36:58.000
All I know is the super old school V.I.

02:36:58.100 --> 02:37:01.960
I am also not very familiar with friendly V.I.

02:37:02.340 --> 02:37:03.100
V.I.M.

02:37:03.220 --> 02:37:05.640
I feel uncomfortable in friendly editors.

02:37:05.880 --> 02:37:07.700
I am much more comfortable with V.I.

02:37:08.380 --> 02:37:10.080
But it's a matter of what do you start.

02:37:12.860 --> 02:37:15.080
Can you do like a line count with nano?

02:37:17.720 --> 02:37:19.980
There's a lot you can do with V.I. as well.

02:37:21.700 --> 02:37:23.660
Set, colon, set, N, U.

02:37:24.680 --> 02:37:26.260
Million things you can do with it.

02:37:26.500 --> 02:37:27.200
Again, V.I.

02:37:27.400 --> 02:37:30.380
The only reason someone like me would prefer V.I.

02:37:30.380 --> 02:37:33.560
Because that kind of works in every distribution that I work on.

02:37:35.120 --> 02:37:37.520
So when I used to work on Solaris, it worked there.

02:37:37.860 --> 02:37:39.180
HPUX, it worked there.

02:37:39.740 --> 02:37:42.360
Every flavor, every distribution of everything.

02:37:42.420 --> 02:37:44.780
I know that that classic tool just works.

02:37:47.900 --> 02:37:49.280
How do you save?

02:37:51.660 --> 02:37:52.620
Control X.

02:37:52.900 --> 02:37:53.400
Control X.

02:37:53.820 --> 02:37:57.220
I did that and it said people want to write their file there.

02:37:58.040 --> 02:37:59.320
And you can just say yes.

02:38:00.260 --> 02:38:00.700
Because...

02:38:00.700 --> 02:38:01.640
I don't want to overwrite it.

02:38:01.800 --> 02:38:05.020
I don't want to rename it.

02:38:05.480 --> 02:38:06.640
I didn't want to rename it.

02:38:06.680 --> 02:38:09.000
You can save buffer as an option as well.

02:38:10.040 --> 02:38:11.840
As you're working an existing file.

02:38:12.000 --> 02:38:13.000
You can just say I want to save it.

02:38:13.000 --> 02:38:15.820
Don't just tell Genevieve to try it.

02:38:20.100 --> 02:38:21.800
Just save modified file.

02:38:21.840 --> 02:38:22.920
Yes or no?

02:38:24.540 --> 02:38:26.300
I don't know why I did that.

02:38:26.540 --> 02:38:28.720
Give me that option.

02:38:32.300 --> 02:38:32.620
Yeah.

02:38:33.280 --> 02:38:34.460
I don't know why I did that.

02:38:34.560 --> 02:38:35.220
But it's fine.

02:38:35.600 --> 02:38:36.000
All right.

02:38:36.100 --> 02:38:36.840
That works for you.

02:38:36.940 --> 02:38:37.660
How about the others?

02:38:39.940 --> 02:38:41.680
Please give Nano a quick try.

02:38:41.680 --> 02:38:45.500
If you're already used to it and you use it on a daily basis then it's fine.

02:38:46.880 --> 02:38:50.300
But showing you that there are text editors nonetheless.

02:38:50.740 --> 02:38:52.900
Depending on the distribution that you're on.

02:38:53.680 --> 02:38:58.560
You might find some tool that does that for you.

02:38:59.480 --> 02:39:05.300
I suppose this is better if you're working with a file that has a lot of data, right?

02:39:05.720 --> 02:39:05.980
Yeah.

02:39:08.360 --> 02:39:09.440
You have Nano.

02:39:09.500 --> 02:39:10.580
You have Gedit.

02:39:10.580 --> 02:39:12.920
There are many tools out there.

02:39:14.100 --> 02:39:21.800
Again, they all range in the level of friendliness and then the commands that they support.

02:39:23.040 --> 02:39:23.580
So if I...

02:39:24.300 --> 02:39:24.560
Yeah.

02:39:24.560 --> 02:39:25.960
Go ahead.

02:39:29.160 --> 02:39:31.020
Which one would you recommend?

02:39:32.100 --> 02:39:33.740
Just pick the one that works for you.

02:39:33.760 --> 02:39:38.180
If you don't want to deal with a million commands, something like Nano and Gedit will be just fine.

02:39:39.620 --> 02:39:41.880
I can give you an example.

02:39:42.060 --> 02:39:43.300
If I work on...

02:39:43.300 --> 02:39:44.920
I don't know if you can see my screen.

02:39:45.020 --> 02:39:46.320
If I work on VI.

02:39:47.860 --> 02:39:51.000
First I have to type I to insert something, right?

02:39:51.840 --> 02:39:52.360
Yeah.

02:39:55.320 --> 02:39:58.280
Let's say I accidentally said today is 91st.

02:39:58.280 --> 02:40:02.640
But what I wanted to say was today is 19th.

02:40:03.840 --> 02:40:10.740
Here I can easily work.

02:40:12.260 --> 02:40:13.340
Go here.

02:40:13.580 --> 02:40:14.100
Escape.

02:40:14.480 --> 02:40:14.840
XP.

02:40:14.980 --> 02:40:19.540
I can just quickly transpose if I need to.

02:40:21.060 --> 02:40:23.600
How many people need to switch the two characters?

02:40:27.480 --> 02:40:28.880
I want to make this 32.

02:40:30.200 --> 02:40:31.640
Yeah, I can.

02:40:32.800 --> 02:40:35.700
I have many tricks in VI.

02:40:39.320 --> 02:40:42.780
But then, well, not everybody needs those tricks.

02:40:45.340 --> 02:40:47.680
So let's get out of here.

02:40:47.880 --> 02:40:48.460
First command.

02:40:48.880 --> 02:40:52.260
So please pick a text editor that you are comfortable with.

02:40:55.360 --> 02:40:57.280
I'm not sure that this is a Gedit.

02:40:57.440 --> 02:40:59.280
But you can install some of these.

02:40:59.640 --> 02:41:03.760
But because Nano is already there, that kind of fits the bill.

02:41:04.700 --> 02:41:08.520
So various different text editors can come in.

02:41:12.200 --> 02:41:14.060
Is this the time for lunch?

02:41:14.720 --> 02:41:17.760
Or we are on the 26th or 27th minute?

02:41:29.940 --> 02:41:33.060
On that note, it's 30 minutes.

02:41:38.260 --> 02:41:42.760
I can see you guys enjoy meetings quite a bit.

02:41:59.810 --> 02:42:02.310
So we take a break now.

02:42:02.310 --> 02:42:08.270
I think by now we have a fundamental level of comfort just working around in the system.

02:42:08.270 --> 02:42:10.030
We come back, we look at more commands,

02:42:10.030 --> 02:42:14.430
other things on the command line that make our life a little bit easier.

02:42:15.730 --> 02:42:20.230
Please ask me as I will not be coming back.

02:42:20.750 --> 02:42:23.310
Hopefully I will, but it's not looking good.

02:42:24.750 --> 02:42:25.670
So enjoy guys.

02:42:27.270 --> 02:42:27.470
All right.

02:42:28.690 --> 02:42:30.730
When are we coming back in typically?

02:42:30.990 --> 02:42:32.930
Is it 45 minutes?

02:42:32.930 --> 02:42:34.890
Usually an hour.

02:42:34.890 --> 02:42:38.630
All right.

02:42:38.690 --> 02:42:40.610
Nobody's saying anything, so it's 45 minutes.

02:42:41.350 --> 02:42:43.330
No, I said usually an hour.

02:42:44.430 --> 02:42:45.730
I said usually an hour.

02:42:46.030 --> 02:42:46.910
Ah, fair enough.

02:42:47.110 --> 02:42:49.790
Are you taking advantage of the fact that I don't know?

02:42:51.490 --> 02:42:51.810
No.

02:42:54.890 --> 02:42:56.470
We do that with us.

02:42:59.190 --> 02:43:01.570
Oh, my goodness.

02:43:02.930 --> 02:43:04.330
It's in the SLA, is it?

02:43:04.830 --> 02:43:05.070
Okay.

02:43:06.910 --> 02:43:07.870
All right.

02:43:07.970 --> 02:43:09.350
It's part of our KPIs.

02:43:09.570 --> 02:43:10.330
It all goes on.

02:43:10.670 --> 02:43:11.450
I get it.

02:43:11.630 --> 02:43:13.750
I get it.

02:43:14.310 --> 02:43:14.730
Okay.

02:43:14.910 --> 02:43:15.790
See you in an hour.

02:43:16.070 --> 02:43:20.010
I live and breathe in the same space that you guys do.

02:43:20.010 --> 02:43:23.850
All right.

02:43:23.970 --> 02:43:24.850
See you guys.

02:43:25.150 --> 02:43:25.750
See you in an hour.

02:43:30.390 --> 02:43:32.150
I'll probably sign in again later.

02:43:33.830 --> 02:43:35.230
Yep.

02:43:35.650 --> 02:43:36.770
Make sense.

02:43:49.330 --> 02:43:51.110
I'll be correct.

02:43:52.830 --> 02:44:01.630
I'll be correct.

02:44:01.630 --> 02:44:02.090
I'll be correct.

02:44:02.090 --> 02:44:08.090
All right.

02:44:08.090 --> 02:44:11.090
All right.

02:44:11.970 --> 02:44:12.370
All right.

02:44:12.570 --> 02:44:13.310
Oh, my goodness.

02:44:41.890 --> 02:44:43.290
I

02:44:43.310 --> 02:44:44.610
The delivery and installation press one.

02:44:45.070 --> 02:44:46.990
The follow-up press two.

02:44:47.290 --> 02:44:50.210
The request for repair press one.

02:44:50.490 --> 02:44:53.410
The delivery and installation press two.

02:45:13.490 --> 02:45:15.810
How did it come so fast?

02:45:17.050 --> 02:45:19.710
It was our film trip today.

02:45:21.590 --> 02:45:24.510
But now it comes on its own, so it's not fast to bring it.

02:45:24.710 --> 02:45:25.690
Where is the dresser?

02:45:25.990 --> 02:45:26.490
Is it in the washroom?

02:45:26.870 --> 02:45:27.430
Yes.

02:46:02.930 --> 02:46:05.750
Oh, it's cold.

02:46:07.150 --> 02:46:08.330
Surprise?

02:46:10.310 --> 02:46:10.830
Surprise?

02:46:13.210 --> 02:46:15.690
And there were only four children in the bus.

02:46:15.910 --> 02:46:16.270
Really?

02:46:16.550 --> 02:46:18.530
What do you mean?

02:46:19.530 --> 02:46:20.510
Like, there were only four children.

02:46:20.570 --> 02:46:21.910
There were four children in the film trip?

02:46:22.390 --> 02:46:23.610
No, there were four children in the bus.

02:46:24.270 --> 02:46:25.730
I have to take you guys there.

02:46:25.870 --> 02:46:26.710
Yeah, that's fine.

02:46:27.270 --> 02:46:28.730
Can you please wash your face?

02:46:29.190 --> 02:46:30.070
I need water.

02:46:30.650 --> 02:46:31.450
Good job.

02:46:31.450 --> 02:46:42.230
The most funny and insane thing in the history happened to me.

02:46:42.590 --> 02:46:45.070
And everyone had it in their heads.

02:47:04.390 --> 02:47:07.830
It was practically three for the whole day.

02:47:08.310 --> 02:47:11.410
She was not to make a study and she was outside and she didn't care.

02:47:12.610 --> 02:47:17.150
Like, me, Ethan and Pernika were playing ball in the corridor.

02:47:18.430 --> 02:47:22.470
She didn't go in the corridor because in the fourth grade, I think some teachers had to meet him.

02:47:22.850 --> 02:47:25.130
So we weren't allowed to go there.

02:47:25.730 --> 02:47:26.210
No.

02:47:34.570 --> 02:47:36.650
I don't want to go to the park.

02:47:37.910 --> 02:47:38.430
Will you come?

02:47:42.830 --> 02:47:44.010
Can I take auntie in?

02:47:44.470 --> 02:47:45.630
Yeah, put auntie in.

02:47:47.130 --> 02:47:48.530
She also needs to know.

02:47:49.710 --> 02:47:51.410
But you won't come first, you'll eat and then go.

02:47:59.250 --> 02:48:03.390
So Pernika and Ethan were playing in the corridor.

02:48:04.990 --> 02:48:08.570
So Pernika threw it and it hit Ethan's head.

02:48:10.750 --> 02:48:12.590
It hit here.

02:48:13.470 --> 02:48:15.590
It was so high that it bounced off.

02:48:16.170 --> 02:48:19.150
And it hit Roy sir, the sixth grade super white.

02:48:19.910 --> 02:48:22.110
It hit his ear.

02:48:22.750 --> 02:48:24.270
And they were like, who did that?

02:48:24.270 --> 02:48:29.310
And he went down to pick up the ball and his trousers split.

02:48:30.510 --> 02:48:34.870
It was so hilarious that his trousers split.

02:48:35.130 --> 02:48:36.170
Then we ran.

02:48:36.790 --> 02:48:42.030
We went to the staff room and we couldn't stop laughing and laughing.

02:48:42.310 --> 02:48:47.390
And then when we came back to class, I was like, why are you in the same grade class?

02:48:47.850 --> 02:48:49.650
I was like, why are you laughing so much?

02:48:50.650 --> 02:48:53.330
Till you wash and come, I'm not discussing anything.

02:48:53.330 --> 02:48:56.330
So I have to do my night right now.

02:48:58.950 --> 02:49:01.150
Then you promise I can go to the park before eating.

02:49:01.890 --> 02:49:02.350
Before eating?

02:49:02.810 --> 02:49:02.990
Yeah.

02:49:03.850 --> 02:49:04.750
Did you eat anything?

02:49:05.350 --> 02:49:06.230
Did you take anything with you?

02:49:06.750 --> 02:49:07.270
Yes.

02:49:07.650 --> 02:49:08.250
What did you take?

02:49:08.510 --> 02:49:09.330
I didn't take anything with me.

02:49:09.650 --> 02:49:11.950
And I also had to go to the park with the staff.

02:49:12.930 --> 02:49:13.230
Okay.

02:49:13.950 --> 02:49:14.470
Do one thing.

02:49:15.070 --> 02:49:15.550
Wash your hands.

02:49:16.210 --> 02:49:17.190
I'm not following you.

02:49:18.030 --> 02:49:18.550
Wash your hands.

02:49:18.650 --> 02:49:19.910
Take auntie and play.

02:49:20.530 --> 02:49:21.150
Come and take a bath.

02:49:21.770 --> 02:49:22.270
Okay.

02:49:24.650 --> 02:49:28.270
First, you check if auntie is free or not.

02:49:31.570 --> 02:49:33.370
Until then auntie will eat and then you can take it.

02:49:35.670 --> 02:49:36.990
You go change your clothes.

02:49:41.610 --> 02:49:42.330
Okay.

02:49:48.570 --> 02:49:49.290
Listen.

02:49:49.690 --> 02:49:50.550
Let auntie eat first.

02:49:51.070 --> 02:49:52.190
You go after 10 minutes.

02:49:52.410 --> 02:49:53.370
Let her have her food.

02:49:53.370 --> 02:49:53.810
Okay.

02:50:02.370 --> 02:50:03.250
Hmm.

02:50:36.910 --> 02:50:38.310
Okay.

02:51:23.370 --> 02:51:24.370
Yes, kid?

02:51:42.470 --> 02:51:46.910
What is this?

02:51:47.090 --> 02:51:47.790
To change clothes?

02:51:47.790 --> 02:51:48.450
To change clothes?

02:51:51.050 --> 02:51:52.130
I'll be back in a little while.

02:51:52.230 --> 02:51:53.770
Give me five minutes.

02:52:11.430 --> 02:52:12.710
I need a little gap.

02:52:13.770 --> 02:52:14.250
Okay.

02:52:14.250 --> 02:52:16.710
I'll be back in a little while.

02:52:44.250 --> 02:52:47.350
Just two days after placing my order on Amazon,

02:52:47.790 --> 02:52:52.550
a friend membership expedited the delivery of the Samsung's latest masterpiece,

02:52:53.230 --> 02:52:56.510
the 2024 65-inch frame TV.

02:52:57.490 --> 02:52:58.350
The best part?

02:52:58.590 --> 02:53:03.590
I got it for $2,000 Canadian, saving a cool $499.

02:53:04.370 --> 02:53:06.770
The One Connect box is a game changer.

02:53:07.450 --> 02:53:10.990
By moving all the ports and connections to this external box,

02:53:10.990 --> 02:53:15.710
Samsung has slimmed down the TV to a mere 24.9 millimeter.

02:53:15.930 --> 02:53:24.350
It has four HDMI 2.1 ports for the latest gaming consoles like PS5 and Xbox Series S.

02:53:26.190 --> 02:53:32.030
An ethernet port, a quarantine input, an optical audio out for connecting a soundbar,

02:53:32.170 --> 02:53:33.770
and two USB ports.

02:53:34.090 --> 02:53:39.070
The included fiber optic cable is only five meters long and isn't rated for in-wall use.

02:53:39.070 --> 02:53:43.470
For in-wall installation, Samsung sells a longer and in-wall rated cable.

02:53:43.770 --> 02:53:45.970
Next we have the SlimFit wall mount.

02:53:46.810 --> 02:53:50.230
Mounting it isn't the most exciting part, but Samsung makes it easy.

02:53:50.910 --> 02:53:55.490
First, attach the brackets to the back of the TV with the provided screws.

02:53:56.050 --> 02:53:56.830
They are too long.

02:53:57.490 --> 02:54:00.910
Longer screw for the use with the spacers if your wall isn't flush,

02:54:01.630 --> 02:54:03.590
and the shorter screws for flush walls.

02:54:04.410 --> 02:54:08.030
The bracket might seem loose, but that's intentional for flexibility.

02:54:15.850 --> 02:54:19.130
Mount the wall bracket using the provided template.

02:54:19.690 --> 02:54:23.010
Connect T1 and T2 based on your TV sizes,

02:54:23.730 --> 02:54:26.270
tip it to the wall, and mark the start point.

02:54:27.370 --> 02:54:29.330
Use a start finder if necessary.

02:54:30.530 --> 02:54:33.110
Drill pilot holes, ensuring they are level,

02:54:33.290 --> 02:54:35.690
and attach the wall bracket with the provided screws.

02:54:35.690 --> 02:54:42.690
In my case, I used a magnetic laser level to make sure that the bracket was leveled.

02:54:43.870 --> 02:54:48.410
The end-to-end bracket length for a 65-inch TV is 42 inches,

02:54:48.730 --> 02:54:53.190
which you can confirm from using the template or by measuring the TV bracket.

02:54:53.910 --> 02:54:58.050
I also installed a 14-inch structured media enclosure from Leviton

02:54:58.050 --> 02:55:00.990
behind the TV to house the One Connect box,

02:55:01.410 --> 02:55:04.890
with power and two ethernet cables for a wired connection.

02:55:04.890 --> 02:55:08.650
I prefer admiring my devices whenever possible.

02:55:09.750 --> 02:55:13.790
Before mounting, I placed the One Connect box in the recessed enclosure,

02:55:14.390 --> 02:55:17.530
connected all the wires, and installed my Apple TV box.

02:55:18.310 --> 02:55:24.870
I also ran an HDMI cable through a PVC flex for easy future connections without removing the TV.

02:55:26.730 --> 02:55:28.230
Then we mounted the TV.

02:55:29.030 --> 02:55:30.750
The bracket works like a picture frame.

02:55:30.750 --> 02:55:36.210
Without these two people, lift the TV, align the wall and the TV bracket,

02:55:36.850 --> 02:55:40.370
connect the power cable, and place the hook into the wall bracket.

02:55:41.490 --> 02:55:45.270
There's a magnetic piece between the wall bracket and the TV

02:55:45.270 --> 02:55:48.530
that ensures that the TV sits flush against the wall.

02:56:03.050 --> 02:56:04.670
So you sit there and...

02:56:04.670 --> 02:56:07.450
I'm trying to do a video of that, but you don't remember that.

02:56:07.810 --> 02:56:09.750
So you step on it, and you have to just...

02:56:10.390 --> 02:56:12.810
And then you look at it, and say, I'm gonna do this one.

02:56:13.270 --> 02:56:15.810
Oh, these are literally all the people falling over.

02:56:16.510 --> 02:56:17.370
Oh, that's perfect.

02:56:18.230 --> 02:56:19.510
I tried to do a video and...

02:56:19.510 --> 02:56:21.530
No, it's like you want to go around and mess it up.

02:56:22.630 --> 02:56:23.050
It's so...

02:56:23.050 --> 02:56:24.490
Oh, video, video, video, video.

02:56:24.590 --> 02:56:27.750
Like you just sit around this, and then you go...

02:56:28.750 --> 02:56:29.510
Let's do it again.

02:56:30.570 --> 02:56:31.850
Falling over.

02:56:37.450 --> 02:56:40.250
And then...

02:56:45.370 --> 02:56:46.770
Yeah.

02:57:19.310 --> 02:57:20.710
Sir?

02:57:21.810 --> 02:57:22.210
Hello?

02:57:24.010 --> 02:57:24.170
Sir?

02:57:29.170 --> 02:57:29.750
Hello?

02:58:05.630 --> 02:58:07.030
Okay.

02:58:21.310 --> 02:58:24.850
Brand new tiles, son.

02:58:24.850 --> 02:58:27.970
You have some sense of responsibility towards your house, right?

02:59:02.550 --> 02:59:05.970
The general recommendation for TV mounting eyes

02:59:05.970 --> 02:59:08.950
is at the center of the screen at eye level.

02:59:13.350 --> 02:59:14.070
When...

02:59:16.190 --> 02:59:18.030
You'll tie your hair up.

02:59:18.130 --> 02:59:18.910
This won't work.

02:59:25.130 --> 02:59:27.930
Last time, we already went to play one,

02:59:28.070 --> 02:59:30.910
but that day, I didn't want to stick it on them.

02:59:32.110 --> 02:59:33.770
I had to pull it.

02:59:34.130 --> 02:59:35.610
That's why I didn't want to pull it.

02:59:36.510 --> 02:59:38.850
You know why I love you, when you hold me in your arms?

02:59:39.890 --> 02:59:41.950
Because you told us when I was younger,

02:59:42.290 --> 02:59:43.890
when I was young, you were only five.

02:59:45.310 --> 02:59:46.310
Now you're even five.

02:59:47.390 --> 02:59:49.010
You're only five.

02:59:50.330 --> 02:59:51.450
I'm five years old.

02:59:52.230 --> 02:59:52.910
But I'm six.

02:59:52.910 --> 02:59:53.750
Is it?

03:00:25.850 --> 03:00:27.250
Okay.

03:01:09.410 --> 03:01:10.810
Okay.

03:01:24.010 --> 03:01:33.770
It's not always a term used in the right sense

03:01:33.770 --> 03:01:37.650
as it could be considered as rude.

03:01:38.570 --> 03:01:42.030
It's like a girl who's a little bit more boyish in behavior.

03:01:42.990 --> 03:01:45.790
Yeah, because if my friend told me that I was a tomboy,

03:01:45.830 --> 03:01:47.190
I would like to take football and basketball

03:01:47.190 --> 03:01:48.910
and keep on getting hurt.

03:01:48.910 --> 03:01:50.070
That's it.

03:01:52.570 --> 03:01:57.230
We need to learn how to just ignore...

03:03:07.610 --> 03:03:10.690
In the morning, in the morning.

03:03:11.250 --> 03:03:12.070
11 o'clock in the morning.

03:03:30.930 --> 03:03:37.550
What have I told you about touching anybody's screen now?

03:03:45.330 --> 03:03:47.350
He was trying to get out of there, on the top.

03:03:50.510 --> 03:03:51.510
Blue color.

03:04:03.410 --> 03:04:05.770
And she's calling others.

03:04:07.690 --> 03:04:08.210
Come, come, come.

03:04:09.970 --> 03:04:12.070
And in that circle, another one came.

03:04:13.150 --> 03:04:14.550
It was such a poor thing to come out.

03:04:14.590 --> 03:04:16.690
She was so disappointed when it came down.

03:04:18.910 --> 03:04:21.350
Why is it disappointed or disappointed?

03:04:22.610 --> 03:04:23.490
It would be like...

03:04:23.490 --> 03:04:24.250
Disappointed.

03:04:25.310 --> 03:04:26.570
It would be like this. Look.

03:04:27.670 --> 03:04:28.910
See, like this.

03:04:31.070 --> 03:04:33.450
And then you see the second one join the first one.

03:04:33.950 --> 03:04:34.670
One and two.

03:04:36.750 --> 03:04:37.370
Look at them.

03:04:37.790 --> 03:04:40.850
One, two, three, four.

03:04:40.950 --> 03:04:41.930
And he was a reflection.

03:04:44.550 --> 03:04:46.190
It's the funniest thing I ever saw.

03:04:46.290 --> 03:04:47.190
They were sitting together.

03:04:47.190 --> 03:04:49.130
This one took off.

03:04:49.530 --> 03:04:52.250
And the girl took it from the back and went down.

03:04:55.790 --> 03:04:58.210
The video from the back.

03:04:58.890 --> 03:05:01.370
Try going up and down. The door is open.

03:05:03.110 --> 03:05:04.430
I said, brother.

03:05:04.790 --> 03:05:05.470
Look down a little.

03:05:07.090 --> 03:05:08.210
It won't come down.

03:05:10.890 --> 03:05:13.390
Both of them kept trying to go from the top.

03:05:18.310 --> 03:05:20.090
Like a human being.

03:05:21.230 --> 03:05:23.690
But it could've been smarter than us, to be honest.

03:05:25.670 --> 03:05:26.410
But it could've been better.

03:05:28.210 --> 03:05:29.290
He sat down from the top.

03:05:30.690 --> 03:05:31.690
Did you give them water?

03:05:32.170 --> 03:05:33.310
I gave them water.

03:05:33.630 --> 03:05:34.670
It's not coming down only.

03:05:35.310 --> 03:05:36.110
Look at both of them.

03:05:37.110 --> 03:05:38.690
I wonder how we get out.

03:05:42.130 --> 03:05:42.670
Well...

03:05:42.670 --> 03:05:44.090
It's 30 centimeters down.

03:05:44.770 --> 03:05:46.130
And the door is completely open.

03:05:46.130 --> 03:05:47.970
He's been sitting inside for three hours.

03:05:49.290 --> 03:05:50.590
How do we get out?

03:05:50.810 --> 03:05:51.490
How do we get out?

03:05:52.470 --> 03:05:54.110
What do we do? How do we get out?

03:05:54.690 --> 03:05:55.250
He's gone.

03:05:57.950 --> 03:05:59.390
The meeting has started.

03:06:04.730 --> 03:06:07.730
You have to charge your phone and then go out on your own.

03:06:07.810 --> 03:06:08.550
That's not happening.

03:06:09.170 --> 03:06:09.970
Will you go with your auntie?

03:06:11.630 --> 03:06:14.150
You can charge your phone and then go.

03:06:18.110 --> 03:06:18.830
Dad!

03:06:23.450 --> 03:06:38.570
I'll tell you a funny thing that happened in my school.

03:06:39.530 --> 03:06:41.130
Suri went to the real park.

03:06:42.910 --> 03:06:43.530
Huh?

03:06:46.130 --> 03:06:57.570
How do you walk the floor?

03:07:00.330 --> 03:07:01.730
He's OK.

03:07:01.930 --> 03:07:03.330
He's lying down.

03:07:05.130 --> 03:07:07.550
Damn it.

03:09:34.570 --> 03:09:36.810
Lovely, thanks for letting me in.

03:09:37.010 --> 03:09:37.750
Welcome back.

03:09:38.510 --> 03:09:38.910
Hello.

03:09:39.510 --> 03:09:39.710
Welcome back.

03:09:43.650 --> 03:09:46.710
So, welcome you guys.

03:09:50.710 --> 03:09:51.910
So, welcome guys.

03:09:52.550 --> 03:09:56.130
Uh so, you're the one who's letting us in.

03:09:56.530 --> 03:10:03.690
Yes, I'm thinking, the whole people that think was come to me.

03:10:04.830 --> 03:10:09.650
I don't see KG, I think maybe he should be joining in a while, Nishu.

03:10:10.470 --> 03:10:13.590
Just give a few minutes for others to be here.

03:10:15.630 --> 03:10:19.230
I recorded, but need to drop for a while.

03:10:20.270 --> 03:10:20.610
Okay.

03:10:21.330 --> 03:10:23.150
We can give just a few minutes.

03:10:25.710 --> 03:10:28.830
So now we are left with Faith and Austin.

03:10:28.930 --> 03:10:29.990
Faith, you're around.

03:10:33.670 --> 03:10:35.830
Yes, I'm here.

03:10:36.930 --> 03:10:39.930
Is everyone here from Cape Town, Joburg, where are you from?

03:10:40.070 --> 03:10:42.450
I'm from Joburg.

03:10:42.870 --> 03:10:43.850
Is that the one?

03:10:45.090 --> 03:10:46.730
From Cape Town.

03:10:47.430 --> 03:10:48.890
Coffee time, Faith, coffee time.

03:10:49.230 --> 03:10:50.550
We just came from lunch.

03:10:52.870 --> 03:10:56.830
I was busy with some work, I didn't get a chance to go on lunch.

03:10:58.470 --> 03:11:01.370
Lunch breaks are for meetings without eating.

03:11:04.130 --> 03:11:07.230
Yeah, they're for meetings without eating.

03:11:11.690 --> 03:11:15.150
It's literally the time to just get work done, I can imagine.

03:11:17.670 --> 03:11:19.830
It's when you are in that matrix, right?

03:11:19.830 --> 03:11:24.430
You're in a call while you're on another call and now you can't keep track of which calls you're in.

03:11:24.430 --> 03:11:26.850
I can relate.

03:11:28.150 --> 03:11:29.190
What was for lunch?

03:11:31.430 --> 03:11:33.570
For those who ate, Austin?

03:11:34.870 --> 03:11:36.410
Lunch is just the name of the time.

03:11:40.650 --> 03:11:42.890
There's no contract, is it?

03:11:45.210 --> 03:11:47.910
The contract is lunch break will be provided.

03:11:48.210 --> 03:11:49.410
Lunch is not guaranteed.

03:11:49.490 --> 03:11:50.930
Terms and conditions apply.

03:11:50.930 --> 03:11:52.170
Yes.

03:11:53.190 --> 03:11:55.570
You have that one hour.

03:11:56.290 --> 03:12:02.170
Like people say, that one hour you don't even enjoy it.

03:12:02.850 --> 03:12:07.190
It's just time to get other things done with people running after you.

03:12:08.030 --> 03:12:12.410
It's always difficult, I understand that, because nobody cares, you're in a training.

03:12:17.270 --> 03:12:19.650
You're not at home.

03:12:23.350 --> 03:12:27.690
I think you should be joining in a few minutes.

03:12:27.850 --> 03:12:28.590
Sure, lovely.

03:12:28.810 --> 03:12:30.170
That sounds good.

03:12:32.030 --> 03:12:33.970
Share my environment.

03:12:43.210 --> 03:12:47.410
Let's see as people come in.

03:12:47.910 --> 03:12:49.530
All right, Karamang is back.

03:12:49.610 --> 03:12:51.030
Welcome back.

03:12:53.910 --> 03:12:55.910
Thank you, thank you.

03:12:59.070 --> 03:12:59.910
That's all right.

03:13:00.050 --> 03:13:02.110
We'll just give everybody a few minutes.

03:13:03.330 --> 03:13:04.710
We might get one more.

03:13:04.990 --> 03:13:05.630
Give me a second.

03:13:05.850 --> 03:13:06.870
Hold on, hold on.

03:13:06.870 --> 03:13:07.470
Yes.

03:13:09.330 --> 03:13:10.390
I can't see right now.

03:13:10.630 --> 03:13:11.450
What's your name?

03:13:18.410 --> 03:13:20.590
I'll be back.

03:13:20.770 --> 03:13:21.430
Give me five seconds.

03:13:32.130 --> 03:13:33.970
All right.

03:13:35.130 --> 03:13:39.030
Hopefully others will just join in.

03:13:39.430 --> 03:13:58.970
Let me share a couple of tips and tricks.

03:13:59.430 --> 03:14:02.330
Where is my screen?

03:14:02.410 --> 03:14:03.550
Hopefully this one.

03:14:03.730 --> 03:14:04.150
Okay.

03:14:04.490 --> 03:14:07.210
If you could confirm that you can see the screen.

03:14:12.850 --> 03:14:18.010
We were looking at, you know, the different ways to interact with the command line.

03:14:18.210 --> 03:14:28.050
And what I want to share now is actually some of the common tricks on the command line that generally help when you're working onto the system.

03:14:28.050 --> 03:14:34.670
We saw earlier that we could like take multiple commands.

03:14:35.910 --> 03:14:37.350
Let's take date.

03:14:38.470 --> 03:14:39.310
Who am I?

03:14:39.330 --> 03:14:40.050
That was great.

03:14:40.170 --> 03:14:43.530
We could take multiple commands and run them together.

03:14:44.150 --> 03:14:48.390
But there are a few other things related to how to work on the command line.

03:14:49.070 --> 03:14:51.010
And this might come in very handy.

03:14:51.010 --> 03:14:56.410
Probably the very first concept is running things in the foreground and background.

03:14:56.590 --> 03:14:58.990
And there are many tricks around it.

03:14:59.130 --> 03:15:00.130
Let's just give it a try.

03:15:00.310 --> 03:15:07.830
If I run the command jobs right now, it kind of tells me that there are currently no jobs running.

03:15:08.370 --> 03:15:11.610
What it is talking about is in the background.

03:15:12.210 --> 03:15:19.170
Typically what might happen is some commands that take long time to execute something.

03:15:19.170 --> 03:15:25.630
For example, if I use the command find and I'm looking for a file.

03:15:31.750 --> 03:15:36.550
Now, this command can take quite some time to execute, right?

03:15:36.550 --> 03:15:40.090
Because I'm doing a search across the entire system.

03:15:41.070 --> 03:15:45.710
Now, while the command is going on, I don't have access to my terminal.

03:15:46.590 --> 03:15:50.730
Because the system itself is keeping the terminal busy.

03:15:50.870 --> 03:15:52.010
Anyone knows?

03:15:52.670 --> 03:15:54.590
How do you deal with such a situation?

03:15:57.930 --> 03:15:59.470
So which situation?

03:16:00.210 --> 03:16:10.750
So you want to execute a command, but you want to keep the terminal available to you to do other things while that command is working in the background.

03:16:12.110 --> 03:16:16.810
I'm going to say, are you executing it using a script or what?

03:16:17.590 --> 03:16:21.130
Yeah, not even as a script, just on a normal command line.

03:16:21.470 --> 03:16:23.850
So let me explain what do I mean.

03:16:24.290 --> 03:16:28.270
One way to explain this is to use a simple command like sleep.

03:16:28.290 --> 03:16:32.370
Because as I mentioned earlier, literally all it does is just sleep.

03:16:32.450 --> 03:16:36.150
You use this in script sometimes to just pause for a while.

03:16:36.150 --> 03:16:44.110
So for instance, if I ask the terminal to sleep for five seconds, you can see it keeps the terminal busy for five seconds.

03:16:44.510 --> 03:16:45.670
Now, this could be any command.

03:16:45.690 --> 03:16:46.370
Doesn't matter.

03:16:46.770 --> 03:16:50.150
But here the command took five seconds, for instance, to complete.

03:16:51.250 --> 03:16:56.190
If I did ten and replace with any other command that takes some time.

03:16:57.170 --> 03:17:00.030
Now, right now, the terminal is not really available to me.

03:17:01.910 --> 03:17:05.070
The terminal is available to me once the command is done.

03:17:05.070 --> 03:17:07.970
So let's say if I say a command that takes forever.

03:17:09.650 --> 03:17:14.390
At this point in time, if I write who am I has entered, nothing is going to happen.

03:17:18.310 --> 03:17:22.010
Because it's busy executing that command first.

03:17:24.430 --> 03:17:28.210
So some cases where we don't want to wait, we can abort.

03:17:29.110 --> 03:17:30.990
We saw control C earlier.

03:17:32.110 --> 03:17:33.850
But that's not the ideal situation.

03:17:33.850 --> 03:17:35.770
I don't want to abort the running command.

03:17:36.150 --> 03:17:40.050
So what I want to explain to you is there are things running in the foreground.

03:17:40.170 --> 03:17:43.110
There are things that could be running in the background.

03:17:43.230 --> 03:17:47.750
And I want to help you understand how to work with that.

03:17:48.830 --> 03:17:57.630
Step number one, just keeping a command running as you execute it, running it in the background.

03:17:57.850 --> 03:17:59.010
So what do I mean by that?

03:17:59.010 --> 03:18:02.450
I take a command like this.

03:18:04.150 --> 03:18:11.710
And if I know that this is going to take time and I need my terminal, I put an M percent sign.

03:18:12.490 --> 03:18:19.230
I want you to notice that now when I did the sleep command, the terminal is available to me right now.

03:18:19.810 --> 03:18:21.250
I can continue to work.

03:18:21.250 --> 03:18:29.070
And if I write the command jobs, you notice something is in the background and it is running.

03:18:31.090 --> 03:18:40.010
And whatever is running in the background might finish someday at some point in time, depending on what that is.

03:18:40.850 --> 03:18:43.770
In my case, I have set sleep for 50 seconds.

03:18:43.770 --> 03:18:46.430
At some point in time, that command will complete.

03:18:48.070 --> 03:18:50.290
And let's see if the job is still there.

03:18:50.290 --> 03:18:52.410
Can I request you to please try this out?

03:18:52.870 --> 03:18:57.810
This is running a command in the background, making sure the terminal is available to us.

03:19:02.890 --> 03:19:07.050
You might notice now the job is done and now it's clean.

03:19:07.450 --> 03:19:10.710
This is exactly what I want you to see.

03:19:17.090 --> 03:19:20.710
And Austin, if you just say five years, it's going to disappear very quickly.

03:19:22.670 --> 03:19:24.250
The command itself won't.

03:19:24.470 --> 03:19:26.790
No, that was the point.

03:19:27.730 --> 03:19:29.190
I just wanted to check something.

03:19:29.630 --> 03:19:35.950
So I'm thinking now, in what instance would you need this to be sleeping?

03:19:35.950 --> 03:19:39.670
Unless you're running a very long command.

03:19:40.490 --> 03:19:43.750
Yes, so the point here is not to you.

03:19:43.970 --> 03:19:45.970
The point is not of the command sleep.

03:19:46.410 --> 03:19:52.090
Actually, the command sleep here is just simulating here for us something that takes time to execute.

03:19:52.970 --> 03:19:53.530
That's it.

03:19:53.950 --> 03:19:59.790
So the idea is you could be running any command that just takes long, long time.

03:19:59.790 --> 03:20:05.790
And for me to simulate a command that takes long time is a command sleep because it literally does nothing but just take time.

03:20:11.830 --> 03:20:18.910
So which parameters would you use if you are running a different procedure or something?

03:20:20.450 --> 03:20:25.230
Would you still have to specify the time and the end?

03:20:25.230 --> 03:20:30.950
Any command that you execute, just put M percent at the back of it.

03:20:31.550 --> 03:20:34.510
The command will execute, but in the background.

03:20:34.710 --> 03:20:37.170
So your terminal is free for you.

03:20:37.970 --> 03:20:39.330
Oh, OK.

03:20:39.470 --> 03:20:40.270
OK, now that's fine.

03:20:40.450 --> 03:20:41.070
That's not it.

03:20:42.590 --> 03:20:53.770
You know, sometimes you'll be using commands for so long whenever you want to do something, but not necessarily understanding exactly what that actually is.

03:20:54.690 --> 03:20:58.670
This is one of the pieces that I've used multiple times.

03:21:03.950 --> 03:21:06.930
I can see it's working for others, Keruman.

03:21:07.250 --> 03:21:11.090
So the job kind of sleeps, sleeps and then, you know, it just disappears.

03:21:11.150 --> 03:21:18.230
So this is if you knew when you started the command that you wanted it to run in the background.

03:21:18.310 --> 03:21:19.810
But that's not always the case.

03:21:21.450 --> 03:21:24.670
Sometimes we just execute a command.

03:21:28.730 --> 03:21:34.630
And then we sit there waiting and we're like, ah, now I don't want to kill this.

03:21:34.750 --> 03:21:37.450
If I wanted to kill it, I'll just do control C.

03:21:39.090 --> 03:21:42.090
So instead of that, I'm going to do control Z.

03:21:43.990 --> 03:21:47.390
The difference here is it has sent the command that was running.

03:21:48.070 --> 03:21:50.470
It has sent it to the background.

03:21:51.230 --> 03:21:54.590
The foreground is available to me to do whatever I want.

03:21:54.790 --> 03:21:58.970
But actually, in the background, that process isn't running.

03:21:59.730 --> 03:22:03.310
It's just been sent back and paused.

03:22:03.730 --> 03:22:05.190
So I can continue to work.

03:22:05.570 --> 03:22:14.570
I have the terminal available to me, but I probably at some point in time want to run what's what's sitting there in the background.

03:22:14.570 --> 03:22:17.810
So I can use the command BG.

03:22:17.970 --> 03:22:21.750
I'm hoping it works the same way on Ubuntu as well.

03:22:22.110 --> 03:22:25.030
And you see that number one job number one.

03:22:26.090 --> 03:22:29.130
I can just mention percentage one.

03:22:30.310 --> 03:22:32.490
Run this command in the back.

03:22:32.690 --> 03:22:37.570
The difference now is in the jobs, it's actually running in the back.

03:22:38.650 --> 03:22:42.210
So in this scenario, we started a command normally.

03:22:42.210 --> 03:22:44.130
We changed our mind.

03:22:44.370 --> 03:22:47.450
We threw it to the background with a control Z.

03:22:47.490 --> 03:22:48.910
Keep that in mind.

03:22:50.950 --> 03:22:52.950
The terminal is available to us.

03:22:53.190 --> 03:22:56.310
We can verify something is in the background, but not running.

03:22:56.610 --> 03:23:00.710
Then we made it run, continue to run in the background.

03:23:01.910 --> 03:23:03.410
Basically, we resumed it.

03:23:03.890 --> 03:23:05.350
Please try this out.

03:23:08.370 --> 03:23:13.350
If you have multiple jobs in the background, that number will simply increment.

03:23:19.310 --> 03:23:20.390
It stopped.

03:23:21.970 --> 03:23:23.890
We run jobs to see.

03:23:25.390 --> 03:23:27.470
There is something in the background we can run.

03:23:27.790 --> 03:23:30.930
So you have a lot of jobs already done.

03:23:31.450 --> 03:23:33.910
Now that is number one, which has stopped their faith.

03:23:33.910 --> 03:23:35.770
Check jobs again.

03:23:37.050 --> 03:23:38.470
And it will be cleaned up.

03:23:42.150 --> 03:23:45.350
If you run multiple background jobs, you will see many.

03:23:59.010 --> 03:24:01.750
Yeah, it's gone instantly after that done.

03:24:01.750 --> 03:24:04.210
So now when you see number one, it's another number one.

03:24:16.590 --> 03:24:18.510
Few seconds, then it's gone.

03:24:20.630 --> 03:24:23.490
It's not going to show you the history of terminal jobs.

03:24:23.570 --> 03:24:25.170
It's just right here right now.

03:24:26.810 --> 03:24:30.870
So you will only see pretty much the current status at this point.

03:24:30.870 --> 03:24:31.630
All good?

03:24:32.190 --> 03:24:36.590
So we have seen two things at this point in time.

03:24:37.370 --> 03:24:38.410
Just a quick recap.

03:24:39.150 --> 03:24:42.330
We started by running things in the background directly.

03:24:42.610 --> 03:24:47.410
We also did run in the foreground and change your mind and send it to the background.

03:24:48.270 --> 03:24:52.610
What if there is something running in the background and I want to bring it to the foreground?

03:24:52.830 --> 03:24:57.150
So let's say if I say sleep on 300.

03:24:59.170 --> 03:25:02.150
And one way or the other, it has gone into the background.

03:25:04.170 --> 03:25:06.550
And the terminal is available to me.

03:25:07.990 --> 03:25:09.870
What if I want to do the reverse?

03:25:10.310 --> 03:25:11.570
Something is in the background.

03:25:11.670 --> 03:25:14.230
I want to bring it into the foreground.

03:25:14.410 --> 03:25:16.450
You can generally do the opposite.

03:25:18.990 --> 03:25:24.210
And now you notice my terminal is not available to me again because that command has taken.

03:25:25.270 --> 03:25:30.210
I can again change my mind and do control Z and punch it back.

03:25:33.790 --> 03:25:35.850
Do keep in mind though it stopped.

03:25:36.990 --> 03:25:40.210
If I want to run it in the background, I can do that.

03:25:43.630 --> 03:25:45.210
If I want to get rid of.

03:25:51.450 --> 03:25:52.990
Please try that.

03:26:10.250 --> 03:26:12.110
Should we please check something?

03:26:13.490 --> 03:26:18.210
I've been writing the background and forward.

03:26:18.210 --> 03:26:21.210
This would teach there, but that's what is happening.

03:26:27.850 --> 03:26:29.270
Back with you.

03:26:29.490 --> 03:26:30.450
Tell me, go ahead, please.

03:26:31.290 --> 03:26:33.610
Yeah, I was saying that I've been running the sleep.

03:26:33.670 --> 03:26:34.950
It's the part of the background.

03:26:35.670 --> 03:26:41.330
But now whatever under command percentage one or that does not.

03:26:41.650 --> 03:26:44.150
Yeah. First, write the command jobs, please.

03:26:46.150 --> 03:26:48.150
Are there any jobs at all?

03:26:51.330 --> 03:26:52.450
Two and three.

03:26:52.670 --> 03:26:54.590
So you need to bring that one back, sir.

03:26:54.850 --> 03:26:55.650
With the same idea.

03:26:57.630 --> 03:26:59.250
FG percentage two or three.

03:26:59.310 --> 03:27:00.990
Look at the number on the left side.

03:27:01.830 --> 03:27:02.170
Yeah.

03:27:02.530 --> 03:27:02.870
Yeah.

03:27:03.510 --> 03:27:03.970
Yes.

03:27:03.970 --> 03:27:04.350
Yes.

03:27:04.430 --> 03:27:06.410
We have to refer to the job ID.

03:27:06.410 --> 03:27:08.710
Oh, that's why.

03:27:09.410 --> 03:27:09.950
I've been wondering.

03:27:10.690 --> 03:27:11.350
What's going on?

03:27:11.510 --> 03:27:12.270
Why is it not showing?

03:27:15.110 --> 03:27:15.710
Okay.

03:27:16.170 --> 03:27:17.290
Same for faith as well.

03:27:17.550 --> 03:27:21.810
The jobs and then mention the job ID.

03:27:23.590 --> 03:27:23.970
No, no.

03:27:25.350 --> 03:27:25.950
Thanks.

03:27:26.590 --> 03:27:28.450
I asked for a bit there.

03:27:28.710 --> 03:27:31.710
Yeah, just do first around the command jobs.

03:27:31.850 --> 03:27:32.950
This is for everybody.

03:27:33.090 --> 03:27:33.410
Yeah.

03:27:33.430 --> 03:27:35.150
So you have no jobs.

03:27:35.150 --> 03:27:36.230
There are no jobs.

03:27:36.230 --> 03:27:37.970
There is nothing to kill in the background.

03:27:38.050 --> 03:27:39.770
You run something in the background.

03:27:40.030 --> 03:27:42.750
Just like the sleep with the M percent sign.

03:27:43.050 --> 03:27:45.010
Lead for long, like 200 or 300.

03:27:45.170 --> 03:27:47.510
It simulates something that takes time.

03:27:48.070 --> 03:27:49.830
And do that with an M percent sign.

03:27:49.890 --> 03:27:51.190
If you don't do that.

03:27:52.310 --> 03:27:52.630
Yes.

03:27:53.490 --> 03:27:54.530
And Caravan, that's fine.

03:27:54.530 --> 03:27:56.390
We can do control Z for you.

03:27:57.490 --> 03:27:58.830
It will run the command.

03:27:59.250 --> 03:28:00.290
It will stop the command.

03:28:00.350 --> 03:28:01.450
Throw it in the background.

03:28:02.250 --> 03:28:04.450
And if you want, you can kill it now.

03:28:05.690 --> 03:28:06.250
Okay.

03:28:06.570 --> 03:28:08.890
Try that out, please.

03:28:13.710 --> 03:28:14.370
Yeah, that works.

03:28:15.570 --> 03:28:17.150
And then, yeah, and terminated.

03:28:17.390 --> 03:28:20.450
As you can see on Caravan and also for faith.

03:28:21.610 --> 03:28:24.230
And for Austin, it's been terminated.

03:28:24.470 --> 03:28:24.890
There we go.

03:28:24.930 --> 03:28:25.910
So that's one trick.

03:28:26.170 --> 03:28:28.030
And this usually helps as well.

03:28:28.030 --> 03:28:33.470
So I think this is handy when working on the command.

03:28:33.550 --> 03:28:33.870
All right.

03:28:33.910 --> 03:28:35.150
Some of the others.

03:28:35.690 --> 03:28:37.110
Yeah, this will be very useful.

03:28:37.550 --> 03:28:38.670
Especially if you're adding scripts.

03:28:38.930 --> 03:28:41.990
Sometimes you realize that you forgot to write it out.

03:28:42.010 --> 03:28:43.250
Maybe into a file.

03:28:43.850 --> 03:28:45.750
So now it will be hiding in the background.

03:28:46.470 --> 03:28:47.030
Yeah.

03:28:47.230 --> 03:28:49.050
To make things easier for us.

03:28:50.070 --> 03:28:53.970
And a little bit quickly on just a few other tips and tricks.

03:28:54.050 --> 03:28:56.730
Also working on scripts and otherwise as well.

03:28:57.430 --> 03:28:59.210
Which is redirection.

03:28:59.270 --> 03:29:01.690
And also working on what we call as piping.

03:29:02.950 --> 03:29:06.430
These are, I would say, almost essential skills on the command line.

03:29:06.790 --> 03:29:09.930
Rather instead of, I mean, not just about what commands.

03:29:10.730 --> 03:29:14.510
But how do we connect the commands together?

03:29:15.390 --> 03:29:16.990
So what do I mean by that?

03:29:17.290 --> 03:29:20.770
Here is let's have a look.

03:29:23.730 --> 03:29:33.870
For instance, earlier we did the command, let's say, cat of etcho.

03:29:33.910 --> 03:29:35.070
So this is one command.

03:29:35.090 --> 03:29:36.430
It produces an output.

03:29:37.990 --> 03:29:43.250
We also know that there is another command like word count, wc.

03:29:43.710 --> 03:29:49.690
What if I was to do this and use a pipe.

03:29:51.030 --> 03:29:52.930
And then do a word count.

03:29:53.930 --> 03:29:58.330
Now word count normally is waiting for an input.

03:29:58.450 --> 03:29:59.110
Would you agree?

03:30:00.950 --> 03:30:04.510
If I just did word count minus l and I press enter.

03:30:04.830 --> 03:30:05.930
What is it waiting for?

03:30:06.930 --> 03:30:08.430
It says, well, what do I count?

03:30:08.690 --> 03:30:09.750
Give me something to count.

03:30:10.570 --> 03:30:16.110
If I say line one, line two, and then I do control D.

03:30:16.110 --> 03:30:18.210
Then it says, aha, these are two lines.

03:30:19.910 --> 03:30:23.490
So the point is the command is waiting for an input.

03:30:25.150 --> 03:30:26.310
What if I did this?

03:30:28.270 --> 03:30:30.490
This command produces an output.

03:30:31.010 --> 03:30:34.390
What if I pipe this into the next one?

03:30:34.450 --> 03:30:39.470
That means the output of this becomes the input of the next.

03:30:45.550 --> 03:30:56.950
This piping becomes very, very useful with a very specific command on the shell, which is to filter out the text, a command called as grep.

03:30:57.810 --> 03:31:01.170
Here is an example of what grep can do.

03:31:02.350 --> 03:31:03.870
Let's have a look at this file.

03:31:05.110 --> 03:31:08.310
We looked at the file that contains all the users.

03:31:12.790 --> 03:31:16.510
And there are a lot of users in this file.

03:31:21.030 --> 03:31:25.910
I want to filter out any user which has no login.

03:31:28.670 --> 03:31:31.770
That means these are not normal user logins.

03:31:32.110 --> 03:31:35.750
These are for service accounts, so they can't interact with the login.

03:31:35.750 --> 03:31:47.030
In any output, I can pipe and give it to the command grep.

03:31:48.470 --> 03:31:49.950
What do you want to filter out?

03:31:50.010 --> 03:31:52.210
What if I say I want to filter out no login?

03:31:53.470 --> 03:32:01.930
What it does is in the output, it only shows me those lines which contain that specific set of characters.

03:32:03.470 --> 03:32:05.890
Think of it like a simple filter.

03:32:06.430 --> 03:32:11.450
It takes the output and filters something in that output.

03:32:12.790 --> 03:32:14.390
What if I want the other way around?

03:32:16.390 --> 03:32:17.490
A reverse filter.

03:32:20.650 --> 03:32:21.790
What do you notice now?

03:32:22.390 --> 03:32:27.590
It does not show me any user who doesn't have the no login.

03:32:27.630 --> 03:32:29.990
It's the opposite filter, the inverse filter.

03:32:31.430 --> 03:32:36.070
Piping is very useful because you can chain the commands together.

03:32:37.330 --> 03:32:45.350
One of the very nice things to pipe is the command grep because it can filter things out.

03:32:46.090 --> 03:32:50.110
Show me all the users which don't contain the no login.

03:32:50.870 --> 03:32:52.250
Here is a beautiful part.

03:32:52.530 --> 03:32:53.650
Watch this.

03:32:54.170 --> 03:32:56.310
How many such users are there?

03:32:57.870 --> 03:32:59.310
So what am I doing now?

03:33:00.170 --> 03:33:07.970
Taking the output of this text file, giving it to the grep which is filtering out and giving that to the account.

03:33:08.070 --> 03:33:15.430
And what the account is going to tell me is that there are 10 such users.

03:33:17.150 --> 03:33:18.430
Please give it a try.

03:33:21.610 --> 03:33:23.930
This is a quick history of my commands.

03:33:33.170 --> 03:33:35.410
It's not just about executing the command.

03:33:35.470 --> 03:33:39.310
It's also you checking out what the output looks like.

03:33:42.230 --> 03:33:43.910
Let's see if that works.

03:33:46.790 --> 03:33:49.670
Where are the other people who are joining in some time?

03:33:50.570 --> 03:33:52.990
I see Austin, Faith and Karaman.

03:33:53.030 --> 03:33:54.510
We are missing a couple of the others.

03:33:54.510 --> 03:33:56.510
You are low again.

03:33:58.430 --> 03:34:02.790
I was saying that you are low again.

03:34:03.450 --> 03:34:05.630
I think you are asking us about people who are going to join.

03:34:06.570 --> 03:34:09.710
Liz did say that she will join later.

03:34:10.430 --> 03:34:18.790
And I think probably before she did say that she might not join the afternoon session.

03:34:21.170 --> 03:34:22.790
Can you hear me better now?

03:34:22.790 --> 03:34:24.510
Yeah, now you are better.

03:34:27.730 --> 03:34:30.170
Have you guys tried this out?

03:34:30.470 --> 03:34:33.230
Does it make sense what we have done?

03:34:34.830 --> 03:34:36.790
Yes, I have tried it out.

03:34:46.050 --> 03:34:49.650
So piping one command output into the other.

03:34:49.650 --> 03:34:53.390
And then one of the nice things to do is to use grep as a filter.

03:34:54.070 --> 03:34:55.210
Which is very very handy.

03:34:55.370 --> 03:34:57.430
Some simple examples of the same.

03:35:02.390 --> 03:35:07.950
Let's say ls slash etc star dot com.

03:35:08.150 --> 03:35:12.130
Give me a list of all these files.

03:35:16.510 --> 03:35:17.670
It's a long list.

03:35:18.350 --> 03:35:22.110
Do you notice there are some months here?

03:35:22.110 --> 03:35:29.750
Feb, July, April, August, June.

03:35:30.210 --> 03:35:35.890
So I can simply say, okay, I would like to see all of these files.

03:35:38.490 --> 03:35:39.050
Grep.

03:35:39.790 --> 03:35:45.570
If you don't care about the upper case or lower case, just you can do minus i to ignore.

03:35:45.570 --> 03:35:49.510
In Jan, there is only one.

03:35:52.110 --> 03:35:55.490
In Feb, there are quite a few.

03:35:56.310 --> 03:35:57.410
How many?

03:35:59.650 --> 03:36:01.650
Let's do that.

03:36:02.030 --> 03:36:02.450
Two.

03:36:14.190 --> 03:36:15.710
Give that a try please.

03:36:16.130 --> 03:36:19.770
So obviously as your use case, you will start to figure out.

03:36:20.290 --> 03:36:22.790
I think learning linux fundamentals is the same thing.

03:36:23.130 --> 03:36:24.450
You don't have the recipe.

03:36:24.510 --> 03:36:26.110
You have the different ingredients.

03:36:27.310 --> 03:36:30.350
And then as you spend more and more time.

03:36:30.350 --> 03:36:32.730
Then you have your own use case.

03:36:33.010 --> 03:36:34.230
What do you want to achieve?

03:36:35.070 --> 03:36:37.790
And then you use a combination of these commands together.

03:36:37.790 --> 03:36:39.510
You just go piece by piece.

03:36:39.670 --> 03:36:42.490
And then you kind of string it together for your purpose.

03:36:43.430 --> 03:36:45.750
So it's more about like what do I want to do?

03:36:45.870 --> 03:36:47.110
And what's the way to get it done?

03:36:47.510 --> 03:36:49.650
Cat slash etc slash password.

03:36:49.950 --> 03:36:50.230
Grep.

03:36:50.930 --> 03:36:52.350
Maybe you can just do minus i.

03:36:53.110 --> 03:36:55.970
Austin, if you don't care about upper case or lower case long.

03:36:57.670 --> 03:36:59.670
And no need for wild cards for that.

03:37:03.210 --> 03:37:05.050
It's not taking it as a word.

03:37:05.110 --> 03:37:07.290
It's just taking as a string of characters.

03:37:07.470 --> 03:37:09.290
You want a word, you use minus w.

03:37:09.350 --> 03:37:11.670
If you're looking for like spaces around it.

03:37:12.770 --> 03:37:13.690
Oh, okay.

03:37:14.530 --> 03:37:15.470
There's a long story.

03:37:15.710 --> 03:37:16.310
There is grep.

03:37:16.330 --> 03:37:17.330
There is e-grep.

03:37:17.350 --> 03:37:18.390
There is f-grep.

03:37:18.470 --> 03:37:21.390
And if you read the help of these commands, it's carried.

03:37:21.510 --> 03:37:21.690
Yep.

03:37:21.750 --> 03:37:23.690
That's the simplest way of using that.

03:37:23.730 --> 03:37:24.330
Very nice.

03:37:24.430 --> 03:37:26.830
So I'm hoping that as we are diving through this.

03:37:26.830 --> 03:37:28.890
Like in the morning you guys said you are.

03:37:28.890 --> 03:37:30.230
You have worked on Linux.

03:37:30.330 --> 03:37:31.890
You are comfortable with the command line.

03:37:31.930 --> 03:37:36.230
I'm hoping that some of these tricks are just helping maybe close a bit of those gaps.

03:37:40.450 --> 03:37:42.850
Or just make us a bit more productive.

03:37:44.230 --> 03:37:45.210
Yeah, no.

03:37:45.830 --> 03:37:50.230
This will help you because some of these commands, some of them will find you.

03:37:50.230 --> 03:37:58.030
It's been running for years, but didn't really understand to an extent of how you can manipulate it better also.

03:37:58.030 --> 03:38:00.030
So this is it.

03:38:00.770 --> 03:38:01.290
It's nice.

03:38:01.410 --> 03:38:02.730
It's for us.

03:38:03.830 --> 03:38:03.910
Yeah.

03:38:03.910 --> 03:38:10.410
And also if there are scripts with existing commands in it, it helps to interpret those better as well.

03:38:10.830 --> 03:38:19.790
And we always have the case of it's always the case of somebody did something and then you are dealing with work done by somebody else.

03:38:21.150 --> 03:38:24.790
And since we're all network engineers here, you know how much we love documentation.

03:38:24.790 --> 03:38:25.250
So.

03:38:27.150 --> 03:38:28.610
It's not always that.

03:38:30.330 --> 03:38:30.970
Yeah.

03:38:32.270 --> 03:38:32.370
Yes.

03:38:32.550 --> 03:38:35.230
You don't comment that was used 30 years ago.

03:38:40.610 --> 03:38:40.990
Do this.

03:38:41.250 --> 03:38:41.890
Well, that happens.

03:38:42.190 --> 03:38:42.590
Do this.

03:38:43.830 --> 03:38:44.010
Yeah.

03:38:44.310 --> 03:38:44.650
Yeah.

03:38:44.650 --> 03:38:45.330
Is that control?

03:38:46.790 --> 03:38:47.270
Which button?

03:38:47.730 --> 03:38:48.930
Which button to press?

03:38:49.150 --> 03:38:50.030
Press this button.

03:38:50.370 --> 03:38:51.350
Don't ask questions.

03:38:52.430 --> 03:38:55.650
And then you wonder like what exactly does this thing do?

03:38:55.670 --> 03:38:57.270
Sometimes it looks so mysterious.

03:38:57.270 --> 03:39:00.930
And then once you learn what it is, you're like, that's that's what it does.

03:39:01.030 --> 03:39:02.550
That's something amazing.

03:39:02.570 --> 03:39:04.330
Could be quite simple as well.

03:39:04.630 --> 03:39:05.250
All right.

03:39:05.370 --> 03:39:05.670
So yeah.

03:39:05.750 --> 03:39:13.390
So this again goes into the extension of your ability to be more productive onto the command line.

03:39:13.610 --> 03:39:16.790
Now you saw redirection a little bit.

03:39:16.830 --> 03:39:20.910
I'll just touch upon that as well and see how it can be handy as well.

03:39:20.910 --> 03:39:27.630
Earlier, what we did was, for instance, we took any command and redirected the outputs to a file.

03:39:28.810 --> 03:39:34.250
So, for example, I can say let's take the output of date and put it into the file.

03:39:35.250 --> 03:39:38.790
Now, that's a simple example of a redirection.

03:39:39.250 --> 03:39:48.830
But when we do a redirection, we have to think it in a different input as well as output.

03:39:48.830 --> 03:39:53.450
And maybe we want to split a good output from the bad output.

03:39:53.530 --> 03:39:54.350
Let me explain.

03:39:55.230 --> 03:39:58.750
I'm going to run this command ls slash mnt.

03:39:59.870 --> 03:40:02.550
There is nothing there right now, but the folder exists.

03:40:03.610 --> 03:40:08.230
If I say ls slash opt, there is nothing in there as well.

03:40:08.790 --> 03:40:13.030
If I say ls slash etc, there is a lot of things out there.

03:40:13.050 --> 03:40:16.890
ls slash var, a couple of things there as well.

03:40:16.890 --> 03:40:18.970
Now watch this.

03:40:19.290 --> 03:40:20.950
ls slash var 1.

03:40:21.330 --> 03:40:23.270
Does such a folder exist by default?

03:40:24.250 --> 03:40:25.010
It doesn't.

03:40:25.790 --> 03:40:28.370
What am I going to get when I execute this command?

03:40:29.930 --> 03:40:30.930
No big surprise.

03:40:31.870 --> 03:40:33.810
I'm going to get an error, isn't it?

03:40:37.150 --> 03:40:39.290
What happens if I do this?

03:40:41.990 --> 03:40:43.910
What will this command produce?

03:40:43.910 --> 03:40:47.670
You have a space between the var and that parameter.

03:40:47.670 --> 03:40:48.990
Yes, so there are two parameters.

03:40:49.330 --> 03:40:51.570
One command with two parameters.

03:40:52.830 --> 03:40:54.050
By the way, I can show you.

03:40:54.490 --> 03:40:55.890
What's inside both of them?

03:40:55.910 --> 03:40:57.110
Yeah, I'm just saying both of them.

03:40:58.670 --> 03:41:05.490
But the question is, is it going to execute one and ignore the error?

03:41:06.290 --> 03:41:09.030
Is it going to say because there is an error, I'll do nothing?

03:41:09.550 --> 03:41:11.450
Or is it going to give me both the outputs?

03:41:12.250 --> 03:41:13.770
I think it's going to give you both.

03:41:13.870 --> 03:41:17.450
If there is nothing on the other one, then it will go to the next one.

03:41:19.750 --> 03:41:20.590
So what do I get?

03:41:20.590 --> 03:41:22.290
I get the error.

03:41:23.670 --> 03:41:25.590
As well as I get the good output.

03:41:25.650 --> 03:41:25.990
Correct?

03:41:26.850 --> 03:41:27.430
Yeah, correct.

03:41:28.530 --> 03:41:33.670
Now let me do exactly the same thing and redirect this.

03:41:35.390 --> 03:41:37.910
Into a file called as output log.

03:41:40.370 --> 03:41:44.110
What do you expect to see in the output log?

03:41:45.770 --> 03:41:47.910
It will just be what you just showed there.

03:41:48.770 --> 03:41:48.970
Error?

03:41:48.970 --> 03:41:50.350
You cannot access that error.

03:41:50.770 --> 03:41:52.070
It was inside var.

03:41:52.290 --> 03:41:52.810
Okay.

03:41:53.730 --> 03:41:54.650
Just one question.

03:41:54.910 --> 03:41:55.010
Yes.

03:41:55.070 --> 03:41:55.910
Redirect, right?

03:41:55.990 --> 03:41:56.230
Yes.

03:41:56.230 --> 03:42:00.610
If you are using two greater sizes, what's the difference between that one and the other?

03:42:00.610 --> 03:42:01.830
We'll show you that as well.

03:42:01.910 --> 03:42:07.110
That will just append to the end of the file rather than overwriting and creating a new one.

03:42:08.710 --> 03:42:09.750
Oh, okay.

03:42:10.430 --> 03:42:12.610
I'll show you that in a bit as well.

03:42:12.810 --> 03:42:13.930
Just a quick one.

03:42:14.310 --> 03:42:15.970
Faith, Carol Wang, still with me?

03:42:17.110 --> 03:42:20.790
They call it as show me a sign of life after lunch.

03:42:22.230 --> 03:42:27.810
Same as a hostage situation, right?

03:42:27.850 --> 03:42:30.330
Where they demand sign of life.

03:42:31.690 --> 03:42:36.210
It's after lunch and I am demanding a sign of life.

03:42:36.210 --> 03:42:39.210
I think Faith was running to get that coffee there.

03:42:40.550 --> 03:42:41.630
Did you get it, Faith?

03:42:43.210 --> 03:42:45.310
No, I just went to plug on water.

03:42:45.590 --> 03:42:47.210
Electricity just came back now.

03:42:48.750 --> 03:42:50.810
That will be fresh in a few minutes, I know.

03:42:51.530 --> 03:42:52.030
Yeah, I know.

03:42:52.130 --> 03:42:53.270
I'll be good.

03:42:54.610 --> 03:42:55.510
Mine left.

03:42:55.650 --> 03:42:56.750
That's before too.

03:42:58.690 --> 03:42:59.550
Oh, yeah.

03:43:00.710 --> 03:43:01.830
But we are here.

03:43:02.070 --> 03:43:03.210
I appreciate it.

03:43:04.090 --> 03:43:08.170
Please ask questions or just slow me down if it is too fast.

03:43:09.030 --> 03:43:09.510
Yeah, I know.

03:43:09.510 --> 03:43:16.850
I think I was going to get it right because I wanted to answer this one that you were going to get the contents of the first part.

03:43:17.430 --> 03:43:17.950
Yes.

03:43:18.570 --> 03:43:19.610
Because it's there.

03:43:19.850 --> 03:43:23.630
But something interesting happened.

03:43:23.630 --> 03:43:24.050
Please.

03:43:29.430 --> 03:43:33.250
The output log only contains the good news.

03:43:33.930 --> 03:43:35.530
Where did the bad news go?

03:43:37.630 --> 03:43:38.650
On the terminal.

03:43:42.410 --> 03:43:43.210
Oh, that's lovely.

03:43:43.310 --> 03:43:44.430
I run a script.

03:43:45.170 --> 03:43:47.810
I capture the output of that script.

03:43:48.250 --> 03:43:51.230
Everything looks amazing when I look at the log file.

03:43:51.230 --> 03:43:55.850
Because the errors that happened just showed up on a terminal.

03:43:55.970 --> 03:43:59.590
They were never recorded in this log.

03:44:00.870 --> 03:44:01.310
Okay.

03:44:04.470 --> 03:44:09.850
So if you want it to be locked also, what would be the hard comment to use?

03:44:10.130 --> 03:44:10.330
Yes.

03:44:10.410 --> 03:44:12.110
You are just a step ahead of me.

03:44:12.130 --> 03:44:13.730
So we're going to now break it down.

03:44:14.150 --> 03:44:15.330
Let me stop the questions.

03:44:15.950 --> 03:44:17.010
No, please go ahead.

03:44:17.010 --> 03:44:17.890
It's good.

03:44:18.630 --> 03:44:29.390
So what we're going to do is I'm going to run exactly the same command in which we know that it produces a good output as well as the bad output, isn't it?

03:44:29.610 --> 03:44:32.890
But what I'm going to do now is I'm going to do this.

03:44:33.630 --> 03:44:45.970
I'm going to use the sign one greater than file one, two greater than file two.

03:44:46.650 --> 03:44:47.030
Okay.

03:44:47.030 --> 03:44:51.430
And now let's see what's supposed.

03:44:51.690 --> 03:44:56.890
First of all, did you notice that no errors showed up onto the terminal this time?

03:44:57.550 --> 03:44:58.090
Yeah.

03:44:58.430 --> 03:44:58.910
Okay.

03:44:59.030 --> 03:45:00.170
I think it's because of you.

03:45:00.310 --> 03:45:01.110
We have two files.

03:45:02.510 --> 03:45:03.930
So this is file one.

03:45:03.970 --> 03:45:05.210
What does it contain?

03:45:06.450 --> 03:45:07.490
The loud information.

03:45:07.810 --> 03:45:09.930
This is the good, good out.

03:45:11.250 --> 03:45:13.110
That's called a standard output.

03:45:13.210 --> 03:45:15.330
And this is called a standard error.

03:45:18.070 --> 03:45:18.910
Okay.

03:45:20.910 --> 03:45:29.330
So one is a specific identifier for standard output and two is the identifier for the errors.

03:45:29.390 --> 03:45:36.450
I can split and redirect the standard output and the standard error differently.

03:45:38.010 --> 03:45:40.030
Can I recommend you please try this out?

03:45:41.610 --> 03:45:42.830
Yeah, go ahead.

03:45:42.830 --> 03:45:44.830
I was trying the other one.

03:45:49.370 --> 03:45:53.830
This one redirecting it to what?

03:45:58.390 --> 03:45:59.690
Can you repeat that?

03:46:01.770 --> 03:46:05.830
Is it possible that you can run your history so that I see that?

03:46:06.690 --> 03:46:07.070
That's true.

03:46:08.350 --> 03:46:08.450
Yeah.

03:46:08.450 --> 03:46:09.050
Yeah, that's correct.

03:46:09.310 --> 03:46:11.090
So I'm just looking at your screen.

03:46:11.430 --> 03:46:11.570
Right.

03:46:11.570 --> 03:46:13.550
Lsvar var log output.

03:46:13.550 --> 03:46:18.090
We saw that earlier that the errors will show up on the terminal.

03:46:18.130 --> 03:46:18.710
Yes.

03:46:18.750 --> 03:46:21.690
And the good output is going into the log file.

03:46:22.470 --> 03:46:23.010
Yeah.

03:46:23.530 --> 03:46:31.270
Now if you look at my screen, I'm splitting the standard output and I'm splitting the error.

03:46:33.190 --> 03:46:40.210
By looking at look at my screen, my terminal, you saw one greater than and two greater than.

03:46:41.570 --> 03:46:45.590
So this one and two are standard identifiers.

03:46:45.710 --> 03:46:47.030
One means the good output.

03:46:47.110 --> 03:46:48.290
Two means the errors.

03:46:50.430 --> 03:46:50.690
Okay.

03:46:51.110 --> 03:46:52.310
Let me run the time.

03:46:52.710 --> 03:46:54.910
So do what you see on my screen.

03:46:54.990 --> 03:46:55.570
I'm here with you.

03:46:55.670 --> 03:46:56.610
Give me just one sec.

03:46:57.650 --> 03:46:58.130
How possible?

03:46:59.190 --> 03:47:00.050
Oh yeah.

03:47:30.350 --> 03:47:30.830
It's fine.

03:47:42.310 --> 03:47:44.530
So the error is on the terminal.

03:47:45.110 --> 03:47:46.110
Yeah, it's on the terminal.

03:47:46.330 --> 03:47:47.710
So that's why I can't find it.

03:47:48.050 --> 03:47:54.630
So that the error can be specified somewhere, can be written somewhere instead of just the terminal.

03:47:56.490 --> 03:47:57.410
Oh, okay.

03:47:59.310 --> 03:48:03.090
Austin, you can be my translator tomorrow as well.

03:48:11.950 --> 03:48:12.890
That's all right.

03:48:13.110 --> 03:48:14.770
Happy if it is clear.

03:48:14.770 --> 03:48:15.530
Yeah, I know.

03:48:17.690 --> 03:48:19.310
I appreciate that.

03:48:19.710 --> 03:48:27.650
So one of the things that we do sometimes when we are scripting is that we simply want to ignore the errors.

03:48:27.830 --> 03:48:29.130
Okay, so let's have a look.

03:48:30.090 --> 03:48:35.050
We saw that there are all kinds of interesting devices, right?

03:48:35.070 --> 03:48:36.670
Your terminal is a device.

03:48:37.310 --> 03:48:38.730
Everything is a device.

03:48:39.970 --> 03:48:42.250
There is another device.

03:48:43.250 --> 03:48:44.750
It's still there.

03:48:46.610 --> 03:48:48.530
And any idea what this device does?

03:48:48.690 --> 03:48:49.790
Take a wild guess.

03:48:49.850 --> 03:48:50.610
Look at the name.

03:48:50.610 --> 03:48:51.390
Dev Null.

03:48:52.450 --> 03:48:55.150
It is quite literally a black hole.

03:48:56.570 --> 03:48:58.990
Anything you send there just disappears.

03:49:00.810 --> 03:49:03.090
So I could run that command.

03:49:07.110 --> 03:49:07.850
Any command.

03:49:10.170 --> 03:49:15.110
Here we know that this command has a standard output as well as a standard error.

03:49:15.630 --> 03:49:19.030
What if I run the command and saying I'm not in a mood to seeing the errors?

03:49:22.530 --> 03:49:25.430
By the way, that's not how you should run every command on Linux.

03:49:27.710 --> 03:49:29.790
But what happened now?

03:49:30.950 --> 03:49:31.830
And try this out.

03:49:32.950 --> 03:49:33.990
What happened to the errors?

03:49:34.870 --> 03:49:36.010
Are they recorded anywhere?

03:49:36.110 --> 03:49:37.130
Are they on the screen?

03:49:37.130 --> 03:49:39.170
Are they in a log file?

03:49:39.810 --> 03:49:44.110
Or they are simply sent to a black hole where they disappear forever?

03:49:45.350 --> 03:49:47.130
Give that a try.

03:49:55.450 --> 03:50:04.030
So basically you are sending that to indicate that we are using true to send whatever information you get away into the black hole.

03:50:04.250 --> 03:50:04.610
Yep.

03:50:07.510 --> 03:50:07.950
Okay.

03:50:08.690 --> 03:50:11.790
Because sometimes we don't want to see all the errors coming up on a terminal.

03:50:11.850 --> 03:50:13.930
Like we expect to see some errors.

03:50:15.450 --> 03:50:19.590
We know that there are certain files which will not be found or there will be some errors.

03:50:19.630 --> 03:50:20.350
Which is known.

03:50:21.990 --> 03:50:23.610
So we simply want to ignore all of them.

03:50:23.770 --> 03:50:29.730
So this command you only use if you know exactly that the response from that one is going to be an error?

03:50:30.510 --> 03:50:34.050
Yeah, or you simply do not care.

03:50:34.050 --> 03:50:39.710
Generally this is done when we have known challenges with a certain script.

03:50:39.710 --> 03:50:40.990
We know there are some outputs.

03:50:41.310 --> 03:50:49.410
You know, one of the most difficult things in the Linux world in my experience is knowing which error is really critical.

03:50:50.210 --> 03:50:52.950
And some errors sound like it's the end of the world.

03:50:53.550 --> 03:50:56.050
And then the experts tell you, yeah, that one, yeah, that you can ignore.

03:50:56.890 --> 03:51:00.530
And there are other errors which sound just harmless.

03:51:01.150 --> 03:51:04.310
And then they're like, oh, my God, how could you ignore this?

03:51:04.430 --> 03:51:11.470
And you're like, well, how am I supposed to know, like, which error is the end of the world and which one isn't?

03:51:11.770 --> 03:51:14.670
And that frankly comes from from experience.

03:51:16.670 --> 03:51:19.170
So something sounds like, oh, my God, that's it.

03:51:20.190 --> 03:51:22.670
And then the experts come and say, yeah, that you can ignore.

03:51:23.030 --> 03:51:25.530
This is normal. This happens all the time.

03:51:25.530 --> 03:51:32.910
So you can retrieve them if they're there.

03:51:34.250 --> 03:51:34.390
Sorry.

03:51:35.970 --> 03:51:39.070
No, I'm saying you can retrieve them.

03:51:44.530 --> 03:51:48.590
Or maybe GP can stipulate.

03:51:48.770 --> 03:51:51.610
It's like you've recycled or recycled.

03:51:54.050 --> 03:51:54.570
Empty.

03:51:55.370 --> 03:51:57.670
Not restoring anything anymore.

03:51:59.050 --> 03:51:59.470
Yeah.

03:51:59.570 --> 03:52:05.870
OK, that one, it takes a person who understands the error, because I would want to keep all the errors.

03:52:07.810 --> 03:52:10.650
So that it guides me to where the issue is.

03:52:11.110 --> 03:52:13.130
Yes, you can always refer back to it.

03:52:13.150 --> 03:52:15.110
So at least now you know how to do that.

03:52:15.110 --> 03:52:23.790
Like, how do you take the output, any errors in the output and then, you know, keep them somewhere for the safekeeping and then go back and look at it?

03:52:24.170 --> 03:52:32.470
Your system on its own itself maintains tremendous logging capability as well.

03:52:34.670 --> 03:52:36.970
All kinds of logs exist.

03:52:38.830 --> 03:52:43.930
Every component, every service typically has its own logs.

03:52:44.690 --> 03:52:52.670
So there are all kinds of, you know, logging capabilities, which are part of the system.

03:52:53.310 --> 03:52:56.390
And that's part of learning as well.

03:53:04.550 --> 03:53:08.890
All available through the logging demons.

03:53:09.490 --> 03:53:13.570
So I think many different ways to see that.

03:53:14.670 --> 03:53:23.030
Let me see if I can show you especially on the reason I mentioned this is that there are different kind of logging.

03:53:24.030 --> 03:53:27.950
I would say mechanisms across different distributions.

03:53:28.630 --> 03:53:35.450
But generally, and also the path is unfortunately sometimes different.

03:53:35.510 --> 03:53:37.010
I want to show you something.

03:53:40.770 --> 03:53:45.010
Log, I think in these, it might be in var ADM.

03:53:48.250 --> 03:53:52.310
We have the var log itself and you can see all kinds of logs are here.

03:53:54.250 --> 03:53:59.390
For the graphical interface, authentication, kernel logs, all kinds of that as well.

03:53:59.390 --> 03:54:06.790
We have syslog can also be used, as you guys already know, to centralize any logging.

03:54:07.810 --> 03:54:14.770
So we have a couple of these different logs for different systems available as well.

03:54:15.530 --> 03:54:18.650
There's a lot you can do here in basic shooting.

03:54:22.210 --> 03:54:29.210
There are some commands that we can use and there are some log files that we have.

03:54:30.010 --> 03:54:34.630
So your syslog would be your starting point.

03:54:37.410 --> 03:54:39.930
So in terms of practical, how do you see the log?

03:54:40.050 --> 03:54:40.910
I will show you now.

03:54:41.710 --> 03:54:42.810
There's something we can just try.

03:54:42.870 --> 03:54:47.650
So there is this is like the main log file into an Ubuntu system.

03:54:47.870 --> 03:54:50.590
Some Unix machines will have var log messages.

03:54:51.410 --> 03:54:53.990
This is the main log file.

03:54:54.130 --> 03:54:59.790
As you can see here, I can't access it and I think you know the reason why.

03:55:00.890 --> 03:55:02.670
It's a normal user.

03:55:05.270 --> 03:55:08.670
As root, I'm going to try the same.

03:55:13.670 --> 03:55:15.550
This is the main log file.

03:55:15.550 --> 03:55:18.930
Now it can be a bit scary if you look at the size of this log file.

03:55:19.770 --> 03:55:25.650
So maybe what I want to do is the opposite of cat or more as tail.

03:55:26.530 --> 03:55:31.790
So tail shows you, as the name suggests, the tail of that file.

03:55:31.910 --> 03:55:33.910
I'm looking at the last few entries.

03:55:37.630 --> 03:55:40.270
If you can look at those timestamps.

03:55:40.350 --> 03:55:41.070
So very handy.

03:55:41.070 --> 03:55:55.730
I can just say show me the last five entries into that log file.

03:55:58.290 --> 03:56:02.430
Besides this, there are other tricks, but this is one.

03:56:02.650 --> 03:56:04.070
So can you try this please?

03:56:04.070 --> 03:56:20.430
Let's switch to root, sudo bash, and look at the last few errors into your log file.

03:56:32.510 --> 03:56:34.430
Again, different Linux distributions.

03:56:35.450 --> 03:56:39.350
Maintain logging slightly differently at times.

03:56:42.110 --> 03:56:45.190
I can see everybody is trying it out.

03:56:47.230 --> 03:56:53.490
And besides this, if you do know which log file you want to look at, and that happens.

03:56:53.610 --> 03:56:56.610
Different components have different log files as well.

03:56:57.290 --> 03:57:01.350
There's another little nifty little trick, which is this.

03:57:02.110 --> 03:57:04.110
I'm just going to exit back.

03:57:04.110 --> 03:57:15.330
I have two terminals as the same user.

03:57:18.070 --> 03:57:22.930
I'm a student in both of these.

03:57:30.290 --> 03:57:38.410
And what I'm going to do here, I'll just make sure I'm in the home directory.

03:57:38.890 --> 03:57:42.270
Just to make it easier, frankly, the actual path doesn't really matter.

03:57:44.690 --> 03:57:48.270
So let's say I create, or there is a log file.

03:57:50.130 --> 03:57:52.450
Right now the log file is empty.

03:57:55.090 --> 03:57:59.350
And let's say some errors are coming into the log file.

03:58:03.670 --> 03:58:06.770
And can you just try this bit?

03:58:08.370 --> 03:58:11.930
Then we will see the double arrow as well.

03:58:11.930 --> 03:58:13.470
So that's one thing.

03:58:16.030 --> 03:58:18.610
Did you do something that I'm not aware of?

03:58:18.870 --> 03:58:21.210
Are you getting an error while trying to check the file?

03:58:21.570 --> 03:58:21.870
Hello?

03:58:24.090 --> 03:58:24.690
Everybody.

03:58:27.810 --> 03:58:29.390
Right here, right here, sir.

03:58:31.650 --> 03:58:33.070
Does that work?

03:58:34.090 --> 03:58:37.370
No, I was asking what did you do?

03:58:37.570 --> 03:58:40.970
Where are you getting an error now while trying to access the log file?

03:58:41.410 --> 03:58:43.470
Did you change something on it or what?

03:58:44.030 --> 03:58:47.010
So what I'm trying to showcase here.

03:58:47.230 --> 03:58:49.790
Let me just switch to my screen.

03:58:51.230 --> 03:58:52.850
So I have a log file.

03:58:53.150 --> 03:58:59.010
And what we are simulating is that some error is getting recorded into that log file.

03:59:00.010 --> 03:59:03.350
So you might have logs for specific applications.

03:59:03.410 --> 03:59:09.530
Or it might just be the main file that we saw, the var log, syslog itself.

03:59:09.910 --> 03:59:14.010
The trouble is, any file that I want to look at.

03:59:14.750 --> 03:59:15.850
Oh, yes.

03:59:17.410 --> 03:59:22.550
Yeah, so I just realized that on the other terminal you sent that error into it.

03:59:23.110 --> 03:59:24.030
I didn't see that part.

03:59:24.030 --> 03:59:24.830
I didn't see that part.

03:59:25.430 --> 03:59:26.450
But I was surprised.

03:59:27.170 --> 03:59:28.890
You cut it.

03:59:29.450 --> 03:59:30.870
All of a sudden there's an error.

03:59:31.230 --> 03:59:32.150
I didn't see that part.

03:59:32.930 --> 03:59:36.830
So we're just simulating some errors coming into the log file.

03:59:42.330 --> 03:59:47.410
But the trouble is I am not looking at the log file in real time.

03:59:47.410 --> 03:59:51.410
So what we normally do is this.

03:59:53.970 --> 03:59:55.770
What am I doing?

04:00:02.750 --> 04:00:13.390
And what we're going to do now, if you look at the tail in the options, it says F, follow the file.

04:00:14.530 --> 04:00:18.010
So tail minus F, the log file.

04:00:18.190 --> 04:00:22.770
What it is going to do now, you notice that the terminal is busy.

04:00:23.670 --> 04:00:25.670
It's keeping that file open.

04:00:26.030 --> 04:00:32.310
So as new errors pop up, I'm doing this from the second terminal.

04:00:33.050 --> 04:00:35.150
You watch that happening there.

04:00:38.090 --> 04:00:43.070
And what I'm going to do, Austin, is I'm going to add to that file.

04:00:43.490 --> 04:00:45.530
I'm not going to overwrite that file.

04:00:47.450 --> 04:00:48.650
Here is a new error.

04:00:49.670 --> 04:00:53.550
Here is one more new error.

04:00:59.530 --> 04:01:00.230
And one more.

04:01:00.370 --> 04:01:03.830
Do you notice that on this terminal it's keeping the file open?

04:01:03.830 --> 04:01:05.710
I'm watching it live.

04:01:05.870 --> 04:01:10.830
As new events happen, I can watch it happen.

04:01:14.270 --> 04:01:18.470
So minus F keeps the file open, the log file open, that you can keep watching.

04:01:18.470 --> 04:01:24.990
So if you're running a script and you're taking all the errors into a log file, you can watch that log file live.

04:01:26.110 --> 04:01:32.210
Also here when you're redirecting, just keep in mind that I don't want to overwrite it.

04:01:32.210 --> 04:01:37.390
I want to keep what is there and just add something to it.

04:01:37.610 --> 04:01:38.650
Can you try this out?

04:01:38.970 --> 04:01:39.290
Yes, boss.

04:01:42.810 --> 04:01:44.970
And keep the two terminals.

04:01:44.990 --> 04:01:47.530
Make sure you are in the same home directory.

04:01:47.710 --> 04:01:49.290
Make sure you're just a student.

04:01:50.050 --> 04:01:52.250
Just to keep things as simple as possible.

04:01:53.690 --> 04:01:58.750
Austin, on one, you are as root in a completely different folder maybe.

04:01:58.750 --> 04:02:03.890
Just make sure you don't have to be in the same root.

04:02:03.950 --> 04:02:05.290
But I'm just saying just easier.

04:02:07.990 --> 04:02:08.770
Don't talk.

04:02:08.830 --> 04:02:09.530
I'm in the workshop.

04:02:13.050 --> 04:02:13.590
Quickly.

04:02:13.870 --> 04:02:14.750
What is it?

04:02:17.650 --> 04:02:18.750
Try that out.

04:02:20.110 --> 04:02:21.970
Get two terminals up and running.

04:02:23.950 --> 04:02:25.050
And see if that works.

04:02:25.270 --> 04:02:27.690
So in one, you are in the backup folder.

04:02:27.690 --> 04:02:28.410
Austin.

04:02:29.270 --> 04:02:29.790
Yeah.

04:02:30.050 --> 04:02:32.790
Always make sure you know where you are at.

04:02:32.910 --> 04:02:34.250
Karamang, are you trying this out?

04:02:34.450 --> 04:02:35.590
Austin, can you hear me?

04:02:35.830 --> 04:02:36.530
Just confirming.

04:02:41.790 --> 04:02:42.470
Yes, I can.

04:02:43.730 --> 04:02:46.010
And now from the second terminal.

04:02:46.630 --> 04:02:51.350
I think KG did mention that about electricity issues.

04:02:51.550 --> 04:02:53.390
I see she's not on the call now.

04:02:53.390 --> 04:02:55.870
Just give us some time.

04:02:56.610 --> 04:02:58.170
This is also on hold.

04:02:59.730 --> 04:03:01.750
For now, for the time being, it's just me and Liz here.

04:03:01.750 --> 04:03:02.770
A bit of a challenge.

04:03:03.750 --> 04:03:05.510
Is this common, power issues?

04:03:07.090 --> 04:03:08.790
We haven't had it in a long time.

04:03:10.370 --> 04:03:13.710
So, yeah, the problem is starting to get out of time.

04:03:16.490 --> 04:03:18.270
Austin, you're clear on what's happening now?

04:03:19.590 --> 04:03:21.410
Yeah, I'm clear on what's happening.

04:03:21.410 --> 04:03:23.870
It was actually my fault.

04:03:25.070 --> 04:03:28.850
You gave us instruction and I kept on ignoring you then.

04:03:30.830 --> 04:03:33.350
That's the price I paid for ignoring you.

04:03:33.790 --> 04:03:34.410
No, that's fine.

04:03:34.570 --> 04:03:40.670
You need to experiment also because sometimes when you make a mistake and then you realize why, then you tend to remember it.

04:03:40.810 --> 04:03:41.310
So it's OK.

04:03:41.810 --> 04:03:43.910
That is, yeah, OK.

04:03:44.990 --> 04:03:46.630
Experimentation is highly encouraged.

04:03:47.090 --> 04:03:54.730
Initially, when you're learning sometimes, then we recommend that you follow precisely what we are doing so you can see it exactly as it is.

04:03:55.170 --> 04:03:55.870
But it's OK.

04:03:57.550 --> 04:04:00.470
Because part of that, then you learn like why this is not working.

04:04:00.610 --> 04:04:01.770
The other guy is doing it.

04:04:01.770 --> 04:04:02.810
It's working for him.

04:04:03.070 --> 04:04:04.410
Why is it not working for me?

04:04:05.090 --> 04:04:09.630
And then you realize, oh, I'm in the wrong location or my syntax not correct, whatever it is.

04:04:11.170 --> 04:04:12.430
Just a question on this.

04:04:12.430 --> 04:04:17.850
Just check on this on this screen of mine here on this terminal here.

04:04:17.850 --> 04:04:21.350
I see it says tail lock file.

04:04:21.550 --> 04:04:22.570
Thank you.

04:04:24.750 --> 04:04:27.010
That's the same thing for you.

04:04:27.010 --> 04:04:30.750
Yeah, because what happened on the on the terminal on the right hand side?

04:04:30.890 --> 04:04:33.090
You did greater than right.

04:04:34.070 --> 04:04:37.430
So it kind of closed the old file and created a new one.

04:04:38.730 --> 04:04:39.330
Yes.

04:04:40.690 --> 04:04:41.490
The liberty.

04:04:42.050 --> 04:04:43.830
OK, let me just do this quickly.

04:04:45.450 --> 04:04:46.630
Now it's OK.

04:04:47.830 --> 04:04:48.630
OK, thanks.

04:04:54.690 --> 04:04:56.730
I think these guys are gone.

04:04:58.630 --> 04:04:59.550
Liz, is it Lizzie?

04:04:59.830 --> 04:05:07.070
I just from my side, I'm trying to catch up because I got a call from the office.

04:05:07.070 --> 04:05:10.450
Such a drop of a bit, but.

04:05:10.950 --> 04:05:12.290
No, I'm.

04:05:12.690 --> 04:05:16.470
Yeah, I'm also not not will be supposed to be.

04:05:16.950 --> 04:05:18.750
I just got back my laptop.

04:05:19.750 --> 04:05:20.610
That's all right.

04:05:20.610 --> 04:05:25.350
So just open two terminals as you can simply see on my screen.

04:05:26.670 --> 04:05:28.410
And I'll just take you through it.

04:05:28.470 --> 04:05:29.410
Hang on.

04:05:29.710 --> 04:05:30.070
Give us.

04:05:31.070 --> 04:05:32.510
Check.

04:05:32.710 --> 04:05:32.810
I'm a.

04:05:35.210 --> 04:05:36.610
I'm.

04:05:38.150 --> 04:05:38.610
You're bad.

04:05:39.130 --> 04:05:39.410
I'm.

04:05:43.070 --> 04:05:43.950
I'm.

04:05:44.410 --> 04:05:45.810
I'm.

04:05:46.490 --> 04:05:47.890
I'm.

04:05:47.890 --> 04:05:48.190
I'm.

04:05:49.650 --> 04:05:49.870
I'm.

04:05:53.010 --> 04:05:54.410
OK.

04:05:56.530 --> 04:05:57.930
OK.

04:06:00.070 --> 04:06:00.350
OK.

04:06:02.910 --> 04:06:03.150
OK.

04:06:03.150 --> 04:06:05.470
Take care.

04:06:08.690 --> 04:06:09.270
OK.

04:06:13.250 --> 04:06:14.570
OK.

04:06:14.770 --> 04:06:15.510
OK.

04:06:16.770 --> 04:06:17.150
OK.

04:06:17.150 --> 04:06:24.550
As you see two different terminals, open them side to side.

04:06:25.330 --> 04:06:31.110
What we are really trying out is the command tail that shows the end of a file.

04:06:32.330 --> 04:06:34.930
The trick here is the option minus F.

04:06:35.430 --> 04:06:41.650
So you can literally watch a file live as errors or data comes into that.

04:06:41.890 --> 04:06:43.810
You can see it.

04:06:44.730 --> 04:06:47.810
So on one terminal, you're keeping a log file open.

04:06:50.410 --> 04:06:52.290
Create that log file, please.

04:06:52.290 --> 04:06:59.810
If it doesn't exist, use the command touch to create that log file on one terminal and then watch it with a minus F.

04:07:01.770 --> 04:07:05.630
Faith, you're also in the backup folder on the terminal that you are in.

04:07:07.090 --> 04:07:09.010
Please take a note of your current directory.

04:07:09.210 --> 04:07:09.930
I'm sorry.

04:07:10.310 --> 04:07:11.250
I didn't get that.

04:07:11.250 --> 04:07:16.230
I think in one terminal, you are in the backup folder in the home directory.

04:07:17.770 --> 04:07:20.210
Keep the two terminals side by side if you can.

04:07:20.230 --> 04:07:23.750
So it's easier just the way you see it on my screen.

04:07:24.910 --> 04:07:25.430
OK.

04:07:25.630 --> 04:07:27.230
Just make this easier.

04:07:27.790 --> 04:07:30.250
Just restore the window, arrange it side by side.

04:07:49.750 --> 04:07:51.090
Hi, I'm JP.

04:07:51.210 --> 04:07:52.250
Welcome back.

04:07:54.690 --> 04:07:59.150
I just wanted to know that shortcut we did this morning to open up a terminal.

04:07:59.330 --> 04:08:00.490
What is the first one?

04:08:01.790 --> 04:08:03.270
Control alt T.

04:08:04.130 --> 04:08:05.390
Control alt T, OK.

04:08:05.710 --> 04:08:08.450
I like that we are ending with where we started.

04:08:10.990 --> 04:08:12.810
Life come full circle.

04:08:14.470 --> 04:08:14.990
Yes.

04:08:16.850 --> 04:08:19.370
Looks like you guys are struggling with power issues.

04:08:22.290 --> 04:08:35.990
I'll take there will be a Word document which contains many of what we have seen today as well as the deck, the slide deck, which summarizes the core commands and some of these core tools that we have seen.

04:08:35.990 --> 04:08:43.710
It will be in the same folder that could be normally shares with you through his cloud storage.

04:08:44.930 --> 04:08:48.690
I'll just make sure that the same link is active for you.

04:08:48.690 --> 04:08:54.270
So you can use that as a reference if you want to go back to these documents.

04:08:54.490 --> 04:09:02.150
The other recommendation I have is that you can just take the history that you have.

04:09:02.150 --> 04:09:06.150
Like in my case, let me go to the third terminal.

04:09:20.830 --> 04:09:22.410
Bad idea here.

04:09:38.290 --> 04:09:41.150
One nice thing is you can also open tabs now.

04:09:51.510 --> 04:09:59.650
You could if you want just take your entire history in the terminal where you have been doing everything you can save that as well.

04:10:00.930 --> 04:10:04.630
But this is just an example of.

04:10:04.950 --> 04:10:05.650
Watching a log file.

04:10:08.050 --> 04:10:09.490
Since we are.

04:10:10.750 --> 04:10:16.870
In Ubuntu in this particular case, there are specific commands like general control.

04:10:17.770 --> 04:10:23.490
These will also print out any errors onto the system as well.

04:10:26.950 --> 04:10:34.190
So that's a little bit of a trick on how do we operate onto the command line?

04:10:35.910 --> 04:10:39.530
How do we operate with lock files?

04:10:39.590 --> 04:10:42.490
Just keeping an eye on the errors which are going on.

04:10:45.750 --> 04:10:53.190
And obviously there are a lot of tools, a lot of options and over a period of time.

04:10:53.190 --> 04:10:54.830
Just a bit of practice and you're all good.

04:10:55.550 --> 04:11:00.190
Of course, we have some ways to get some help.

04:11:00.270 --> 04:11:04.690
As I said, manual pages is one way.

04:11:05.390 --> 04:11:08.730
Many Linux distributions also have something called as info pages.

04:11:08.870 --> 04:11:17.570
I think man pages can be a little bit intimidating just because of the detailed nature.

04:11:17.570 --> 04:11:22.810
Right. So if I look at the tail command, here is an example.

04:11:22.890 --> 04:11:27.250
I'll just do control C to close this tail.

04:11:28.330 --> 04:11:29.590
If I look at the man.

04:11:37.530 --> 04:11:40.050
I'm going space by space.

04:11:41.490 --> 04:11:46.050
If I press H, there is a help of the man page itself.

04:11:46.170 --> 04:11:48.030
How do you move forward and back?

04:11:48.450 --> 04:11:51.170
But man pages can be quite intimidating as well.

04:11:51.510 --> 04:11:54.790
Many Linux distributions contain something called as info.

04:11:58.210 --> 04:12:03.650
And you're considered as the successor as well.

04:12:03.950 --> 04:12:07.670
The advantage of man page, of course, is that also with info.

04:12:07.670 --> 04:12:17.670
If I'm looking for something specific, the output itself is so big that you can type slash and search for something.

04:12:21.950 --> 04:12:24.290
Go up and down.

04:12:24.670 --> 04:12:26.710
So there are some tips and tricks.

04:12:26.770 --> 04:12:37.550
So if I just run man without asking for help on any particular command, it says, well, what man page do you want?

04:12:37.550 --> 04:12:41.310
Well, what if I want the man page of the man command itself?

04:12:41.450 --> 04:12:43.310
That's matrix for you right there.

04:12:44.510 --> 04:12:48.610
And we go in and it says, OK, this is how to use man page.

04:12:51.090 --> 04:12:53.270
This is how you read the manual pages.

04:12:53.850 --> 04:12:55.530
And it gives you some basics.

04:12:56.670 --> 04:12:59.550
It says man page has many sections.

04:13:02.890 --> 04:13:05.590
It's like reading a book has many chapters.

04:13:08.150 --> 04:13:10.150
Are you taking a manual of a manual?

04:13:13.570 --> 04:13:15.590
Because how do I use the man command?

04:13:16.690 --> 04:13:18.670
Well, take the manual of the manual.

04:13:22.110 --> 04:13:28.550
But it is actually useful because it's telling me that the manuals are divided in many sections.

04:13:31.530 --> 04:13:33.890
Are you looking for shell commands?

04:13:34.010 --> 04:13:35.570
Then this is section one.

04:13:35.570 --> 04:13:38.370
Are you looking of help in files?

04:13:38.810 --> 04:13:39.770
I'll give an example.

04:13:41.270 --> 04:13:44.570
Password is a command also, which you use to set your password.

04:13:45.570 --> 04:13:48.550
And password is a very important system file.

04:13:48.890 --> 04:13:52.570
So now if I say man password, which one?

04:13:56.270 --> 04:13:57.350
It says.

04:13:58.690 --> 04:14:01.070
Do you now understand what that number one means here?

04:14:03.210 --> 04:14:05.070
Is that the first example?

04:14:05.230 --> 04:14:09.910
The first section, which contains help for commands.

04:14:12.830 --> 04:14:17.450
So what if I say, well, man minus L password?

04:14:20.190 --> 04:14:22.770
I'll have to read the man on man on this again.

04:14:30.210 --> 04:14:33.770
Here has many sections.

04:14:39.770 --> 04:14:46.110
You can choose this one from which section.

04:14:47.550 --> 04:14:56.210
So I can say man password dot and I can mention the section which is for configuration files.

04:14:59.350 --> 04:15:05.330
This is a long list, but minus L should have worked for us as well.

04:15:05.830 --> 04:15:07.110
Should print out the topics.

04:15:07.110 --> 04:15:07.590
Yes.

04:15:13.530 --> 04:15:14.530
So yes, you're right.

04:15:14.610 --> 04:15:22.970
It's a bit strange to be reading the main page of the main page, but it is useful to learning how to navigate it.

04:15:22.990 --> 04:15:23.990
How do you search?

04:15:26.450 --> 04:15:29.470
How do I filter what I'm looking at?

04:15:32.910 --> 04:15:34.130
I just tried.

04:15:34.350 --> 04:15:42.530
I just tried what we have the regarding the men, wherever you can specify, you can specify the section.

04:15:42.830 --> 04:15:46.570
I said to men, men, space, password.

04:15:47.950 --> 04:15:49.170
That didn't work.

04:15:50.430 --> 04:15:54.090
Yeah, I tried man password dot one.

04:15:54.090 --> 04:15:59.450
It was section one that was shown there, but it's not showing.

04:16:00.110 --> 04:16:01.390
No, let's just check again.

04:16:01.730 --> 04:16:03.770
I think we'll just double click.

04:16:04.350 --> 04:16:05.330
Sorry, double check here.

04:16:07.910 --> 04:16:08.590
Executable.

04:16:08.910 --> 04:16:11.730
It should be five, I think, for passwords.

04:16:17.290 --> 04:16:18.090
Oh, it's five.

04:16:18.090 --> 04:16:20.770
So, but that one had a one.

04:16:21.130 --> 04:16:23.770
So why are you unable to pick that one?

04:16:24.070 --> 04:16:26.090
No, no, that will just doesn't make sense.

04:16:27.150 --> 04:16:27.850
Is it?

04:16:30.010 --> 04:16:30.970
That's not what you said.

04:16:31.850 --> 04:16:32.750
That's the man.

04:16:32.870 --> 04:16:34.310
Okay, I'll just set your screen.

04:16:34.510 --> 04:16:34.970
That's okay.

04:16:35.630 --> 04:16:36.490
Yeah, I set my screen.

04:16:36.610 --> 04:16:36.790
Please.

04:16:37.570 --> 04:16:38.450
What did I do wrong?

04:16:38.870 --> 04:16:39.250
It's men.

04:16:41.530 --> 04:16:42.630
Oh, no, I see why.

04:16:42.790 --> 04:16:43.950
No, my bad.

04:16:44.330 --> 04:16:45.590
I typed out the password.

04:16:48.190 --> 04:16:50.590
Sorry, P-A-S-S-W-D.

04:16:50.590 --> 04:16:51.550
We pronounce it.

04:16:51.730 --> 04:16:53.530
It's a very bad habit.

04:16:55.210 --> 04:16:57.170
It's built over the last 30 years.

04:16:57.230 --> 04:17:01.350
And for last 30 years, people are telling us you don't pronounce that password.

04:17:01.390 --> 04:17:02.490
And we say, well, we do.

04:17:13.370 --> 04:17:14.650
It's something else.

04:17:14.970 --> 04:17:22.470
So for the password, it is section five, because we are looking for password, the file, the path or the file.

04:17:22.670 --> 04:17:22.830
Okay.

04:17:23.630 --> 04:17:27.810
And there is password, the command, which is section number one.

04:17:28.390 --> 04:17:28.970
Yeah.

04:17:30.750 --> 04:17:31.130
Okay.

04:17:31.410 --> 04:17:31.690
Thanks.

04:17:32.890 --> 04:17:34.890
Is it minus capital L?

04:17:35.130 --> 04:17:35.530
One second.

04:17:35.790 --> 04:17:38.090
This is what happens when you don't see all the sections.

04:17:38.690 --> 04:17:40.190
Isn't it man minus K?

04:17:40.470 --> 04:17:41.470
How come it's not working?

04:17:41.570 --> 04:17:42.210
One second.

04:17:42.290 --> 04:17:42.990
What am I trying?

04:17:45.010 --> 04:17:46.550
Aha, yes.

04:17:47.010 --> 04:17:47.530
Come on.

04:17:48.230 --> 04:17:48.550
Okay.

04:17:51.930 --> 04:17:59.150
So if you try man minus K, it kind of lists like a search in the whole man pages.

04:18:01.370 --> 04:18:01.850
Hmm.

04:18:03.950 --> 04:18:04.690
Anything to do with pass.

04:18:04.750 --> 04:18:06.550
So you see here is password number one.

04:18:06.550 --> 04:18:07.570
This is a command.

04:18:09.130 --> 04:18:09.490
Yeah.

04:18:09.930 --> 04:18:11.690
And here is password number five.

04:18:11.850 --> 04:18:13.150
This is the five.

04:18:14.150 --> 04:18:16.050
So you can search for keywords.

04:18:16.110 --> 04:18:19.150
So here, for example, if I search for a keyword like this.

04:18:26.110 --> 04:18:27.090
With a minus K.

04:18:29.150 --> 04:18:36.250
So this is not searching for the command name, but searching for the concept.

04:18:37.410 --> 04:18:37.950
Hmm.

04:18:38.550 --> 04:18:41.730
This might be useful to you, because I think sometimes the problem is...

04:18:41.730 --> 04:18:43.130
Sorry, go ahead.

04:18:44.170 --> 04:18:44.650
No, no, no.

04:18:44.750 --> 04:18:45.330
I'm not seeing anything.

04:18:45.770 --> 04:18:47.310
I heard somebody else.

04:18:49.250 --> 04:18:49.450
Okay.

04:18:49.450 --> 04:18:49.810
No.

04:18:50.010 --> 04:18:51.070
I'm hearing things.

04:18:51.530 --> 04:18:52.350
That's a bit scary.

04:18:53.550 --> 04:19:00.910
I think one of the bigger challenges in Linux and Unix is not knowing what command to look for.

04:19:01.830 --> 04:19:04.190
Yeah, because I don't know what is the command for something.

04:19:04.250 --> 04:19:05.490
So I look for what?

04:19:05.650 --> 04:19:06.390
Man page of what?

04:19:07.410 --> 04:19:09.330
I don't even know what is the command for it.

04:19:10.430 --> 04:19:14.450
The thing with this is most of the time you'll have to wait to use the menu.

04:19:14.590 --> 04:19:18.770
You just go to Google and try to find whatever you have.

04:19:18.770 --> 04:19:22.030
All the details that you essentially need there.

04:19:22.410 --> 04:19:24.870
Sometimes you find it easy to go search on Google.

04:19:24.990 --> 04:19:28.710
One very important word of advice for you, Austin, and everybody else.

04:19:29.250 --> 04:19:37.030
The trouble is, when you Google for it, you may not be looking for something specific to your distribution for this particular kernel version.

04:19:39.210 --> 04:19:41.890
So in 99% of the cases, it wouldn't matter.

04:19:43.030 --> 04:19:44.990
But in 1%, it would.

04:19:46.670 --> 04:19:49.470
And if you're reading forums.

04:19:51.630 --> 04:19:57.710
So what happens is we do what the first guy says in the first post.

04:19:57.950 --> 04:20:04.990
I guarantee you, maybe 99.99% of the time, no one tells you how to undo what you just did.

04:20:06.650 --> 04:20:07.170
Yeah.

04:20:10.410 --> 04:20:14.710
And then you scroll 10 pages down and the guy says, oops, my bad.

04:20:15.050 --> 04:20:16.090
This messes things up.

04:20:16.130 --> 04:20:17.610
And you're like, geez, thanks.

04:20:25.470 --> 04:20:26.770
So it's risky.

04:20:27.770 --> 04:20:30.290
Oh, yeah, that's true.

04:20:31.070 --> 04:20:40.090
And frankly, this is where generative AI, your chat GPTs, your deep seat, they are brilliant.

04:20:41.230 --> 04:20:46.570
But you do need to be very clear and specific to like this version, this kernel, blah, blah, blah.

04:20:46.650 --> 04:20:52.190
Yeah, because also that also some of the problems may not be exactly what you need.

04:20:52.330 --> 04:20:53.830
And you might find something that destroys.

04:20:53.830 --> 04:20:56.630
So you just have to be careful also with that.

04:20:57.230 --> 04:21:00.830
We'll never recommend you to make any changes to any production system anyways.

04:21:02.530 --> 04:21:04.570
Yeah, no, no, no.

04:21:04.970 --> 04:21:06.270
On dev first.

04:21:07.170 --> 04:21:10.950
Break things on dev and then you'll see the stuff after you've already done the backup.

04:21:14.110 --> 04:21:15.230
All right.

04:21:15.350 --> 04:21:18.670
Hopefully you can see man minus K.

04:21:18.730 --> 04:21:19.770
This is for everybody.

04:21:20.470 --> 04:21:22.770
You can search for a key word.

04:21:23.830 --> 04:21:29.470
So if you don't know exactly what command to use, it's very hard to get help on it.

04:21:29.770 --> 04:21:33.790
If I say man minus K network, I'm going to get a long list of things.

04:21:35.270 --> 04:21:38.330
But the good part is I see many things related to that.

04:21:38.370 --> 04:21:39.830
For example, here IP.

04:21:46.090 --> 04:21:50.790
So man minus K could be handy.

04:21:53.370 --> 04:21:58.510
It may not always give you exactly what you're looking for.

04:21:59.830 --> 04:22:04.490
Yes, in that case, a quick Google at least for the basic commands.

04:22:07.710 --> 04:22:12.050
So for us, that is IP address.

04:22:12.050 --> 04:22:17.390
I have the loop back.

04:22:18.230 --> 04:22:20.670
I have a simulated Ethernet interface.

04:22:20.990 --> 04:22:23.810
I have the V4 and the V6 up and running.

04:22:24.730 --> 04:22:29.050
The very classic networking command would always work.

04:22:31.150 --> 04:22:36.050
Next step is not here, but we can add that.

04:22:38.480 --> 04:22:42.260
Most distributions will have their own tools.

04:22:43.240 --> 04:22:44.920
IP is the tool of choice.

04:22:47.420 --> 04:22:51.920
And initially it might look a little bit confusing.

04:22:52.480 --> 04:23:00.360
But actually, instead of having 10 different commands, it's easier to have a single command and just work on different objects.

04:23:01.860 --> 04:23:04.580
That makes it very easy to program as well.

04:23:05.820 --> 04:23:09.580
And scripting becomes a lot standardized as well.

04:23:12.060 --> 04:23:15.040
So this kind of comes in handy.

04:23:18.440 --> 04:23:26.460
So these are some of your interface OS tricks that we can try onto the command line.

04:23:27.900 --> 04:23:35.480
And then yes, from here you try, as I said, there is a reason we believe in the main page of the system.

04:23:36.160 --> 04:23:39.120
Just because it matches exactly what you have on your system.

04:23:40.420 --> 04:23:50.840
Even a slight mismatch sometimes between one kernel and the next kernel or one release to the next release, the files can change, the configurations can change.

04:23:52.260 --> 04:23:55.260
Again, we are thinking more in terms of the system.

04:23:55.880 --> 04:24:00.080
Basic navigation and working on the OS principally remains the same.

04:24:00.240 --> 04:24:01.880
And it's generally backward compatible.

04:24:02.160 --> 04:24:11.860
So you're going to see, if I look at the root of my OS, I can see there is a link.

04:24:13.200 --> 04:24:14.460
Well, why is that link?

04:24:18.220 --> 04:24:19.540
Why is there a link?

04:24:21.080 --> 04:24:22.840
This equals to that.

04:24:24.300 --> 04:24:32.780
Well, because long time ago, 30, 40 years ago, when we wrote the scripts, we mentioned this path.

04:24:33.320 --> 04:24:42.080
Although the path has changed, we have still maintained the links so that even your 30 year old scripts don't break.

04:24:42.920 --> 04:24:46.120
They are portable. So typically they try to keep things portable.

04:24:51.120 --> 04:25:00.080
So even if the OS has certain changes, the older locations as pointers just take you to the newer location.

04:25:00.140 --> 04:25:06.760
And it makes the scripts a bit more portable across distribution and so on and so forth.

04:25:09.260 --> 04:25:12.500
But other than that, please look for very specific documentation.

04:25:15.220 --> 04:25:17.400
Linux basics will kind of remain the same.

04:25:17.400 --> 04:25:22.400
The moment you step into the system administration, yeah, that's a bit of a different story.

04:25:28.860 --> 04:25:35.580
OS basic use is just questions, doubts, thoughts.

04:25:41.880 --> 04:25:42.220
Anyone?

04:25:43.500 --> 04:25:46.360
Express yourself as the one judge.

04:25:46.840 --> 04:25:49.220
I just want to say I really enjoyed today.

04:25:50.260 --> 04:25:52.740
I thought that was part of a class.

04:25:53.180 --> 04:25:54.300
It was very informative.

04:25:54.660 --> 04:25:56.700
Listen, stop putting me on the spot.

04:26:01.300 --> 04:26:02.460
You first got to say Austin.

04:26:02.760 --> 04:26:04.940
So I had to make sure that at least I call your name.

04:26:06.180 --> 04:26:08.120
We're getting back at each other, are we?

04:26:17.560 --> 04:26:21.120
Yeah, no, today's session was very helpful.

04:26:23.460 --> 04:26:25.460
Because these are some of the things that we use.

04:26:25.800 --> 04:26:27.760
These are what we use on a daily basis.

04:26:27.980 --> 04:26:31.560
You always have to go to the Linux to check certain things and whatnot.

04:26:32.020 --> 04:26:36.500
And although you usually have our own command that you normally run,

04:26:36.760 --> 04:26:38.100
at least you found out you have to go to Linux to check certain things and whatnot.

04:26:38.100 --> 04:26:40.660
Showed us better ways of doing them.

04:26:40.900 --> 04:26:44.860
And also, which is more important, understanding what you are running.

04:26:45.240 --> 04:26:45.520
True.

04:26:48.680 --> 04:26:54.340
But you don't really understand every parameter on that on that command.

04:26:54.880 --> 04:26:59.800
So at least today you manage to see certain things like, oh, OK, I've been running this for years.

04:27:00.040 --> 04:27:04.100
But now you understand how you can actually be manipulated even better.

04:27:04.360 --> 04:27:08.540
To make sure that you get the best of what you need on that.

04:27:08.760 --> 04:27:12.240
So, yeah, this is going to be only for one day.

04:27:13.520 --> 04:27:16.640
Yes, I think the command line bit is a day.

04:27:17.660 --> 04:27:18.920
Yeah, it is.

04:27:19.620 --> 04:27:23.500
OK, I want to have some scripting at some point for Linux.

04:27:23.960 --> 04:27:29.360
I'm not so sure if that's down the line, but not so sure if it is at this point in time.

04:27:30.520 --> 04:27:33.420
So I think this day one is command line basics, really.

04:27:33.420 --> 04:27:34.400
Go ahead, Lissandra.

04:27:35.940 --> 04:27:38.520
Now, I want you to know, are we going to get any of this info?

04:27:39.020 --> 04:27:41.460
I saw you were sharing some slides.

04:27:41.920 --> 04:27:42.840
Yes, so both.

04:27:44.020 --> 04:27:49.540
Yeah, so there is a small Word document which contains like some command samples and output samples.

04:27:52.120 --> 04:27:55.960
Just to kind of summarize some of the core commands that we have seen.

04:27:56.340 --> 04:27:58.760
And the deck has a summary as well.

04:27:58.760 --> 04:28:03.700
So I'll make sure that both of these are there in the cloud storage.

04:28:03.880 --> 04:28:07.760
So for you to refer it any other time later on as well.

04:28:11.920 --> 04:28:15.600
You're meeting Kubeb on Friday.

04:28:18.600 --> 04:28:21.780
Well, I wish you guys very good luck with that.

04:28:21.820 --> 04:28:23.140
I know it's a long journey.

04:28:24.420 --> 04:28:25.740
And can I be very honest?

04:28:27.520 --> 04:28:34.820
Maybe like if I go 20, 30 years ago, you had a few choices in your career in IT.

04:28:34.980 --> 04:28:41.100
It used to be like you're a programmer, like that was a very separate stream.

04:28:42.320 --> 04:28:45.880
And being an infrastructure and system world is a very separate stream.

04:28:46.360 --> 04:28:49.640
And it was very clear that these paths are very separate paths.

04:28:49.700 --> 04:28:51.460
But the world has completely changed now.

04:28:51.600 --> 04:28:53.020
It's everybody's everything.

04:28:53.020 --> 04:29:00.880
So I know that the journey from your network into development, it's a challenging one.

04:29:01.260 --> 04:29:08.900
So I commend you to be for for being part of it and going through with it.

04:29:08.900 --> 04:29:10.020
Always good to see.

04:29:11.380 --> 04:29:15.160
Now, now the committee has all of us who know how to program.

04:29:15.460 --> 04:29:23.000
But I guess it's what the future is going to actually be about anyway, to make sure that we just brush up on certain skills.

04:29:24.120 --> 04:29:27.340
But now the jobs are not really like before.

04:29:27.560 --> 04:29:35.320
But you know, when you are working as a developer, for example, just about development, system engineering, you're just system engineering.

04:29:35.760 --> 04:29:41.000
Now you have to be able to take everything and work on everything all at the same time.

04:29:41.600 --> 04:29:46.540
So a lot of automation, scripting, it's all embedded everywhere now.

04:29:47.100 --> 04:29:50.340
So it's almost a core skill to that extent.

04:29:50.340 --> 04:29:54.860
Yeah, I wish you guys all the best for the capstone as well.

04:29:54.880 --> 04:29:58.740
You'll get the resources from Kubeb as well when you meet up with him.

04:29:59.600 --> 04:30:05.360
Is there anything else I can tackle in the dying hours of where we are at?

04:30:06.240 --> 04:30:08.500
The graveyard shift, as they call it.

04:30:08.640 --> 04:30:10.680
Yes, it is when people go to sleep.

04:30:10.680 --> 04:30:12.780
You need a lot.

04:30:18.360 --> 04:30:19.620
Too much coffee.

04:30:21.560 --> 04:30:24.260
No. All right.

04:30:24.380 --> 04:30:25.360
Faith, any questions?

04:30:25.860 --> 04:30:27.360
Anything on your mind?

04:30:32.140 --> 04:30:35.680
I just wanted to say on the file issue that we discussed earlier on.

04:30:35.860 --> 04:30:45.900
Remember when I asked you regarding writing, the challenge I always have is that whenever I want to have the same type of file,

04:30:46.600 --> 04:30:50.600
I usually just copy it whenever it's there somewhere and I'll just copy it.

04:30:50.620 --> 04:30:56.080
But I've never been to a point where I create it in the same format as the other one.

04:30:56.080 --> 04:31:00.260
For example, it used that for your shell scripting, for example,

04:31:00.260 --> 04:31:04.120
whether it is that as age when you create a file with the dosage,

04:31:04.160 --> 04:31:14.240
it's not the same as when you have the one whereby it's already an age whereby it's green in color because the one that you create is just going to be because like you said,

04:31:14.440 --> 04:31:19.380
the extensions are not really taking into account when you're doing this.

04:31:19.380 --> 04:31:20.300
It's about permission.

04:31:21.440 --> 04:31:22.000
Yeah.

04:31:22.040 --> 04:31:26.300
So what would be the best thing to do to create it?

04:31:26.880 --> 04:31:28.380
Because that's why I usually flop.

04:31:28.560 --> 04:31:37.140
I usually just go and copy for that file with each that I want that is green and then take it from there and change whatever I have to change in there.

04:31:37.700 --> 04:31:42.540
Yeah. So it's more to do with the permission on that file.

04:31:43.180 --> 04:31:49.080
So the idea here is that you can take anything and write a bunch of commands in it.

04:31:49.080 --> 04:31:55.100
But what you want to do just very quickly here.

04:31:57.080 --> 04:31:57.140
Right.

04:31:57.600 --> 04:32:02.660
So if I go to let's say nano my script.

04:32:05.580 --> 04:32:06.940
And my script is quite boring.

04:32:07.140 --> 04:32:08.700
It just says, who am I?

04:32:09.680 --> 04:32:10.700
And who was the date?

04:32:16.840 --> 04:32:25.440
Now, how do I make this as an executable?

04:32:30.700 --> 04:32:36.520
So maybe I can execute it by giving it the full location.

04:32:37.500 --> 04:32:38.980
River slash home.

04:32:39.000 --> 04:32:41.240
This is how you executed binaries also.

04:32:41.860 --> 04:32:42.420
Right.

04:32:43.560 --> 04:32:45.100
You just mentioned the path.

04:32:47.400 --> 04:32:51.480
But if I do that, it says, hey, you're not an executable.

04:32:52.820 --> 04:32:56.360
What if I mention a shell and call this one?

04:33:04.620 --> 04:33:06.260
What is in my file?

04:33:06.680 --> 04:33:09.960
But why are you not having permission to just check that file?

04:33:10.020 --> 04:33:12.120
So I'm just working on the wrong file.

04:33:12.460 --> 04:33:13.740
It's my script.

04:33:15.160 --> 04:33:17.020
Let me just run this under student.

04:33:17.440 --> 04:33:17.760
Yeah.

04:33:18.280 --> 04:33:18.700
Just me.

04:33:18.780 --> 04:33:20.620
I just mentioned the wrong file.

04:33:21.060 --> 04:33:23.740
So home student my script.

04:33:25.240 --> 04:33:27.760
You see that works, right?

04:33:29.140 --> 04:33:31.740
I had to do nothing in terms of permissions.

04:33:32.360 --> 04:33:36.140
And it's not any separate color.

04:33:36.360 --> 04:33:40.980
What it is, is a matter of is it marked as an executable?

04:33:41.600 --> 04:33:48.720
So if I look at this file, my script, what most likely people do is this.

04:33:50.460 --> 04:33:52.160
I want to take this file.

04:33:52.160 --> 04:33:54.080
Or you're just making it executable.

04:33:54.280 --> 04:33:55.360
Just making it executable.

04:33:55.480 --> 04:33:58.340
Let's see if that makes any difference.

04:33:59.360 --> 04:34:00.720
Stern green.

04:34:02.220 --> 04:34:07.780
If I mentioned the exact location now, that works.

04:34:08.720 --> 04:34:10.860
Or I can just call it like this.

04:34:13.660 --> 04:34:14.760
And that works.

04:34:17.740 --> 04:34:18.260
Yes.

04:34:25.100 --> 04:34:26.480
Can you hear me?

04:34:26.540 --> 04:34:27.580
I don't know why I've been muted.

04:34:31.780 --> 04:34:35.980
Also, I see you're having the checkbox to make it executable.

04:34:36.240 --> 04:34:38.980
So it doesn't matter even if it doesn't have the SH.

04:34:40.360 --> 04:34:40.660
Yeah.

04:34:40.660 --> 04:34:43.860
That matters not at all.

04:34:44.240 --> 04:34:48.940
That is just so that you know as a human being that this is a shell script.

04:34:49.020 --> 04:34:49.720
That's it.

04:34:49.860 --> 04:34:50.280
Yeah.

04:34:50.440 --> 04:34:50.820
Yes.

04:34:52.040 --> 04:34:57.140
I know you already told us that I mentioned that there are mixed issues on this.

04:34:57.480 --> 04:35:00.660
So right now I'm thinking I know the other one is executable.

04:35:01.220 --> 04:35:02.360
One of it is SH.

04:35:02.720 --> 04:35:05.520
So I think that's what usually just gets me on that.

04:35:05.520 --> 04:35:08.480
So I'll be like, why is this not executable now?

04:35:08.840 --> 04:35:10.480
But by SH it's not there.

04:35:10.920 --> 04:35:11.520
Okay.

04:35:11.760 --> 04:35:12.840
Ah, okay.

04:35:13.300 --> 04:35:13.720
Ah, yes.

04:35:14.380 --> 04:35:15.780
You have no idea how much.

04:35:17.280 --> 04:35:19.920
How did you receive me from it?

04:35:20.220 --> 04:35:21.560
And hit scratchy.

04:35:25.160 --> 04:35:26.660
Hopefully that's clear now.

04:35:26.660 --> 04:35:32.240
So you take any text file that doesn't matter how you make it.

04:35:32.240 --> 04:35:37.420
Just make it executable with that little plus X on that.

04:35:38.020 --> 04:35:38.660
Yeah.

04:35:39.580 --> 04:35:43.840
Once it's executable, you can call it directly or.

04:35:46.260 --> 04:35:46.900
Yeah.

04:35:47.760 --> 04:35:47.980
Okay.

04:35:48.460 --> 04:35:54.440
I was going to ask you, why did you have permission issues when you're trying to access this?

04:35:54.840 --> 04:35:57.460
Yes, because it is not executable.

04:35:57.460 --> 04:35:59.560
Oh, no.

04:35:59.760 --> 04:36:04.680
Oh, I thought maybe you're trying to see that you're executing it.

04:36:04.800 --> 04:36:05.020
Yeah.

04:36:05.180 --> 04:36:09.340
If I do this and press enter, I am saying I want to execute this.

04:36:11.320 --> 04:36:11.880
Yeah.

04:36:13.500 --> 04:36:17.740
It works because I have marked it as executable earlier.

04:36:17.740 --> 04:36:20.780
It was not happy to execute it.

04:36:22.260 --> 04:36:22.820
Okay.

04:36:23.420 --> 04:36:23.600
Okay.

04:36:28.840 --> 04:36:34.440
So if you pay close attention to the output of LS minus L.

04:36:36.160 --> 04:36:38.940
Just after we have done what we have done.

04:36:41.200 --> 04:36:43.280
You see a little X.

04:36:45.960 --> 04:36:49.220
Everybody can execute this.

04:36:51.040 --> 04:36:55.960
Before the script did not have the X mark.

04:36:57.460 --> 04:36:58.100
Yeah.

04:36:58.420 --> 04:36:59.060
Okay.

04:37:00.620 --> 04:37:01.100
I have this.

04:37:01.440 --> 04:37:04.120
I can just do scripts like this.

04:37:04.260 --> 04:37:06.320
It's really nice each on my side.

04:37:07.240 --> 04:37:11.000
Like the basic the simple basic that you have taught us now.

04:37:11.160 --> 04:37:16.080
The fact that there are no extensions to Linux.

04:37:16.820 --> 04:37:20.860
That's something that you know what every time I'm trying to.

04:37:21.260 --> 04:37:22.840
Whatever case it might be.

04:37:23.140 --> 04:37:26.880
And it will just be failing and failing so many times.

04:37:28.040 --> 04:37:33.580
But you don't really you don't really taught the basic basics to say like, Oh, no, no, just look.

04:37:33.900 --> 04:37:34.860
This is like this.

04:37:35.540 --> 04:37:43.500
So I guess that's the difference between doing something and knowing exactly what's happening behind the scene.

04:37:43.880 --> 04:37:44.380
Yeah.

04:37:44.380 --> 04:37:45.400
Yeah, that's true.

04:37:45.540 --> 04:37:46.580
And that fundamental health.

04:37:46.820 --> 04:37:49.620
That's the objective, frankly, of the session today.

04:37:50.340 --> 04:37:52.340
So I'm glad that it has helped.

04:37:52.860 --> 04:37:55.620
Faith, I know you said you'll be right back.

04:37:56.140 --> 04:37:57.680
Is there any questions from your end?

04:37:59.580 --> 04:38:01.420
No, nothing, nothing.

04:38:01.840 --> 04:38:04.140
So I guess the only question is when does this end?

04:38:05.080 --> 04:38:05.820
Yes, yes.

04:38:05.820 --> 04:38:12.980
Thank you.

04:38:17.400 --> 04:38:19.500
Appreciate you guys being here.

04:38:19.660 --> 04:38:20.640
Thank you so much.

04:38:20.900 --> 04:38:22.740
Good luck on your project.

04:38:23.380 --> 04:38:24.360
See you around someday.

04:38:24.360 --> 04:38:26.280
No, thank you.

04:38:30.360 --> 04:38:31.760
Austin, take care.

04:38:34.420 --> 04:38:36.820
Have a day.

04:38:38.720 --> 04:38:40.420
Now I am done.

04:38:40.420 --> 04:38:43.440
I'm going to now arrange this room.

04:38:43.760 --> 04:38:47.080
Every day I'm arranging this room for the last seven days.

04:39:10.420 --> 04:39:11.460
Oh, too much.

04:39:25.140 --> 04:39:27.300
Let's arrange this room now.

04:39:27.740 --> 04:39:29.740
Finally, finally arrange because everything is done.

04:39:29.740 --> 04:39:30.680
Thank you.

04:39:30.680 --> 04:39:31.420
Thank you.

04:39:31.420 --> 04:39:31.900
Yeah.

04:39:31.900 --> 04:39:33.940
Yeah.

04:40:08.780 --> 04:40:10.180
Yeah.

04:40:10.180 --> 04:40:12.440
Yeah.

04:40:21.740 --> 04:40:23.140
Yeah.

04:40:30.840 --> 04:40:32.240
Yeah.

04:40:32.240 --> 04:40:34.540
Yeah.

04:40:34.540 --> 04:40:36.920
Yeah.

04:40:36.920 --> 04:40:38.440
Yeah.

04:40:41.080 --> 04:40:42.480
Yeah.

04:40:52.420 --> 04:40:53.820
Yeah.

04:41:27.200 --> 04:41:28.600
Yeah.

04:41:28.600 --> 04:41:29.680
Yeah.

04:41:29.680 --> 04:41:30.100
Yeah.

04:41:30.100 --> 04:41:32.120
Yeah.

04:42:00.120 --> 04:42:01.260
Yeah.

04:42:54.120 --> 04:42:54.880
Let's go.

04:42:54.880 --> 04:42:55.940
Yeah.

04:42:59.240 --> 04:43:00.640
Yeah.

04:43:00.640 --> 04:43:02.020
Yeah.

04:43:02.020 --> 04:43:03.060
Yeah.

04:43:03.060 --> 04:43:03.500
Yeah.

04:43:51.260 --> 04:43:52.660
Yeah.

04:43:54.280 --> 04:43:55.680
Yeah.

04:44:24.260 --> 04:44:25.660
Yeah.