summaryrefslogtreecommitdiff
path: root/ult/ult_10/script.rst
diff options
context:
space:
mode:
Diffstat (limited to 'ult/ult_10/script.rst')
-rw-r--r--ult/ult_10/script.rst392
1 files changed, 392 insertions, 0 deletions
diff --git a/ult/ult_10/script.rst b/ult/ult_10/script.rst
new file mode 100644
index 0000000..28aa50e
--- /dev/null
+++ b/ult/ult_10/script.rst
@@ -0,0 +1,392 @@
+.. Objectives
+.. ----------
+
+ .. At the end of this tutorial, you will be able to:
+
+ .. 1. Search for files in many different ways
+ .. 2. Compare files with same names
+ .. 3. Create and extract an archive
+ .. 4. Customize a shell
+
+.. Prerequisites
+.. -------------
+
+.. 1. Getting started with Linux
+.. 2. Basic File Handling
+
+
+Script
+------
+
+.. L1
+
+{{{ Show the first slide containing title, name of the production
+team along with the logo of MHRD }}}
+
+.. R1
+
+Hello friends and Welcome to the tutorial on
+'Miscellaneous Tools'.
+
+.. L2
+
+{{{ Show slide with objectives }}}
+
+.. R2
+
+At the end of this tutorial, you will be able to,
+
+ 1. Search for files in many different ways.
+ #. Compare files with same names.
+ #. Create and extract an archive.
+ #. Customize a shell.
+
+.. L3
+
+{{{ Switch to the pre-requisite slide }}}
+
+.. R3
+
+Before beginning this tutorial,we would suggest you to complete the
+previous tutorials as being displayed currently.
+
+.. R4
+
+There are a bunch of tools, that will prove to be handy in your day
+to day work. These tools will help you quickly perform tasks like searching
+for files, comparing files and checking if they are the same, viewing the
+exact differences between them, etc.
+
+.. L4
+
+.. L5
+
+{{{ Show slide, find }}}
+
+.. R5
+
+Let us start with the first tool - 'find' .
+The ``find`` command lets you find files in a directory hierarchy. It
+offers a very complex feature set allowing you to search for files with a
+wide range of restrictions. We shall only look at some of the most
+frequently used ones.
+
+.. R6
+
+To find the files, which end with an extension, ``.pdf``, saved in the current
+folder and all it's subfolders, we say
+
+.. L6
+
+{{{ Open the terminal }}}
+::
+
+ find . -name "*.pdf"
+
+.. R7
+
+The ``find`` command also lists out the directory and sub-directory names
+To list them, we say,
+
+.. L7
+::
+
+ find . -type d
+
+.. R8
+
+In short, ``find`` allows you to set limits on file-size, modification time
+and whole lot of other things which you can explore on seeing the man page
+of ``find``.
+
+.. L8
+
+.. R9
+
+Let us now move on to the next tool, the compare tool.
+
+To compare two files, whether they are identical or not, we can use the
+``cmp`` command. Let us consider some situation. Suppose, we run the ``find``
+command to locate some file, and it turns out that we have a file with same
+name in different location.
+
+In this case, if we are unsure, whether both the files are the same, we can use
+the ``cmp`` command to check if the files are identical.
+
+.. L9
+::
+
+ find . -name quick.c
+ ./Desktop/programs/quick.c
+ ./c-folder/quick.c
+ cmp Desktop/programs/quick.c c-folder/quick.c
+
+.. L10
+
+{{{ Show slide, cmp }}}
+
+.. R10
+
+If the cmp command doesn't return any output, it means that both files are
+exactly identical. If there are any differences in the file, it gives you
+the exact byte location at which the first difference occurred.
+
+.. R11
+
+Let us now make a small change in one of quick.c file and run the ``cmp``
+command again.
+
+.. L11
+
+{{{ Switch to the terminal }}}
+
+::
+
+ cmp Desktop/programs/quick.c c-folder/quick.c
+
+.. R12
+
+As we can see, it gives the exact location as to where a change is made.
+
+Now, we may not be happy with just the knowledge that the files are
+different. We may want to see the exact differences between the two files.
+The ``diff`` command can be used to find the exact differences between the
+files.
+
+.. L12
+
+.. L13
+::
+
+ diff Desktop/programs/quick.c c-folder/quick.c
+
+.. R13
+
+We get back a line by line difference between the two files.
+
+.. L14
+
+{{{ Show slide, diff }}}
+
+.. R14
+
+The ``>`` mark indicates the content that has been added to the second file,
+which was not present in the first file. The ``<`` mark indicates the lines
+that were present in the first file, but are not existent in the second file.
+
+.. L15
+
+{{{ Show slide, tar }}}
+
+.. R15
+
+You would often come across (archive) files which are called *tarballs*. A
+tar ball is essentially a collection of files, which may or may not be
+compressed. Essentially, it eases the job of storing, backing up and
+transporting multiple files, at once.
+
+.. R16
+
+The following set of commands extracts the contents of the ``allfiles.tar``
+tarball to the directory extract.
+
+.. L16
+
+{{{ Switch to terminal }}}
+::
+
+ mkdir extract
+ cp allfiles.tar extract/
+ cd extract
+ tar -xvf allfiles.tar
+
+.. L17
+
+{{{ Show slide, extracting an archive }}}
+
+.. R17
+
+The option, ``x`` tells ``tar`` to extract the files in the archive file
+specified by the ``f`` option. The ``v`` option tells ``tar`` to give out a
+verbose output.
+
+.. R18
+
+Similarly, if we wish to create a ``tar`` archive, we use the ``c`` option
+instead of the ``x`` option. For instance, the command below creates an
+archive from all the files with the ``.txt`` extension.
+
+.. L18
+
+{{{ Switch to terminal }}}
+::
+
+ tar -cvzf newarchive.tar *.txt
+
+.. R19
+
+You can also create and extract compressed archives using ``tar``. It
+supports a wide variety of compressions like gzip, bzip2, lzma, etc.
+
+We need to add an additional option to ``tar`` to handle these
+compressions.
+
+
++-------------+------------+
+| Compression | Option |
++-------------+------------+
+| gzip | ``-z`` |
+| bzip2 | ``-j`` |
+| lzma | ``--lzma`` |
++-------------+------------+
+
+.. L19
+
+.. R20
+
+So, if we wished to create a gzip archive in the previous command, we
+change it to the following
+
+.. L20
+::
+
+ tar -cvzf newarchive.tar.gz *.txt
+
+.. L21
+
+{{{ Show slide, customizing your shell }}}
+
+.. R21
+
+What would you do, if you want bash to execute a particular command each
+time you start it up? For instance, say you want the current directory to
+be your Desktop instead of your home folder, each time bash starts up.
+Bash reads and executes commands in a whole bunch
+of files called start-up files, when it starts up.
+
+When bash starts up as an interactive login shell, it reads the files
+``/etc/profile``, ``~/.bash_profile``, ``~/.bash_login``, and
+``~/.profile`` in that order.
+
+When an interactive shell that is not a login shell is started, bash reads
+and executes commands from ~/.bashrc. This can be prevented using the ``--norc``
+option. Instead of using the ``~/.bashrc`` file on start-up, we can force
+the bash to use another file, for which the ``--rcfile`` option may be used.
+
+Now, you know what you should do, to change the current directory to you
+Desktop. Just put a ``cd ~/Desktop`` into your ``~/.bashrc`` and you are
+set!
+But as you know that the start-up files are used for a lot more complex things
+than this. You could set (or unset) aliases and a whole bunch of environment
+variables in the ``.bashrc``, like changing environment variables etc.
+
+.. L22
+
+{{{ Switch to 'Summary' slide }}}
+
+.. R22
+
+This brings us to the end of the end of this tutorial.
+In this tutorial, we have learnt to,
+
+ 1. Make use of the ``find`` command to find files in a directory hierarchy.
+ #. Find the differences between files with the same name, using the
+ ``cmp`` and ``diff`` commands.
+
+.. L23
+
+{{{ Switch to 'Summary..' slide }}}
+
+.. R23
+
+ #. Extract and create compressed archive's using the ``tar`` command.
+ #. Customize one's shell according to one's choice.
+
+.. L24
+
+{{{ Show self assessment questions slide }}}
+
+.. R24
+
+Here are some self assessment questions for you to solve
+
+ 1. Look at the man page of ``find`` and state the options which
+ deal with symbolic links.
+
+ 2. How do you append tar files to an archive?
+
+.. L25
+
+{{{ Solution of self assessment questions on slide }}}
+
+.. R25
+
+And the answers,
+
+1. The -H, -L and -P options with the ``find`` command control
+ the treatment of symbolic links.
+
+ 2. To append tar files to an archive, we can use the ``tar`` command
+ either with the ``-A`` option or the ``-r`` option, as,
+::
+
+ $ tar -Af <tar_file> <tar_file_to_be_added>
+ OR
+ $ tar -rf <tar_file> <tar_file_to_be_added>
+
+.. L27
+
+{{{ Show the SDES & FOSSEE slide }}}
+
+.. R27
+
+Software Development techniques for Engineers and Scientists - SDES, is an
+initiative by FOSSEE. For more information, please visit the given link.
+
+Free and Open-source Software for Science and Engineering Education - FOSSEE, is
+based at IIT Bombay which is funded by MHRD as part of National Mission on
+Education through ICT.
+
+.. L28
+
+{{{ Show the ``About the Spoken Tutorial Project'' slide }}}
+
+.. R28
+
+Watch the video available at the following link. It summarises the Spoken
+Tutorial project.If you do not have good bandwidth, you can download and
+watch it.
+
+.. L29
+
+{{{ Show the `` Spoken Tutorial Workshops'' slide }}}
+
+.. R29
+
+The Spoken Tutorial Project Team conducts workshops using spoken tutorials,
+gives certificates to those who pass an online test.
+
+For more details, contact contact@spoken-tutorial.org
+
+.. L30
+
+{{{ Show the ``Acknowledgements'' slide }}}
+
+.. R30
+
+Spoken Tutorial Project is a part of the "Talk to a Teacher" project.
+It is supported by the National Mission on Education through ICT, MHRD,
+Government of India. More information on this mission is available at the
+given link.
+
+.. L31
+
+{{{ Show the Thank you slide }}}
+
+.. R31
+
+Hope you have enjoyed this tutorial and found it useful.
+Thank you!
+
+
+