BOSS-Linux/C2/File-System/English-timed
From Script | Spoken-Tutorial
Time | Narration |
00:00 | Welcome to this spoken tutorial on Linux File System. |
00:04 | I am using Linux Operating system. |
00:08 | We assume that you know how to get started with the Linux operating system and have some basic idea about commands. |
00:16 | If you are interested, it is available through another spoken tutorial on the following website http://spoken-tutorial.org |
00:28 | Also note that linux is case sensitive. |
00:32 | All the commands used in this tutorial are in lower case unless otherwise mentioned. |
00:41 | In Linux, almost everything is a file. |
00:44 | So, what is a file? In real life, we know that a file is where we store our documents and papers. |
00:54 | Similarly, in Linux a file is a container for storing information. |
01:00 | Next, what is a directory? |
01:03 | A directory can be understood as a collection of files and other (sub)directories. |
01:10 | A directory helps us in organizing our files in a systematic manner. |
01:16 | This is like what we call folders in Windows. |
01:20 | It allows different users to have their own directories with their files which others cannot access or modify. |
01:30 | Also, if there are no directories, all the files on the system need to have unique names which would be very difficult to maintain. |
01:41 | These definitions of files and directories are good to get a general feel about them; they are not entirely accurate. |
01:51 | As well as its contents, a file has a name and some properties or “administrative information” that is, the file’s creation/modification date and its permissions. |
02:05 | Thus, properties are stored in the file’s inode- a special block of data in the file system that also contains the length of the file and where on the disk it’s stored. |
02:20 | The system uses the number of the file’s inode ; the directory structure just names the file for our benefit as it's easier for us to remember names than larger numbers. |
02:35 | Contrary to its oversimplified definition, a directory does not actually store other files, it itself is a file that holds the inode numbers and names of other files. |
02:49 | In fact, in Linux there are three kinds of files: |
02:54 | Regular Files or Ordinary files: It contains only data, as a stream of characters. |
03:01 | Directories: As we just saw in the previous slides. |
03:07 | Device Files: All hardware devices and peripherals are represented as files in Linux. |
03:14 | A CD, a Hard disk or even an usb stick, everything is a file in Linux. But why is this so? This helps to read and write these devices in a way similar to that for ordinary files. |
03:32 | All files in Linux are related. In short, all form a family much like we do. |
03:39 | A directory containing say- some files and sub-directories, will have a parent – child relationship with each other. This gives rise to the Linux File System Tree. |
03:52 | At the top is the root( denoted by a frontslash /). It contains all the other files and directories. |
04:04 | This also helps in easy navigation from one file or directory to other, if we know the correct path. |
04:12 | As we work with a Linux file system, it seems that we are moving along this tree. |
04:18 | One command and there you are... teleported from one place to other. |
04:24 | Sounds interesting!! Indeed it is, as we will see. |
04:29 | When we login into the Linux system, we are by default in a home directory. |
04:36 | Now, switch to the terminal. |
04:39 | To see the home directory , type at the command prompt: echo space dollar H-O-M-E in capital and press Enter. |
04:53 | This gives the path name of our home directory. |
04:57 | We can move around from one directory to other. |
05:01 | But, any time we can be in one directory and this directory is known as the current directory or working directory. |
05:09 | The pwd command helps us to see the current directory. pwd stands for present working directory. |
05:18 | Type at the command prompt pwd and press Enter. Now, this is our present working directory. |
05:28 | We have said that we can move from one directory to other. |
05:32 | But how do we do so? We have the cd command for this purpose. |
05:39 | You have to type the command cd followed by the path name of the directory you want to move to. |
05:47 | Let's again see our current directory by typing pwd at the command prompt and press Enter. |
05:57 | So, now we are placed in this directory. |
06:01 | Now, say we want to move to slash usr directory. So, type: cd space slash usr. Remember, here slash in linux means front-slash and press Enter. |
06:17 | Now lets see our current directory. Type pwd and press Enter. |
06:24 | Yes, we have moved to slash usr directory. |
06:30 | The problem here is, the path names can be very long; this is because these are Absolute Path names that enlist the entire path, starting from the root directory. |
06:42 | Instead, we may use Relative path names that begin from the current directory. |
06:48 | Here, we need to know two special characters. dot that represent the current directory and dot dot that represent the parent directory of the current directory. |
07:02 | Now, let us have a brief session on cd command. |
07:06 | The command cd, without any argument, is used to move back to the home directory. |
07:13 | Type at the command prompt cd and press Enter. |
07:19 | Now check our current directory by the pwd command. |
07:23 | So, now we are back in our home directory- /home/gnuhata [slash home slash gnuhata]. |
07:30 | Now, let us move to music directory. Type at the command prompt cd space Music (M in capital) slash and press Enter. |
07:43 | Now check our current directory by the pwd command. pwd and press enter. See, we have moved /home/gnuhata/Music. |
07:57 | Let us go to the parent directory of Music. For that, you have to use cd command with dot dot. |
08:04 | Type at the command prompt: cd space dot dot and press Enter. |
08:11 | Now check our present directory by typing pwd. We are again in /home/gnuhata. |
08:23 | Now, let's try to move to a sub-directory of the current directory using dot. |
08:30 | Type at the command prompt: cd space dot slash Documents (D in capital) slash. Press Enter. |
08:42 | Check our current directory by typing pwd. We are at- /home/gnuhata/Documents. |
08:53 | Let me clear the screen by pressing control L. So you can see clearly. |
08:58 | To go back to our home directory by cd command, type cd and press Enter. |
09:07 | Again check our current directory by pwd command. We are back to /home/gnuhata. |
09:17 | We can combine any number of dot dot separated by slash in a relative path. |
09:23 | In this slide, we can see the file system hierarchy. Root or slash is at the top. home and bin are two sub-directories under root. username , here the directory named gnuhata, is a sub-directory under home. |
09:43 | So, now we are in /home/gnuhata. Now, how can we go to the bin directory? |
09:51 | Type at the command prompt: cd space dot dot slash dot dot slash bin and press Enter. |
10:03 | Check our current directory by the command pwd. We are at /bin (slash bin). |
10:11 | The first ".." (dot dot) takes us from /home/gnuhata (slash home slash gnuhata) to /home (slash home). |
10:18 | The next, takes us from slash home to root. |
10:24 | Now from root or slash, we have moved to /bin directory. |
10:30 | Go back to our home directory by the command cd. |
10:34 | To create a directory, we use the mkdir command. |
10:40 | You have to type the command and the name of directory to be created and a directory would be created under the current directory. |
10:49 | To create a directory named testdir, type the command: mkdir space testdir and press Enter. |
11:01 | This creates the testdir directory successfully. |
11:05 | Note that, there is no explicit notification of successful directory creation or removal. |
11:13 | If you do not get any error message, it denotes successful execution. |
11:18 | We can also use the relative or absolute path name to create a directory anywhere in the tree provided we have the permission to do so and a directory by that name does not already exist. |
11:33 | This process can be used for making multiple directories or even a hierarchy of directories. |
11:39 | Type: mkdir space test1 space test2 and press Enter. This will make two directories named test1 and test2 under the present directory. |
11:57 | Type: "'mkdir space testtree space testtree slash test3'". |
12:11 | This will make a directory testtree and another directory test3 which is a sub-directory under testtree. |
12:20 | So, we have created four directories namely testdir, test1, test2 and testtree in the current directory, out of which first three are empty and the last one contains a sub-directory namely test3. |
12:40 | Similar to the mkdir command is the rmdir command which is used for removing a directory or directories. |
12:50 | The command rmdir space test1 removes the test1 directory successfully. |
13:00 | A directory can be removed only if you are its owner, your current directory is hierarchically above the directory to be removed and the directory is empty. |
13:13 | Now type at the command prompt: '"cd space testtree slash test3"'. |
13:25 | So, we are now in test3 directory which is a sub-directory under testtree. |
13:33 | Let's try to remove the testdir directory by typing the command rmdir space testdir. Press Enter. |
13:46 | We see it can't be done because the current directory is not hierarchically above the directory to be removed. |
13:54 | So, we have to go to the directory which is hierarchically above testdir directory. |
14:00 | Type: "'cd space dot dot"' and press Enter. |
14:06 | Now, go back to our parent directory by typing the command "'cd space dot dot'". |
14:13 | Now, again try the previous command. |
14:16 | Type: "rmdir space testdir". Press Enter. |
14:23 | The testdir directory is successfully deleted. Note that, testdir directory was also empty. |
14:32 | Multiple directories or a hierarchy of directories can be removed at once. So, try to delete the testtree directory along with its sub-directory test3. |
14:43 | Type at the command prompt: rmdir space testtree space testtree slash test3 press Enter. |
14:57 | See, it is giving the error message that 'testree' directory cannot be removed because 'testtree' is not empty. |
15:07 | But one thing which you may miss is that testtree slash test3 has been deleted as it was empty. |
15:16 | To check that, type at the command prompt: cd space testtree and press Enter. |
15:25 | Now, type ls and press Enter. See, the directory contains nothing. So, 'test3' was deleted. |
15:34 | So, in this linux tutorial we have learnt about Linux Files and directories and how to work with Linux Directories. See them, move between them, make them, remove them. |
15:48 | This brings me to the end of this tutorial. Spoken Tutorials are part of the "Talk to a Teacher" project, supported by the National Mission on Education through ICT. |
16:02 | More information on this is available at the following link. |
16:08 | This is Anusha Kadambala, signing off. Thanks for joining. |