BASH/C3/Using-File-Descriptors/English-timed
From Script | Spoken-Tutorial
Revision as of 17:03, 23 March 2017 by Pratik kamble (Talk | contribs)
| Time | Narration |
| 00:01 | Dear friends, welcome to the spoken tutorial on Using File Descriptors. |
| 00:08 | In this tutorial, we will learn to: |
| 00:11 | Assign an output file descriptor |
| 00:14 | Assign an input file descriptor |
| 00:17 | Close the file descriptor (fd) |
| 00:19 | with the help of some examples. |
| 00:23 | To follow this tutorial, you should have knowledge of Shell Scripting in BASH. |
| 00:29 | If not, for relevant tutorials, please visit our website which is as shown. http://www.spoken-tutorial.org |
| 00:35 | For this tutorial, I am using: |
| 00:38 | Ubuntu Linux 12.04 Operating System |
| 00:43 | GNU BASH version 4.2 |
| 00:46 | Please note, GNU Bash version 4 or above is recommended for practice. |
| 00:54 | Let us start with an introduction. |
| 00:56 | We have already studied about file descriptors in the previous tutorial. |
| 01:02 | 0, 1 and 2 are the standard file descriptors for stdin, stdout and stderr. |
| 01:15 | File descriptors are used for i/o redirection. |
| 01:20 | The syntax to assign a file descriptor to an output file is: |
| 01:25 | exec [File descriptor] greater than symbol filename |
| 01:31 | Let us see an example. |
| 01:33 | I have a code file with the name fdassign dot sh. |
| 01:43 | The first line is the shebang line. |
| 01:49 | The "exec" command replaces the current shell process. |
| 01:56 | It will be executed in the place of the current shell without creating a new process. |
| 02:04 | We know that 0, 1, and 2 are standard file descriptors. |
| 02:09 | For any newly opened file, we have additional file descriptors from 3 to 9. |
| 02:19 | Here, 3 is the file descriptor. |
| 02:22 | This will write the output to the output dot txt file. |
| 02:30 | The string "Welcome to BASH learning" is sent to the file output dot txt. |
| 02:36 | This is done via file descriptor 3. |
| 02:42 | This is similar to redirecting a string to a file. |
| 02:49 | Each new string will be appended to the file. |
| 02:52 | For example: |
| 02:54 | We will append the current system date to the output dot txt file. |
| 03:00 | The syntax is: date SPACE greater-than symbol ampersand sign 3. |
| 03:13 | Here, we close the file descriptor. |
| 03:16 | After this line, the descriptor cannot write anything to the output dot txt file. |
| 03:23 | Let us execute the code and see the output. |
| 03:26 | Open the terminal using CTRL+ALT+T keys. |
| 03:34 | Type: chmod space plus x space fdassign dot sh |
| 03:41 | Type: dot slash fdassign dot sh |
| 03:46 | Let us check the output now by typing cat space output dot txt. |
| 03:56 | We can see that the string "Welcome to BASH learning" and the current system date is displayed. |
| 04:05 | Let us go back to the editor. |
| 04:11 | Now I will type echo at the end, after the descriptor is closed. |
| 04:17 | Type: echo space within double quotes Hi after quotes space greater than symbol ampersand sign 3 |
| 04:31 | Click on Save. |
| 04:35 | Let us execute the script once again and see what happens. |
| 04:38 | On the terminal, press the up-arrow key twice, recall the previous command dot slash fdassign dot sh. |
| 04:50 | press Enter. |
| 04:52 | We see an error: |
| 04:55 | "Bad file descriptor". |
| 04:58 | Let us fix this error. |
| 05:00 | Come back to the editor. |
| 05:03 | I will cut the last line of code and paste it below the date command. |
| 05:11 | Click on Save. |
| 05:13 | Let us execute the code once again, on the terminal. |
| 05:19 | Recall the previous command dot slash fdassign.sh. |
| 05:24 | press Enter. |
| 05:26 | Now let us open the output dot txt file. |
| 05:29 | Type: cat space output dot txt |
| 05:41 | We can see the output. |
| 05:43 | The string "Hi" is displayed at the end. |
| 05:49 | Now we will assign the file descriptor to the input file. |
| 05:54 | Let us see an example. |
| 05:56 | I have a file named fdread dot sh. |
| 06:03 | Let us go through it. |
| 06:07 | This is the 'exec' command. |
| 06:13 | Here we will read the file output dot txt. |
| 06:19 | The line exec 3 lesser than symbol output dot txt will open the file for reading. |
| 06:30 | 'cat' command will display the content of the file. |
| 06:35 | And finally, we close the file descriptor. |
| 06:39 | Now, let us execute this shell script. |
| 06:42 | On the terminal, let me clear the prompt. |
| 06:47 | Type: chmod space plus x space fdread dot sh |
| 06:55 | Type dot slash fdread dot sh |
| 07:01 | We can see the output on the terminal. |
| 07:05 | The content of output dot txt file is displayed. |
| 07:10 | This brings us to the end of this tutorial. |
| 07:13 | Come back to the slides. |
| 07:16 | Let us summarize. In this tutorial, we learned to: |
| 07:19 | Assign the output file descriptor |
| 07:22 | Assign the input file descriptor |
| 07:26 | Close the file descriptor. |
| 07:28 | As an assignment: |
| 07:30 | Try to append a few lines to a file test dot txt using file descriptors; |
| 07:36 | Display the contents of the file using file descriptors. |
| 07:41 | Watch the video available at the link shown below. |
| 07:45 | It summarizes the Spoken-Tutorial project. |
| 07:48 | If you do not have good bandwidth, you can download and watch it. |
| 07:53 | The Spoken Tutorial Project team: Conducts workshops using spoken tutorials. |
| 07:58 | Gives certificates to those who pass an online test. |
| 08:02 | For more details, please write to contact@spoken-tutorial.org |
| 08:10 | Spoken Tutorial Project is a part of the Talk to a Teacher project. |
| 08:14 | It is supported by the National Mission on Education through ICT, MHRD, Government of India. |
| 08:22 | More information on this mission is available at the link shown below http://spoken-tutorial.org/NMEICT-Intro |
| 08:28 | The script has been contributed by FOSSEE and Spoken-Tutorial teams. |
| 08:33 | This is Ashwini Patil from IIT Bombay, signing off. |
| 08:37 | Thank you for joining. |