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 Ubuntu 10.04. |
00:07 | We assume that you know how to get started with the Linux operating system and have some basic idea about commands. |
00:13 | If you are interested, it is available through another spoken tutorial, on the following website http://spoken-tutorial.org |
00:25 | Also note that Linux is case sensitive. |
00:28 | All the commands used in this tutorial are in lower case unless otherwise mentioned. |
00:36 | In Linux almost everything is a file. |
00:39 | So what is a file? In real life, we know that a file is where we store our documents and papers. |
00:47 | Similarly, in Linux a file is a container for storing information. |
00:53 | Next, what is a directory? |
00:56 | A directory can be understood as a collection of files and other (sub)directories. |
01:02 | A directory helps us in organizing our files in a systematic manner. |
01:08 | This is like what we call folders in Windows. |
01:12 | It allows different users to have their own directories with their files which others cannot access or modify. |
01:20 | 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:31 | Though these definitions of files and directories are good to get a general feel about them, they are not entirely accurate. |
01:42 | 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. |
01:55 | The 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:08 | The system uses the number of the file’s inode; the directory structure just names the file for our benefit as its easier for us to remember names than large numbers. |
02:23 | Contrary to its oversimplified definition, a directory doesn't actually store other files ,it is itself a file that holds the 'inode' numbers and names of other files. |
02:37 | In fact, in Linux there are three kinds of files: |
02:41 | 1 Regular Files or Ordinary files: It contains only data as a stream of characters. |
02:48 | 2 Directories: As we just saw in the previous slides. |
02:52 | 3 Device Files: All hardware devices and peripherals are represented as files in Linux. |
02:59 | 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:15 | All files in Linux are related, in short all form a family much like we do. |
03:22 | 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:34 | At the top is the root (denoted by a front-slash /). It contains all the other files and directories. |
03:42 | This also helps in easy navigation from one file or directory to other, if we know the correct path. |
03:51 | As we work with a Linux file system, it seems that we are moving along this tree. |
03:56 | One command and there you are teleported from one place to other. |
04:01 | Sounds interesting!! Indeed it is. As we will see. |
04:05 | When we login into the Linux system we are by default in a home directory. |
04:11 | Now, switch to the terminal. |
04:13 | Ctrl+alt+T helps to start a terminal in Ubuntu. |
04:17 | This command may not work in all Unix systems, however. A general procedure to open a terminal is already explained in another spoken tutorial. |
04:27 | To see the home directory , Type at the command prompt:
"echo space dollar H-O-M-E in capital" and press Enter. |
04:40 | This gives the pathname of our home directory. |
04:44 | We can move around from one directory to other. |
04:47 | But, any time we can be in one directory and this directory is known as the current directory or working directory. Now go back to slides. |
04:56 | The pwd command helps us to see the current directory. 'pwd' stands for present working directory. |
05:03 | Type at the command prompt: "pwd" and press Enter. Now this is our present working directory. |
05:13 | We have said that we can move from one directory to other. |
05:17 | But how do we do so? We have the cd command for this purpose. |
05:22 | You have to type the command cd followed by the 'pathname' of the directory you want to move to. |
05:28 | Lets again see our current directory by typing pwd at the command prompt and press Enter. |
05:37 | So, now we are placed in this directory. |
05:41 | 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. |
05:56 | Now let's see our current directory. Type pwd and press Enter. |
06:03 | Yes! We have moved to slash usr (/usr) directory. |
06:08 | The problem here is, the pathnames can be very long, this is because these are Absolute Pathnames that enlist the entire path staring from the root directory. |
06:18 | Instead we may use Relative pathnames that begin from the current directory. |
06:23 | 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. |
06:36 | Now, let us have a brief session on cd command. |
06:40 | The command cd without any argument is used to move back to the home directory. |
06:46 | Type at the command prompt: "cd" and press Enter. |
06:51 | Now check our current directory by the pwd command. |
06:55 | So, now we are back in our home directory
/home/gnuhata [ narration- slash home slash gnuhata ] |
07:01 | Now, let us move to music directory. Type at the command prompt: "cd space Music(M in capital) slash" and press Enter. |
07:13 | Now check our current directory by the 'pwd' command. pwd and press Enter. See, we have moved /home/gnuhata/Music |
07:26 | Let us go to the parent directory from Music. For that, you have to use cd command with 'dot dot'. |
07:33 | Type at the command prompt: cd space dot dot and press Enter. |
07:40 | Now, check our present directory by typing pwd. We are again in /home/gnuhata. |
07:51 | Now let's try to move to a subdirectory of the current directory using dot. |
07:58 | Type at the command prompt: cd space dot slash Documents(D in capital) slash. Press Enter. |
08:09 | Check our current directory by typing 'pwd'. We are at /home/gnuhata/Documents. |
08:19 | Let me clear the screen by pressing control L. So you can see clearly. |
08:23 | To go back to our home directory by 'cd' command,
type cd and press Enter. |
08:32 | Again check our current directory by 'pwd' command. We are back to /home/gnuhata . |
08:41 | We can combine any number of .. [narration - dot dot] separated by / [narration- slash] in a relative path . |
08:47 | In this slide, we can see the file system hierarchy. Root or '/' 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:05 | So, now we are in /home/gnuhata. Now how can we go to the 'bin' directory? |
09:12 | Type at the command prompt:
"cd space dot dot slash dot dot slash bin" and press Enter. |
09:23 | Check our current directory by the command pwd.
We are at /bin [narration - slash bin] |
09:30 | The first .. [narration-dot dot] takes us from /home/gnuhata [narration - slash home slash gnuhata] to /home [narration - slash home]. |
09:37 | The next takes us from /home to root. |
09:43 | Now from '/' or 'root', we have moved to '/bin' directory. |
09:48 | Go back to our home directory by the command 'cd'. |
09:52 | To create a directory, we use the mkdir command. |
09:56 | You have to type the command and name of directory to be created and a directory would be created under the current directory. |
10:04 | To create a directory named 'testdir', type the command: "mkdir space testdir" and press Enter. |
10:15 | This creates the 'testdir' directory successfully. |
10:19 | Note that, there is no explicit notification of successful directory creation or removal. |
10:25 | If you do not get any error message, it denotes successful execution. |
10:30 | We can also use the relative or absolute pathname 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. |
10:43 | This process can be used for making multiple directories or even a hierarchy of directories. |
10:49 | Type "mkdir space test1 space test2" and press Enter ,this will make two directories named test1 and test2 under the present directory. |
11:06 | Type "mkdir space testtree space testtree slash test3". |
11:20 | This will make a directory 'testtree' and another directory 'test3' which is a sub-directory under 'testtree'. |
11:28 | 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 subdirectory namely test3. |
11:47 | Similar to mkdir is the rmdir command which is used for removing a directory or directories. |
11:56 | The command "rmdir space test1" removes the test1 directory successfully. |
12:09 | 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. |
12:23 | Now type at the command prompt:
"cd space testtree slash test3" |
12:35 | So, we are now in test3 directory which is a subdirectory under testtree. |
12:42 | Lets try to remove the testdir directory by typing the command "rmdir space testdir". Press Enter. |
12:55 | We see it can't be done, because the current directory is not hierarchically above the directory to be removed. |
13:02 | So,we have to go to the directory which is hierarchically above testdir directory. |
13:08 | Type: "cd space dot dot" and press Enter. |
13:14 | Now, go back to our parent directory by typing the command "cd space dot dot". |
13:20 | Now, again try the previous command. |
13:24 | Type "rmdir space testdir". Press Enter. |
13:30 | The 'testdir' directory is successfully deleted. Note that, 'testdir' directory was also empty. |
13:38 | Multiple directories or a hierarchy of directories can be removed at once. So, try to delete the 'testtree' directory along with its subdirectory 'test3'. |
13:48 | Type at the command prompt:
"rmdir space testtree space testtree slash test3" press Enter. |
14:02 | See, it is giving the error message that 'testree' directory cannot be removed because 'testtree' is not empty. |
14:11 | But one thing which you may miss is that testtree/test3 has been deleted as it was empty. |
14:19 | To check that, type at the command prompt "cd space testtree" and press Enter. |
14:27 | Now type "ls" and press Enter. See, the directory contains nothing. So, 'test3' was deleted. |
14:36 | 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. |
14:49 | This brings me to the end of this tutorial. Spoken Tutorials are a part of the Talk to a Teacher project, supported by the National Mission on Education through ICT. |
15:03 | More information on this is available at the following link. |
15:08 | This script has been contributed by ----------------------(name of the translator) and this is -----------------------(name of the recorder) from --------------------------(name of the place)signing off . Thanks for joining. |