From 985adfa4f8a8b9cfba2b0a573dadc77283651957 Mon Sep 17 00:00:00 2001 From: Jovina Date: Wed, 1 Feb 2012 14:12:28 +0530 Subject: Removed ult parts 1-8 and pushed to other repo. --- ult/ult_2/script.rst | 492 ------ ult/ult_2/ult2.tex | 200 --- ult/ult_3/bar.txt | 8 - ult/ult_3/foo.txt | 9 - ult/ult_3/marks.txt | 5 - ult/ult_3/script.rst | 375 ----- ult/ult_3/students.txt | 5 - ult/ult_3/ult3.tex | 170 -- ult/ult_3/wonderland.txt | 4047 ---------------------------------------------- ult/ult_4/marks.txt | 5 - ult/ult_4/marks1.txt | 5 - ult/ult_4/script.rst | 409 ----- ult/ult_4/students.txt | 5 - ult/ult_4/ult4.tex | 243 --- ult/ult_5/foo.txt | 9 - ult/ult_5/marks1.txt | 5 - ult/ult_5/script.rst | 347 ---- ult/ult_5/students.txt | 5 - ult/ult_5/ult5.tex | 178 -- ult/ult_6/script.rst | 278 ---- ult/ult_6/ult6.tex | 169 -- ult/ult_7/06- track.mp3 | 0 ult/ult_7/clause.sh | 20 - ult/ult_7/dir-test.sh | 5 - ult/ult_7/emerald.mp3 | 0 ult/ult_7/for-1.sh | 4 - ult/ult_7/for-2.sh | 4 - ult/ult_7/for-3.sh | 4 - ult/ult_7/for-5.sh | 4 - ult/ult_7/premier.mp3 | 0 ult/ult_7/script.rst | 401 ----- ult/ult_7/sign.sh | 7 - ult/ult_7/society.mp3 | 0 ult/ult_7/ult7.tex | 202 --- ult/ult_7/while-1.sh | 4 - ult/ult_7/while-2.sh | 7 - ult/ult_8/script.rst | 339 ---- ult/ult_8/ult8.tex | 248 --- 38 files changed, 8218 deletions(-) delete mode 100644 ult/ult_2/script.rst delete mode 100644 ult/ult_2/ult2.tex delete mode 100644 ult/ult_3/bar.txt delete mode 100644 ult/ult_3/foo.txt delete mode 100644 ult/ult_3/marks.txt delete mode 100644 ult/ult_3/script.rst delete mode 100644 ult/ult_3/students.txt delete mode 100644 ult/ult_3/ult3.tex delete mode 100644 ult/ult_3/wonderland.txt delete mode 100644 ult/ult_4/marks.txt delete mode 100644 ult/ult_4/marks1.txt delete mode 100644 ult/ult_4/script.rst delete mode 100644 ult/ult_4/students.txt delete mode 100644 ult/ult_4/ult4.tex delete mode 100644 ult/ult_5/foo.txt delete mode 100644 ult/ult_5/marks1.txt delete mode 100644 ult/ult_5/script.rst delete mode 100644 ult/ult_5/students.txt delete mode 100644 ult/ult_5/ult5.tex delete mode 100644 ult/ult_6/script.rst delete mode 100644 ult/ult_6/ult6.tex delete mode 100644 ult/ult_7/06- track.mp3 delete mode 100644 ult/ult_7/clause.sh delete mode 100644 ult/ult_7/dir-test.sh delete mode 100644 ult/ult_7/emerald.mp3 delete mode 100644 ult/ult_7/for-1.sh delete mode 100644 ult/ult_7/for-2.sh delete mode 100644 ult/ult_7/for-3.sh delete mode 100644 ult/ult_7/for-5.sh delete mode 100644 ult/ult_7/premier.mp3 delete mode 100644 ult/ult_7/script.rst delete mode 100644 ult/ult_7/sign.sh delete mode 100644 ult/ult_7/society.mp3 delete mode 100644 ult/ult_7/ult7.tex delete mode 100644 ult/ult_7/while-1.sh delete mode 100644 ult/ult_7/while-2.sh delete mode 100644 ult/ult_8/script.rst delete mode 100644 ult/ult_8/ult8.tex diff --git a/ult/ult_2/script.rst b/ult/ult_2/script.rst deleted file mode 100644 index 21db359..0000000 --- a/ult/ult_2/script.rst +++ /dev/null @@ -1,492 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Copy files from one location to another. - .. 2. Remove files and directories. - .. 3. Change permissions and ownership of files. - .. 4. Navigate through directories and files. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 - - -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 -'Using linux tools - Part 2'. - -.. L2 - -{{{ Show slide with objectives }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Copy files from one location to another. - #. Remove files and directories. - #. Change permissions and ownership of files. - #. Navigate through directories and files. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial,we would suggest you to complete the -tutorial on "Using Linux tools - Part 1". - -.. R4 - -Let us start with the concept of basic file handling. -Let's begin with removing files. -The ``rm`` command is used to delete files. - -Here's example to remove a file named "foo" from the directory "sdes", - -.. L4 - -{{{ Navigate to /home/user/sdes/ }}} -:: - - rm foo - ls - -.. R5 - -Note that, as such, ``rm`` works only for files and not for directories. -For instance, if you try to remove a directory named ``bar`` using, - -.. L5 -:: - - rm bar - -.. R6 - -we get an error saying, cannot remove `bar`: Is a directory. But ``rm`` -takes additional arguments which can be used to remove a directory and all -of it's content, including sub-directories.We use the ``-r`` option. - -.. L6 -:: - - rm -r bar - ls - -.. R7 - -It removes the directory ``bar`` and all of it's content including -sub-directories, recursively. The ``-r`` stands for recursive. - -Let's say we wish to copy a file, ``foo`` from ``sdes/linux-tools/scripts``, -which is the source location to the target location ``sees/linux-tools``, -how would we do it? - -.. L7 -:: - - pwd - cp linux-tools/scripts/foo linux-tools/ - -.. R8 - -Note, that we haven't changed the name of the file name at the target -location. We could have done that by specifying a new filename at the -target location,as, - -.. L8 -:: - - cp linux-tools/scripts/foo linux-tools/bar - -.. R9 - -This copies the file ``foo`` to the new location, but with the new name, -``bar``. - -But, what would have happened if we had a file named ``bar`` already at the -new location? Let's try doing the copy again, and see what happens. - -.. L9 -:: - - cp linux-tools/scripts/foo linux-tools/bar - -.. R10 - -We get no error message, what happened? ``cp`` actually overwrites files. -In this case, it's not a problem since, we just re-copied the same content, -but in general it could be a problem, and we could lose data. To prevent -this, we use the ``-i`` flag with ``cp``. - -.. L10 -:: - - cp -i linux-tools/scripts/foo linux-tools/bar - -.. R11 - -We are now prompted, whether the file should be over-written. To over-write -say ``y``, else say ``n``. - -Now, let's try to copy the directory ``sdes`` to a new directory called -``course``. How do we do it? - -.. L11 -:: - - cd /home/user - cp -i sdes course - -.. R12 - -``cp`` refuses to copy the directory ``sdes``. We use the option ``-r`` -(recursive) to copy the directory and all it's content. - -.. L12 -:: - - cd /home/user - cp -ir sdes course - ls - -.. R13 - -We see that a new directory named course has been created with all it's -contents. - -Now, If we want to move files, instead of copying them, one way to go about -it, would be to ``cp`` the file to the new location and ``rm`` the old -file. Instead, you can make use of only one command which can do this task at -one go. The ``mv`` command can move files or directories. It also takes -the ``-i`` option to prompt before overwriting. - -.. L14 -:: - - cd /home/user - mv -i sdes/ course/ - -.. R15 - -Let us understand what exactly happened when we used the ``mv`` command - -.. L15 -:: - - ls course - -.. R16 - -We can see that the ``sdes`` directory has been inserted as sub-directory -of the ``course`` directory. The move command doesn't over-write -directories, but the ``-i`` option is useful when moving files around. - -A common way to rename files (or directories), is to copy a file (or a -directory) to the same location, with a new name. - -.. L16 -:: - - mv sdes/linux-tools sdes/linux - -.. R17 - -It renames the ``linux-tools`` directory to just ``linux`` - -While moving around our files and directories, we have been careful to stay -within the ``/home/`` directory, but other than that there are many other -directories too. Let us take this opportunity to understand a few things -about the linux file hierarchy and file permissions. - -.. L17 -:: - - cd / - -{{{ Switch to slide, Linux File Hierarchy }}} - -.. R18 - -The ``/`` directory is called the root directory. All the files and -directories, (even if they are on different physical devices) appear as -sub-directories of the root directory. - -.. L18 - -{{{ Switch to terminal }}} -:: - - ls - -.. R19 - -You can see the various directories present at the top most level. - -.. L19 - -{{{ Pause for sometime and then continue }}} - -.. R20 - -For more information, it is recommended that you look at the ``man`` page -of ``hier``. - -.. L20 -:: - - man hier - -{{{ Pause for sometime and then hit q }}} - -.. R21 - -Let us now look at file permissions. Linux is a multi-user environment and -allows users to set permissions to their files to allow only a set of -people to read or write it. Similarly, it is not "safe" to allow system -files to be edited by any user. All this access control is possible in -Linux. - -To start, in the root directory, say, - -.. L21 -:: - - ls -l - -.. R22 - -You again get a list of all the sub-directories, but this time with a lot -of additional information. Let us try and understand what this output says -Consider the first line of the output, - -.. L22 - -{{{ Highlight the required portions accordingly while narrating }}} - -.. R23 - -The first column denotes the type and the access permissions of the file. -The second is the number of links. The third and fourth are the owner and -group of the file. The next field is the size of the file in bytes. The -next field is the date and time of modification and the last column is the -file name. -We shall look at the permissions of the file now, ie., the first column of -the output. - -The first character in the first column specifies, whether the item is a -file or a directory. Files have a ``-`` as the first character and -directories have a ``d``. - -The next 9 characters define the access permissions of the file. Before -looking at it, we need to briefly study groups and users and ownership. - -We already know what the first character in the first column (in the output -of ``ls -l``) is for. The rest of the 9 characters are actually sets of 3 -characters of each. The first set of 3 characters defines the permissions -of the user, the next 3 is for the group and the last three is for others. -Based on the values of these characters, access is provided or denied to -files, to each of the users. - -So, what does each of the three characters stand for? Let's suppose we are -looking at the set, corresponding to the permissions of the user. In the -three characters, the first character can either be an ``r`` or a ``-``. -Which means, the user can either have the permissions to read the file or -not. If the character is ``r``, then the user has the permissions to read -the file, else not. Similarly, ``w`` stands for write permissions and -decides whether the user is allowed to write to the file. ``x`` stands for -execute permissions. You cannot execute a file, if you do not have the -permissions to execute it. - -Similarly, the next set of characters decides the same permissions for the -members of the group, that the file is associated with. The last set of -characters defines these permissions for the users, who are neither owners -of the file nor in the group, with which the file is associated. - -Now, it's not as if these permissions cannot be changed. If you are the -owner of a file, you can change the permissions of a file, using the -``chmod`` command. - -.. L23 - -.. R24 - -Let's say, we wish to give the execute permissions for a file, to both the -user and the group, how do we go about doing it? To be more explicit, given -a file ``foo.sh``, with the permissions flags as ``-rw-r--r--``, change it -to ``-rwxr-xr--``. - -The following command does it for us, - -.. L24 -:: - - chmod ug+x foo.sh - ls -l foo.sh - -.. R25 - -As you can see, the permissions have been set to the required value. But -what did we exactly do? Let us try and understand. - -.. L25 - -{{{ Switch to slide,Symbolic modes }}} - -.. R26 - -In the command, the parameter ``ug+x`` is the mode parameter to the -``chmod`` command. It specifies the changes that need to be made to the -permissions of the file ``foo.sh``. -The ``u`` and ``g`` stand for the user and group, respectively. The ``x`` -stands for the execute permission and ``+`` stands for adding the -specified permission. So, essentially, we are asking ``chmod`` command to -add the execute permission for the user and group. The permission of others -will remain unchanged. - -So, if we wished to add the execute permission to all the users, instead of -adding it to just the user and group, we would have instead said - -.. L26 -:: - - chmod a+x foo.sh - -.. R27 - -or - -.. L27 -:: - - chmod ugo+x foo.sh - -.. R28 - -Pause the video here, try out the following exercise and resume the video. - -.. L28 - -.. L29 - -{{{ Show slide with exercise 1 }}} - -.. R29 - -Change the permissions of a directory along with all of its -sub-directories and files. - -.. L30 - -{{{ Show slide with solution 1 }}} - -.. R30 - -To change the permissions of a directory along with all of its -sub-directories and files, recursively, we use the ``-R`` option -with the chmod command as shown - - chmod go-r -R / - -.. R31 - -It is important to note that the permissions of a file can only be changed -by a user who is the owner of a file or the superuser. - -What if we wish to change the ownership of a file? The ``chown`` command is -used to change the owner and group. -By default, the owner of a file (or directory) is the user that -created it. The group is a set of users that share the same access -permissions i.e., read, write and execute. -For instance, to change the user and the group of the file -``wonderland.txt`` to ``alice`` and ``users``, respectively, we say. - -.. L31 -:: - - chown fossee:users wonderland.txt - -.. R32 - -We get an error saying, the operation is not permitted. -We have attempted to change the ownership of a file that we own, to a -different user. Logically, this shouldn't be possible, because, this can -lead to problems, in a multi-user system. -Only the superuser is allowed to change the ownership of a file from one -user to another. The superuser or the ``root`` user is the only user -empowered to a certain set of tasks and hence is called the superuser. The -command above would have worked, if you did login as the superuser and -then changed the ownership of the file. - -.. L32 - -.. L33 - -{{{ Show summary slide }}} - -.. R33 - -This brings us to the end of the tutorial.In this tutorial, we have learnt to, - - 1. Copy and move files from one location to another, using the ``cp`` - and ``mv`` commands respectively. - #. Remove files using ``rm`` command. - #. Understand the Linux file hierarchy. - #. Change permissions and ownership of files, using the ``chmod`` - and ``chown`` commands respectively. - -.. L34 - -{{{ Show self assessment questions slide }}} - -.. R34 - -Here are some self assessment questions for you to solve - -1. How to copy all the contents of one folder into another? - -2. How will you rename the file wonderland.txt to alice.txt using the - commands learnt so far? - -.. L35 - -{{{ Solution of self assessment questions on slide }}} - -.. R35 - -And the answers, - -1. We use the ``cp`` command along with a star sign. The star denotes that - it will copy all the files of folder 1 to folder 2. -:: - - cp folder1/* folder2 - -2. To rename a file, we use the ``mv`` command as, -:: - - mv wonderland.txt alice.txt - -.. L36 - -{{{ Show the Thankyou slide }}} - -.. R36 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - diff --git a/ult/ult_2/ult2.tex b/ult/ult_2/ult2.tex deleted file mode 100644 index 9fb0e7e..0000000 --- a/ult/ult_2/ult2.tex +++ /dev/null @@ -1,200 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools\\Part II} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Copy files from one location to another. -\item Remove files and directories. -\item Change permissions and ownership of files. -\item Navigate through directories and files. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\end{itemize} -\end{frame} - - -\begin{frame} - \frametitle{Linux File Hierarchy} - \begin{itemize} - \item \texttt{/} is called the root directory - \item The root directory is the topmost level of the hierarchy - \item For details \texttt{man hier} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Symbolic modes} - \begin{small} - \begin{center} - \begin{tabular}{lll} - Reference & Class & Description \\ - \hline - u & user & the owner of the file \\ - g & group & users who are members of the file's group \\ - o & others & users who are not hte owner of the file or members of the group \\ - a & all & all three of the above; is the same as \emph{ugo} \\ - \end{tabular} - \end{center} - - \begin{center} - \begin{tabular}{ll} - Operator & Description \\ - \hline - + & adds the specified modes to the specified classes \\ - - & removes the specified modes from the specified classes \\ - = & the modes specified are to be made the exact modes for the specified classes \\ - \end{tabular} - \end{center} - - \begin{center} - \begin{tabular}{lll} - Mode & Name & Description \\ - \hline - r & read & read a file or list a directory's contents \\ - w & write & write to a file or directory \\ - x & execute & execute a file or recurse a directory tree \\ - \end{tabular} - \end{center} - \end{small} -\end{frame} - - -\begin{frame} - \frametitle{Exercise 1} - \begin{itemize} - \item Change the permissions of a directory along with all of its - sub-directories and files. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Solution 1} - \begin{itemize} - \item chmod go-r -R / - \end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Copy and move files from one location to another, using the ``cp'' - and ``mv'' commands respectively. -\item Remove files using ``rm`` command. -\item Understand the Linux file hierarchy. -\item Change permissions and ownership of files, using the ``chmod'' - and ``chown'' commands respectively. -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item How to copy all the contents of one folder into another? -\vspace{15pt} -\item How will you rename the file wonderland.txt to alice.txt using the - commands learnt so far? -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item cp folder1/* folder2 -\vspace{15pt} -\item mv wonderland.txt alice.txt -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - diff --git a/ult/ult_3/bar.txt b/ult/ult_3/bar.txt deleted file mode 100644 index c0a5b08..0000000 --- a/ult/ult_3/bar.txt +++ /dev/null @@ -1,8 +0,0 @@ -"Bar" as the second term in the series may have developed in -electronics, where a digital signal which is considered "on" with a -negative or zero-voltage condition is identified with a horizontal bar -over the signal label; the notation for an inverted signal foo would -then be pronounced "foo bar". Bar may also be read as beyond all -repair, which is how it is used in the acronym FUBAR. - -source: wikipedia diff --git a/ult/ult_3/foo.txt b/ult/ult_3/foo.txt deleted file mode 100644 index 1fe9426..0000000 --- a/ult/ult_3/foo.txt +++ /dev/null @@ -1,9 +0,0 @@ -FOO is an abbreviation of Forward Observation Officer, a British Army -term in use as early as the First World War. The etymology of foo is -explored in the Internet Engineering Task Force (IETF) Request for -Comments 3092, which notes usage of foo in 1930s cartoons including -The Daffy Doc (with Daffy Duck) and comic strips, especially Smokey -Stover and Pogo. From there the term migrated into military slang, -where it merged with FUBAR. - -source: wikipedia diff --git a/ult/ult_3/marks.txt b/ult/ult_3/marks.txt deleted file mode 100644 index f97b743..0000000 --- a/ult/ult_3/marks.txt +++ /dev/null @@ -1,5 +0,0 @@ -89 92 85 -98 47 67 -67 82 76 -78 97 60 -67 68 69 diff --git a/ult/ult_3/script.rst b/ult/ult_3/script.rst deleted file mode 100644 index adc24b8..0000000 --- a/ult/ult_3/script.rst +++ /dev/null @@ -1,375 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Display the contents of files. - .. 2. Read only parts of a file. - .. 3. Look at the statistical information of a file. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 - -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 -'Using linux tools - Part 3'. - -.. L2 - -{{{ Show slide with objectives }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Display the contents of files. - #. Read only parts of a file. - #. Look at the statistical information of a file. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial,we would suggest you to complete the -tutorial on "Using Linux tools - Part 1" and "Using Linux tools - Part 2". - -.. R4 - -Let us begin with how to read a while as a whole. -The ``cat`` command is the most commonly used command to display the -contents of files. To view the contents of a file, say, ``foo.txt``, we -simply say, - -.. L4 -:: - - cat foo.txt - -.. R5 - -You can see the contents of the file on the terminal. - -The cat command could also be used to concatenate the text of multiple -files. Say, we have two files,``foo.txt`` and ``bar.txt``, - -.. L5 -:: - - cat foo.txt bar.txt - -.. R6 - -It shows the output of both the files concatenated on the standard output. -But if we had a long file,the output of ``cat`` command is not convenient -to read. -Let's look at the ``less`` command which turns out to be more useful in -such a case. - -``less `` allows you to view the contents of a text file one screen at a -time. - -.. L6 -:: - - less wonderland.txt - -.. R7 - -This shows us the file, one screen at a time. - -.. L7 - -.. L8 - -{{{ Show slide with, less }}} - -.. R8 - -``less`` has a list of commands that it allows you to use, once you have -started viewing a file. A few of the common ones have been listed below. - - * q: Quit. - - * [Arrows]/[Page Up]/[Page Down]/[Home]/[End]: Navigation. - - * ng: Jump to line number n. Default is the start of the file. - - * /pattern: Search for pattern. Regular expressions can be used. - - * h: Help. - -.. R9 - -Let us move ahead with the topic. Often we just would like to get some -statistical information about the file, rather than viewing the contents -of the file. The ``wc`` command prints these details for a file. - -.. L9 -:: - - wc wonderland.txt - -.. L10 - -{{{ Highlight the required portions accordingly while narrating }}} - -.. R10 - -As you can see, we get some information about the file. -The first number is the number of lines, the second is the number of words -and the third is the number of characters in the file. - -.. R11 - -Let us now look at a couple of commands that let you see parts of files, -instead of the whole file. The ``head`` and ``tail`` commands let you see -parts of files, as their names suggest, the start and the end of a file, -respectively. - -.. L11 -:: - - head wonderland.txt - -.. R12 - -It prints only the first 10 lines of the file. Similarly tail will print the -last 10 lines of the file. If we wish to change the number of lines that we -wish to view, we use the option ``-n``. - -.. L12 -:: - - head -n 1 wonderland.txt - -.. R13 - -It prints only the first line of the file. Similarly, we could print only -the last line of the file. - -The most common use of the tail command is to monitor a continuously -changing file, for instance a log file. Say you have a process running, -which is continuously logging it's information to a file, for instance the -logs of the system messages. - -.. L13 -:: - - tail -f /var/log/dmesg - -.. R14 - -This will show the last 10 lines of the file as expected, but along with -that, it starts monitoring the file. Any new lines added at the end of the -file, will be shown. To interrupt tail, while it is monitoring, hit -``Ctrl-C``. which will stop any process that is running from your -current shell. - -We looked at a couple of functions that allowed us to view a part of a file, -line-wise. We shall now look at a couple of commands that will allow us to look -at only certain sections of each line of a file and merge those parts. -Let's take the ``/etc/passwd`` file as our example file. It contains -information about each user of the system. - -.. L14 -:: - - cat /etc/passwd - -.. R15 - -In the output, let us look at only the first, fifth, sixth and the last -columns.The first column is the user name, the fifth column is the user info, -the sixth column is the home folder and the last column is the path of the -shell program that the user uses. -Let's say we wish to look at only the user names of all the users in the -file, how do we do it? - -.. L15 -:: - - cut -d : -f 1 /etc/passwd - -.. R16 - -It gives us the required output. Let us understand this operation in detail. -The first option ``-d`` specifies the delimiter between the various fields in -the file, in this case it is the semicolon. If no delimiter is specified, -the TAB character is assumed to be the delimiter. The ``-f`` option specifies, -the field number that we want to choose. -You can print multiple fields, by separating the field numbers with a -comma. - -Pause the video here, try out the following exercise and resume the video. - -.. L16 - -.. L17 - -{{{ Show slide with exercise 3 }}} - -.. R17 - -Print only the first, fifth and the seventh fields of the file ``/etc/passwd``. - -.. R18 - -Switch to the terminal for solution - -.. L18 - -{{{ continue from paused state }}} -{{{ Switch to the terminal }}} - -:: - - cut -d : -f 1,5,7 /etc/passwd - -.. R19 - -We get the correct output. -Instead of choosing by fields, ``cut`` also allows us to choose on the -basis of characters or bytes. For instance, we could get the first 4 -characters of all the entries of the file, ``/etc/passwd`` by saying, - -.. L19 -:: - - cut -c 1-4 /etc/passwd - -.. R20 - -The end limits of the ranges can take sensible default values, if they are -left out. For example, - -.. L20 -:: - - cut -c -4 /etc/passwd - -.. R21 - -It gives the same output as before. If the start position has not been -specified, it is assumed to be the start of the line. Similarly if the end -position is not specified, it is assumed to be the end of the line. - -.. L21 -:: - - cut -c 10- /etc/passwd - -.. R22 - -It prints all the characters from the 10th character up to the end of the -line. -Let us now solve an inverse problem. Let's say we have two columns of data -in two different files, and we wish to view them side by side. - -.. L22 - -.. L23 - -{{{ Show slide with, paste }}} - -.. R23 - -For instance, given a file containing the names of students in a file, -students.txt, and another file with the marks of the students,marks.txt, - -.. R24 - -we wish to view the contents, side by side. The ``paste`` command allows -us to do that. - -.. L24 -:: - - paste students.txt marks.txt - paste -s students.txt marks.txt - -.. R25 - -The first command gives us the output of the two files, next to each other -and the second command gives us the output one below the other. - -Now, this problem is a bit unrealistic because, we wouldn't have the marks -of students in a file, without any information about the student to which -they belong. Let's say our marks file had the first column as the roll -number of the student, followed by the marks of the students. What would we -then do, to get the same output that we got before? - -Essentially we need to use both, the ``cut`` and ``paste`` commands, but -how do we do that? That brings us to the concept of Redirection and Piping -which is covered in the next spoken tutorial. - -.. L25 - -.. L26 - -{{{ Switch to summary slide }}} - -.. R26 - -This brings us to the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Display the contents of files using the ``cat`` command. - #. View the contents of a file one screen at a time using the - ``less`` command. - #. Display specific contents of file using the ``head`` and - ``tail`` commands. - #. Use the ``cut``, ``paste`` and ``wc`` commands. - -.. L27 - -{{{ Show self assessment questions slide }}} - -.. R27 - -Here are some self assessment questions for you to solve - -1. How to view lines from 1 to 15 in wonderland.txt? - -2. In ``cut`` command, how to specify space as the delimiter? - -.. L28 - -{{{ Solution of self assessment questions on slide }}} - -.. R28 - -And the answers, - -1. We can use the head command as, -:: - - head -15 wonderland.txt - -2. We use the -d option with the command as, -:: - - cut -d " " - -.. L29 - -{{{ Show the Thank you slide }}} - -.. R29 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - diff --git a/ult/ult_3/students.txt b/ult/ult_3/students.txt deleted file mode 100644 index ddacd6b..0000000 --- a/ult/ult_3/students.txt +++ /dev/null @@ -1,5 +0,0 @@ -Hussain -Dilbert -Anne -Raul -Sven diff --git a/ult/ult_3/ult3.tex b/ult/ult_3/ult3.tex deleted file mode 100644 index 2ece836..0000000 --- a/ult/ult_3/ult3.tex +++ /dev/null @@ -1,170 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} - -\textcolor{blue}{\huge Using Linux Tools\\Part III} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Display the contents of files. -\item Read only parts of a file. -\item Look at the statistical information of a file. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{less}} - \begin{itemize} - \item q: Quit - \item Arrows/Page Up/Page Down/Home/End: Navigation - \item ng: Jump to line number n - \item /pattern: Search. Regular expressions can be used - \item h: Help - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Exercise 1} - \begin{itemize} - \item Print only the first, fifth and the seventh fields of the file ``/etc/passwd''. - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{paste}} - \begin{center} - \begin{tabular}{l|l} - \verb~students.txt~ & \verb~marks.txt~ \\ - Hussain & 89 92 85 \\ - Dilbert & 98 47 67 \\ - Anne & 67 82 76 \\ - Raul & 78 97 60 \\ - Sven & 67 68 69 \\ - \end{tabular} - \end{center} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Display the contents of files using the ``cat'' command. -\item View the contents of a file one screen at a time using the - ``less'' command. -\item Display specific contents of file using the ``head'' and - ``tail'' commands. -\item Use the ``cut'', ``paste'' and ``wc'' commands. -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item How to view lines from 1 to 15 in wonderland.txt ? -\vspace{15pt} -\item In ``cut'' command, how to specify space as the delimiter ? -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item \$ head -15 wonderland.txt -\vspace{15pt} -\item \$ cut -d " " -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - diff --git a/ult/ult_3/wonderland.txt b/ult/ult_3/wonderland.txt deleted file mode 100644 index 0f62284..0000000 --- a/ult/ult_3/wonderland.txt +++ /dev/null @@ -1,4047 +0,0 @@ -Project Gutenberg's Alice's Adventures in Wonderland, by Lewis Carroll - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - - -Title: Alice's Adventures in Wonderland - Illustrated by Arthur Rackham. With a Proem by Austin Dobson - -Author: Lewis Carroll - -Illustrator: Arthur Rackham - -Release Date: May 19, 2009 [EBook #28885] - -Language: English - -Character set encoding: ISO-8859-1 - -*** START OF THIS PROJECT GUTENBERG EBOOK ALICE'S ADVENTURES IN WONDERLAND *** - - - - -Produced by Jana Srna, Emmy and the Online Distributed -Proofreading Team at http://www.pgdp.net (This file was -produced from images generously made available by the -University of Florida Digital Collections.) - - - - - - - - - - - -ALICE'S ADVENTURES IN WONDERLAND - -[Illustration: "Alice"] - -[Illustration: - - ALICE'S·ADVENTURES - IN·WONDERLAND - BY·LEWIS·CARROLL - ILLUSTRATED·BY - ARTHUR·RACKHAM - - WITH A PROEM BY AUSTIN DOBSON - - LONDON·WILLIAM·HEINEMANN - NEW·YORK·DOUBLEDAY·PAGE·&·Co] - - PRINTED IN ENGLAND - - _'Tis two score years since CARROLL'S art, - With topsy-turvy magic, - Sent ALICE wondering through a part - Half-comic and half-tragic._ - - _Enchanting ALICE! Black-and-white - Has made your deeds perennial; - And naught save "Chaos and old Night" - Can part you now from TENNIEL;_ - - _But still you are a Type, and based - In Truth, like LEAR and HAMLET; - And Types may be re-draped to taste - In cloth-of-gold or camlet._ - - _Here comes afresh Costumier, then; - That Taste may gain a wrinkle - From him who drew with such deft pen - The rags of RIP VAN WINKLE!_ - - _AUSTIN DOBSON._ - - - - All in the golden afternoon - Full leisurely we glide; - For both our oars, with little skill, - By little arms are plied, - While little hands make vain pretence - Our wanderings to guide. - - Ah, cruel Three! In such an hour, - Beneath such dreamy weather, - To beg a tale of breath too weak - To stir the tiniest feather! - Yet what can one poor voice avail - Against three tongues together? - - Imperious Prima flashes forth - Her edict "to begin it"-- - In gentler tone Secunda hopes - "There will be nonsense in it!"-- - While Tertia interrupts the tale - Not _more_ than once a minute. - - Anon, to sudden silence won, - In fancy they pursue - The dream-child moving through a land - Of wonders wild and new, - In friendly chat with bird or beast-- - And half believe it true. - - And ever, as the story drained - The wells of fancy dry. - And faintly strove that weary one - To put the subject by, - "The rest next time--" "It _is_ next time!" - The happy voices cry. - - Thus grew the tale of Wonderland: - Thus slowly, one by one, - Its quaint events were hammered out-- - And now the tale is done, - And home we steer, a merry crew, - Beneath the setting sun. - - Alice! a childish story take, - And with a gentle hand - Lay it where Childhood's dreams are twined - In Memory's mystic band, - Like pilgrim's wither'd wreath of flowers - Pluck'd in a far-off land. - - - - -CONTENTS - - - PAGE - - I. DOWN THE RABBIT-HOLE 1 - - II. THE POOL OF TEARS 13 - - III. A CAUCUS-RACE AND A LONG TALE 24 - - IV. THE RABBIT SENDS IN A LITTLE BILL 35 - - V. ADVICE FROM A CATERPILLAR 49 - - VI. PIG AND PEPPER 64 - - VII. A MAD TEA-PARTY 82 - - VIII. THE QUEEN'S CROQUET-GROUND 96 - - IX. THE MOCK TURTLE'S STORY 111 - - X. THE LOBSTER QUADRILLE 126 - - XI. WHO STOLE THE TARTS? 139 - - XII. ALICE'S EVIDENCE 150 - - - - -LIST OF THE PLATES - - - _To face page_ - - Alice _Frontispiece_ - - The Pool of Tears 22 - - They all crowded round it panting and - asking, "But who has won?" 28 - - "Why, Mary Ann, what are you doing out - here?" 36 - - Advice from a Caterpillar 50 - - An unusually large saucepan flew close - by it, and very nearly carried it off 70 - - It grunted again so violently that she - looked down into its face in some alarm 74 - - A Mad Tea-Party 84 - - The Queen turned angrily away from him - and said to the Knave, "Turn them over" 100 - - The Queen never left off quarrelling - with the other players, and shouting - "Off with his head!" or, "Off with her - head!" 116 - - The Mock Turtle drew a long breath and - said, "That's very curious" 132 - - Who stole the Tarts? 140 - - At this the whole pack rose up into the - air, and came flying down upon her 158 - - - - -CHAPTER I - - -[Sidenote: _Down the Rabbit-Hole_] - -ALICE was beginning to get very tired of sitting by her -sister on the bank, and of having nothing to do: once or twice she had -peeped into the book her sister was reading, but it had no pictures or -conversations in it, "and what is the use of a book," thought Alice, -"without pictures or conversations?" - -So she was considering in her own mind (as well as she could, for the -hot day made her feel very sleepy and stupid) whether the pleasure of -making a daisy-chain would be worth the trouble of getting up and -picking the daisies, when suddenly a White Rabbit with pink eyes ran -close by her. - -There was nothing so _very_ remarkable in that; nor did Alice think it -so _very_ much out of the way to hear the Rabbit say to itself, "Oh -dear! Oh dear! I shall be too late!" (when she thought it over -afterwards, it occurred to her that she ought to have wondered at this, -but at the time it all seemed quite natural); but when the Rabbit -actually _took a watch out of its waistcoat-pocket_, and looked at it, -and then hurried on, Alice started to her feet, for it flashed across -her mind that she had never before seen a rabbit with either a -waistcoat-pocket, or a watch to take out of it, and burning with -curiosity, she ran across the field after it, and was just in time to -see it pop down a large rabbit-hole under the hedge. - -In another moment down went Alice after it, never once considering how -in the world she was to get out again. - -The rabbit-hole went straight on like a tunnel for some way, and then -dipped suddenly down, so suddenly that Alice had not a moment to think -about stopping herself before she found herself falling down what seemed -to be a very deep well. - -[Illustration] - -Either the well was very deep, or she fell very slowly, for she had -plenty of time as she went down to look about her, and to wonder what -was going to happen next. First, she tried to look down and make out -what she was coming to, but it was too dark to see anything; then she -looked at the sides of the well and noticed that they were filled with -cupboards and book-shelves: here and there she saw maps and pictures -hung upon pegs. She took down a jar from one of the shelves as she -passed; it was labelled "ORANGE MARMALADE," but to her disappointment it -was empty; she did not like to drop the jar for fear of killing -somebody underneath, so managed to put it into one of the cupboards as -she fell past it. - -"Well!" thought Alice to herself. "After such a fall as this, I shall -think nothing of tumbling down stairs! How brave they'll all think me at -home! Why, I wouldn't say anything about it, even if I fell off the top -of the house!" (Which was very likely true.) - -Down, down, down. Would the fall _never_ come to an end? "I wonder how -many miles I've fallen by this time?" she said aloud. "I must be getting -somewhere near the centre of the earth. Let me see: that would be four -thousand miles down. I think--" (for, you see, Alice had learnt several -things of this sort in her lessons in the schoolroom, and though this -was not a _very_ good opportunity for showing off her knowledge, as -there was no one to listen to her, still it was good practice to say it -over) "--yes, that's about the right distance--but then I wonder what -Latitude or Longitude I've got to?" (Alice had no idea what Latitude -was, or Longitude either, but thought they were nice grand words to -say.) - -Presently she began again. "I wonder if I shall fall right _through_ the -earth! How funny it'll seem to come out among the people that walk with -their heads downwards! The Antipathies, I think--" (she was rather glad -there _was_ no one listening, this time, as it didn't sound at all the -right word) "--but I shall have to ask them what the name of the country -is, you know. Please, Ma'am, is this New Zealand or Australia?" (and she -tried to curtsey as she spoke--fancy _curtseying_ as you're falling -through the air! Do you think you could manage it?) "And what an -ignorant little girl she'll think me! No, it'll never do to ask: perhaps -I shall see it written up somewhere." - -Down, down, down. There was nothing else to do, so Alice soon began -talking again. "Dinah'll miss me very much to-night, I should think!" -(Dinah was the cat.) "I hope they'll remember her saucer of milk at -tea-time. Dinah, my dear, I wish you were down here with me! There are -no mice in the air, I'm afraid, but you might catch a bat, and that's -very like a mouse, you know. But do cats eat bats, I wonder?" And here -Alice began to get rather sleepy, and went on saying to herself, in a -dreamy sort of way, "Do cats eat bats? Do cats eat bats?" and sometimes, -"Do bats eat cats?" for, you see, as she couldn't answer either -question, it didn't much matter which way she put it. She felt that she -was dozing off, and had just begun to dream that she was walking hand in -hand with Dinah, and saying to her very earnestly, "Now, Dinah, tell me -the truth: did you ever eat a bat?" when suddenly, thump! thump! down -she came upon a heap of sticks and dry leaves, and the fall was over. - -Alice was not a bit hurt, and she jumped up on to her feet in a moment: -she looked up, but it was all dark overhead; before her was another long -passage, and the White Rabbit was still in sight, hurrying down it. -There was not a moment to be lost: away went Alice like the wind, and -was just in time to hear it say, as it turned a corner, "Oh my ears and -whiskers, how late it's getting!" She was close behind it when she -turned the corner, but the Rabbit was no longer to be seen: she found -herself in a long, low hall, which was lit up by a row of lamps hanging -from the roof. - -There were doors all round the hall, but they were all locked; and when -Alice had been all the way down one side and up the other, trying every -door, she walked sadly down the middle, wondering how she was ever to -get out again. - -Suddenly she came upon a little three-legged table, all made of solid -glass; there was nothing on it but a tiny golden key, and Alice's first -idea was that this might belong to one of the doors of the hall; but, -alas! either the locks were too large, or the key was too small, but at -any rate it would not open any of them. However, on the second time -round, she came upon a low curtain she had not noticed before, and -behind it was a little door about fifteen inches high: she tried the -little golden key in the lock, and to her great delight it fitted! - -Alice opened the door and found that it led into a small passage, not -much larger than a rat-hole: she knelt down and looked along the passage -into the loveliest garden you ever saw. How she longed to get out of -that dark hall, and wander about among those beds of bright flowers and -those cool fountains, but she could not even get her head through the -doorway; "and even if my head would go through," thought poor Alice, "it -would be of very little use without my shoulders. Oh, how I wish I could -shut up like a telescope! I think I could, if I only knew how to begin." -For, you see, so many out-of-the-way things had happened lately, that -Alice had begun to think that very few things indeed were really -impossible. - -There seemed to be no use in waiting by the little door, so she went -back to the table, half hoping she might find another key on it, or at -any rate a book of rules for shutting people up like telescopes: this -time she found a little bottle on it ("which certainly was not here -before," said Alice,) and tied round the neck of the bottle was a paper -label, with the words "DRINK ME" beautifully printed on it in large -letters. - -It was all very well to say "Drink me," but the wise little Alice was -not going to do _that_ in a hurry. "No, I'll look first," she said, "and -see whether it's marked '_poison_' or not;" for she had read several -nice little stories about children who had got burnt, and eaten up by -wild beasts, and other unpleasant things, all because they _would_ not -remember the simple rules their friends had taught them: such as, that a -red-hot poker will burn you if you hold it too long; and that, if you -cut your finger _very_ deeply with a knife, it usually bleeds; and she -had never forgotten that, if you drink much from a bottle marked -"poison," it is almost certain to disagree with you, sooner or later. - -However, this bottle was _not_ marked "poison," so Alice ventured to -taste it, and finding it very nice (it had, in fact, a sort of mixed -flavour of cherry-tart, custard, pineapple, roast turkey, coffee, and -hot buttered toast,) she very soon finished it off. - - * * * * * - -"What a curious feeling!" said Alice. "I must be shutting up like a -telescope." - -And so it was indeed: she was now only ten inches high, and her face -brightened up at the thought that she was now the right size for going -through that little door into that lovely garden. First, however, she -waited for a few minutes to see if she was going to shrink any further: -she felt a little nervous about this: "for it might end, you know," said -Alice to herself, "in my going out altogether, like a candle. I wonder -what I should be like then?" And she tried to fancy what the flame of a -candle looks like after the candle is blown out, for she could not -remember ever having seen such a thing. - -After a while, finding that nothing more happened, she decided on going -into the garden at once; but, alas for poor Alice! when she got to the -door, she found she had forgotten the little golden key, and when she -went back to the table for it, she found she could not possibly reach -it: she could see it quite plainly through the glass, and she tried her -best to climb up one of the legs of the table, but it was too slippery; -and when she had tired herself out with trying, the poor little thing -sat down and cried. - -"Come, there's no use in crying like that!" said Alice to herself, -rather sharply. "I advise you to leave off this minute!" She generally -gave herself very good advice (though she very seldom followed it), and -sometimes she scolded herself so severely as to bring tears into her -eyes; and once she remembered trying to box her own ears for having -cheated herself in a game of croquet she was playing against herself, -for this curious child was very fond of pretending to be two people. -"But it's no use now," thought poor Alice, "to pretend to be two people! -Why there's hardly enough of me left to make _one_ respectable person!" - -Soon her eye fell on a little glass box that was lying under the table: -she opened it, and found in it a very small cake, on which the words -"EAT ME" were beautifully marked in currants. "Well, I'll eat it," said -Alice, "and if it makes me grow larger, I can reach the key; and if it -makes me grow smaller, I can creep under the door; so either way I'll -get into the garden, and I don't care which happens!" - -She ate a little bit, and said anxiously to herself, "Which way? Which -way?" holding her hand on the top of her head to feel which way it was -growing, and she was quite surprised to find that she remained the same -size; to be sure, this is what generally happens when one eats cake, -but Alice had got so much into the way of expecting nothing but -out-of-the-way things to happen, that it seemed quite dull and stupid -for life to go on in the common way. - -So she set to work, and very soon finished off the cake. - - * * * * * - - - - -CHAPTER II - - -[Sidenote: _Pool of Tears_] - -"CURIOUSER and curiouser!" cried Alice (she was so much -surprised, that for a moment she quite forgot how to speak good -English); "now I'm opening out like the largest telescope that ever was! -Good-bye, feet!" (for when she looked down at her feet, they seemed to -be almost out of sight, they were getting so far off). "Oh, my poor -little feet, I wonder who will put on your shoes and stockings for you -now, dears? I'm sure _I_ sha'n't be able! I shall be a great deal too -far off to trouble myself about you: you must manage the best way you -can--but I must be kind to them," thought Alice, "or perhaps they won't -walk the way I want to go! Let me see: I'll give them a new pair of -boots every Christmas." - -And she went on planning to herself how she would manage it. "They must -go by the carrier," she thought; "and how funny it'll seem, sending -presents to one's own feet! And how odd the directions will look! - - Alice's Right Foot, Esq. - Hearthrug, - near the Fender, - (with Alice's love). - -Oh dear, what nonsense I'm talking!" - -Just then her head struck against the roof of the hall: in fact she was -now rather more than nine feet high, and she at once took up the little -golden key and hurried off to the garden door. - -Poor Alice! It was as much as she could do, lying down on one side, to -look through into the garden with one eye; but to get through was more -hopeless than ever: she sat down and began to cry again. - -"You ought to be ashamed of yourself," said Alice, "a great girl like -you" (she might well say this), "to go on crying in this way! Stop this -moment, I tell you!" But she went on all the same, shedding gallons of -tears, until there was a large pool all round her, about four inches -deep and reaching half down the hall. - -[Illustration: CURIOUSER AND CURIOUSER] - -After a time she heard a little pattering of feet in the distance, and -she hastily dried her eyes to see what was coming. It was the White -Rabbit returning, splendidly dressed, with a pair of white kid gloves in -one hand and a large fan in the other: he came trotting along in a great -hurry, muttering to himself as he came, "Oh! the Duchess, the Duchess! -Oh! won't she be savage if I've kept her waiting!" Alice felt so -desperate that she was ready to ask help of any one; so, when the -Rabbit came near her, she began, in a low, timid voice, "If you please, -sir----" The Rabbit started violently, dropped the white kid gloves and -the fan, and scurried away into the darkness as hard as he could go. - -Alice took up the fan and gloves, and, as the hall was very hot, she -kept fanning herself all the time she went on talking! "Dear, dear! How -queer everything is to-day! And yesterday things went on just as usual. -I wonder if I've been changed during the night? Let me think: _was_ I -the same when I got up this morning? I almost think I can remember -feeling a little different. But if I'm not the same, the next question -is, who in the world am I? Ah, _that's_ the great puzzle!" And she began -thinking over all the children she knew that were of the same age as -herself, to see if she could have been changed for any of them. - -"I'm sure I'm not Ada," she said, "for her hair goes in such long -ringlets, and mine doesn't go in ringlets at all; and I'm sure I can't -be Mabel, for I know all sorts of things, and she, oh! she knows such a -very little! Besides, _she's_ she, and _I'm_ I, and--oh dear, how -puzzling it all is! I'll try if I know all the things I used to know. -Let me see: four times five is twelve, and four times six is thirteen, -and four times seven is--oh dear! I shall never get to twenty at that -rate! However, the Multiplication Table doesn't signify: let's try -Geography. London is the capital of Paris, and Paris is the capital of -Rome, and Rome--no, _that's_ all wrong, I'm certain! I must have been -changed for Mabel! I'll try and say '_How doth the little----_'" and she -crossed her hands on her lap as if she were saying lessons, and began to -repeat it, but her voice sounded hoarse and strange, and the words did -not come the same as they used to do:-- - - "How doth the little crocodile - Improve his shining tail, - And pour the waters of the Nile - On every golden scale! - - "How cheerfully he seems to grin, - How neatly spreads his claws, - And welcomes little fishes in, - With gently smiling jaws!" - -"I'm sure those are not the right words," said poor Alice, and her eyes -filled with tears again as she went on. "I must be Mabel, after all, and -I shall have to go and live in that poky little house, and have next to -no toys to play with, and oh! ever so many lessons to learn! No, I've -made up my mind about it; if I'm Mabel, I'll stay down here! It'll be no -use their putting their heads down and saying, 'Come up again, dear!' I -shall only look up and say, 'Who am I then? Tell me that first, and -then, if I like being that person, I'll come up: if not, I'll stay down -here till I'm somebody else'--but, oh dear!" cried Alice with a sudden -burst of tears, "I do wish they _would_ put their heads down! I am so -_very_ tired of being all alone here!" - -As she said this she looked down at her hands, and was surprised to see -that she had put on one of the Rabbit's little white kid gloves while -she was talking. "How _can_ I have done that?" she thought. "I must be -growing small again." She got up and went to the table to measure -herself by it, and found that, as nearly as she could guess, she was now -about two feet high, and was going on shrinking rapidly: she soon found -out that the cause of this was the fan she was holding, and she dropped -it hastily, just in time to avoid shrinking away altogether. - -"That _was_ a narrow escape!" said Alice, a good deal frightened at the -sudden change, but very glad to find herself still in existence; "and -now for the garden!" and she ran with all speed back to the little door: -but alas! the little door was shut again, and the little golden key was -lying on the glass table as before, "and things are worse than ever," -thought the poor child, "for I never was so small as this before, never! -And I declare it's too bad, that it is!" - -As she said these words her foot slipped, and in another moment, splash! -she was up to her chin in salt water. Her first idea was that she had -somehow fallen into the sea, "and in that case I can go back by -railway," she said to herself. (Alice had been to the seaside once in -her life, and had come to the general conclusion, that wherever you go -to on the English coast you find a number of bathing machines in the -sea, some children digging in the sand with wooden spades, then a row -of lodging houses, and behind them a railway station.) However, she soon -made out that she was in the pool of tears which she had wept when she -was nine feet high. - -"I wish I hadn't cried so much!" said Alice, as she swam about, trying -to find her way out. "I shall be punished for it now, I suppose, by -being drowned in my own tears! That _will_ be a queer thing, to be sure! -However, everything is queer to-day." - -Just then she heard something splashing about in the pool a little way -off, and she swam nearer to make out what it was: at first she thought -it must be a walrus or hippopotamus, but then she remembered how small -she was now, and she soon made out that it was only a mouse that had -slipped in like herself. - -"Would it be of any use now," thought Alice, "to speak to this mouse? -Everything is so out-of-the-way down here, that I should think very -likely it can talk: at any rate, there's no harm in trying." So she -began: "O Mouse, do you know the way out of this pool? I am very tired -of swimming about here, O Mouse!" (Alice thought this must be the right -way of speaking to a mouse; she had never done such a thing before, but -she remembered having seen in her brother's Latin Grammar, "A mouse--of -a mouse--to a mouse--a mouse--O mouse!") The Mouse looked at her rather -inquisitively, and seemed to her to wink with one of its little eyes, -but it said nothing. - -"Perhaps it doesn't understand English," thought Alice; "I daresay it's -a French mouse, come over with William the Conqueror." (For, with all -her knowledge of history, Alice had no very clear notion how long ago -anything had happened.) So she began again: "Où est ma chatte?" which -was the first sentence in her French lesson-book. The Mouse gave a -sudden leap out of the water, and seemed to quiver all over with fright. -"Oh, I beg your pardon!" cried Alice hastily, afraid that she had hurt -the poor animal's feelings. "I quite forgot you didn't like cats." - -"Not like cats!" cried the Mouse, in a shrill, passionate voice. "Would -_you_ like cats if you were me?" - -"Well, perhaps not," said Alice in a soothing tone: "don't be angry -about it. And yet I wish I could show you our cat Dinah: I think you'd -take a fancy to cats if you could only see her. She is such a dear quiet -thing," Alice went on, half to herself, as she swam lazily about in the -pool, "and she sits purring so nicely by the fire, licking her paws and -washing her face--and she is such a nice soft thing to nurse--and she's -such a capital one for catching mice----oh, I beg your pardon!" cried -Alice again, for this time the Mouse was bristling all over, and she -felt certain it must be really offended. "We won't talk about her any -more if you'd rather not." - -"We, indeed!" cried the Mouse, who was trembling down to the end of his -tail. "As if _I_ would talk on such a subject! Our family always _hated_ -cats: nasty, low, vulgar things! Don't let me hear the name again!" - -[Illustration: _The Pool of Tears_] - -"I won't indeed!" said Alice, in a great hurry to change the subject of -conversation. "Are you--are you fond--of--of dogs?" The Mouse did not -answer, so Alice went on eagerly: "There is such a nice little dog near -our house I should like to show you! A little bright-eyed terrier, you -know, with oh, such long curly brown hair! And it'll fetch things -when you throw them, and it'll sit up and beg for its dinner, and all -sorts of things--I can't remember half of them--and it belongs to a -farmer, you know, and he says it's so useful, it's worth a hundred -pounds! He says it kills all the rats and--oh dear!" cried Alice in a -sorrowful tone, "I'm afraid I've offended it again!" For the Mouse was -swimming away from her as hard as it could go, and making quite a -commotion in the pool as it went. - -So she called softly after it, "Mouse dear! Do come back again, and we -won't talk about cats or dogs either, if you don't like them!" - -When the Mouse heard this, it turned round and swam slowly back to her: -its face was quite pale (with passion, Alice thought), and it said in a -low trembling voice, "Let us get to the shore, and then I'll tell you my -history, and you'll understand why it is I hate cats and dogs." - -It was high time to go, for the pool was getting quite crowded with the -birds and animals that had fallen into it: there were a Duck and a Dodo, -a Lory and an Eaglet, and several other curious creatures. Alice led the -way, and the whole party swam to the shore. - - - - -CHAPTER III - - -[Sidenote: _A Caucus-race and a Long Tale_] - -THEY were indeed a queer-looking party that assembled on -the bank--the birds with draggled feathers, the animals with their fur -clinging close to them, and all dripping wet, cross, and uncomfortable. - -The first question of course was, how to get dry again: they had a -consultation about this, and after a few minutes it seemed quite natural -to Alice to find herself talking familiarly with them, as if she had -known them all her life. Indeed, she had quite a long argument with the -Lory, who at last turned sulky, and would only say, "I am older than -you, and must know better;" and this Alice would not allow without -knowing how old it was, and, as the Lory positively refused to tell its -age, there was no more to be said. - -At last the Mouse, who seemed to be a person of authority among them, -called out "Sit down, all of you, and listen to me! _I'll_ soon make you -dry enough!" They all sat down at once, in a large ring, with the Mouse -in the middle. Alice kept her eyes anxiously fixed on it, for she felt -sure she would catch a bad cold if she did not get dry very soon. - -"Ahem!" said the Mouse with an important air. "Are you all ready? This -is the driest thing I know. Silence all round, if you please! 'William -the Conqueror, whose cause was favoured by the pope, was soon submitted -to by the English, who wanted leaders, and had been of late much -accustomed to usurpation and conquest. Edwin and Morcar, the earls of -Mercia and Northumbria--'" - -"Ugh!" said the Lory, with a shiver. - -"I beg your pardon!" said the Mouse, frowning, but very politely. "Did -you speak?" - -"Not I!" said the Lory hastily. - -"I thought you did," said the Mouse, "--I proceed. 'Edwin and Morcar, -the earls of Mercia and Northumbria, declared for him: and even -Stigand, the patriotic Archbishop of Canterbury, found it advisable--'" - -"Found _what_?" said the Duck. - -"Found _it_," the Mouse replied rather crossly: "of course you know what -'it' means." - -"I know what 'it' means well enough, when _I_ find a thing," said the -Duck; "it's generally a frog or a worm. The question is, what did the -archbishop find?" - -The Mouse did not notice this question, but hurriedly went on, "'--found -it advisable to go with Edgar Atheling to meet William and offer him the -crown. William's conduct at first was moderate. But the insolence of his -Normans--' How are you getting on now, my dear?" it continued, turning -to Alice as it spoke. - -"As wet as ever," said Alice in a melancholy tone; "doesn't seem to dry -me at all." - -"In that case," said the Dodo solemnly, rising to its feet, "I move that -the meeting adjourn, for the immediate adoption of more energetic -remedies----" - -"Speak English!" said the Eaglet. "I don't know the meaning of half -those long words, and, what's more, I don't believe you do either!" And -the Eaglet bent down its head to hide a smile: some of the other birds -tittered audibly. - -"What I was going to say," said the Dodo in an offended tone, "was that -the best thing to get us dry would be a Caucus-race." - -"What _is_ a Caucus-race?" said Alice; not that she much wanted to know, -but the Dodo had paused as if it thought that _somebody_ ought to speak, -and no one else seemed inclined to say anything. - -"Why," said the Dodo, "the best way to explain it is to do it." (And, as -you might like to try the thing yourself some winter day, I will tell -you how the Dodo managed it.) - -First it marked out a race-course, in a sort of circle, ("the exact -shape doesn't matter," it said,) and then all the party were placed -along the course, here and there. There was no "One, two, three, and -away," but they began running when they liked, and left off when they -liked, so that it was not easy to know when the race was over. However, -when they had been running half an hour or so, and were quite dry again, -the Dodo suddenly called "The race is over!" and they all crowded round -it, panting, and asking "But who has won?" - -This question the Dodo could not answer without a great deal of thought, -and it stood for a long time with one finger pressed upon its forehead -(the position in which you usually see Shakespeare, in the pictures of -him), while the rest waited in silence. At last the Dodo said -"_Everybody_ has won, and _all_ must have prizes." - -"But who is to give the prizes?" quite a chorus of voices asked. - -"Why, _she_, of course," said the Dodo, pointing to Alice with one -finger; and the whole party at once crowded round her, calling out in a -confused way, "Prizes! Prizes!" - -Alice had no idea what to do, and in despair she put her hand in her -pocket, and pulled out a box of comfits (luckily the salt water had not -got into it), and handed them round as prizes. There was exactly one -apiece all round. - - _They all crowded round it panting and asking, - "But who has won?"_ - -[Illustration] - -"But she must have a prize herself, you know," said the Mouse. - -"Of course," the Dodo replied very gravely. - -"What else have you got in your pocket?" it went on, turning to Alice. - -"Only a thimble," said Alice sadly. - -"Hand it over here," said the Dodo. - -Then they all crowded round her once more, while the Dodo solemnly -presented the thimble, saying "We beg your acceptance of this elegant -thimble;" and, when it had finished this short speech, they all cheered. - -Alice thought the whole thing very absurd, but they all looked so grave -that she did not dare to laugh; and, as she could not think of anything -to say, she simply bowed, and took the thimble, looking as solemn as she -could. - -The next thing was to eat the comfits; this caused some noise and -confusion, as the large birds complained that they could not taste -theirs, and the small ones choked and had to be patted on the back. -However, it was over at last, and they sat down again in a ring, and -begged the Mouse to tell them something more. - -"You promised to tell me your history, you know," said Alice, "and why -it is you hate--C and D," she added in a whisper, half afraid that it -would be offended again. - -[Illustration] - -"Mine is a long and sad tale!" said the Mouse, turning to Alice and -sighing. - -"It _is_ a long tail, certainly," said Alice, looking down with wonder -at the Mouse's tail; "but why do you call it sad?" And she kept on -puzzling about it while the Mouse was speaking, so that her idea of the -tale was something like this:-- - - "Fury said to - a mouse, That - he met in the - house, 'Let - us both go - to law: _I_ - will prose- - cute _you_.-- - Come, I'll - take no de- - nial: We - must have - the trial; - For really - this morn- - ing I've - nothing - to do.' - Said the - mouse to - the cur, - 'Such a - trial, dear - sir, With - no jury - or judge, - would - be wast- - ing our - breath.' - 'I'll be - judge, - I'll be - jury,' - said - cun- - ning - old - Fury: - 'I'll - try - the - whole - cause, - and - con- - demn - you to - death.' - -"You are not attending!" said the Mouse to Alice severely. "What are you -thinking of?" - -"I beg your pardon," said Alice very humbly: "you had got to the fifth -bend, I think?" - -"I had _not_!" cried the Mouse, angrily. - -"A knot!" said Alice, always ready to make herself useful, and looking -anxiously about her. "Oh, do let me help to undo it!" - -"I shall do nothing of the sort," said the Mouse, getting up and walking -away. "You insult me by talking such nonsense!" - -"I didn't mean it!" pleaded poor Alice. "But you're so easily offended, -you know!" - -The Mouse only growled in reply. - -"Please come back and finish your story!" Alice called after it. And the -others all joined in chorus, "Yes, please do!" but the Mouse only shook -its head impatiently and walked a little quicker. - -"What a pity it wouldn't stay!" sighed the Lory, as soon as it was quite -out of sight; and an old Crab took the opportunity of saying to her -daughter, "Ah, my dear! Let this be a lesson to you never to lose -_your_ temper!" "Hold your tongue, Ma!" said the young Crab, a little -snappishly. "You're enough to try the patience of an oyster!" - -"I wish I had our Dinah here, I know I do!" said Alice aloud, addressing -nobody in particular. "She'd soon fetch it back!" - -"And who is Dinah, if I might venture to ask the question?" said the -Lory. - -Alice replied eagerly, for she was always ready to talk about her pet: -"Dinah's our cat. And she's such a capital one for catching mice, you -ca'n't think! And oh, I wish you could see her after the birds! Why, -she'll eat a little bird as soon as look at it!" - -This speech caused a remarkable sensation among the party. Some of the -birds hurried off at once; one old Magpie began wrapping itself up very -carefully, remarking "I really must be getting home; the night-air -doesn't suit my throat!" and a Canary called out in a trembling voice to -its children "Come away, my dears! It's high time you were all in bed!" -On various pretexts they all moved off, and Alice was soon left alone. - -"I wish I hadn't mentioned Dinah!" she said to herself in a melancholy -tone. "Nobody seems to like her, down here, and I'm sure she's the best -cat in the world! Oh, my dear Dinah! I wonder if I shall ever see you -any more!" And here poor Alice began to cry again, for she felt very -lonely and low-spirited. In a little while, however, she again heard a -little pattering of footsteps in the distance, and she looked up -eagerly, half hoping that the Mouse had changed his mind, and was coming -back to finish his story. - - - - -CHAPTER IV - - -[Sidenote: _The Rabbit sends in a Little Bill_] - -IT was the White Rabbit, trotting slowly back again, and -looking anxiously about as it went, as if it had lost something; and she -heard it muttering to itself, "The Duchess! The Duchess! Oh my dear -paws! Oh my fur and whiskers! She'll get me executed, as sure as ferrets -are ferrets! Where _can_ I have dropped them, I wonder?" Alice guessed -in a moment that it was looking for the fan and the pair of white kid -gloves, and she very good-naturedly began hunting about for them, but -they were nowhere to be seen--everything seemed to have changed since -her swim in the pool, and the great hall, with the glass table and the -little door, had vanished completely. - -Very soon the Rabbit noticed Alice, as she went hunting about, and -called out to her in an angry tone, "Why, Mary Ann, what _are_ you -doing out here? Run home this moment, and fetch me a pair of gloves and -a fan! Quick, now!" And Alice was so much frightened that she ran off at -once in the direction it pointed to, without trying to explain the -mistake it had made. - -"He took me for his housemaid," she said to herself as she ran. "How -surprised he'll be when he finds out who I am! But I'd better take him -his fan and gloves--that is, if I can find them." As she said this, she -came upon a neat little house, on the door of which was a bright brass -plate with the name "W. RABBIT" engraved upon it. She went in without -knocking, and hurried up stairs, in great fear lest she should meet the -real Mary Ann, and be turned out of the house before she had found the -fan and gloves. - -[Illustration: "_Why, Mary Ann, what are you doing out here?_"] - -"How queer it seems," Alice said to herself, "to be going messages for a -rabbit! I suppose Dinah'll be sending me on messages next!" And she -began fancying the sort of thing that would happen: "'Miss Alice! Come -here directly, and get ready for your walk!' 'Coming in a minute, nurse! -But I've got to watch this mouse-hole till Dinah comes back, and see -that the mouse doesn't get out.' Only I don't think," Alice went on, -"that they'd let Dinah stop in the house if it began ordering people -about like that!" - -By this time she had found her way into a tidy little room with a table -in the window, and on it (as she had hoped) a fan and two or three pairs -of tiny white kid gloves: she took up the fan and a pair of the gloves, -and was just going to leave the room, when her eye fell upon a little -bottle that stood near the looking-glass. There was no label this time -with the words "DRINK ME," but nevertheless she uncorked it and put it -to her lips. "I know _something_ interesting is sure to happen," she -said to herself, "whenever I eat or drink anything; so I'll just see -what this bottle does. I do hope it will make me grow large again, for -really I'm quite tired of being such a tiny little thing!" - -It did so indeed, and much sooner than she had expected: before she had -drunk half the bottle, she found her head pressing against the ceiling, -and had to stoop to save her neck from being broken. She hastily put -down the bottle, saying to herself "That's quite enough--I hope I -sha'n't grow any more--As it is, I can't get out at the door--I do wish -I hadn't drunk quite so much!" - -Alas! it was too late to wish that! She went on growing, and growing, -and very soon had to kneel down on the floor: in another minute there -was not even room for this, and she tried the effect of lying down with -one elbow against the door, and the other arm curled round her head. -Still she went on growing, and, as a last resource, she put one arm out -of the window, and one foot up the chimney, and said to herself "Now I -can do no more, whatever happens. What _will_ become of me?" - -Luckily for Alice, the little magic bottle had now had its full effect, -and she grew no larger: still it was very uncomfortable, and, as there -seemed to be no sort of chance of her ever getting out of the room -again, no wonder she felt unhappy. - -"It was much pleasanter at home," thought poor Alice, "when one wasn't -always growing larger and smaller, and being ordered about by mice and -rabbits. I almost wish I hadn't gone down that rabbit-hole--and -yet--and yet--it's rather curious, you know, this sort of life! I do -wonder what _can_ have happened to me! When I used to read fairy-tales, -I fancied that kind of thing never happened, and now here I am in the -middle of one! There ought to be a book written about me, that there -ought! And when I grow up, I'll write one--but I'm grown up now," she -added in a sorrowful tone; "at least there's no room to grow up any more -_here_." - -"But then," thought Alice, "shall I _never_ get any older than I am now? -That'll be a comfort, one way--never to be an old woman--but -then--always to have lessons to learn! Oh, I shouldn't like _that_!" - -"Oh, you foolish Alice!" she answered herself. "How can you learn -lessons in here? Why, there's hardly room for _you_, and no room at all -for any lesson-books!" - -And so she went on, taking first one side and then the other, and making -quite a conversation of it altogether; but after a few minutes she heard -a voice outside, and stopped to listen. - -"Mary Ann! Mary Ann!" said the voice. "Fetch me my gloves this moment!" -Then came a little pattering of feet on the stairs. Alice knew it was -the Rabbit coming to look for her, and she trembled till she shook the -house, quite forgetting that she was now about a thousand times as large -as the Rabbit, and had no reason to be afraid of it. - -Presently the Rabbit came up to the door, and tried to open it; but, as -the door opened inwards, and Alice's elbow was pressed hard against it, -that attempt proved a failure. Alice heard it say to itself "Then I'll -go round and get in at the window." - -"_That_ you won't" thought Alice, and, after waiting till she fancied -she heard the Rabbit just under the window, she suddenly spread out her -hand, and made a snatch in the air. She did not get hold of anything, -but she heard a little shriek and a fall, and a crash of broken glass, -from which she concluded that it was just possible it had fallen into a -cucumber-frame, or something of the sort. - -Next came an angry voice--the Rabbit's--"Pat! Pat! Where are you?" And -then a voice she had never heard before, "Sure then I'm here! Digging -for apples, yer honour!" - -"Digging for apples, indeed!" said the Rabbit angrily. "Here! Come and -help me out of _this_!" (Sounds of more broken glass.) - -"Now tell me, Pat, what's that in the window?" - -"Sure, it's an arm, yer honour." (He pronounced it "arrum.") - -"An arm, you goose! Who ever saw one that size? Why, it fills the whole -window!" - -"Sure, it does, yer honour? but it's an arm for all that." - -"Well, it's got no business there, at any rate: go and take it away!" - -There was a long silence after this, and Alice could only hear whispers -now and then; such as, "Sure, I don't like it, yer honour, at all, at -all!" "Do as I tell you, you coward!" and at last she spread out her -hand again, and made another snatch in the air. This time there were -_two_ little shrieks, and more sounds of broken glass. "What a number of -cucumber-frames there must be!" thought Alice. "I wonder what they'll do -next! As for pulling me out of the window, I only wish they _could_! -I'm sure _I_ don't want to stay in here any longer!" - -She waited for some time without hearing anything more: at last came a -rumbling of little cart-wheels, and the sound of a good many voices all -talking together: she made out the words: "Where's the other -ladder?--Why I hadn't to bring but one; Bill's got the other--Bill! -Fetch it here, lad!--Here, put 'em up at this corner--No, tie 'em -together first--they don't reach half high enough yet--Oh! they'll do -well enough; don't be particular--Here, Bill! catch hold of this -rope--Will the roof bear?--Mind that loose slate--Oh, it's coming down! -Heads below!" (a loud crash)--"Now, who did that?--It was Bill, I -fancy--Who's to go down the chimney?--Nay, _I_ sha'n't! _You_ do -it!--_That_ I won't, then! Bill's to go down--Here, Bill! the master -says you've to go down the chimney!" - -"Oh! So Bill's got to come down the chimney, has he?" said Alice to -herself. "Why, they seem to put everything upon Bill! I wouldn't be in -Bill's place for a good deal: this fireplace is narrow, to be sure; but -I _think_ I can kick a little!" - -She drew her foot as far down the chimney as she could, and waited till -she heard a little animal (she couldn't guess of what sort it was) -scratching and scrambling about in the chimney close above her: then, -saying to herself "This is Bill," she gave one sharp kick, and waited to -see what would happen next. - -The first thing she heard was a general chorus of "There goes Bill!" -then the Rabbit's voice alone--"Catch him, you by the hedge!" then -silence, and then another confusion of voices--"Hold up his head--Brandy -now--Don't choke him--How was it, old fellow? What happened to you? Tell -us all about it!" - -At last came a little feeble, squeaking voice, ("That's Bill," thought -Alice,) "Well, I hardly know--No more, thank ye; I'm better now--but I'm -a deal too flustered to tell you--all I know is, something comes at me -like a Jack-in-the-box, and up I goes like a sky-rocket!" - -"So you did, old fellow!" said the others. - -"We must burn the house down!" said the Rabbit's voice. And Alice -called out as loud as she could, "If you do, I'll set Dinah at you!" - -There was a dead silence instantly, and Alice thought to herself "I -wonder what they _will_ do next! If they had any sense, they'd take the -roof off." After a minute or two they began moving about again, and -Alice heard the Rabbit say "A barrowful will do, to begin with." - -"A barrowful of _what_?" thought Alice. But she had not long to doubt, -for the next moment a shower of little pebbles came rattling in at the -window, and some of them hit her in the face. "I'll put a stop to this," -she said to herself, and shouted out "You'd better not do that again!" -which produced another dead silence. - -Alice noticed with some surprise that the pebbles were all turning into -little cakes as they lay on the floor, and a bright idea came into her -head. "If I eat one of these cakes," she thought, "it's sure to make -_some_ change in my size; and, as it can't possibly make me larger, it -must make me smaller, I suppose." - -So she swallowed one of the cakes, and was delighted to find that she -began shrinking directly. As soon as she was small enough to get through -the door, she ran out of the house, and found quite a crowd of little -animals and birds waiting outside. The poor little Lizard, Bill, was in -the middle, being held up by two guinea-pigs, who were giving it -something out of a bottle. They all made a rush at Alice the moment she -appeared; but she ran off as hard as she could, and soon found herself -safe in a thick wood. - -"The first thing I've got to do," said Alice to herself, as she wandered -about in the wood, "is to grow to my right size again; and the second -thing is to find my way into that lovely garden. I think that will be -the best plan." - -It sounded an excellent plan, no doubt, and very neatly and simply -arranged; the only difficulty was, that she had not the smallest idea -how to set about it; and, while she was peering about anxiously among -the trees, a little sharp bark just over her head made her look up in a -great hurry. - -An enormous puppy was looking down at her with large round eyes, and -feebly stretching out one paw, trying to touch her. "Poor little -thing!" said Alice, in a coaxing tone, and she tried hard to whistle to -it; but she was terribly frightened all the time at the thought that it -might be hungry, in which case it would be very likely to eat her up in -spite of all her coaxing. - -Hardly knowing what she did, she picked up a little bit of stick, and -held it out to the puppy; whereupon the puppy jumped into the air off -all its feet at once, with a yelp of delight, and rushed at the stick, -and made believe to worry it; then Alice dodged behind a great thistle, -to keep herself from being run over; and, the moment she appeared on the -other side, the puppy made another rush at the stick, and tumbled head -over heels in its hurry to get hold of it; then Alice, thinking it was -very like having a game of play with a cart-horse, and expecting every -moment to be trampled under its feet, ran round the thistle again; then -the puppy began a series of short charges at the stick, running a little -way forwards each time and a long way back, and barking hoarsely all the -while, till at last it sat down a good way off, panting, with its -tongue hanging out of its mouth, and its great eyes half shut. - -This seemed to Alice a good opportunity for making her escape; so she -set off at once, and ran till she was quite tired and out of breath, and -till the puppy's bark sounded quite faint in the distance. - -"And yet what a dear little puppy it was!" said Alice, as she leant -against a buttercup to rest herself, and fanned herself with one of the -leaves. "I should have liked teaching it tricks very much, if--if I'd -only been the right size to do it! Oh, dear! I'd nearly forgotten that -I've got to grow up again! Let me see--how _is_ it to be managed? I -suppose I ought to eat or drink something or other; but the great -question is, what?" - -The great question certainly was, what? Alice looked all round her at -the flowers and the blades of grass, but she could not see anything that -looked like the right thing to eat or drink under the circumstances. -There was a large mushroom growing near her, about the same height as -herself; and, when she had looked under it, and on both sides of it, and -behind it, it occurred to her that she might as well look and see what -was on the top of it. - -She stretched herself up on tiptoe, and peeped over the edge of the -mushroom, and her eyes immediately met those of a large blue -caterpillar, that was sitting on the top with its arms folded, quietly -smoking a long hookah, and taking not the smallest notice of her or of -anything else. - - - - -CHAPTER V - - -[Sidenote: _Advice from a Caterpillar_] - -THE Caterpillar and Alice looked at each other for some -time in silence: at last the Caterpillar took the hookah out of its -mouth, and addressed her in a languid, sleepy voice. - -"Who are _you_?" said the Caterpillar. - -This was not an encouraging opening for a conversation. Alice replied, -rather shyly, "I hardly know, sir, just at present--at least I know who -I _was_ when I got up this morning, but I think I must have been changed -several times since then." - -"What do you mean by that?" said the Caterpillar sternly. "Explain -yourself!" - -"I can't explain _myself_, I'm afraid, sir," said Alice, "because I'm -not myself, you see." - -"I don't see," said the Caterpillar. - -"I'm afraid I can't put it more clearly," Alice replied very politely, -"for I can't understand it myself to begin with; and being so many -different sizes in a day is very confusing." - -"It isn't," said the Caterpillar. - -"Well, perhaps you haven't found it so yet," said Alice, "but when you -have to turn into a chrysalis--you will some day, you know--and then -after that into a butterfly, I should think you'll feel it a little -queer, won't you?" - -"Not a bit," said the Caterpillar. - -"Well, perhaps your feelings may be different," said Alice; "all I know -is, it would feel very queer to _me_." - -"You!" said the Caterpillar contemptuously. "Who are _you_?" - -Which brought them back again to the beginning of the conversation. -Alice felt a little irritated at the Caterpillar's making such _very_ -short remarks, and she drew herself up and said, very gravely, "I think -you ought to tell me who _you_ are, first." - -"Why?" said the Caterpillar. - -[Illustration: _Advice from a Caterpillar_] - -Here was another puzzling question; and as Alice could not think of any -good reason, and as the Caterpillar seemed to be in a _very_ -unpleasant state of mind, she turned away. - -"Come back!" the Caterpillar called after her. "I've something important -to say!" - -This sounded promising, certainly: Alice turned and came back again. - -"Keep your temper," said the Caterpillar. - -"Is that all?" said Alice, swallowing down her anger as well as she -could. - -"No," said the Caterpillar. - -Alice thought she might as well wait, as she had nothing else to do, and -perhaps after all it might tell her something worth hearing. For some -minutes it puffed away without speaking, but at last it unfolded its -arms, took the hookah out of its mouth again, and said, "So you think -you're changed, do you?" - -"I'm afraid I am, sir," said Alice; "I can't remember things as I -used--and I don't keep the same size for ten minutes together!" - -"Can't remember _what_ things?" said the Caterpillar. - -"Well, I've tried to say '_How doth the little busy bee_,' but it all -came different!" Alice replied in a very melancholy voice. - -"Repeat '_You are old, Father William_,'" said the Caterpillar. - -Alice folded her hands, and began:-- - - "You are old, Father William," the young man said, - "And your hair has become very white; - And yet you incessantly stand on your head-- - Do you think, at your age, it is right?" - - "In my youth," Father William replied to his son, - "I feared it might injure the brain; - But, now that I'm perfectly sure I have none, - Why, I do it again and again." - - "You are old," said the youth, "as I mentioned before, - And have grown most uncommonly fat; - Yet you turned a back-somersault in at the door-- - Pray, what is the reason of that?" - - "In my youth," said the sage, as he shook his grey locks, - "I kept all my limbs very supple - By the use of this ointment--one shilling the box-- - Allow me to sell you a couple?" - - "You are old," said the youth, "and your jaws are too weak - For anything tougher than suet; - Yet you finished the goose, with the bones and the beak-- - Pray, how did you manage to do it?" - - "In my youth," said his father, "I took to the law - And argued each case with my wife; - And the muscular strength, which it gave to my jaw, - Has lasted the rest of my life." - - "You are old," said the youth, "one would hardly suppose - That your eye was as steady as ever; - Yet you balanced an eel on the end of your nose-- - What made you so awfully clever?" - - "I have answered three questions, and that is enough," - Said his father; "don't give yourself airs! - Do you think I can listen all day to such stuff? - Be off, or I'll kick you down stairs!" - -"That is not said right," said the Caterpillar. - -"Not _quite_ right, I'm afraid," said Alice, timidly; "some of the -words have got altered." - -"It is wrong from beginning to end," said the Caterpillar, decidedly, -and there was silence for some minutes. - -The Caterpillar was the first to speak. - -"What size do you want to be?" it asked. - -"Oh, I'm not particular as to size," Alice hastily replied; "only one -doesn't like changing so often, you know." - -"I _don't_ know," said the Caterpillar. - -Alice said nothing: she had never been so much contradicted in all her -life before, and she felt that she was losing her temper. - -"Are you content now?" said the Caterpillar. - -"Well, I should like to be a _little_ larger, sir, if you wouldn't -mind," said Alice: "three inches is such a wretched height to be." - -"It is a very good height indeed!" said the Caterpillar angrily, rearing -itself upright as it spoke (it was exactly three inches high). - -"But I'm not used to it!" pleaded poor Alice in a piteous tone. And she -thought to herself, "I wish the creatures wouldn't be so easily -offended!" - -"You'll get used to it in time," said the Caterpillar; and it put its -hookah into its mouth and began smoking again. - -This time Alice waited patiently until it chose to speak again. In a -minute or two the Caterpillar took the hookah out of its mouth and -yawned once or twice, and shook itself. Then it got down off the -mushroom, and crawled away into the grass, merely remarking as it went, -"One side will make you grow taller, and the other side will make you -grow shorter." - -"One side of _what_? The other side of _what_?" thought Alice to -herself. - -"Of the mushroom," said the Caterpillar, just as if she had asked it -aloud; and in another moment it was out of sight. - -Alice remained looking thoughtfully at the mushroom for a minute, trying -to make out which were the two sides of it; and as it was perfectly -round, she found this a very difficult question. However, at last she -stretched her arms round it as far as they would go, and broke off a bit -of the edge with each hand. - -"And now which is which?" she said to herself, and nibbled a little of -the right-hand bit to try the effect: the next moment she felt a violent -blow underneath her chin: it had struck her foot! - -[Illustration] - -She was a good deal frightened by this very sudden change, but she felt -that there was no time to be lost, as she was shrinking rapidly; so she -set to work at once to eat some of the other bit. Her chin was pressed -so closely against her foot that there was hardly room to open her -mouth; but she did it at last, and managed to swallow a morsel of the -left-hand bit. - - * * * * * - -"Come, my head's free at last!" said Alice in a tone of delight, which -changed into alarm in another moment, when she found that her shoulders -were nowhere to be found: all she could see, when she looked down, was -an immense length of neck, which seemed to rise like a stalk out of a -sea of green leaves that lay far below her. - -"What _can_ all that green stuff be?" said Alice. "And where have my -shoulders got to? And oh, my poor hands, how is it I ca'n't see you?" -She was moving them about as she spoke, but no result seemed to follow, -except a little shaking among the distant green leaves. - -As there seemed to be no chance of getting her hands up to her head, she -tried to get her head down to them, and was delighted to find that her -neck would bend about easily in any direction, like a serpent. She had -just succeeded in curving it down into a graceful zigzag, and was going -to dive in among the leaves, which she found to be nothing but the tops -of the trees under which she had been wandering, when a sharp hiss made -her draw back in a hurry: a large pigeon had flown into her face, and -was beating her violently with its wings. - -"Serpent!" screamed the Pigeon. - -"I'm _not_ a serpent!" said Alice indignantly. "Let me alone!" - -"Serpent, I say again!" repeated the Pigeon, but in a more subdued tone, -and added with a kind of a sob, "I've tried every way, and nothing seems -to suit them!" - -"I haven't the least idea what you're talking about," said Alice. - -"I've tried the roots of trees, and I've tried banks, and I've tried -hedges," the Pigeon went on, without attending to her; "but those -serpents! There's no pleasing them!" - -Alice was more and more puzzled, but she thought there was no use in -saying anything more till the Pigeon had finished. - -"As if it wasn't trouble enough hatching the eggs," said the Pigeon; -"but I must be on the look-out for serpents night and day! Why, I -haven't had a wink of sleep these three weeks!" - -"I'm very sorry you've been annoyed," said Alice, who was beginning to -see its meaning. - -[Illustration] - -"And just as I'd taken the highest tree in the wood," continued the -Pigeon, raising its voice to a shriek, "and just as I was thinking I -should be free of them at last, they must needs come wriggling down from -the sky! Ugh, Serpent!" - -"But I'm _not_ a serpent, I tell you!" said Alice. "I'm a---- I'm a -----" - -"Well! _What_ are you?" said the Pigeon. "I can see you're trying to -invent something!" - -"I--I'm a little girl," said Alice, rather doubtfully, as she remembered -the number of changes she had gone through that day. - -"A likely story indeed!" said the Pigeon in a tone of the deepest -contempt. "I've seen a good many little girls in my time, but never -_one_ with such a neck as that! No, no! You're a serpent; and there's no -use denying it. I suppose you'll be telling me next that you never -tasted an egg!" - -"I _have_ tasted eggs, certainly," said Alice, who was a very truthful -child; "but little girls eat eggs quite as much as serpents do, you -know." - -"I don't believe it," said the Pigeon; "but if they do, why then -they're a kind of serpent, that's all I can say." - -This was such a new idea to Alice, that she was quite silent for a -minute or two, which gave the Pigeon the opportunity of adding, "You're -looking for eggs, I know _that_ well enough; and what does it matter to -me whether you're a little girl or a serpent?" - -"It matters a good deal to _me_," said Alice hastily; "but I'm not -looking for eggs, as it happens; and if I was, I shouldn't want _yours_: -I don't like them raw." - -"Well, be off, then!" said the Pigeon in a sulky tone, as it settled -down again into its nest. Alice crouched down among the trees as well as -she could, for her neck kept getting entangled among the branches, and -every now and then she had to stop and untwist it. After a while she -remembered that she still held the pieces of mushroom in her hands, and -she set to work very carefully, nibbling first at one and then at the -other, and growing sometimes taller and sometimes shorter, until she had -succeeded in bringing herself down to her usual height. - -It was so long since she had been anything near the right size, that it -felt quite strange at first; but she got used to it in a few minutes, -and began talking to herself, as usual. "Come, there's half my plan done -now! How puzzling all these changes are! I'm never sure what I'm going -to be, from one minute to another! However, I've got back to my right -size: the next thing is, to get into that beautiful garden--how _is_ -that to be done, I wonder?" As she said this, she came suddenly upon an -open place, with a little house in it about four feet high. "Whoever -lives there," thought Alice, "it'll never do to come upon them _this_ -size: why, I should frighten them out of their wits!" So she began -nibbling at the right-hand bit again, and did not venture to go near the -house till she had brought herself down to nine inches high. - - - - -CHAPTER VI - - -[Sidenote: _Pig and Pepper_] - -FOR a minute or two she stood looking at the house, and -wondering what to do next, when suddenly a footman in livery came -running out of the wood--(she considered him to be a footman because he -was in livery: otherwise, judging by his face only, she would have -called him a fish)--and rapped loudly at the door with his knuckles. It -was opened by another footman in livery, with a round face and large -eyes like a frog; and both footmen, Alice noticed, had powdered hair -that curled all over their heads. She felt very curious to know what it -was all about, and crept a little way out of the wood to listen. - -The Fish-Footman began by producing from under his arm a great letter, -nearly as large as himself, and this he handed over to the other, -saying, in a solemn tone, "For the Duchess. An invitation from the -Queen to play croquet." The Frog-Footman repeated, in the same solemn -tone, only changing the order of the words a little, "From the Queen. An -invitation for the Duchess to play croquet." - -Then they both bowed low, and their curls got entangled together. - -Alice laughed so much at this, that she had to run back into the wood -for fear of their hearing her; and, when she next peeped out, the -Fish-Footman was gone, and the other was sitting on the ground near the -door, staring stupidly up into the sky. - -Alice went timidly up to the door and knocked. - -"There's no use in knocking," said the Footman, "and that for two -reasons. First, because I'm on the same side of the door as you are; -secondly, because they're making such a noise inside, no one could -possibly hear you." And certainly there was a most extraordinary noise -going on within--a constant howling and sneezing, and every now and then -a great crash, as if a dish or kettle had been broken to pieces. - -"Please, then," said Alice, "how am I to get in?" - -"There might be some sense in your knocking," the Footman went on -without attending to her, "if we had the door between us. For instance, -if you were _inside_, you might knock, and I could let you out, you -know." He was looking up into the sky all the time he was speaking, and -this Alice thought decidedly uncivil. "But perhaps he can't help it," -she said to herself: "his eyes are so _very_ nearly at the top of his -head. But at any rate he might answer questions. How am I to get in?" -she repeated aloud. - -"I shall sit here," the Footman remarked, "till to-morrow----" - -At this moment the door of the house opened, and a large plate came -skimming out, straight at the Footman's head: it just grazed his nose, -and broke to pieces against one of the trees behind him. - -"----or next day, maybe," the Footman continued in the same tone, -exactly as if nothing had happened. - -"How am I to get in?" asked Alice again in a louder tone. - -"_Are_ you to get in at all?" said the Footman. "That's the first -question, you know." - -[Illustration] - -It was, no doubt: only Alice did not like to be told so. "It's really -dreadful," she muttered to herself, "the way all the creatures argue. -It's enough to drive one crazy!" - -The Footman seemed to consider this a good opportunity for repeating his -remark, with variations. "I shall sit here," he said, "on and off, for -days and days." - -"But what am _I_ to do?" said Alice. - -"Anything you like," said the Footman, and began whistling. - -"Oh, there's no use in talking to him," said Alice desperately: "he's -perfectly idiotic!" And she opened the door and went in. - -The door led right into a large kitchen, which was full of smoke from -one end to the other: the Duchess was sitting on a three-legged stool in -the middle, nursing a baby, the cook was leaning over the fire, stirring -a large cauldron which seemed to be full of soup. - -"There's certainly too much pepper in that soup!" Alice said to herself, -as well as she could for sneezing. - -There was certainly too much of it in the air. Even the Duchess sneezed -occasionally; and the baby was sneezing and howling alternately without -a moment's pause. The only things in the kitchen that did not sneeze, -were the cook, and a large cat which was sitting on the hearth and -grinning from ear to ear. - -"Please would you tell me," said Alice a little timidly, for she was not -quite sure whether it was good manners for her to speak first, "why your -cat grins like that?" - -"It's a Cheshire cat," said the Duchess, "and that's why. Pig!" - -She said the last word with such sudden violence that Alice quite -jumped; but she saw in another moment that it was addressed to the baby, -and not to her, so she took courage, and went on again: - -"I didn't know that Cheshire cats always grinned; in fact, I didn't know -that cats _could_ grin." - -"They all can," said the Duchess; "and most of 'em do." - -"I don't know of any that do," Alice said very politely, feeling quite -pleased to have got into a conversation. - -"You don't know much," said the Duchess; "and that's a fact." - -Alice did not at all like the tone of this remark, and thought it would -be as well to introduce some other subject of conversation. While she -was trying to fix on one, the cook took the cauldron of soup off the -fire, and at once set to work throwing everything within her reach at -the Duchess and the baby--the fire-irons came first; then followed a -shower of saucepans, plates, and dishes. The Duchess took no notice of -them even when they hit her; and the baby was howling so much already, -that it was quite impossible to say whether the blows hurt it or not. - -"Oh, _please_ mind what you're doing!" cried Alice, jumping up and down -in an agony of terror. "Oh, there goes his _precious_ nose"; as an -unusually large saucepan flew close by it, and very nearly carried it -off. - -"If everybody minded their own business," the Duchess said in a hoarse -growl, "the world would go round a deal faster than it does." - -[Illustration: _An unusually large saucepan flew close by it, and very -nearly carried it off_] - -"Which would _not_ be an advantage," said Alice, who felt very glad to -get an opportunity of showing off a little of her knowledge. "Just think -what work it would make with the day and night! You see the earth -takes twenty-four hours to turn round on its axis----" - -"Talking of axes," said the Duchess, "chop off her head." - -Alice glanced rather anxiously at the cook, to see if she meant to take -the hint; but the cook was busily engaged in stirring the soup, and did -not seem to be listening, so she ventured to go on again: "Twenty-four -hours, I _think_; or is it twelve? I----" - -"Oh, don't bother _me_," said the Duchess; "I never could abide -figures!" And with that she began nursing her child again, singing a -sort of lullaby to it as she did so, and giving it a violent shake at -the end of every line: - - "Speak roughly to your little boy, - And beat him when he sneezes: - He only does it to annoy, - Because he knows it teases." - -CHORUS - - (In which the cook and the baby joined): - "Wow! wow! wow!" - -While the Duchess sang the second verse of the song, she kept tossing -the baby violently up and down, and the poor little thing howled so, -that Alice could hardly hear the words: - - "I speak severely to my boy, - I beat him when he sneezes; - For he can thoroughly enjoy - The pepper when he pleases!" - - CHORUS. - - "Wow! wow! wow!" - -"Here! you may nurse it a bit if you like!" the Duchess said to Alice, -flinging the baby at her as she spoke. "I must go and get ready to play -croquet with the Queen," and she hurried out of the room. The cook threw -a frying-pan after her as she went out, but it just missed her. - -Alice caught the baby with some difficulty, as it was a queer-shaped -little creature, and held out its arms and legs in all directions, "just -like a star-fish," thought Alice. The poor little thing was snorting -like a steam-engine when she caught it, and kept doubling itself up and -straightening itself out again, so that altogether, for the first minute -or two, it was as much as she could do to hold it. - -As soon as she had made out the proper way of nursing it, (which was to -twist it up into a knot, and then keep tight hold of its right ear and -left foot, so as to prevent its undoing itself,) she carried it out into -the open air. "If I don't take this child away with me," thought Alice, -"they're sure to kill it in a day or two: wouldn't it be murder to leave -it behind?" She said the last words out loud, and the little thing -grunted in reply (it had left off sneezing by this time). "Don't grunt," -said Alice; "that's not at all a proper way of expressing yourself." - -The baby grunted again, and Alice looked very anxiously into its face to -see what was the matter with it. There could be no doubt that it had a -_very_ turn-up nose, much more like a snout than a real nose; also its -eyes were getting extremely small for a baby: altogether Alice did not -like the look of the thing at all. "But perhaps it was only sobbing," -she thought, and looked into its eyes again, to see if there were any -tears. - -No, there were no tears. "If you're going to turn into a pig, my dear," -said Alice, seriously, "I'll have nothing more to do with you. Mind -now!" The poor little thing sobbed again (or grunted, it was impossible -to say which), and they went on for some while in silence. - -Alice was just beginning to think to herself, "Now, what am I to do with -this creature when I get it home?" when it grunted again, so violently, -that she looked down into its face in some alarm. This time there could -be _no_ mistake about it: it was neither more nor less than a pig, and -she felt that it would be quite absurd for her to carry it any further. - -So she set the little creature down, and felt quite relieved to see it -trot quietly away into the wood. "If it had grown up," she said to -herself, "it would have made a dreadfully ugly child: but it makes -rather a handsome pig, I think." And she began thinking over other -children she knew, who might do very well as pigs, and was just saying -to herself, "if one only knew the right way to change them----" when she -was a little startled by seeing the Cheshire Cat sitting on a bough of a -tree a few yards off. - -[Illustration: _It grunted again so violently that she looked down into -its face in some alarm_] - -The Cat only grinned when it saw Alice. It looked good-natured, she -thought: still it had _very_ long claws and a great many teeth, so she -felt that it ought to be treated with respect. - -[Illustration] - -"Cheshire Puss," she began, rather timidly, as she did not at all know -whether it would like the name: however, it only grinned a little wider. -"Come, it's pleased so far," thought Alice, and she went on. "Would you -tell me, please, which way I ought to go from here?" - -"That depends a good deal on where you want to get to," said the Cat. - -"I don't much care where----" said Alice. - -"Then it doesn't matter which way you go," said the Cat. - -"---- so long as I get _somewhere_," Alice added as an explanation. - -"Oh, you're sure to do that," said the Cat, "if you only walk long -enough." - -Alice felt that this could not be denied, so she tried another question. -"What sort of people live about here?" - -"In _that_ direction," the Cat said, waving its right paw round, "lives -a Hatter: and in _that_ direction," waving the other paw, "lives a March -Hare. Visit either you like: they're both mad." - -"But I don't want to go among mad people," Alice remarked. - -"Oh, you ca'n't help that," said the Cat: "we're all mad here. I'm mad. -You're mad." - -"How do you know I'm mad?" said Alice. - -"You must be," said the Cat, "or you wouldn't have come here." - -Alice didn't think that proved it at all; however, she went on. "And how -do you know that you're mad?" - -"To begin with," said the Cat, "a dog's not mad. You grant that?" - -"I suppose so," said Alice. - -"Well, then," the Cat went on, "you see a dog growls when it's angry, -and wags its tail when it's pleased. Now _I_ growl when I'm pleased, and -wag my tail when I'm angry. Therefore I'm mad." - -"_I_ call it purring, not growling," said Alice. - -"Call it what you like," said the Cat. "Do you play croquet with the -Queen to-day?" - -"I should like it very much," said Alice, "but I haven't been invited -yet." - -"You'll see me there," said the Cat and vanished. - -Alice was not much surprised at this, she was getting so used to queer -things happening. While she was looking at the place where it had been, -it suddenly appeared again. - -"By-the-bye, what became of the baby?" said the Cat. "I'd nearly -forgotten to ask." - -"It turned into a pig," Alice quietly said, just as if it had come back -in a natural way. - -"I thought it would," said the Cat, and vanished again. - -Alice waited a little, half expecting to see it again, but it did not -appear, and after a minute or two she walked on in the direction in -which the March Hare was said to live. "I've seen hatters before," she -said to herself; "the March Hare will be much the most interesting, and -perhaps as this is May, it won't be raving mad--at least not so mad as -it was in March." As she said this, she looked up, and there was the Cat -again, sitting on the branch of a tree. - -"Did you say pig, or fig?" said the Cat. - -"I said pig," replied Alice; "and I wish you wouldn't keep appearing and -vanishing so suddenly: you make one quite giddy." - -"All right," said the Cat; and this time it vanished quite slowly, -beginning with the end of the tail, and ending with the grin, which -remained some time after the rest of it had gone. - -"Well! I've often seen a cat without a grin," thought Alice; "but a grin -without a cat! It's the most curious thing I ever saw in all my life." - -[Illustration] - -She had not gone much farther before she came in sight of the house of -the March Hare: she thought it must be the right house, because the -chimneys were shaped like ears and the roof was thatched with fur. It -was so large a house, that she did not like to go nearer till she had -nibbled some more of the left-hand bit of mushroom, and raised herself, -to about two feet high: even then she walked up towards it rather -timidly, saying to herself, "Suppose it should be raving mad after all! -I almost wish I'd gone to see the Hatter instead!" - - - - -CHAPTER VII - - -[Sidenote: _A Mad Tea-party_] - -THERE was a table set out under a tree in front of the -house, and the March Hare and the Hatter were having tea at it: a -Dormouse was sitting between them, fast asleep, and the other two were -using it as a cushion resting their elbows on it, and talking over its -head. "Very uncomfortable for the Dormouse," thought Alice; "only as -it's asleep, suppose it doesn't mind." - -The table was a large one, but the three were all crowded together at -one corner of it. "No room! No room!" they cried out when they saw Alice -coming. "There's _plenty_ of room!" said Alice indignantly, and she sat -down in a large arm-chair at one end of the table. - -"Have some wine," the March Hare said in an encouraging tone. - -Alice looked all round the table, but there was nothing on it but tea. -"I don't see any wine," she remarked. - -"There isn't any," said the March Hare. - -"Then it wasn't very civil of you to offer it," said Alice angrily. - -"It wasn't very civil of you to sit down without being invited," said -the March Hare. - -"I didn't know it was _your_ table," said Alice; "it's laid for a great -many more than three." - -"Your hair wants cutting," said the Hatter. He had been looking at Alice -for some time with great curiosity, and this was his first speech. - -"You should learn not to make personal remarks," Alice said with some -severity; "it's very rude." - -The Hatter opened his eyes very wide on hearing this; but all he _said_ -was "Why is a raven like a writing-desk?" - -"Come, we shall have some fun now!" thought Alice. "I'm glad they've -begun asking riddles.--I believe I can guess that," she added aloud. - -"Do you mean that you think you can find out the answer to it?" said -the March Hare. - -"Exactly so," said Alice. - -"Then you should say what you mean," the March Hare went on. - -"I do," Alice hastily replied; "at least--at least I mean what I -say--that's the same thing, you know." - -"Not the same thing a bit!" said the Hatter. "Why, you might just as -well say that 'I see what I eat' is the same thing as 'I eat what I -see'!" - -"You might just as well say," added the March Hare, "that 'I like what I -get' is the same thing as 'I get what I like'!" - -"You might just as well say," added the Dormouse, which seemed to be -talking in his sleep, "that 'I breathe when I sleep' is the same thing -as 'I sleep when I breathe'!" - -"It _is_ the same thing with you," said the Hatter; and here the -conversation dropped, and the party sat silent for a minute, while Alice -thought over all she could remember about ravens and writing-desks, -which wasn't much. - -[Illustration: _A Mad Tea Party_] - -The Hatter was the first to break the silence. "What day of the month -is it?" he said, turning to Alice: he had taken his watch out of his -pocket, and was looking at it uneasily, shaking it every now and then, -and holding it to his ear. - -Alice considered a little, and then said "The fourth." - -"Two days wrong!" sighed the Hatter. "I told you butter would not suit -the works!" he added, looking angrily at the March Hare. - -"It was the _best_ butter," the March Hare meekly replied. - -"Yes, but some crumbs must have got in as well," the Hatter grumbled: -"you shouldn't have put it in with the bread-knife." - -The March Hare took the watch and looked at it gloomily: then he dipped -it into his cup of tea, and looked at it again: but he could think of -nothing better to say than his first remark, "It was the _best_ butter, -you know." - -Alice had been looking over his shoulder with some curiosity. "What a -funny watch!" she remarked. "It tells the day of the month, and doesn't -tell what o'clock it is!" - -"Why should it?" muttered the Hatter. "Does _your_ watch tell you what -year it is?" - -"Of course not," Alice replied very readily: "but that's because it -stays the same year for such a long time together." - -"Which is just the case with _mine_," said the Hatter. - -Alice felt dreadfully puzzled. The Hatter's remark seemed to have no -meaning in it, and yet it was certainly English. "I don't quite -understand," she said, as politely as she could. - -"The Dormouse is asleep again," said the Hatter, and he poured a little -hot tea upon its nose. - -The Dormouse shook its head impatiently, and said, without opening its -eyes, "Of course, of course; just what I was going to remark myself." - -"Have you guessed the riddle yet?" the Hatter said, turning to Alice -again. - -"No, I give it up," Alice replied: "what's the answer?" - -"I haven't the slightest idea," said the Hatter. - -"Nor I," said the March Hare. - -Alice sighed wearily. "I think you might do something better with the -time," she said, "than wasting it asking riddles with no answers." - -"If you knew Time as well as I do," said the Hatter, "you wouldn't talk -about wasting _it_. It's _him_." - -"I don't know what you mean," said Alice. - -"Of course you don't!" the Hatter said, tossing his head contemptuously. -"I daresay you never spoke to Time!" - -"Perhaps not," Alice cautiously replied: "but I know I have to beat time -when I learn music." - -"Ah! that accounts for it," said the Hatter. "He won't stand beating. -Now, if you only kept on good terms with him, he'd do almost anything -you liked with the clock. For instance, suppose it were nine o'clock in -the morning, just time to begin lessons: you'd only have to whisper a -hint to Time, and round goes the clock in a twinkling! Half-past one, -time for dinner!" - -("I only wish it was," the March Hare said to itself in a whisper.) - -"That would be grand, certainly," said Alice thoughtfully: "but then--I -shouldn't be hungry for it, you know." - -"Not at first, perhaps," said the Hatter: "but you could keep it to -half-past one as long as you liked." - -"Is that the way _you_ manage?" Alice asked. - -The Hatter shook his head mournfully. "Not I!" he replied. "We -quarrelled last March----just before _he_ went mad, you know----" -(pointing with his teaspoon to the March Hare), "it was at the great -concert given by the Queen of Hearts, and I had to sing - - 'Twinkle, twinkle, little bat! - How I wonder what you're at!' - -You know that song, perhaps?" - -"I've heard something like it," said Alice. - -"It goes on, you know," the Hatter continued, "in this way:-- - - 'Up above the world you fly, - Like a tea-tray in the sky. - Twinkle, twinkle----'" - -Here the Dormouse shook itself, and began singing in its sleep -"_Twinkle, twinkle, twinkle, twinkle_----" and went on so long that they -had to pinch it to make it stop. - -"Well, I'd hardly finished the first verse," said the Hatter, "when the -Queen jumped up and bawled out 'He's murdering the time! Off with his -head!'" - -"How dreadfully savage!" exclaimed Alice. - -"And ever since that," the Hatter went on in a mournful tone, "he won't -do a thing I ask! It's always six o'clock now." - -A bright idea came into Alice's head. "Is that the reason so many -tea-things are put out here?" she asked. - -"Yes, that's it," said the Hatter with a sigh: "it's always tea-time, -and we've no time to wash the things between whiles." - -"Then you keep moving round, I suppose?" said Alice. - -"Exactly so," said the Hatter: "as the things get used up." - -"But what happens when you come to the beginning again?" Alice ventured -to ask. - -"Suppose we change the subject," the March Hare interrupted, yawning. -"I'm getting tired of this. I vote the young lady tells us a story." - -"I'm afraid I don't know one," said Alice, rather alarmed at the -proposal. - -"Then the Dormouse shall!" they both cried. "Wake up, Dormouse!" And -they pinched it on both sides at once. - -The Dormouse slowly opened his eyes. "I wasn't asleep," he said in a -hoarse, feeble voice: "I heard every word you fellows were saying." - -"Tell us a story!" said the March Hare. - -"Yes, please do!" pleaded Alice. - -"And be quick about it," added the Hatter, "or you'll be asleep again -before it's done." - -"Once upon a time there were three little sisters," the Dormouse began -in a great hurry; "and their names were Elsie, Lacie, and Tillie; and -they lived at the bottom of a well----" - -"What did they live on?" said Alice, who always took a great interest in -questions of eating and drinking. - -"They lived on treacle," said the Dormouse, after thinking a minute or -two. - -"They couldn't have done that, you know," Alice gently remarked; "they'd -have been ill." - -"So they were," said the Dormouse; "_very_ ill." - -Alice tried a little to fancy to herself what such an extraordinary way -of living would be like, but it puzzled her too much, so she went on: -"But why did they live at the bottom of a well?" - -"Take some more tea," the March Hare said to Alice, very earnestly. - -"I've had nothing yet," Alice replied in an offended tone, "so I can't -take more." - -"You mean you can't take _less_," said the Hatter; "it's very easy to -take _more_ than nothing." - -"Nobody asked _your_ opinion," said Alice. - -"Who's making personal remarks now?" the Hatter asked triumphantly. - -Alice did not quite know what to say to this: so she helped herself to -some tea and bread-and-butter, and then turned to the Dormouse, and -repeated her question. "Why did they live at the bottom of a well?" - -The Dormouse again took a minute or two to think about it, and then -said, "It was a treacle-well." - -"There's no such thing!" Alice was beginning very angrily, but the -Hatter and the March Hare went "Sh! sh!" and the Dormouse sulkily -remarked: "If you can't be civil, you'd better finish the story for -yourself." - -"No, please go on!" Alice said very humbly. "I won't interrupt you -again. I dare say there may be _one_." - -"One, indeed!" said the Dormouse indignantly. However, he consented to -go on. "And so these three little sisters--they were learning to draw, -you know----" - -"What did they draw?" said Alice, quite forgetting her promise. - -"Treacle," said the Dormouse, without considering at all this time. - -"I want a clean cup," interrupted the Hatter: "let's all move one place -on." - -He moved as he spoke, and the Dormouse followed him: the March Hare -moved into the Dormouse's place, and Alice rather unwillingly took the -place of the March Hare. The Hatter was the only one who got any -advantage from the change: and Alice was a good deal worse off than -before, as the March Hare had just upset the milk-jug into his plate. - -Alice did not wish to offend the Dormouse again, so she began very -cautiously: "But I don't understand. Where did they draw the treacle -from?" - -"You can draw water out of a water-well," said the Hatter; "so I should -think you could draw treacle out of a treacle-well--eh, stupid!" - -"But they were _in_ the well," Alice said to the Dormouse, not choosing -to notice this last remark. - -"Of course they were," said the Dormouse; "----well in." - -This answer so confused poor Alice that she let the Dormouse go on for -some time without interrupting it. - -"They were learning to draw," the Dormouse went on, yawning and rubbing -its eyes, for it was getting very sleepy; "and they drew all manner of -things--everything that begins with an M----" - -"Why with an M?" said Alice. - -"Why not?" said the March Hare. - -Alice was silent. - -The Dormouse had closed its eyes by this time, and was going off into a -dose; but, on being pinched by the Hatter, it woke up again with a -little shriek, and went on: "----that begins with an M, such as -mouse-traps, and the moon, and memory, and muchness--you know you say -things are 'much of a muchness'--did you ever see such a thing as a -drawing of a muchness?" - -"Really, now you ask me," said Alice, very much confused, "I don't -think----" - -"Then you shouldn't talk," said the Hatter. - -This piece of rudeness was more than Alice could bear: she got up in -great disgust and walked off; the Dormouse fell asleep instantly, and -neither of the others took the least notice of her going, though she -looked back once or twice, half hoping that they would call after her: -the last time she saw them, they were trying to put the Dormouse into -the teapot. - -"At any rate I'll never go _there_ again!" said Alice as she picked her -way through the wood. "It's the stupidest tea-party I ever was at in all -my life!" - -Just as she said this, she noticed that one of the trees had a door -leading right into it. "That's very curious!" she thought. "But -everything's curious to-day. I think I may as well go in at once." And -in she went. - -Once more she found herself in the long hall, and close to the little -glass table. "Now I'll manage better this time," she said to herself, -and began by taking the little golden key, and unlocking the door that -led into the garden. Then she set to work nibbling at the mushroom (she -had kept a piece of it in her pocket) till she was about a foot high: -then she walked down the little passage: and _then_--she found herself -at last in the beautiful garden, among the bright flower-beds and the -cool fountains. - - - - -CHAPTER VIII - - -[Sidenote: _The Queen's Croquet-Ground_] - -A LARGE rose-tree stood near the entrance of the garden: -the roses growing on it were white, but there were three gardeners at -it, busily painting them red. Alice thought this a very curious thing, -and she went nearer to watch them, and just as she came up to them she -heard one of them say "Look out now, Five! Don't go splashing paint over -me like that!" - -"I couldn't help it," said Five, in a sulky tone. "Seven jogged my -elbow." - -On which Seven looked up and said, "That's right, Five! Always lay the -blame on others!" - -"_You'd_ better not talk!" said Five. "I heard the Queen say only -yesterday you deserved to be beheaded!" - -"What for?" said the one who had first spoken. - -"That's none of _your_ business, Two!" said Seven. - -"Yes, it _is_ his business!" said Five. "And I'll tell him--it was for -bringing the cook tulip-roots instead of onions." - -Seven flung down his brush, and had just begun "Well, of all the unjust -things----" when his eye chanced to fall upon Alice, as she stood -watching them, and he checked himself suddenly: the others looked round -also, and all of them bowed low. - -"Would you tell me," said Alice, a little timidly, "why you are painting -those roses?" - -Five and Seven said nothing, but looked at Two. Two began in a low -voice, "Why, the fact is, you see, Miss, this here ought to have been a -_red_ rose-tree, and we put a white one in by mistake; and if the Queen -was to find it out, we should all have our heads cut off, you know. So -you see, Miss, we're doing our best, afore she comes, to----" At this -moment, Five, who had been anxiously looking across the garden, called -out "The Queen! The Queen!" and the three gardeners instantly threw -themselves flat upon their faces. There was a sound of many footsteps, -and Alice looked round, eager to see the Queen. - -First came ten soldiers carrying clubs; these were all shaped like the -three gardeners, oblong and flat, with their hands and feet at the -corners: next the ten courtiers; these were ornamented all over with -diamonds, and walked two and two, as the soldiers did. After these came -the royal children; there were ten of them, and the little dears came -jumping merrily along hand in hand, in couples; they were all ornamented -with hearts. Next came the guests, mostly Kings and Queens, and among -them Alice recognised the White Rabbit: it was talking in a hurried, -nervous manner, smiling at everything that was said, and went by without -noticing her. Then followed the Knave of Hearts, carrying the King's -crown on a crimson velvet cushion; and last of all this grand -procession, came THE KING AND QUEEN OF HEARTS. - -Alice was rather doubtful whether she ought not to lie down on her face -like the three gardeners, but she could not remember ever having heard -of such a rule at processions; "and besides, what would be the use of a -procession," thought she, "if people had to lie down upon their faces, -so that they couldn't see it?" So she stood still where she was, and -waited. - -When the procession came opposite to Alice, they all stopped and looked -at her, and the Queen said severely, "Who is this?" She said it to the -Knave of Hearts, who only bowed and smiled in reply. - -"Idiot!" said the Queen, tossing her head impatiently; and turning to -Alice, she went on, "What's your name, child?" - -"My name is Alice, so please your Majesty," said Alice very politely; -but she added, to herself, "Why, they're only a pack of cards, after -all. I needn't be afraid of them!" - -"And who are _these_?" said the Queen, pointing to the three gardeners -who were lying round the rose-tree; for, you see, as they were lying on -their faces, and the pattern on their backs was the same as the rest of -the pack, she could not tell whether they were gardeners, or soldiers, -or courtiers, or three of her own children. - -"How should _I_ know?" said Alice, surprised at her own courage. "It's -no business of _mine_." - -The Queen turned crimson with fury, and, after glaring at her for a -moment like a wild beast, screamed "Off with her head! Off----" - -"Nonsense!" said Alice, very loudly and decidedly, and the Queen was -silent. - -The King laid his hand upon her arm, and timidly said "Consider my dear: -she is only a child!" - -The Queen turned angrily away from him, and said to the Knave "Turn them -over!" - -The Knave did so, very carefully, with one foot. - -"Get up!" said the Queen, in a shrill, loud voice, and the three -gardeners instantly jumped up, and began bowing to the King, the Queen, -the royal children, and everybody else. - -"Leave off that!" screamed the Queen. "You make me giddy." And then, -turning to the rose-tree, she went on, "What _have_ you been doing -here?" - -"May it please your Majesty," said Two, in a very humble tone, going -down on one knee as he spoke, "we were trying----" - -[Illustration: _The Queen turned angrily away from him and said to the -Knave, "Turn them over"_] - -"_I_ see!" said the Queen, who had meanwhile been examining the roses. -"Off with their heads!" and the procession moved on, three of the -soldiers remaining behind to execute the unfortunate gardeners, who ran -to Alice for protection. - -"You shan't be beheaded!" said Alice, and she put them into a large -flower-pot that stood near. The three soldiers wandered about for a -minute or two, looking for them, and then quietly marched off after the -others. - -"Are their heads off?" shouted the Queen. - -"Their heads are gone, if it please your Majesty!" the soldiers shouted -in reply. - -"That's right!" shouted the Queen. "Can you play croquet?" - -The soldiers were silent, and looked at Alice, as the question was -evidently meant for her. - -"Yes!" shouted Alice. - -"Come on, then!" roared the Queen, and Alice joined the procession, -wondering very much what would happen next. - -"It's--it's a very fine day!" said a timid voice at her side. She was -walking by the White Rabbit, who was peeping anxiously into her face. - -"Very," said Alice: "----where's the Duchess?" - -"Hush! Hush!" said the Rabbit in a low hurried tone. He looked anxiously -over his shoulder as he spoke, and then raised himself upon tiptoe, put -his mouth close to her ear, and whispered "She's under sentence of -execution." - -"What for?" said Alice. - -"Did you say 'What a pity!'?" the Rabbit asked. - -"No, I didn't," said Alice: "I don't think it's at all a pity. I said -'What for?'" - -"She boxed the Queen's ears--" the Rabbit began. Alice gave a little -scream of laughter. "Oh, hush!" the Rabbit whispered in a frightened -tone. "The Queen will hear you! You see she came rather late, and the -Queen said----" - -"Get to your places!" shouted the Queen in a voice of thunder, and -people began running about in all directions, tumbling up against each -other; however, they got settled down in a minute or two, and the game -began. Alice thought she had never seen such a curious croquet-ground in -all her life; it was all ridges and furrows; the balls were live -hedgehogs, the mallets live flamingoes, and the soldiers had to double -themselves up and to stand upon their hands and feet, to make the -arches. - -[Illustration] - -The chief difficulty Alice found at first was in managing her flamingo; -she succeeded in getting its body tucked away, comfortably enough, under -her arm, with its legs hanging down, but generally, just as she had got -its neck nicely straightened out, and was going to give the hedgehog a -blow with its head, it _would_ twist itself round and look up in her -face, with such a puzzled expression that she could not help bursting -out laughing: and when she had got its head down, and was going to -begin again, it was very provoking to find that the hedgehog had -unrolled itself and was in the act of crawling away: besides all this, -there was generally a ridge or a furrow in the way wherever she wanted -to send the hedgehog to, and, as the doubled-up soldiers were always -getting up and walking off to other parts of the ground, Alice soon came -to the conclusion that it was a very difficult game indeed. - -The players all played at once without waiting for turns, quarrelling -all the while, and fighting for the hedgehogs; and in a very short time -the Queen was in a furious passion, and went stamping about, and -shouting "Off with his head!" or "Off with her head!" about once in a -minute. - -Alice began to feel very uneasy: to be sure she had not as yet had any -dispute with the Queen, but she knew that it might happen any minute, -"and then," thought she, "what would become of me? They're dreadfully -fond of beheading people here: the great wonder is that there's any one -left alive!" - -She was looking about for some way of escape, and wondering whether she -could get away without being seen, when she noticed a curious -appearance in the air: it puzzled her very much at first, but, after -watching it a minute or two, she made it out to be a grin, and she said -to herself "It's the Cheshire Cat: now I shall have somebody to talk -to." - -"How are you getting on?" said the Cat, as soon as there was mouth -enough for it to speak with. - -Alice waited till the eyes appeared, and then nodded. "It's no use -speaking to it," she thought, "till its ears have come, or at least one -of them." In another minute the whole head appeared, and then Alice put -down her flamingo, and began an account of the game, feeling very glad -she had some one to listen to her. The Cat seemed to think that there -was enough of it now in sight, and no more of it appeared. - -"I don't think they play at all fairly," Alice began, in rather a -complaining tone, "and they all quarrel so dreadfully one can't hear -oneself speak--and they don't seem to have any rules in particular; at -least, if there are, nobody attends to them--and you've no idea how -confusing it is all the things being alive; for instance, there's the -arch I've got to go through next walking about at the other end of the -ground--and I should have croqueted the Queen's hedgehog just now, only -it ran away when it saw mine coming!" - -[Illustration] - -"How do you like the Queen?" said the Cat in a low voice. - -"Not at all," said Alice: "she's so extremely----" Just then she noticed -that the Queen was close behind her listening: so she went on, -"----likely to win, that it's hardly worth while finishing the game." - -The Queen smiled and passed on. - -"Who _are_ you talking to?" said the King, coming up to Alice, and -looking at the Cat's head with great curiosity. - -"It's a friend of mine--a Cheshire Cat," said Alice: "allow me to -introduce it." - -"I don't like the look of it at all," said the King: "however, it may -kiss my hand if it likes." - -"I'd rather not," the Cat remarked. - -"Don't be impertinent," said the King, "and don't look at me like that!" -He got behind Alice as he spoke. - -"A cat may look at a king," said Alice. "I've read that in some book, -but I don't remember where." - -"Well, it must be removed," said the King very decidedly, and he called -to the Queen, who was passing at the moment, "My dear! I wish you would -have this cat removed!" - -The Queen had only one way of settling all difficulties, great or small. -"Off with his head!" she said, without even looking round. - -"I'll fetch the executioner myself," said the King eagerly, and he -hurried off. - -Alice thought she might as well go back and see how the game was going -on, as she heard the Queen's voice in the distance, screaming with -passion. She had already heard her sentence three of the players to be -executed for having missed their turns, and she did not like the look of -things at all, as the game was in such confusion that she never knew -whether it was her turn or not. So she went in search of her hedgehog. - -The hedgehog was engaged in a fight with another hedgehog, which seemed -to Alice an excellent opportunity for croqueting one of them with the -other: the only difficulty was, that her flamingo was gone across to the -other side of the garden, where Alice could see it trying in a helpless -sort of way to fly up into one of the trees. - -By the time she had caught the flamingo and brought it back, the fight -was over, and both the hedgehogs were out of sight: "but it doesn't -matter much," thought Alice, "as all the arches are gone from this side -of the ground." So she tucked it under her arm, that it might not escape -again, and went back for a little more conversation with her friend. - -When she got back to the Cheshire Cat, she was surprised to find quite a -large crowd collected round it: there was a dispute going on between the -executioner, the King, and the Queen, who were all talking at once, -while all the rest were quite silent, and looked very uncomfortable. - -The moment Alice appeared, she was appealed to by all three to settle -the question, and they repeated their arguments to her, though, as they -all spoke at once, she found it very hard indeed to make out exactly -what they said. - -[Illustration] - -The executioner's argument was, that you couldn't cut off a head unless -there was a body to cut it off from: that he had never had to do such a -thing before, and he wasn't going to begin at _his_ time of life. - -The King's argument was, that anything that had a head could be -beheaded, and that you weren't to talk nonsense. - -The Queen's argument was, that if something wasn't done about it in less -than no time, she'd have everybody executed all round. (It was this last -remark that had made the whole party look so grave and anxious.) - -Alice could think of nothing else to say but "It belongs to the Duchess: -you'd better ask _her_ about it." - -"She's in prison," the Queen said to the executioner; "fetch her here." -And the executioner went off like an arrow. - -The Cat's head began fading away the moment he was gone, and by the time -he had come back with the Duchess, it had entirely disappeared; so the -King and the executioner ran wildly up and down looking for it, while -the rest of the party went back to the game. - - - - -CHAPTER IX - - -[Sidenote: _The Mock Turtle's Story_] - -"YOU can't think how glad I am to see you again, you -dear old thing!" said the Duchess, as she tucked her arm affectionately -into Alice's, and they walked off together. - -Alice was very glad to find her in such a pleasant temper, and thought -to herself that perhaps it was only the pepper that had made her so -savage when they met in the kitchen. - -"When _I'm_ a Duchess," she said to herself (not in a very hopeful tone -though), "I won't have any pepper in my kitchen _at all_. Soup does very -well without--Maybe it's always pepper that makes people hot-tempered," -she went on, very much pleased at having found out a new kind of rule, -"and vinegar that makes them sour--and camomile that makes them -bitter--and--barley-sugar and such things that make children -sweet-tempered. I only wish people knew _that_: then they wouldn't be -so stingy about it, you know----" - -She had quite forgotten the Duchess by this time, and was a little -startled when she heard her voice close to her ear. "You're thinking -about something, my dear, and that makes you forget to talk. I can't -tell you just now what the moral of that is, but I shall remember it in -a bit." - -"Perhaps it hasn't one," Alice ventured to remark. - -"Tut, tut, child!" said the Duchess. "Every thing's got a moral, if only -you can find it." And she squeezed herself up closer to Alice's side as -she spoke. - -Alice did not much like her keeping so close to her: first, because the -Duchess was _very_ ugly; and secondly, because she was exactly the right -height to rest her chin on Alice's shoulder, and it was an uncomfortably -sharp chin. However, she did not like to be rude, so she bore it as well -as she could. "The game's going on rather better now," she said, by way -of keeping up the conversation a little. - -"'Tis so," said the Duchess: "and the moral of that is--'Oh, 'tis love, -'tis love, that makes the world go round!'" - -"Somebody said," Alice whispered, "that it's done by everybody minding -their own business!" - -"Ah, well! It means much the same thing," said the Duchess, digging her -sharp little chin into Alice's shoulder as she added, "and the moral of -_that_ is--'Take care of the sense, and the sounds will take care of -themselves.'" - -"How fond she is of finding morals in things!" Alice thought to herself. - -"I dare say you're wondering why I don't put my arm round your waist," -the Duchess said after a pause: "the reason is, that I'm doubtful about -the temper of your flamingo. Shall I try the experiment?" - -"He might bite," Alice cautiously replied, not feeling at all anxious to -have the experiment tried. - -"Very true," said the Duchess: "flamingoes and mustard both bite. And -the moral of that is--'Birds of a feather flock together.'" - -"Only mustard isn't a bird," Alice remarked. - -"Right, as usual," said the Duchess: "what a clear way you have of -putting things!" - -"It's a mineral, I _think_," said Alice. - -"Of course it is," said the Duchess, who seemed ready to agree to -everything that Alice said: "there's a large mustard-mine near here. And -the moral of that is--'The more there is of mine, the less there is of -yours.'" - -"Oh, I know!" exclaimed Alice, who had not attended to this last remark. -"It's a vegetable. It doesn't look like one, but it is." - -"I quite agree with you," said the Duchess; "and the moral of that -is--'Be what you would seem to be'--or if you'd like it put more -simply--'Never imagine yourself not to be otherwise than what it might -appear to others that what you were or might have been was not otherwise -than what you had been would have appeared to them to be otherwise.'" - -"I think I should understand that better," Alice said very politely, "if -I had it written down: but I can't quite follow it as you say it." - -"That's nothing to what I could say if I chose," the Duchess replied, in -a pleased tone. - -"Pray don't trouble yourself to say it any longer than that," said -Alice. - -"Oh, don't talk about trouble!" said the Duchess. "I make you a present -of everything I've said as yet." - -"A cheap sort of present!" thought Alice. "I'm glad they don't give -birthday presents like that!" But she did not venture to say it out -loud. - -"Thinking again?" the Duchess asked with another dig of her sharp little -chin. - -"I've a right to think," said Alice sharply, for she was beginning to -feel a little worried. - -"Just about as much right," said the Duchess, "as pigs have to fly; and -the m----" - -But here, to Alice's great surprise, the Duchess's voice died away, even -in the middle of her favourite word "moral," and the arm that was linked -into hers began to tremble. Alice looked up, and there stood the Queen -in front of them, with her arms folded, frowning like a thunderstorm. - -"A fine day, your Majesty!" the Duchess began in a low, weak voice. - -"Now, I give you fair warning," shouted the Queen, stamping on the -ground as she spoke; "either you or your head must be off, and that in -about half no time! Take your choice!" - -The Duchess took her choice, and was gone in a moment. - -"Let's go on with the game," the Queen said to Alice; and Alice was too -much frightened to say a word, but slowly followed her back to the -croquet-ground. - -The other guests had taken advantage of the Queen's absence, and were -resting in the shade: however, the moment they saw her, they hurried -back to the game, the Queen merely remarking that a moment's delay would -cost them their lives. - -[Illustration: _The Queen never left off quarrelling with the other -players, and shouting "Off with his head!" or, "Off with her head!"_] - -All the time they were playing the Queen never left off quarrelling with -the other players, and shouting "Off with his head!" or "Off with her -head!" Those whom she sentenced were taken into custody by the soldiers, -who of course had to leave off being arches to do this, so that by the -end of half an hour or so there were no arches left, and all the -players, except the King, the Queen, and Alice, were in custody and -under sentence of execution. - -Then the Queen left off, quite out of breath, and said to Alice, "Have -you seen the Mock Turtle yet?" - -"No," said Alice. "I don't even know what a Mock Turtle is." - -"It's the thing Mock Turtle Soup is made from," said the Queen. - -"I never saw one, or heard of one," said Alice. - -"Come on then," said the Queen, "and he shall tell you his history." - -As they walked off together, Alice heard the King say in a low voice, to -the company generally, "You are all pardoned." "Come, _that's_ a good -thing!" she said to herself, for she had felt quite unhappy at the -number of executions the Queen had ordered. - -They very soon came upon a Gryphon, lying fast asleep in the sun. (If -you don't know what a Gryphon is, look at the picture.) "Up, lazy -thing!" said the Queen, "and take this young lady to see the Mock -Turtle, and to hear his history. I must go back and see after some -executions I have ordered," and she walked off, leaving Alice alone -with the Gryphon. Alice did not quite like the look of the creature, but -on the whole she thought it would be quite as safe to stay with it as to -go after that savage Queen: so she waited. - -The Gryphon sat up and rubbed its eyes: then it watched the Queen till -she was out of sight: then it chuckled. "What fun!" said the Gryphon, -half to itself, half to Alice. - -"What _is_ the fun?" said Alice. - -"Why, _she_," said the Gryphon. "It's all her fancy, that: they never -executes nobody, you know. Come on!" - -"Everybody says 'come on!' here," thought Alice, as she went slowly -after it: "I never was so ordered about in my life, never!" - -[Illustration] - -They had not gone far before they saw the Mock Turtle in the distance, -sitting sad and lonely on a little ledge of rock, and, as they came -nearer, Alice could hear him sighing as if his heart would break. She -pitied him deeply. "What is his sorrow?" she asked the Gryphon, and the -Gryphon answered, very nearly in the same words as before, "It's all -his fancy, that: he hasn't got no sorrow, you know. Come on!" - -So they went up to the Mock Turtle, who looked at them with large eyes -full of tears, but said nothing. - -"This here young lady," said the Gryphon, "she wants to know your -history, she do." - -"I'll tell it her," said the Mock Turtle in a deep, hollow tone; "sit -down, both of you, and don't speak a word till I've finished." - -So they sat down, and nobody spoke for some minutes. Alice thought to -herself, "I don't see how he can _ever_ finish, if he doesn't begin." -But she waited patiently. - -"Once," said the Mock Turtle at last, with a deep sigh, "I was a real -Turtle." - -These words were followed by a very long silence, broken only by an -occasional exclamation of "Hjckrrh!" from the Gryphon, and the constant -heavy sobbing of the Mock Turtle. Alice was very nearly getting up and -saying "Thank you, sir, for your interesting story," but she could not -help thinking there _must_ be more to come, so she sat still and said -nothing. - -"When we were little," the Mock Turtle went on at last, more calmly, -though still sobbing a little now and then, "we went to school in the -sea. The master was an old Turtle--we used to call him Tortoise----" - -"Why did you call him Tortoise, if he wasn't one?" Alice asked. - -"We called him Tortoise because he taught us," said the Mock Turtle -angrily: "really you are very dull!" - -"You ought to be ashamed of yourself for asking such a simple question," -added the Gryphon; and then they both sat silent and looked at poor -Alice, who felt ready to sink into the earth. At last the Gryphon said -to the Mock Turtle, "Drive on, old fellow. Don't be all day about it!" -and he went on in these words: - -"Yes, we went to school in the sea, though you mayn't believe it----" - -"I never said I didn't!" interrupted Alice. - -"You did," said the Mock Turtle. - -"Hold your tongue!" added the Gryphon, before Alice could speak again. -The Mock Turtle went on:-- - -"We had the best of educations--in fact, we went to school every -day----" - -"_I've_ been to a day-school, too," said Alice; "you needn't be so proud -as all that." - -"With extras?" asked the Mock Turtle a little anxiously. - -"Yes," said Alice, "we learned French and music." - -"And washing?" said the Mock Turtle. - -"Certainly not!" said Alice indignantly. - -"Ah! then yours wasn't a really good school," said the Mock Turtle in a -tone of relief. "Now at _ours_ they had at the end of the bill, 'French, -music, _and washing_--extra.'" - -"You couldn't have wanted it much," said Alice; "living at the bottom of -the sea." - -"I couldn't afford to learn it," said the Mock Turtle with a sigh. "I -only took the regular course." - -"What was that?" inquired Alice. - -"Reeling and Writhing, of course, to begin with," the Mock Turtle -replied; "and then the different branches of Arithmetic--Ambition, -Distraction, Uglification, and Derision." - -"I never heard of 'Uglification,'" Alice ventured to say. "What is it?" - -The Gryphon lifted up both its paws in surprise. "Never heard of -uglifying!" it exclaimed. "You know what to beautify is, I suppose?" - -"Yes," said Alice doubtfully: "it means--to--make--anything--prettier." - -"Well, then," the Gryphon went on, "if you don't know what to uglify is, -you are a simpleton." - -Alice did not feel encouraged to ask any more questions about it, so she -turned to the Mock Turtle and said, "What else had you to learn?" - -"Well, there was Mystery," the Mock Turtle replied, counting off the -subjects on his flappers, "--Mystery, ancient and modern, with -Seaography: then Drawling--the Drawling-master was an old conger-eel, -that used to come once a week: _he_ taught us Drawling, Stretching, and -Fainting in Coils." - -"What was _that_ like?" said Alice. - -"Well, I can't show it you myself," the Mock Turtle said: "I'm too -stiff. And the Gryphon never learnt it." - -"Hadn't time," said the Gryphon: "I went to the Classical master, -though. He was an old crab, _he_ was." - -"I never went to him," the Mock Turtle said with a sigh: "he taught -Laughing and Grief, they used to say." - -"So he did, so he did," said the Gryphon, sighing in his turn; and both -creatures hid their faces in their paws. - -"And how many hours a day did you do lessons?" said Alice, in a hurry to -change the subject. - -"Ten hours the first day," said the Mock Turtle: "nine the next, and so -on." - -"What a curious plan!" exclaimed Alice. - -"That's the reason they're called lessons," the Gryphon remarked: -"because they lessen from day to day." - -This was quite a new idea to Alice, and she thought over it a little -before she made her next remark. "Then the eleventh day must have been a -holiday." - -"Of course it was," said the Mock Turtle. - -"And how did you manage on the twelfth?" Alice went on eagerly. - -"That's enough about lessons," the Gryphon interrupted in a very decided -tone: "tell her something about the games now." - - - - -CHAPTER X - - -[Sidenote: _The Lobster Quadrille_] - -THE Mock Turtle sighed deeply, and drew the back of one -flapper across his eyes. He looked at Alice, and tried to speak, but, -for a minute or two, sobs choked his voice. "Same as if he had a bone in -his throat," said the Gryphon: and it set to work shaking him and -punching him in the back. At last the Mock Turtle recovered his voice, -and, with tears running down his cheeks, went on again: - -"You may not have lived much under the sea--" ("I haven't," said Alice) -"and perhaps you were never even introduced to a lobster--" (Alice began -to say "I once tasted----" but checked herself hastily, and said "No, -never") "--so you can have no idea what a delightful thing a Lobster -Quadrille is!" - -"No, indeed," said Alice. "What sort of a dance is it?" - -"Why," said the Gryphon, "you first form into a line along the -sea-shore----" - -"Two lines!" cried the Mock Turtle. "Seals, turtles, and so on; then, -when you've cleared the jelly-fish out of the way----" - -"_That_ generally takes some time," interrupted the Gryphon. - -"--you advance twice----" - -"Each with a lobster as a partner!" cried the Gryphon. - -"Of course," the Mock Turtle said: "advance twice, set to partners----" - -"--change lobsters, and retire in same order," continued the Gryphon. - -"Then, you know," the Mock Turtle went on, "you throw the----" - -"The lobsters!" shouted the Gryphon, with a bound into the air. - -"--as far out to sea as you can----" - -"Swim, after them!" screamed the Gryphon. - -"Turn a somersault in the sea!" cried the Mock Turtle, capering wildly -about. - -"Change lobsters again!" yelled the Gryphon. - -"Back to land again, and--that's all the first figure," said the Mock -Turtle, suddenly dropping his voice; and the two creatures, who had been -jumping about like mad things all this time, sat down again very sadly -and quietly, and looked at Alice. - -"It must be a very pretty dance," said Alice, timidly. - -"Would you like to see a little of it?" said the Mock Turtle. - -"Very much indeed," said Alice. - -"Come, let's try the first figure!" said the Mock Turtle to the Gryphon. -"We can do it without lobsters, you know. Which shall sing?" - -"Oh, _you_ sing," said the Gryphon. "I've forgotten the words." - -So they began solemnly dancing round and round Alice, every now and then -treading on her toes when they passed too close, and waving their -forepaws to mark the time, while the Mock Turtle sang this, very slowly -and sadly:-- - - "Will you walk a little faster?" said a whiting to a snail, - "There's a porpoise close behind us, and he's treading on my tail. - See how eagerly the lobsters and the turtles all advance! - They are waiting on the shingle--will you come and join the dance? - Will you, won't you, will you, won't you, will you join the dance? - Will you, won't you, will you, won't you, won't you join the dance? - - "You can really have no notion how delightful it will be, - When they take us up and throw us, with the lobsters, out to sea!" - But the snail replied: "Too far, too far!" and gave a look askance-- - Said he thanked the whiting kindly, but he would not join the dance. - Would not, could not, would not, could not, would not join the dance. - Would not, could not, would not, could not, could not join the dance. - - "What matters it how far we go?" his scaly friend replied; - "There is another shore, you know, upon the other side. - The further off from England the nearer is to France-- - Then turn not pale, beloved snail, but come and join the dance. - Will you, won't you, will you, won't you, will you join the dance? - Will you, won't you, will you, won't you, won't you join the dance?" - -"Thank you, it's a very interesting dance to watch," said Alice, feeling -very glad that it was over at last: "and I do so like that curious song -about the whiting!" - -"Oh, as to the whiting," said the Mock Turtle, "they--you've seen them, -of course?" - -"Yes," said Alice, "I've often seen them at dinn----" she checked -herself hastily. - -"I don't know where Dinn may be," said the Mock Turtle, "but if you've -seen them so often, of course you know what they're like." - -"I believe so," Alice replied thoughtfully. "They have their tails in -their mouths--and they're all over crumbs." - -"You're wrong about the crumbs," said the Mock Turtle: "crumbs would all -wash off in the sea. But they _have_ their tails in their mouths; and -the reason is--" here the Mock Turtle yawned and shut his eyes. "Tell -her about the reason and all that," he said to the Gryphon. - -"The reason is," said the Gryphon, "that they _would_ go with the -lobsters to the dance. So they got thrown out to sea. So they had to -fall a long way. So they got their tails fast in their mouths. So they -couldn't get them out again. That's all." - -"Thank you," said Alice. "It's very interesting. I never knew so much -about a whiting before." - -"I can tell you more than that, if you like," said the Gryphon. "Do you -know why it's called a whiting?" - -"I never thought about it," said Alice. "Why?" - -"_It does the boots and shoes_," the Gryphon replied very solemnly. - -Alice was thoroughly puzzled. "Does the boots and shoes!" she repeated -in a wondering tone. - -"Why, what are _your_ shoes done with?" said the Gryphon. "I mean, what -makes them so shiny?" - -Alice looked down at them, and considered a little before she gave her -answer. "They're done with blacking, I believe." - -"Boots and shoes under the sea," the Gryphon went on in a deep voice, -"are done with whiting. Now you know." - -"And what are they made of?" Alice asked in a tone of great curiosity. - -"Soles and eels, of course," the Gryphon replied rather impatiently: -"any shrimp could have told you that." - -"If I'd been the whiting," said Alice, whose thoughts were still running -on the song, "I'd have said to the porpoise, 'Keep back, please: we -don't want _you_ with us!'" - -"They were obliged to have him with them," the Mock Turtle said: "no -wise fish would go anywhere without a porpoise." - -"Wouldn't it really?" said Alice in a tone of great surprise. - -"Of course not," said the Mock Turtle: "why, if a fish came to _me_, and -told me he was going a journey, I should say, 'With what porpoise?'" - -"Don't you mean 'purpose'?" said Alice. - -"I mean what I say," the Mock Turtle replied in an offended tone. And -the Gryphon added, "Come, let's hear some of _your_ adventures." - -[Illustration: _The Mock Turtle drew a long breath and said, "That's -very curious"_] - -"I could tell you my adventures--beginning from this morning," said -Alice a little timidly: "but it's no use going back to yesterday, -because I was a different person then." - -"Explain all that," said the Mock Turtle. - -"No, no! The adventures first," said the Gryphon in an impatient tone: -"explanations take such a dreadful time." - -So Alice began telling them her adventures from the time when she first -saw the White Rabbit. She was a little nervous about it just at first, -the two creatures got so close to her, one on each side, and opened -their eyes and mouths so _very_ wide, but she gained courage as she went -on. Her listeners were perfectly quiet till she got to the part about -her repeating "_You are old, Father William_," to the Caterpillar, and -the words all coming different, and then the Mock Turtle drew a long -breath, and said, "That's very curious." - -"It's all about as curious as it can be," said the Gryphon. - -"It all came different!" the Mock Turtle repeated thoughtfully. "I -should like to hear her repeat something now. Tell her to begin." He -looked at the Gryphon as if he thought it had some kind of authority -over Alice. - -"Stand up and repeat '_'Tis the voice of the sluggard_,'" said the -Gryphon. - -"How the creatures order one about, and make one repeat lessons!" -thought Alice. "I might as well be at school at once." However, she got -up, and began to repeat it, but her head was so full of the Lobster -Quadrille, that she hardly knew what she was saying, and the words came -very queer indeed:-- - - "'Tis the voice of the Lobster; I heard him declare, - 'You have baked me too brown, I must sugar my hair.' - As a duck with its eyelids, so he with his nose - Trims his belt and his buttons, and turns out his toes. - When the sands are all dry, he is gay as a lark, - And will talk in contemptuous tones of the Shark: - But, when the tide rises and sharks are around, - His voice has a timid and tremulous sound." - -"That's different from what _I_ used to say when I was a child," said -the Gryphon. - -"Well, _I_ never heard it before," said the Mock Turtle: "but it sounds -uncommon nonsense." - -Alice said nothing; she had sat down with her face in her hands, -wondering if anything would _ever_ happen in a natural way again. - -"I should like to have it explained," said the Mock Turtle. - -"She ca'n't explain it," hastily said the Gryphon. "Go on with the next -verse." - -"But about his toes?" the Mock Turtle persisted. "How _could_ he turn -them out with his nose, you know?" - -"It's the first position in dancing," Alice said; but was dreadfully -puzzled by the whole thing, and longed to change the subject. - -"Go on with the next verse," the Gryphon repeated: "it begins '_I passed -by his garden_.'" - -Alice did not dare to disobey, though she felt sure it would all come -wrong, and she went on in a trembling voice: - - "I passed by his garden, and marked, with one eye, - How the Owl and the Panther were sharing a pie: - The Panther took pie-crust, and gravy, and meat, - While the Owl had the dish as its share of the treat. - When the pie was all finished, the Owl, as a boon, - Was kindly permitted to pocket the spoon: - While the Panther received knife and fork with a growl, - And concluded the banquet by----" - -"What _is_ the use of repeating all that stuff," the Mock Turtle -interrupted, "if you don't explain it as you go on? It's by far the most -confusing thing _I_ ever heard!" - -[Illustration] - -"Yes, I think you'd better leave off," said the Gryphon: and Alice was -only too glad to do so. - -"Shall we try another figure of the Lobster Quadrille?" the Gryphon went -on. "Or would you like the Mock Turtle to sing you another song?" - -"Oh, a song, please, if the Mock Turtle would be so kind," Alice -replied, so eagerly that the Gryphon said, in a rather offended tone, -"H'm! No accounting for tastes! Sing her '_Turtle Soup_,' will you, old -fellow?" - -The Mock Turtle sighed deeply, and began, in a voice choked with sobs, -to sing this:-- - - "Beautiful Soup, so rich and green, - Waiting in a hot tureen! - Who for such dainties would not stoop? - Soup of the evening, beautiful Soup! - Soup of the evening, beautiful Soup! - Beau--ootiful Soo--oop! - Beau--ootiful Soo--oop! - Soo--oop of the e--e--evening, - Beautiful, beautiful Soup! - - "Beautiful Soup! Who cares for fish, - Game, or any other dish? - Who would not give all else for two - Pennyworth only of beautiful Soup? - Pennyworth only of beautiful Soup? - Beau--ootiful Soo--oop! - Beau--ootiful Soo--oop! - Soo--oop of the e--e--evening, - Beautiful, beauti--FUL SOUP!" - -"Chorus again!" cried the Gryphon, and the Mock Turtle had just begun -to repeat it, when a cry of "The trial's beginning!" was heard in the -distance. - -"Come on!" cried the Gryphon, and, taking Alice by the hand, it hurried -off, without waiting for the end of the song. - -"What trial is it?" Alice panted as she ran; but the Gryphon only -answered "Come on!" and ran the faster, while more and more faintly -came, carried on the breeze that followed them, the melancholy words:-- - - "Soo--oop of the e--e--evening, - Beautiful, beautiful Soup!" - - - - -CHAPTER XI - - -[Sidenote: _Who Stole the Tarts?_] - -THE King and Queen of Hearts were seated on their throne -when they arrived, with a great crowd assembled about them--all sorts of -little birds and beasts, as well as the whole pack of cards: the Knave -was standing before them, in chains, with a soldier on each side to -guard him; and near the King was the White Rabbit, with a trumpet in one -hand, and a scroll of parchment in the other. In the very middle of the -court was a table, with a large dish of tarts upon it: they looked so -good, that it made Alice quite hungry to look at them--"I wish they'd -get the trial done," she thought, "and hand round the refreshments!" But -there seemed to be no chance of this, so she began looking about her, to -pass away the time. - -Alice had never been in a court of justice before, but she had read -about them in books, and she was quite pleased to find that she knew the -name of nearly everything there. "That's the judge," she said to -herself, "because of his great wig." - -The judge, by the way, was the King; and as he wore his crown over the -wig, he did not look at all comfortable, and it was certainly not -becoming. - -"And that's the jury-box," thought Alice, "and those twelve creatures," -(she was obliged to say "creatures," you see, because some of them were -animals, and some were birds,) "I suppose they are the jurors." She said -this last word two or three times over to herself, being rather proud of -it: for she thought, and rightly too, that very few little girls of her -age knew the meaning of it at all. However, "jurymen" would have done -just as well. - -The twelve jurors were all writing very busily on slates. "What are they -all doing?" Alice whispered to the Gryphon. "They can't have anything to -put down yet, before the trial's begun." - -[Illustration: _Who stole the tarts?_] - -"They're putting down their names," the Gryphon whispered in reply, -"for fear they should forget them before the end of the trial." - -"Stupid things!" Alice began in a loud, indignant voice, but she stopped -hastily, for the White Rabbit cried out "Silence in the court!" and the -King put on his spectacles and looked anxiously round, to see who was -talking. - -Alice could see, as well as if she were looking over their shoulders, -that all the jurors were writing down "stupid things!" on their slates, -and she could even make out that one of them didn't know how to spell -"stupid," and that he had to ask his neighbour to tell him. "A nice -muddle their slates will be in before the trial's over!" thought Alice. - -One of the jurors had a pencil that squeaked. This, of course, Alice -could _not_ stand, and she went round the court and got behind him, and -very soon found an opportunity of taking it away. She did it so quickly -that the poor little juror (it was Bill, the Lizard) could not make out -at all what had become of it; so, after hunting all about for it, he -was obliged to write with one finger for the rest of the day; and this -was of very little use, as it left no mark on the slate. - -"Herald, read the accusation!" said the King. - -On this the White Rabbit blew three blasts on the trumpet, and then -unrolled the parchment scroll, and read as follows: - - "The Queen of Hearts, she made some tarts, - All on a summer day: - The Knave of Hearts, he stole those tarts, - And took them quite away!" - -"Consider your verdict," the King said to the jury. - -"Not yet, not yet!" the Rabbit hastily interrupted. "There's a great -deal to come before that!" - -"Call the first witness," said the King; and the Rabbit blew three -blasts on the trumpet, and called out "First witness!" - -The first witness was the Hatter. He came in with a teacup in one hand -and a piece of bread-and-butter in the other. "I beg pardon, your -Majesty," he began, "for bringing these in; but I hadn't quite finished -my tea when I was sent for." - -"You ought to have finished," said the King. "When did you begin?" - -The Hatter looked at the March Hare, who had followed him into the -court, arm-in-arm with the Dormouse. "Fourteenth of March, I _think_ it -was," he said. - -"Fifteenth," said the March Hare. - -"Sixteenth," said the Dormouse. - -"Write that down," the King said to the jury, and the jury eagerly wrote -down all three dates on their slates, and then added them up, and -reduced the answer to shillings and pence. - -"Take off your hat," the King said to the Hatter. - -"It isn't mine," said the Hatter. - -"_Stolen!_" the King exclaimed, turning to the jury, who instantly made -a memorandum of the fact. - -"I keep them to sell," the Hatter added as an explanation: "I've none of -my own. I'm a hatter." - -Here the Queen put on her spectacles, and began staring hard at the -Hatter, who turned pale and fidgeted. - -"Give your evidence," said the King; "and don't be nervous, or I'll have -you executed on the spot." - -This did not seem to encourage the witness at all: he kept shifting from -one foot to the other, looking uneasily at the Queen, and in his -confusion he bit a large piece out of his teacup instead of the -bread-and-butter. - -Just at this moment Alice felt a very curious sensation, which puzzled -her a good deal until she made out what it was: she was beginning to -grow larger again, and she thought at first she would get up and leave -the court; but on second thoughts she decided to remain where she was as -long as there was room for her. - -"I wish you wouldn't squeeze so," said the Dormouse, who was sitting -next to her. "I can hardly breathe." - -"I can't help it," said Alice very meekly: "I'm growing." - -"You've no right to grow _here_," said the Dormouse. - -"Don't talk nonsense," said Alice more boldly: "you know you're growing -too." - -"Yes, but _I_ grow at a reasonable pace," said the Dormouse; "not in -that ridiculous fashion." And he got up very sulkily and crossed over to -the other side of the court. - -All this time the Queen had never left off staring at the Hatter, and, -just as the Dormouse crossed the court, she said to one of the officers -of the court, "Bring me the list of the singers in the last concert!" on -which the wretched Hatter trembled so, that he shook off both his shoes. - -"Give your evidence," the King repeated angrily, "or I'll have you -executed, whether you're nervous or not." - -"I'm a poor man, your Majesty," the Hatter began, in a trembling voice, -"--and I hadn't begun my tea--not above a week or so--and what with the -bread-and-butter getting so thin--and the twinkling of the tea----" - -"The twinkling of _what_?" said the King. - -"It _began_ with the tea," the Hatter replied. - -"Of course twinkling _begins_ with a T!" said the King sharply. "Do you -take me for a dunce? Go on!" - -"I'm a poor man," the Hatter went on, "and most things twinkled after -that--only the March Hare said----" - -"I didn't!" the March Hare interrupted in a great hurry. - -"You did!" said the Hatter. - -"I deny it!" said the March Hare. - -"He denies it," said the King: "leave out that part." - -"Well, at any rate, the Dormouse said----" the Hatter went on, looking -anxiously round to see if he would deny it too: but the Dormouse denied -nothing, being fast asleep. - -"After that," continued the Hatter, "I cut some more -bread-and-butter----" - -"But what did the Dormouse say?" one of the jury asked. - -"That I can't remember," said the Hatter. - -"You _must_ remember," remarked the King, "or I'll have you executed." - -The miserable Hatter dropped his teacup and bread-and-butter, and went -down on one knee. "I'm a poor man, your Majesty," he began. - -"You're a _very_ poor _speaker_," said the King. - -Here one of the guinea-pigs cheered, and was immediately suppressed by -the officers of the court. (As that is rather a hard word, I will just -explain to you how it was done. They had a large canvas bag, which tied -up at the mouth with strings: into this they slipped the guinea-pig, -head first, and then sat upon it.) - -"I'm glad I've seen that done," thought Alice. "I've so often read in -the newspapers, at the end of trials, 'There was some attempt at -applause, which was immediately suppressed by the officers of the -court,' and I never understood what it meant till now." - -"If that's all you know about it, you may stand down," continued the -King. - -"I can't go no lower," said the Hatter: "I'm on the floor, as it is." - -"Then you may _sit_ down," the King replied. - -Here the other guinea-pig cheered, and was suppressed. - -"Come, that finishes the guinea-pigs!" thought Alice. "Now we shall get -on better." - -"I'd rather finish my tea," said the Hatter, with an anxious look at -the Queen, who was reading the list of singers. - -"You may go," said the King; and the Hatter hurriedly left the court, -without even waiting to put his shoes on. - -"--and just take his head off outside," the Queen added to one of the -officers; but the Hatter was out of sight before the officer could get -to the door. - -"Call the next witness!" said the King. - -The next witness was the Duchess's cook. She carried the pepper-box in -her hand, and Alice guessed who it was, even before she got into the -court, by the way the people near the door began sneezing all at once. - -"Give your evidence," said the King. - -"Sha'n't," said the cook. - -The King looked anxiously at the White Rabbit, who said in a low voice, -"Your Majesty must cross-examine _this_ witness." - -"Well, if I must, I must," the King said with a melancholy air, and, -after folding his arms and frowning at the cook till his eyes were -nearly out of sight, he said in a deep voice, "What are tarts made of?" - -"Pepper, mostly," said the cook. - -"Treacle," said a sleepy voice behind her. - -"Collar that Dormouse," the Queen shrieked out. "Behead that Dormouse! -Turn that Dormouse out of court! Suppress him! Pinch him! Off with his -whiskers." - -For some minutes the whole court was in confusion, getting the Dormouse -turned out, and, by the time they had settled down again, the cook had -disappeared. - -[Illustration] - -"Never mind!" said the King, with an air of great relief. "Call the next -witness." And he added in an undertone to the Queen, "Really, my dear, -_you_ must cross-examine the next witness. It quite makes my forehead -ache!" - -Alice watched the White Rabbit as he fumbled over the list, feeling very -curious to see what the next witness would be like, "--for they haven't -got much evidence _yet_," she said to herself. Imagine her surprise, -when the White Rabbit read out, at the top of his shrill little voice, -the name "Alice!" - - - - -CHAPTER XII - - -[Sidenote: _Alice's Evidence_] - -"HERE!" cried Alice, quite forgetting in the flurry of -the moment how large she had grown in the last few minutes, and she -jumped up in such a hurry that she tipped over the jury-box with the -edge of her skirt, upsetting all the jurymen on to the heads of the -crowd below, and there they lay sprawling about, reminding her very much -of a globe of gold-fish she had accidentally upset the week before. - -"Oh, I _beg_ your pardon!" she exclaimed in a tone of great dismay, and -began picking them up again as quickly as she could, for the accident of -the gold-fish kept running in her head, and she had a vague sort of idea -that they must be collected at once and put back into the jury-box, or -they would die. - -"The trial cannot proceed," said the King in a very grave voice, "until -all the jurymen are back in their proper places--_all_," he repeated -with great emphasis, looking hard at Alice as he said so. - -Alice looked at the jury-box, and saw that, in her haste, she had put -the Lizard in head downwards, and the poor little thing was waving its -tail about in a melancholy way, being quite unable to move. She soon got -it out again, and put it right; "not that it signifies much," she said -to herself; "I should think it would be _quite_ as much use in the trial -one way up as the other." - -As soon as the jury had a little recovered from the shock of being -upset, and their slates and pencils had been found and handed back to -them, they set to work very diligently to write out a history of the -accident, all except the Lizard, who seemed too much overcome to do -anything but sit with its mouth open, gazing up into the roof of the -court. - -"What do you know about this business?" the King said to Alice. - -"Nothing," said Alice. - -"Nothing _whatever_?" persisted the King. - -"Nothing whatever," said Alice. - -"That's very important," the King said, turning to the jury. They were -just beginning to write this down on their slates, when the White Rabbit -interrupted: "_Un_important, your Majesty means, of course," he said in -a very respectful tone, but frowning and making faces at him as he -spoke. - -"_Un_important, of course, I meant," the King hastily said, and went on -himself in an undertone,"important--unimportant--unimportant--important----" -as if he were trying which word sounded best. - -Some of the jury wrote it down "important," and some "unimportant." -Alice could see this, as she was near enough to look over their slates; -"but it doesn't matter a bit," she thought to herself. - -At this moment the King, who had been for some time busily writing in -his note-book, called out "Silence!" and read out from his book, "Rule -Forty-two. _All persons more than a mile high to leave the court._" - -Everybody looked at Alice. - -"_I'm_ not a mile high," said Alice. - -"You are," said the King. - -"Nearly two miles high," added the Queen. - -"Well, I sha'n't go, at any rate," said Alice: "besides, that's not a -regular rule: you invented it just now." - -"It's the oldest rule in the book," said the King. - -"Then it ought to be Number One," said Alice. - -The King turned pale, and shut his note-book hastily. "Consider your -verdict," he said to the jury, in a low trembling voice. - -"There's more evidence to come yet, please your Majesty," said the White -Rabbit, jumping up in a great hurry: "this paper has just been picked -up." - -"What's in it?" said the Queen. - -"I haven't opened it yet," said the White Rabbit, "but it seems to be a -letter, written by the prisoner to--to somebody." - -"It must have been that," said the King, "unless it was written to -nobody, which isn't usual, you know." - -"Who is it directed to?" said one of the jurymen. - -"It isn't directed at all," said the White Rabbit; "in fact, there's -nothing written on the _outside_." He unfolded the paper as he spoke, -and added "It isn't a letter after all: it's a set of verses." - -"Are they in the prisoner's handwriting?" asked another of the jurymen. - -"No, they're not," said the White Rabbit, "and that's the queerest thing -about it." (The jury all looked puzzled.) - -"He must have imitated somebody else's hand," said the King. (The jury -all brightened up again.) - -"Please your Majesty," said the Knave, "I didn't write it, and they -can't prove that I did: there's no name signed at the end." - -"If you didn't sign it," said the King, "that only makes the matter -worse. You _must_ have meant some mischief, or else you'd have signed -your name like an honest man." - -There was a general clapping of hands at this: it was the first really -clever thing the King had said that day. - -"That _proves_ his guilt, of course," said the Queen: "so, off with----" - -"It doesn't prove anything of the sort!" said Alice. "Why, you don't -even know what they're about!" - -"Read them," said the King. - -The White Rabbit put on his spectacles. "Where shall I begin, please -your Majesty?" he asked. - -"Begin at the beginning," the King said gravely, "and go on till you -come to the end; then stop." - -There was dead silence in the court, whilst the White Rabbit read out -these verses:-- - - "They told me you had been to her, - And mentioned me to him: - She gave me a good character, - But said I could not swim. - - He sent them word I had not gone, - (We know it to be true): - If she should push the matter on, - What would become of you? - - I gave her one, they gave him two, - You gave us three or more; - They all returned from him to you, - Though they were mine before. - - If I or she should chance to be - Involved in this affair, - He trusts to you to set them free, - Exactly as we were. - - My notion was that you had been - (Before she had this fit) - An obstacle that came between - Him, and ourselves, and it. - - Don't let him know she liked them best, - For this must ever be - A secret, kept from all the rest, - Between yourself and me." - -"That's the most important piece of evidence we've heard yet," said the -King, rubbing his hands; "so now let the jury----" - -"If any of them can explain it," said Alice, (she had grown so large in -the last few minutes that she wasn't a bit afraid of interrupting him,) -"I'll give him sixpence. _I_ don't believe there's an atom of meaning in -it." - -The jury all wrote down on their slates, "_She_ doesn't believe there's -an atom of meaning in it," but none of them attempted to explain the -paper. - -"If there's no meaning in it," said the King, "that saves a world of -trouble, you know, as we needn't try to find any. And yet I don't -know," he went on, spreading out the verses on his knee, and looking at -them with one eye; "I seem to see some meaning in them after all. -'----_said I could not swim_--' you can't swim can you?" he added, -turning to the Knave. - -The Knave shook his head sadly. "Do I look like it?" he said. (Which he -certainly did _not_, being made entirely of cardboard.) - -"All right, so far," said the King, as he went on muttering over the -verses to himself: "'_We know it to be true_--' that's the jury, of -course--'_If she should push the matter on_'--that must be the -Queen--'_What would become of you?_'--What, indeed!--'_I gave her one, -they gave him two_--' why, that must be what he did with the tarts, you -know----" - -"But it goes on '_they all returned from him to you_,'" said Alice. - -"Why, there they are!" said the King triumphantly, pointing to the tarts -on the table. "Nothing can be clearer than _that_. Then again--'_before -she had this fit_--' you never had _fits_, my dear, I think?" he said to -the Queen. - -"Never!" said the Queen furiously, throwing an inkstand at the Lizard -as she spoke. (The unfortunate little Bill had left off writing on his -slate with one finger, as he found it made no mark; but he now hastily -began again, using the ink, that was trickling down his face, as long as -it lasted.) - -"Then the words don't _fit_ you," said the King, looking round the court -with a smile. There was a dead silence. - -"It's a pun!" the King added in an angry tone, and everybody laughed. - -"Let the jury consider their verdict," the King said, for about the -twentieth time that day. - -"No, no!" said the Queen. "Sentence first--verdict afterwards." - -"Stuff and nonsense!" said Alice loudly. "The idea of having the -sentence first!" - -"Hold your tongue!" said the Queen, turning purple. - -"I won't!" said Alice. - -"Off with her head!" the Queen shouted at the top of her voice. Nobody -moved. - -"Who cares for _you_?" said Alice (she had grown to her full size by -this time). "You're nothing but a pack of cards!" - -[Illustration: _At this the whole pack rose up into the air, and came -flying down upon her_] - -At this the whole pack rose up into the air, and came flying down upon -her: she gave a little scream, half of fright and half of anger, and -tried to beat them off, and found herself lying on the bank, with her -head in the lap of her sister, who was gently brushing away some dead -leaves that had fluttered down from the trees upon her face. - -"Wake up, Alice dear!" said her sister. "Why, what a long sleep you've -had!" - -"Oh, I've had such a curious dream!" said Alice, and she told her -sister, as well as she could remember them, all these strange Adventures -of hers that you have just been reading about; and when she had -finished, her sister kissed her, and said "It _was_ a curious dream, -dear, certainly: but now run in to your tea; it's getting late." So -Alice got up and ran off, thinking while she ran, as well she might, -what a wonderful dream it had been. - - - - -BUT her sister sat still just as she had left her, leaning her head, -watching the setting sun, and thinking of little Alice and all her -wonderful Adventures, till she too began dreaming after a fashion, and -this was her dream: - -First, she dreamed of little Alice herself, and once again the tiny -hands were clasped upon her knee, and the bright eager eyes were looking -up into hers--she could hear the very tones of her voice, and see that -queer little toss of her head to keep back the wandering hair that -_would_ always get into her eyes--and still as she listened, or seemed -to listen, the whole place around her became alive with the strange -creatures of her little sister's dream. - -The long grass rustled at her feet as the White Rabbit hurried by--the -frightened Mouse splashed his way through the neighbouring pool--she -could hear the rattle of the teacups as the March Hare and his friends -shared their never-ending meal, and the shrill voice of the Queen -ordering off her unfortunate guests to execution--once more the pig-baby -was sneezing on the Duchess' knee, while plates and dishes crashed -around it--once more the shriek of the Gryphon, the squeaking of the -Lizard's slate-pencil, and the choking of the suppressed guinea-pigs, -filled the air, mixed up with the distant sobs of the miserable Mock -Turtle. - -So she sat on with closed eyes, and half believed herself in Wonderland, -though she knew she had but to open them again, and all would change to -dull reality--the grass would be only rustling in the wind, and the pool -rippling to the waving of the reeds--the rattling teacups would change -to the tinkling sheep-bells, and the Queen's shrill cries to the voice -of the shepherd boy--and the sneeze of the baby, the shriek of the -Gryphon, and all the other queer noises, would change (she knew) to the -confused clamour of the busy farm-yard--while the lowing of the cattle -in the distance would take the place of the Mock Turtle's heavy sobs. - -Lastly, she pictured to herself how this same little sister of hers -would, in the after-time, be herself a grown woman; and how she would -keep, through all her riper years, the simple and loving heart of her -childhood: and how she would gather about her other little children, -and make _their_ eyes bright and eager with many a strange tale, perhaps -even with the dream of Wonderland of long ago: and how she would feel -with all their simple sorrows, and find a pleasure in all their simple -joys, remembering her own child-life, and the happy summer days. - - -THE END - - - - - ILLUSTRATIONS REPRODUCED BY HENTSCHEL COLOURTYPE - TEXT PRINTED BY BALLANTYNE & COMPANY LTD - AT THE BALLANTYNE PRESS - TAVISTOCK STREET - LONDON - - * * * * * - -Transcriber's Notes: - -Page 8, opening quote added to text (doorway; "and even if) - -Page 33, "she" changed to "she's" (And she's such a) - -Page 37, "quiet" changed to "quite" (I'm quite tired of) - -Page 41, colon changed to period (arm, yer honour.) - -Page 42, "wont" changed to "want" (want to stay) - -Page 66, closing quotation mark added (to-morrow----") - -Page 69, single quotation mark changed to double (cat," said the -Duchess) - -Page 91, word "to" added to text (minute or two to) - -Page 103, word "as" added to the text (just as she had) - -Page 104, "hedge-hog" changed to "hedgehog" (send the hedgehog to) - -Page 126, end parenthesis added ("No, never") - -Page 153, added an apostrophe (What's in it?) - - - - - - -End of Project Gutenberg's Alice's Adventures in Wonderland, by Lewis Carroll - -*** END OF THIS PROJECT GUTENBERG EBOOK ALICE'S ADVENTURES IN WONDERLAND *** - -***** This file should be named 28885-8.txt or 28885-8.zip ***** -This and all associated files of various formats will be found in: - http://www.gutenberg.org/2/8/8/8/28885/ - -Produced by Jana Srna, Emmy and the Online Distributed -Proofreading Team at http://www.pgdp.net (This file was -produced from images generously made available by the -University of Florida Digital Collections.) - - -Updated editions will replace the previous one--the old editions -will be renamed. - -Creating the works from public domain print editions means that no -one owns a United States copyright in these works, so the Foundation -(and you!) can copy and distribute it in the United States without -permission and without paying copyright royalties. Special rules, -set forth in the General Terms of Use part of this license, apply to -copying and distributing Project Gutenberg-tm electronic works to -protect the PROJECT GUTENBERG-tm concept and trademark. Project -Gutenberg is a registered trademark, and may not be used if you -charge for the eBooks, unless you receive specific permission. If you -do not charge anything for copies of this eBook, complying with the -rules is very easy. You may use this eBook for nearly any purpose -such as creation of derivative works, reports, performances and -research. They may be modified and printed and given away--you may do -practically ANYTHING with public domain eBooks. Redistribution is -subject to the trademark license, especially commercial -redistribution. - - - -*** START: FULL LICENSE *** - -THE FULL PROJECT GUTENBERG LICENSE -PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK - -To protect the Project Gutenberg-tm mission of promoting the free -distribution of electronic works, by using or distributing this work -(or any other work associated in any way with the phrase "Project -Gutenberg"), you agree to comply with all the terms of the Full Project -Gutenberg-tm License (available with this file or online at -http://gutenberg.net/license). - - -Section 1. General Terms of Use and Redistributing Project Gutenberg-tm -electronic works - -1.A. By reading or using any part of this Project Gutenberg-tm -electronic work, you indicate that you have read, understand, agree to -and accept all the terms of this license and intellectual property -(trademark/copyright) agreement. If you do not agree to abide by all -the terms of this agreement, you must cease using and return or destroy -all copies of Project Gutenberg-tm electronic works in your possession. -If you paid a fee for obtaining a copy of or access to a Project -Gutenberg-tm electronic work and you do not agree to be bound by the -terms of this agreement, you may obtain a refund from the person or -entity to whom you paid the fee as set forth in paragraph 1.E.8. - -1.B. "Project Gutenberg" is a registered trademark. It may only be -used on or associated in any way with an electronic work by people who -agree to be bound by the terms of this agreement. There are a few -things that you can do with most Project Gutenberg-tm electronic works -even without complying with the full terms of this agreement. See -paragraph 1.C below. There are a lot of things you can do with Project -Gutenberg-tm electronic works if you follow the terms of this agreement -and help preserve free future access to Project Gutenberg-tm electronic -works. See paragraph 1.E below. - -1.C. The Project Gutenberg Literary Archive Foundation ("the Foundation" -or PGLAF), owns a compilation copyright in the collection of Project -Gutenberg-tm electronic works. Nearly all the individual works in the -collection are in the public domain in the United States. If an -individual work is in the public domain in the United States and you are -located in the United States, we do not claim a right to prevent you from -copying, distributing, performing, displaying or creating derivative -works based on the work as long as all references to Project Gutenberg -are removed. Of course, we hope that you will support the Project -Gutenberg-tm mission of promoting free access to electronic works by -freely sharing Project Gutenberg-tm works in compliance with the terms of -this agreement for keeping the Project Gutenberg-tm name associated with -the work. You can easily comply with the terms of this agreement by -keeping this work in the same format with its attached full Project -Gutenberg-tm License when you share it without charge with others. - -1.D. The copyright laws of the place where you are located also govern -what you can do with this work. Copyright laws in most countries are in -a constant state of change. If you are outside the United States, check -the laws of your country in addition to the terms of this agreement -before downloading, copying, displaying, performing, distributing or -creating derivative works based on this work or any other Project -Gutenberg-tm work. The Foundation makes no representations concerning -the copyright status of any work in any country outside the United -States. - -1.E. Unless you have removed all references to Project Gutenberg: - -1.E.1. The following sentence, with active links to, or other immediate -access to, the full Project Gutenberg-tm License must appear prominently -whenever any copy of a Project Gutenberg-tm work (any work on which the -phrase "Project Gutenberg" appears, or with which the phrase "Project -Gutenberg" is associated) is accessed, displayed, performed, viewed, -copied or distributed: - -This eBook is for the use of anyone anywhere at no cost and with -almost no restrictions whatsoever. You may copy it, give it away or -re-use it under the terms of the Project Gutenberg License included -with this eBook or online at www.gutenberg.net - -1.E.2. If an individual Project Gutenberg-tm electronic work is derived -from the public domain (does not contain a notice indicating that it is -posted with permission of the copyright holder), the work can be copied -and distributed to anyone in the United States without paying any fees -or charges. If you are redistributing or providing access to a work -with the phrase "Project Gutenberg" associated with or appearing on the -work, you must comply either with the requirements of paragraphs 1.E.1 -through 1.E.7 or obtain permission for the use of the work and the -Project Gutenberg-tm trademark as set forth in paragraphs 1.E.8 or -1.E.9. - -1.E.3. If an individual Project Gutenberg-tm electronic work is posted -with the permission of the copyright holder, your use and distribution -must comply with both paragraphs 1.E.1 through 1.E.7 and any additional -terms imposed by the copyright holder. Additional terms will be linked -to the Project Gutenberg-tm License for all works posted with the -permission of the copyright holder found at the beginning of this work. - -1.E.4. Do not unlink or detach or remove the full Project Gutenberg-tm -License terms from this work, or any files containing a part of this -work or any other work associated with Project Gutenberg-tm. - -1.E.5. Do not copy, display, perform, distribute or redistribute this -electronic work, or any part of this electronic work, without -prominently displaying the sentence set forth in paragraph 1.E.1 with -active links or immediate access to the full terms of the Project -Gutenberg-tm License. - -1.E.6. You may convert to and distribute this work in any binary, -compressed, marked up, nonproprietary or proprietary form, including any -word processing or hypertext form. However, if you provide access to or -distribute copies of a Project Gutenberg-tm work in a format other than -"Plain Vanilla ASCII" or other format used in the official version -posted on the official Project Gutenberg-tm web site (www.gutenberg.net), -you must, at no additional cost, fee or expense to the user, provide a -copy, a means of exporting a copy, or a means of obtaining a copy upon -request, of the work in its original "Plain Vanilla ASCII" or other -form. Any alternate format must include the full Project Gutenberg-tm -License as specified in paragraph 1.E.1. - -1.E.7. Do not charge a fee for access to, viewing, displaying, -performing, copying or distributing any Project Gutenberg-tm works -unless you comply with paragraph 1.E.8 or 1.E.9. - -1.E.8. You may charge a reasonable fee for copies of or providing -access to or distributing Project Gutenberg-tm electronic works provided -that - -- You pay a royalty fee of 20% of the gross profits you derive from - the use of Project Gutenberg-tm works calculated using the method - you already use to calculate your applicable taxes. The fee is - owed to the owner of the Project Gutenberg-tm trademark, but he - has agreed to donate royalties under this paragraph to the - Project Gutenberg Literary Archive Foundation. Royalty payments - must be paid within 60 days following each date on which you - prepare (or are legally required to prepare) your periodic tax - returns. Royalty payments should be clearly marked as such and - sent to the Project Gutenberg Literary Archive Foundation at the - address specified in Section 4, "Information about donations to - the Project Gutenberg Literary Archive Foundation." - -- You provide a full refund of any money paid by a user who notifies - you in writing (or by e-mail) within 30 days of receipt that s/he - does not agree to the terms of the full Project Gutenberg-tm - License. You must require such a user to return or - destroy all copies of the works possessed in a physical medium - and discontinue all use of and all access to other copies of - Project Gutenberg-tm works. - -- You provide, in accordance with paragraph 1.F.3, a full refund of any - money paid for a work or a replacement copy, if a defect in the - electronic work is discovered and reported to you within 90 days - of receipt of the work. - -- You comply with all other terms of this agreement for free - distribution of Project Gutenberg-tm works. - -1.E.9. If you wish to charge a fee or distribute a Project Gutenberg-tm -electronic work or group of works on different terms than are set -forth in this agreement, you must obtain permission in writing from -both the Project Gutenberg Literary Archive Foundation and Michael -Hart, the owner of the Project Gutenberg-tm trademark. Contact the -Foundation as set forth in Section 3 below. - -1.F. - -1.F.1. Project Gutenberg volunteers and employees expend considerable -effort to identify, do copyright research on, transcribe and proofread -public domain works in creating the Project Gutenberg-tm -collection. Despite these efforts, Project Gutenberg-tm electronic -works, and the medium on which they may be stored, may contain -"Defects," such as, but not limited to, incomplete, inaccurate or -corrupt data, transcription errors, a copyright or other intellectual -property infringement, a defective or damaged disk or other medium, a -computer virus, or computer codes that damage or cannot be read by -your equipment. - -1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the "Right -of Replacement or Refund" described in paragraph 1.F.3, the Project -Gutenberg Literary Archive Foundation, the owner of the Project -Gutenberg-tm trademark, and any other party distributing a Project -Gutenberg-tm electronic work under this agreement, disclaim all -liability to you for damages, costs and expenses, including legal -fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT -LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE -PROVIDED IN PARAGRAPH F3. YOU AGREE THAT THE FOUNDATION, THE -TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE -LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR -INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH -DAMAGE. - -1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a -defect in this electronic work within 90 days of receiving it, you can -receive a refund of the money (if any) you paid for it by sending a -written explanation to the person you received the work from. If you -received the work on a physical medium, you must return the medium with -your written explanation. The person or entity that provided you with -the defective work may elect to provide a replacement copy in lieu of a -refund. If you received the work electronically, the person or entity -providing it to you may choose to give you a second opportunity to -receive the work electronically in lieu of a refund. If the second copy -is also defective, you may demand a refund in writing without further -opportunities to fix the problem. - -1.F.4. Except for the limited right of replacement or refund set forth -in paragraph 1.F.3, this work is provided to you 'AS-IS' WITH NO OTHER -WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO -WARRANTIES OF MERCHANTIBILITY OR FITNESS FOR ANY PURPOSE. - -1.F.5. Some states do not allow disclaimers of certain implied -warranties or the exclusion or limitation of certain types of damages. -If any disclaimer or limitation set forth in this agreement violates the -law of the state applicable to this agreement, the agreement shall be -interpreted to make the maximum disclaimer or limitation permitted by -the applicable state law. The invalidity or unenforceability of any -provision of this agreement shall not void the remaining provisions. - -1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the -trademark owner, any agent or employee of the Foundation, anyone -providing copies of Project Gutenberg-tm electronic works in accordance -with this agreement, and any volunteers associated with the production, -promotion and distribution of Project Gutenberg-tm electronic works, -harmless from all liability, costs and expenses, including legal fees, -that arise directly or indirectly from any of the following which you do -or cause to occur: (a) distribution of this or any Project Gutenberg-tm -work, (b) alteration, modification, or additions or deletions to any -Project Gutenberg-tm work, and (c) any Defect you cause. - - -Section 2. Information about the Mission of Project Gutenberg-tm - -Project Gutenberg-tm is synonymous with the free distribution of -electronic works in formats readable by the widest variety of computers -including obsolete, old, middle-aged and new computers. It exists -because of the efforts of hundreds of volunteers and donations from -people in all walks of life. - -Volunteers and financial support to provide volunteers with the -assistance they need are critical to reaching Project Gutenberg-tm's -goals and ensuring that the Project Gutenberg-tm collection will -remain freely available for generations to come. In 2001, the Project -Gutenberg Literary Archive Foundation was created to provide a secure -and permanent future for Project Gutenberg-tm and future generations. -To learn more about the Project Gutenberg Literary Archive Foundation -and how your efforts and donations can help, see Sections 3 and 4 -and the Foundation web page at http://www.pglaf.org. - - -Section 3. Information about the Project Gutenberg Literary Archive -Foundation - -The Project Gutenberg Literary Archive Foundation is a non profit -501(c)(3) educational corporation organized under the laws of the -state of Mississippi and granted tax exempt status by the Internal -Revenue Service. The Foundation's EIN or federal tax identification -number is 64-6221541. Its 501(c)(3) letter is posted at -http://pglaf.org/fundraising. Contributions to the Project Gutenberg -Literary Archive Foundation are tax deductible to the full extent -permitted by U.S. federal laws and your state's laws. - -The Foundation's principal office is located at 4557 Melan Dr. S. -Fairbanks, AK, 99712., but its volunteers and employees are scattered -throughout numerous locations. Its business office is located at -809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887, email -business@pglaf.org. Email contact links and up to date contact -information can be found at the Foundation's web site and official -page at http://pglaf.org - -For additional contact information: - Dr. Gregory B. Newby - Chief Executive and Director - gbnewby@pglaf.org - - -Section 4. Information about Donations to the Project Gutenberg -Literary Archive Foundation - -Project Gutenberg-tm depends upon and cannot survive without wide -spread public support and donations to carry out its mission of -increasing the number of public domain and licensed works that can be -freely distributed in machine readable form accessible by the widest -array of equipment including outdated equipment. Many small donations -($1 to $5,000) are particularly important to maintaining tax exempt -status with the IRS. - -The Foundation is committed to complying with the laws regulating -charities and charitable donations in all 50 states of the United -States. Compliance requirements are not uniform and it takes a -considerable effort, much paperwork and many fees to meet and keep up -with these requirements. We do not solicit donations in locations -where we have not received written confirmation of compliance. To -SEND DONATIONS or determine the status of compliance for any -particular state visit http://pglaf.org - -While we cannot and do not solicit contributions from states where we -have not met the solicitation requirements, we know of no prohibition -against accepting unsolicited donations from donors in such states who -approach us with offers to donate. - -International donations are gratefully accepted, but we cannot make -any statements concerning tax treatment of donations received from -outside the United States. U.S. laws alone swamp our small staff. - -Please check the Project Gutenberg Web pages for current donation -methods and addresses. Donations are accepted in a number of other -ways including including checks, online payments and credit card -donations. To donate, please visit: http://pglaf.org/donate - - -Section 5. General Information About Project Gutenberg-tm electronic -works. - -Professor Michael S. Hart is the originator of the Project Gutenberg-tm -concept of a library of electronic works that could be freely shared -with anyone. For thirty years, he produced and distributed Project -Gutenberg-tm eBooks with only a loose network of volunteer support. - - -Project Gutenberg-tm eBooks are often created from several printed -editions, all of which are confirmed as Public Domain in the U.S. -unless a copyright notice is included. Thus, we do not necessarily -keep eBooks in compliance with any particular paper edition. - - -Most people start at our Web site which has the main PG search facility: - - http://www.gutenberg.net - -This Web site includes information about Project Gutenberg-tm, -including how to make donations to the Project Gutenberg Literary -Archive Foundation, how to help produce our new eBooks, and how to -subscribe to our email newsletter to hear about new eBooks. diff --git a/ult/ult_4/marks.txt b/ult/ult_4/marks.txt deleted file mode 100644 index f97b743..0000000 --- a/ult/ult_4/marks.txt +++ /dev/null @@ -1,5 +0,0 @@ -89 92 85 -98 47 67 -67 82 76 -78 97 60 -67 68 69 diff --git a/ult/ult_4/marks1.txt b/ult/ult_4/marks1.txt deleted file mode 100644 index 9a5299d..0000000 --- a/ult/ult_4/marks1.txt +++ /dev/null @@ -1,5 +0,0 @@ -5 89 92 85 -4 98 47 67 -1 67 82 76 -2 78 97 60 -3 67 68 69 diff --git a/ult/ult_4/script.rst b/ult/ult_4/script.rst deleted file mode 100644 index 09de00e..0000000 --- a/ult/ult_4/script.rst +++ /dev/null @@ -1,409 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Understand what is Redirection and Piping. - .. 2. Learn various features of shell. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 -.. 3. Using Linux tools - Part 3 - -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 -'Using linux tools - Part 4'. - -.. L2 - -{{{ Show slide with objectives }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Understand what is Redirection and Piping. - #. Learn various features of the shell. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial, we would suggest you to complete the -tutorial on "Using Linux tools from Part 1 to Part 3". - -.. R4 - -Let us begin with the concept of 'Redirection and Piping' which -performs the same operations as the ``cut`` and ``paste`` commands. - -Consider the files ``marks.txt`` and ``students.txt``.The contents of -the files are as following: - -.. L4 - -{{{ Open the terminal }}} -:: - - cat marks1.txt - cat students.txt - -.. R5 - -Now, let us view the contents of both these files side-by-side. - -.. L5 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - - -.. R6 - -Now, in order to view the same output in a new file at an other -location, we say, - -.. L6 -:: - - cut -d " " -f 2- marks1.txt > /tmp/m_tmp.txt - paste -d " " students.txt m_tmp.txt - -.. R7 - -First, let us try to understand the second solution,which is a two -step approach. -Later, we shall look at the first solution. - -.. L7 - -.. L8 - -{{{ Show slide, with Redirection }}} - -.. R8 - -The standard output, in general, goes to the display. -Hence, the output of the commands that we type, come out to the display. -This may not be what we always require. - -For instance, in the solution above, we use the cut command and get only -the required columns of the file and write the output to a new temporary -file. The ``>`` character is used to state that we wish to redirect the -output, and it is followed by the location to which we wish to redirect. -For example, - - command > file1 - -.. L9 - -{{{ Show slide, with Redirection... }}} - -.. R9 - -Similarly, the standard input (stdin) can be redirected as, - - command < file1 - -The input and the output redirection could be combined in a single command, -as, - - command < infile > outfile - -There is actually a third kind of standard stream, called the Standard -error (stderr). Any error messages that you get, are coming through this -stream. Like ``stdout``, ``stderr`` also streams to the display by default, -but it could be redirected to a file, as well. - -.. R10 - -For instance, let's reproduce an error using the ``cut`` command used -before. We shall change the ``-f`` option to ``-c`` - -.. L10 - -{{{ Switch to terminal }}} -:: - - cut -d " " -c 2- marks1.txt > /tmp/m_tmp.txt - -.. R11 - -This displays an error saying that the delimiter option should be used -with the fields option only. You may verify this by looking at the -``m_tmp.txt`` file, which is now empty.We can now, redirect the -``stderr`` also to a file, instead of showing it on the display. - -.. L11 -:: - - cut -d " " -f 2- marks1.txt 1> /tmp/m_tmp.txt 2> /tmp/m_err.txt - -.. R12 - -The above command redirects all the errors to the ``m_err.txt`` file -and the output to the ``m_tmp.txt`` file. When redirecting, 1 stands -for ``stdout`` and 2 stands for ``stderr``. - -Let us complete the solution by using the ``paste`` command. - -.. L12 -:: - - paste -d " " students.txt m_tmp.txt - -.. R13 - -So, in two steps we solved the problem of getting rid of the roll numbers -from the marks file and displaying the marks along with the names of the -students. Now, that we know how to redirect output, we could choose to -write the output to a file, instead of showing on the display. - -Let us now look at the first solution. - -.. L13 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - - -.. L14 - -{{{ Show slide, with Piping }}} - -.. R14 - -First of all, the hyphen at the end is to ask the paste command to -read the standard input, instead of looking for a FILE. The ``man`` -page of ``paste`` command gives us this information. - -The character ``|`` is called a pipe. -Now, let us observe the ``cut`` command. If we look at the command only -upto the ``|`` character, it appears as a normal ``cut`` command . -So, the ``|`` character here, seems -to be joining the two commands in some way. -Essentially, what we are doing is, to redirect the output of the first -command to ``stdin`` and the second command takes the input from the ``stdin``. - -More generally, - - command1 | command2 - -executes ``command1`` and sends it's output to the ``stdin``, which is then -used as the input for ``command2``. This activity is commonly called piping. - -.. L15 - -{{{ Show slide, with Piping... }}} - -.. R15 - -This is roughly equivalent to using two redirects and a temporary file. - - command1 > tempfile - command2 < tempfile - rm tempfile - -Also, given that a pipe is just a way to send the output of a command to -the ``stdin``, it should be obvious to you that we can use a chain of -pipes. Any number of commands can be piped together and therefore it should - be noted that it is not restricted to only two commands. - -The Bash shell has some nice features, that make our job of using the shell -easier and much more pleasant. Let us have a look at few of them here. - -Bash provides the feature of 'tab completion'. What does tab completion mean? -When you are typing a word, bash helps you to complete the word. -This can be done by entering some portion of the word and thereafter, -pressing the tab key. - -If you do not get the desired word on pressing the tab key, it implies that -either the word doesn't exist or the word cannot be decided unambiguously. -In the latter case, pressing the tab key for a second time,will list out -all the possibilities. - -.. L16 - -{{{ Show slide, with Tab-completion }}} - -.. R16 - -Bash provides tab completion for the following. - - 1. File Names - 2. Directory Names - 3. Executable Names - 4. User Names (when they are prefixed with a ~) - 5. Host Names (when they are prefixed with a @) - 6. Variable Names (when they are prefixed with a $) - -.. R17 - -For example, - -.. L17 - -{{{ Switch to terminal }}} -:: - - pas - ~/ - -.. R18 - -Bash also saves the history of the commands you have typed earlier. -This feature enables you to goto the previously typed commands and -use them as and when necessary. The up and down arrow keys will help -you to navigate -through these commands in the bash history. - -.. L18 -:: - - - -.. R19 - -You may also search incrementally, for commands in your bash history. -``Ctrl-r`` searches for the commands that you have typed earlier. However, -it should be noted that the number of commands saved in the history is -limited, generally upto a 1000 commands. - -.. L19 -:: - - pas - -.. R20 - -Unix recognizes certain special characters, called "meta characters", as -command directives. The shell meta characters are recognized anywhere they -appear in the command line, even if they are not surrounded by a blank space. -For this reason, it is always recommended to use only the characters A-Z, -a-z, 0-9, period, dash and underscore, when naming files and -directories on Unix. If your file or directory has a shell meta character -in the name, you may find it difficult to use this name in a shell command. - -.. L20 - -.. L21 - -{{{ Show slide, with Shell Meta Characters }}} - -.. R21 - -The characters that you see on the slide are the shell meta characters - -.. R22 - -Lets take an example, - -.. L22 - -{{{ Switch to terminal }}} -:: - - ls file.? - -.. R23 - -It means, run on a directory containing the files file, file.c, file.lst, -and myfile would list the files file.c and file.lst. However, - -.. L23 -:: - - ls file.? - -.. R24 - -Run on the same directory would only list file.c because the ? only matches -one character, no more, no less. This helps you save time, while typing. - -For example, if there is a file called -california_cornish_hens_with_wild_rice and no other files whose names begin -with 'c', you could view the file without typing the whole name by typing -this - -.. L24 -:: - - more c* - -.. R25 - -Here, the c* matches that long file name. -File-names containing meta characters can pose many problems and should -never be intentionally created. - -.. L25 - -.. L26 - -{{{ Switch to Summary slide }}} - -.. R26 - -This brings us to the end of the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Use the ``cut`` and ``paste`` commands in redirection. - 2. Use the pipe ( | ) character. - 3. Implement features of shell, like tab-completion and history. - -.. L27 - -{{{ Show self assessment questions slide }}} - -.. R27 - -Here are some self assessment questions for you to solve: - - 1. Bash does not provide tab completion for Host Names. - True of False? - - 2. In a file /home/test.txt ,first line is "data:myscripts:20:30". How do we - view only the minutes (last field, 30). - - - cut -d : -f 4 /home/test.txt - - cut -f 3 /home/test.txt - - cut -d : -f 3 /home/test.txt - - None of these - -.. L28 - -{{{ Solutions for the self assessment questions on slide }}} - -.. R28 - -And the answers: - - 1. False. Bash provides tab completion for Host Names when they are prefixed - with a @ sign. - - 2. The correct option would be -:: - - cut -d : -f 4 /home/test.txt - -.. L29 - -{{{ Show the Thank you slide }}} - -.. R29 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - diff --git a/ult/ult_4/students.txt b/ult/ult_4/students.txt deleted file mode 100644 index ddacd6b..0000000 --- a/ult/ult_4/students.txt +++ /dev/null @@ -1,5 +0,0 @@ -Hussain -Dilbert -Anne -Raul -Sven diff --git a/ult/ult_4/ult4.tex b/ult/ult_4/ult4.tex deleted file mode 100644 index 7181db5..0000000 --- a/ult/ult_4/ult4.tex +++ /dev/null @@ -1,243 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools\\Part IV} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Understand what is Redirection and Piping. -\item Learn various features of the shell. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\item Using Linux tools -- Part III -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Redirection} - - \begin{itemize} - \item The standard output (stdout) stream goes to the display - \item Not always, what we need - \item First solution, redirects output to a file - \item \texttt{>} states that output is redirected; It is - followed by location to redirect - \end{itemize} - \begin{lstlisting} - $ command > file1 - \end{lstlisting} % $ - \begin{itemize} - \item \texttt{>} creates a new file at specified location - \item \texttt{>>} appends to a file at specified location - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Redirection \ldots} - \begin{itemize} - \item Similarly, the standard input (stdin) can be redirected - \end{itemize} - \begin{lstlisting} - $ command < file1 - \end{lstlisting} % $ - \begin{itemize} - \item input and the output redirection could be combined - \end{itemize} - \begin{lstlisting} - $ command < infile > outfile - \end{lstlisting} % $ - \begin{itemize} - \item Standard error (stderr) is the third standard stream - \item All error messages come through this stream - \item \texttt{stderr} can also be redirected - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Piping} - \begin{lstlisting} - $ cut -d " " -f 2- marks1.txt \ - | paste -d " " students.txt - - \end{lstlisting} % $ - \begin{itemize} - \item \texttt{-} instead of FILE asks \texttt{paste} to read from - \texttt{stdin} - \item \texttt{cut} command is a normal command - \item the \texttt{|} seems to be joining the two commands - \item Redirects output of first command to \texttt{stdin}, which - becomes input to the second command - \item This is called piping; \texttt{|} is called a pipe - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Piping \ldots} - \begin{itemize} - \item Roughly same as -- 2 redirects and a temporary file - \end{itemize} - \begin{lstlisting} - $ command1 > tempfile - $ command2 < tempfile - $ rm tempfile - \end{lstlisting} % $ - \begin{itemize} - \item Any number of commands can be piped together - \end{itemize} -\end{frame} - -\subsection{Features of the Shell} - -\begin{frame}[fragile] - \frametitle{Tab-completion} - \begin{itemize} - \item Bash provides tab completion for the following. - \begin{enumerate} - \item File Names - \item Directory Names - \item Executable Names - \item User Names (when they are prefixed with a \~{}) - \item Host Names (when they are prefixed with a @) - \item Variable Names (when they are prefixed with a \$) - \end{enumerate} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Shell Meta Characters} - \begin{itemize} - \item ``meta characters'' are special command directives - \item File-names shouldn't have meta-characters - \item The following are the shell meta characters -- - \begin{itemize} - \item \verb+/<>!$%^&*|{}[]"'`~;+ - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Use the ``cut'' and ``paste'' commands in redirection. -\item Use the pipe ( | ) character. -\item Implement features of shell like tab-completion and history. -\end{itemize} -\end{frame} -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item Bash does not provide tab completion for Host Names. \\ - True or False? -\vspace{12pt} -\item In a file /home/test.txt ,first line is "data:myscripts:20:30".How to - view only minutes(last field, 30). -\vspace{5pt} -\begin{itemize} -\item cut -d : -f 4 /home/test.txt -\item cut -f 3 /home/test.txt -\item cut -d : -f 3 /home/test.txt -\item None of these -\end{itemize} -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item False -\vspace{15pt} -\item cut -d : -f 4 /home/test.txt -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - diff --git a/ult/ult_5/foo.txt b/ult/ult_5/foo.txt deleted file mode 100644 index 1fe9426..0000000 --- a/ult/ult_5/foo.txt +++ /dev/null @@ -1,9 +0,0 @@ -FOO is an abbreviation of Forward Observation Officer, a British Army -term in use as early as the First World War. The etymology of foo is -explored in the Internet Engineering Task Force (IETF) Request for -Comments 3092, which notes usage of foo in 1930s cartoons including -The Daffy Doc (with Daffy Duck) and comic strips, especially Smokey -Stover and Pogo. From there the term migrated into military slang, -where it merged with FUBAR. - -source: wikipedia diff --git a/ult/ult_5/marks1.txt b/ult/ult_5/marks1.txt deleted file mode 100644 index 9a5299d..0000000 --- a/ult/ult_5/marks1.txt +++ /dev/null @@ -1,5 +0,0 @@ -5 89 92 85 -4 98 47 67 -1 67 82 76 -2 78 97 60 -3 67 68 69 diff --git a/ult/ult_5/script.rst b/ult/ult_5/script.rst deleted file mode 100644 index e112ff7..0000000 --- a/ult/ult_5/script.rst +++ /dev/null @@ -1,347 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. - .. 2. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 -.. 3. Using Linux tools - Part 3 -.. 4. Using Linux tools - Part 4 - - -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 -'Using linux tools - Part 5'. - -.. L2 - -{{{ Show slide with objectives }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Sort lines of text files - #. Print lines matching a pattern - #. Translate or delete characters - #. Omit repeated lines. - - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial,we would suggest you to complete the -tutorial on "Using Linux tools from Part 1 to Part 4". - -.. R4 - -In this tutorial, we shall learn about text processing. -TO begin with, consider data kept in two files, namely marks1.txt and -students.txt -Let us see what data they contain. Open a terminal and type, - -.. L4 - -{{{ Open the terminal }}} -:: - - cat marks1.txt - cat students.txt - -.. R5 - -Let's say we wish to sort the output in the alphabetical order -of the names of the files. We can use the ``sort`` command for this -purpose. - -We just pipe the previous output to the ``sort`` command as, - -.. L5 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt -| sort - -.. R6 - -Let's say we wish to sort the names, based on the marks in the first -subject i.e. the first column after the name. ``sort`` command also allows us to -specify the delimiter between the fields and sort the data on a particular -field. ``-t`` option is used to specify the delimiter and ``-k`` option -is used to specify the field. - -.. L6 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt -| sort -t " " -k 2 - -.. L7 - -{{{ Show slide with, Sort... }}} - -.. R7 - -This command give us a sorted output as required. But, what if we would -like the output to appear in the reverse order. ``-r`` option allows the output -to be sorted in the reverse order and the ``-n`` option is used to choose -a numerical sorting. - -.. R8 - -Let us do it on the terminal and see for ourselves, - -.. L8 - -{{{ Switch to the terminal }}} -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt -| - sort -t " " -k 2 -rn - -.. R9 - -Suppose, While you are compiling the student marklist, Anne walks up to you and -wants to know her marks. You, being a kind person that you are, oblige. -But you do not wish to her to see the marks that others have scored. What -do you do? Here, the ``grep`` command comes to your rescue. - -``grep`` is a command line text search utility. You can use it to search -for Anne and show her, what she scored. ``grep`` allows us to search for a -search string in files. But we could, like any other command, pipe the -output of other commands to it. So, we shall use the previous combination -of cut and paste that we had, to get the marks of students along with their -names and search for Anne in that. - -.. L9 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | grep Anne - -.. R10 - -This will give us only the line containing the word Anne as the output. -The grep command is by default case-sensitive. So, we wouldn't have got -the result if we had searched for anne, with a small a, instead of -Anne, with a capital a. But, what if we didn't know, whether the name was -capitalized or not? ``grep`` allows you to do case-insensitive searches -by using the ``-i`` option. - -.. L10 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | grep -i Anne - -.. R11 - -Now, in another scenario, if we wished to print all the lines, which do -not contain the word Anne, we could use the ``-v`` option. - -.. L11 -:: - - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | grep -iv Anne - -.. R12 - -grep allows us to do more complex searches, for instance, searching for -sentences starting or ending with a particular pattern and regular -expression based searches. - -{{{ Show slide with, tr }}} - -``tr`` is a command that takes two sets of characters as parameters, and -replaces occurrences of the characters in the first set with the -corresponding elements from the other set. It reads from the standard -output and writes to the standard output. - -For instance, if we wish to replace all the lower case letters in the -students file with upper case, we can do it as, - -.. L12 - -{{{ Switch to the terminal }}} -:: - - cat students.txt | tr a-z A-Z - -.. R13 - -A common task is to remove empty newlines from a file. The ``-s`` flag -causes ``tr`` to compress sequences of identical adjacent characters in its -output to a single token. For example, - -.. L13 -:: - - tr -s '\n' '\n' - -.. R14 - -Hit enter 2-3 times and see that every time we hit enter we get a newline. - -.. L14 -:: - - - - -.. R15 - -It replaces sequences of one or more newline characters with a single newline. - -The ``-d`` flag causes ``tr`` to delete all tokens of the specified set of -characters from its input. In this case, only a single character set -argument is used. The following command removes carriage return characters, -thereby converting a file in DOS/Windows format to the Unix format. - -.. L15 -:: - - cat foo.txt | tr -d '\r' > bar.txt - -.. R16 - -The ``-c`` flag complements the first set of characters. - -.. L16 -:: - - tr -cd '[:alnum:]' - -.. R17 - -It therefore removes all non-alphanumeric characters. - -Let us consider one more scenario.Suppose we have a list of items, say books, -and we wish to obtain a list which names of all the books only once, without -any duplicates. To achieve this, we use the ``uniq`` command. Let us first -have a look at our file - -.. L17 -:: - - cat items.txt - -.. R18 - -Now, let us try and get rid of the duplicate lines from this file using -the ``uniq`` command. - -.. L18 -:: - - uniq items.txt - -.. R19 - -Nothing happens! Why? The ``uniq`` command removes duplicate lines only when -they are next to each other. So, henceforth, we get a sorted file from the -original file and work with that file. - -.. L19 -:: - - sort items.txt | uniq - -.. R20 - -``uniq -u`` command gives the lines which are unique and do not have any -duplicates in the file. ``uniq -d`` outputs only those lines which -have duplicates. - -.. L20 -:: - - uniq -u items-sorted.txt - -.. R21 - -The ``-c`` option displays the number of times each line occurs in the file. - -.. L21 -:: - - uniq -dc items-sorted.txt - -.. L22 - -{{{ Show summary slide }}} - -.. R22 - -This brings us to the end of the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Use the ``sort`` command to sort lines of text files. - #. Use the ``grep`` command to search text pattern. - #. Use the ``tr`` command to translate and/or delete characters. - #. Use the ``uniq`` command to omit repeated lines in a text. - -.. L23 - -{{{ Show self assessment questions slide }}} - -.. R23 - -Here are some self assessment questions for you to solve - - 1. To obtain patterns; one per line, which of the following command is used ? - - - grep -f - - grep -i - - grep -v - - grep -e - - 2. Translate the word 'linux' to upper-case. - - 3. Sort the output of the ``ls -al`` command. - -.. L24 - -{{{ Solution of self assessment questions on slide }}} - -.. R24 - -And the answers, - - 1. In order to obtain patterns one per line, we use the ``grep`` command - alongwith the -f option. - - 2. We use the tr command to change the word into uppercase -:: - - echo 'linux' | tr a-z A-Z - - - 3. We use the sort command as, -:: - - ls -al | sort -n -k5 -The -n means "sort numerically", and the -k5 option means to key off of -column five. - -.. L25 - -{{{ Show the Thank you slide }}} - -.. R25 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! diff --git a/ult/ult_5/students.txt b/ult/ult_5/students.txt deleted file mode 100644 index ddacd6b..0000000 --- a/ult/ult_5/students.txt +++ /dev/null @@ -1,5 +0,0 @@ -Hussain -Dilbert -Anne -Raul -Sven diff --git a/ult/ult_5/ult5.tex b/ult/ult_5/ult5.tex deleted file mode 100644 index 293b76f..0000000 --- a/ult/ult_5/ult5.tex +++ /dev/null @@ -1,178 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Sort lines of text files. -\item Print lines matching a pattern. -\item Translate or delete characters. -\item Omit repeated lines. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\item Using Linux tools -- Part III -\item Using Linux tools -- Part IV -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{sort} \ldots} - \begin{itemize} - \item The command below sorts, based on marks in first subject - \end{itemize} - \begin{lstlisting} - $ cut -d " " -f 2- marks1.txt \ - | paste -d " " students.txt -\ - | sort -t " " -k 2 -rn - \end{lstlisting} % $ - \begin{itemize} - \item \texttt{-t} specifies the delimiter between fields - \item \texttt{-k} specifies the field to use for sorting - \item \texttt{-r} for sorting in the reverse order - \item \texttt{-n} to choose numerical sorting - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{tr}} - \begin{itemize} - \item Translates or deletes characters - \item Reads from \texttt{stdin} and outputs to \texttt{stdout} - \item Given, two sets of characters, replaces one with other - \item The following, replaces all lower-case with upper-case - \end{itemize} - \begin{lstlisting} - $ cat students.txt | tr a-z A-Z - \end{lstlisting} % $ -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Use the ``sort'' command to sort lines of text files. -\item Use the ``grep'' command to search text pattern. -\item Use the ``tr'' command to translate and/or delete characters. -\item Use the ``uniq'' command to omit repeated lines in a text. -\end{itemize} -\end{frame} -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item To obtain patterns; one per line, which of the following command is used ? -\vspace{3pt} -\begin{itemize} -\item grep -f -\item grep -i -\item grep -v -\item grep -e -\end{itemize} -\vspace{8pt} -\item Translate the word `linux' to upper-case. -\vspace{8pt} -\item Sort the output of the ``ls -al'' command. -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item grep -f -\vspace{15pt} -\item \$ echo `linux' | tr a-z A-Z -\vspace{15pt} -\item \$ ls -al | sort -n -k5 -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - diff --git a/ult/ult_6/script.rst b/ult/ult_6/script.rst deleted file mode 100644 index 33f144e..0000000 --- a/ult/ult_6/script.rst +++ /dev/null @@ -1,278 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Prepare a simple shell script. - .. 2. Run a script successfully and print it's result. - .. 3. Understand what an environment variable is. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 -.. 3. Using Linux tools - Part 3 -.. 4. Using Linux tools - Part 4 -.. 5. Using Linux tools - Part 5 - - -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 -'Using linux tools - Part 6'. - -.. L2 - -{{{ Show slide with objectives }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Prepare a simple shell script. - #. Run a script successfully and print it's result. - #. Understand what an environment variable is. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial,we would suggest you to complete the -tutorial on "Using Linux tools from Part 1 to Part 5". - -Let us start with creating a simple shell script. -A shell script is simply a sequence of commands, that are put into a file, -instead of entering them one by one onto the shell. The script can then be -run, to run the sequence of commands in a single shot instead of manually -running, each of the individual commands. -For instance, let's say we wish to create a directory called ``marks`` in the -home folder and save the results of the students into a file -``results.txt``. - -.. R4 - -We open our editor and save the following text to ``results.sh`` - -.. L4 - -{{{ Open an editor and type the following }}} -:: - - #!/bin/bash - mkdir ~/marks - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/results.txt - -.. R5 - -We can now run the script as, - -.. L5 - -{{{ Open the terminal }}} -:: - - ./results.sh - -.. R6 - -We get an error saying, Permission denied! Why? Can you think of the -reason? Yes, the file doesn't have execute permissions. -We make the file executable and then run it. - -.. L6 -:: - - chmod u+x results.sh - ./results.sh - -.. R7 - -We get back the prompt. We can check the contents of the file -``results.txt`` to see if the script has run. - -So, here, we have our first shell script. The first line of the script is used -to specify the interpreter or shell which should be used to execute the script. -In this case, we are asking it to use the bash shell. -Once, the script has run, we get back the prompt. Here, we had to manually check, -if the contents of the file are correct. It would be useful to have our script -print out messages. For this, we can use the ``echo`` command. We can edit our -``results.sh`` script, as follows. - -.. L7 - -{{{ Open an editor and type the following }}} -:: - - #!/bin/bash - mkdir ~/marks - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/results.txt - echo "Results generated." - -.. R8 - -Now, on running the script, we get a message on the screen informing us, -when the script has run. - -Let's now say, that we wish to let the user decide the file to which the -results should be written to. The results file, should be specifiable by an -argument in the command line. We can do so, by editing the file, as below. - -.. L8 - -{{{ Make the necessary changes in the previous script }}} - -:: - - #!/bin/bash - mkdir ~/marks - cut -d " " -f 2- marks1.txt | paste -d " " students.txt - | sort > ~/marks/$1 - echo "Results generated." - - -{{{ Highlight the text ``$1`` }}} - -.. R9 - -The ``$1`` above, corresponds to the first command line argument to the -script. So, we can run the script as shown below, to save the results to -``grades.txt``. - -.. L9 -:: - - ./results.sh grades.txt - -.. R10 - -When we run the ``results.sh`` file, we are specifying the location of the -script by using ``./``. But for any of the other commands, -we didn't have to specify their locations. Why? The -shell has a set of locations where it searches, for the command that we are -trying to run. - -.. L10 - -.. L11 - -{{{ Show slide, PATH }}} - -.. R11 - -These set of locations are saved in an "environment" -variable called PATH.let us look at what the value of the PATH variable is. To view the -values of variables, we can use the echo command. - -.. L12 - -{{{ Switch to the terminal }}} -:: - - echo $PATH - -.. R12 - -So, these are all the paths that are searched, when looking to execute a -command. If we put the results.sh script in one of these locations, we -could simply run it, without using the ``./`` at the beginning. - -.. L13 - -{{{ Show slide, variables & comments }}} - -.. R13 - -As expected, it is possible to define our own variables inside our shell -scripts. For example, - -.. L14 - -{{{ Switch to the terminal }}} -:: - - name="FOSSEE" - -.. R14 - -It creates a new variable ``name`` whose value is ``FOSSEE``. To refer to this -variable, inside our shell script, we would refer to it, as ``$name``. -Note that, there is no space around the ``=`` sign. - -.. L15 -:: - - ls $name* - -.. R15 - -.. R16 - -It is possible to store the output of a command in a variable, by enclosing -the command in back-quotes. - -.. L16 -:: - - count=`wc -l wonderland.txt` - -.. R17 - -It saves the number of lines in the file ``wonderland.txt`` in the variable -count. - -The ``#`` character is used to comment out content from a shell script. -Anything that appears after the ``#`` character in a line, is ignored by -the bash shell. - -.. L18 - -.. L19 - -{{{ Switch to 'Summary' slide }}} - -.. R19 - -This brings us to the end of the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Prepare a shell script. - #. Display the result of a script, using the ``echo`` command. - #. Use the environment variable ``PATH``. - #. Create variables and comment out content using the ``#`` sign. - -.. L20 - -{{{ Show self assessment questions slide }}} - -.. R20 - -Here are some self assessment questions for you to solve - -.. L21 - -{{{ Solution of self assessment questions on slide }}} - -.. R21 - -And the answers, - -.. L22 - -{{{ Show the Thank you slide }}} - -.. R22 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - - diff --git a/ult/ult_6/ult6.tex b/ult/ult_6/ult6.tex deleted file mode 100644 index 016c2d1..0000000 --- a/ult/ult_6/ult6.tex +++ /dev/null @@ -1,169 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Prepare a simple shell script. -\item Run a script successfully and print it's result. -\item Understand what an environment variable is. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\item Using Linux tools -- Part III -\item Using Linux tools -- Part IV -\item Using Linux tools -- Part V -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{PATH}} - \begin{itemize} - \item The shell searches in a set of locations, for the command - \item Locations are saved in ``environment'' variable called PATH - \item \texttt{echo} can show the value of variables - \end{itemize} - \begin{lstlisting} - $ echo $PATH - \end{lstlisting} % $ - \begin{itemize} - \item Put \texttt{results.sh} in one of these locations - \item It can then be run without \texttt{./} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Variables \& Comments} - \begin{lstlisting} - $ name=FOSSEE - $ count=`wc -l wonderland.txt` - $ echo $count # Shows the value of count - \end{lstlisting} % $ - \begin{itemize} - \item It is possible to create variables in shell scripts - \item Variables can be assigned with the output of commands - \item \alert{NOTE:} There is no space around the \texttt{=} sign - \item All text following the \texttt{\#} is considered a comment - \end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Prepare a shell script. -\item Display the result of a script, using the ``echo'' command. -\item Use the environment variable ``PATH''. -\item Create variables and comment out content using the ``\#'' sign. -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item -\item -\item -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item -\vspace{15pt} -\item -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - diff --git a/ult/ult_7/06- track.mp3 b/ult/ult_7/06- track.mp3 deleted file mode 100644 index e69de29..0000000 diff --git a/ult/ult_7/clause.sh b/ult/ult_7/clause.sh deleted file mode 100644 index 23017f2..0000000 --- a/ult/ult_7/clause.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# Script to greet the user according to time of day -hour=`date | cut -c12-13` -now=`date +"%A, %d of %B, %Y (%r)"` -if [ $hour -lt 12 ] -then - mess="Good Morning $LOGNAME, Have a nice day!" -fi - -if [ $hour -gt 12 -a $hour -le 16 ] -then - mess="Good Afternoon $LOGNAME" -fi - -if [ $hour -gt 16 -a $hour -le 18 ] -then - mess="Good Evening $LOGNAME" -fi -echo -e "$mess\nIt is $now" - diff --git a/ult/ult_7/dir-test.sh b/ult/ult_7/dir-test.sh deleted file mode 100644 index 11479ff..0000000 --- a/ult/ult_7/dir-test.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -if test -d $1 -then - echo "Yes, the directory" $1 "is present" -fi diff --git a/ult/ult_7/emerald.mp3 b/ult/ult_7/emerald.mp3 deleted file mode 100644 index e69de29..0000000 diff --git a/ult/ult_7/for-1.sh b/ult/ult_7/for-1.sh deleted file mode 100644 index 86545b7..0000000 --- a/ult/ult_7/for-1.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in {5..10} -do - echo $i -done diff --git a/ult/ult_7/for-2.sh b/ult/ult_7/for-2.sh deleted file mode 100644 index ad34c9a..0000000 --- a/ult/ult_7/for-2.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in `ls *.mp3` -do - echo "$i" -done diff --git a/ult/ult_7/for-3.sh b/ult/ult_7/for-3.sh deleted file mode 100644 index 8bb9f8d..0000000 --- a/ult/ult_7/for-3.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in *.mp3 -do - echo "$i" -done diff --git a/ult/ult_7/for-5.sh b/ult/ult_7/for-5.sh deleted file mode 100644 index dc17f64..0000000 --- a/ult/ult_7/for-5.sh +++ /dev/null @@ -1,4 +0,0 @@ -for i in *.mp3 -do - mv $i `echo $f|tr -s " " "-"|cut -d - -f 2-` -done diff --git a/ult/ult_7/premier.mp3 b/ult/ult_7/premier.mp3 deleted file mode 100644 index e69de29..0000000 diff --git a/ult/ult_7/script.rst b/ult/ult_7/script.rst deleted file mode 100644 index 4efdfd9..0000000 --- a/ult/ult_7/script.rst +++ /dev/null @@ -1,401 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. Prepare scripts using 'Control Operators'. - .. 2. Understand what 'Environment Variables' are. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 -.. 3. Using Linux tools - Part 3 -.. 4. Using Linux tools - Part 4 -.. 5. Using Linux tools - Part 5 -.. 6. Using Linux tools - Part 6 - - - -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 -'Using linux tools - Part 7'. - -.. L2 - -{{{ Show the 'Objectives' slide }}} - -.. R2 - -At the end of this tutorial, you will be able to, - - 1. Prepare scripts using 'Control Operators'. - 2. Understand what 'Environment Variables' are. - -.. L3 - -{{{ Switch to the pre-requisite slide }}} - -.. R3 - -Before beginning this tutorial, we suggest you to complete the -tutorials, "Using Linux tools, Part 1 to Part 6". - -.. R4 - -We have many 'Control Structures and Operators' available in the linux bash. -Let us look at how to use them. -To write an 'if', or an 'if-else' construct, we need to check or test for a -condition(s). The ``test`` command allows us to test for condition(s). It has -a whole range of tests that can be performed. The man page of ``test`` -gives you the complete listing of various types of tests that can be performed -with it. - -Let's write a simple script with an ``if`` condition that tests whether a -directory with a particular name, exists or not. - -.. L4 - -.. L5 - -{{{ Show slide, 'if' }}} - -.. R5 - -Let us create a script named ``dir-test.sh`` with this code. - - #!/bin/bash - if test -d $1 - then - echo "Yes, the directory" $1 "is present" - fi - -When the script is run with an argument, it will print a message, if a -directory with the said name exists in the current working directory. - -.. R6 - -Let's write a simple script which returns back whether the argument passed -is negative or not. - -.. L6 - -{{{ Open the file sign.sh and show }}} -:: - - #!/bin/bash - if test $1 -lt 0 - then - echo "number is negative" - else - echo "number is non-negative" - fi - -.. R7 - -We can run the file with a set of different inputs and see if it works. - -.. L7 - -{{{ Switch to terminal }}} -:: - - ./sign.sh -11 - -.. R8 - -Instead of using the ``test`` command, square brackets may also be used. - -.. L8 - -.. L9 - -{{{ Show slide, [ ] - alias for test }}} - -.. R9 - -Note that the spacing is important, when using the square brackets. -The left square bracket ( ``[`` ) should be followed by a space and the right -square bracket ( ``]`` ) should be preceded by a space. - -Let's create something interesting using the 'if-else' clause. Let's write a -script, that greets the user, based on the time. - -.. L10 - -{{{ Open the file clause.sh and show }}} -{{{ Highlight the required content wherever necessary, while narrating }}} - -.. R10 - -There are a couple of new things in this script. ``$LOGNAME`` is another -'environment variable', which has the login name of the user. The variables, -``hour`` and ``now`` are actually taking the output of the commands that -are placed in the back quotes. - -Now, let us see how to run loops in bash. We shall look at the ``for`` and -the ``while`` loops. - -.. L11 - -{{{ Show slide, 'for' }}} - -.. R11 - -Suppose we have a set of files, whose file-names contain numbers before the -text, say ``08 - Society.mp3``. We would like to rename these files by -removing the numbers before the text. How would we go about doing that? - -It is clear from the problem statement that we could loop over the list of -files and rename each of them. - -.. R12 - -First, let us look at a simple ``for`` loop, to understand how it works. - -.. L12 - -{{{ Switch to terminal }}} -:: - - for animal in rat cat dog man - do - echo $animal - done - -.. R13 - -We just wrote a list of animals, each name separated by a space -and then printed each name on a separate line. The variable ``animal`` is a -'dummy' or a 'loop variable'. It can then be used to refer to the element of -the list that is currently being dealt with. We could, obviously, use -something as lame as ``i`` in place of ``animal``. - -.. L13 - -.. R14 - -To generate a range of numbers and iterate over them, we do the following. - -.. L14 - -{{{ Open the script ``for-1.sh`` and show }}} - -.. R15 - -Now, let us run the script and see what we get, - -.. L15 - -{{{ Switch to terminal }}} -:: - - sh for-1.sh - -.. R16 - -Now, we use a ``for`` loop to list the files that we are interested in. - -.. L16 - -{{{ Open the script ``for-2.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-2.sh - -.. R17 - -If the file-names contain spaces, ``for`` assumes, each word separated by a -space,to be a single item in the list and prints it in a separate line. We -could modify the script slightly to overcome this problem. - -.. L17 - -{{{ Open the script ``for-3.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-3.sh - -.. R18 - -Now, we have each file name printed on a separate line. The file names are -in the form ``dd - Name.mp3`` and it has to be changed to the format -``Name.mp3``. Also, if the name has spaces, we wish to replace it with -hyphens. - -.. L18 - -{{{ Open the script ``for-4.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-4.sh - -.. R19 - -Now, we simply replace the echo command with a ``mv`` command. - -.. L19 - -{{{ Open the script ``for-5.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh for-5.sh - -.. R20 - -We see that we get our required output. All the files have been renamed and -the spaces are removed. -Now let us move ahead with ``while`` loop. -The ``while`` command allows us to continuously execute a block of commands -until the command that is controlling the loop is executing successfully. - -.. L20 - -.. R21 - -Let's start with the lamest example of a ''while'' loop. - -.. L21 - -{{{ Open the script ``while-1.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh while-1.sh - -.. R22 - -This, as you can see, is an infinite loop that prints ``True``. - -Say, we wish to write a simple program that takes input from the user -and prints it back, until the input is ``quit``, which then quits the program. - -.. L22 - -{{{ Open the script ``while-2.sh`` and show }}} -{{{ Switch to terminal }}} -:: - - sh while-2.sh - -.. L23 - -{{{ Show slide, Environment Variables }}} - -.. R23 - -'Environment variables' are a way of passing information from the shell to the -programs that are run in it. Standard UNIX variables are split into two -categories,'Environment variables' and 'Shell variables'. In broad terms, -'Shell variables' apply only to the current instance of the shell and are -used to set short-term working conditions; 'Environment variables' have a -farther reaching significance, and are set at login, valid for the duration of -the session. By convention, 'Environment variables' have UPPER CASE and 'Shell -variables' have lower case names. - -You can see an example of environment variables in the slide. - -.. R24 - -To see all the variables and their values, we could use any of the -following, - -.. L24 - -{{{ Switch to terminal }}} -:: - - printenv | less - env - -.. R25 - -We have looked at the 'PATH' variable, in the previous tutorial. We shall now -use the ``export`` command to change it's value. - -.. L25 -:: - - export PATH=$PATH:$HOME/bin - -.. R26 - -Observe the difference in the value of 'PATH' variable before and after -modifying it. - -``export`` command is used to export a variable to the environment of all -the processes that are started from that shell. - -.. L26 - -.. L27 - -{{{ Switch to 'Summary' slide }}} - -.. R27 - -This brings us to the end of this tutorial. -In this tutorial, we have learnt to, - - 1. Prepare scripts using control structures like ``if``, ``if-else``, - ``for`` and ``while``. - 2. Use 'environment variables'. - 3. Export a variable to the environment of all the processes, using - the ``export`` command. - -.. L28 - -{{{ Show self assessment questions slide }}} - -.. R28 - -Here are some self assessment questions for you to solve: - - 1. Print the text ``dog man`` in such a way that the prompt - continues after the text. - - 2. How can you add a new path variable ``/data/myscripts`` to $PATH variable ? - -.. L30 - -{{{ Solutions of self assessment questions on slide }}} - -.. R30 - -And the answers, - - 1. We print the given text using the ``echo`` command by using an additional - option -n as, -:: - - $echo -n dog man - - 2. We can add a new path variable by using the export command as, - -:: - - $export PATH=$PATH://data/myscripts - -.. L31 - -{{{ Show the Thank you slide }}} - -.. R31 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - diff --git a/ult/ult_7/sign.sh b/ult/ult_7/sign.sh deleted file mode 100644 index 246150d..0000000 --- a/ult/ult_7/sign.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -if test $1 -lt 0 -then - echo "number is negative" -else - echo "number is non-negative" -fi diff --git a/ult/ult_7/society.mp3 b/ult/ult_7/society.mp3 deleted file mode 100644 index e69de29..0000000 diff --git a/ult/ult_7/ult7.tex b/ult/ult_7/ult7.tex deleted file mode 100644 index a306272..0000000 --- a/ult/ult_7/ult7.tex +++ /dev/null @@ -1,202 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools\\Part VII} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Prepare scripts using 'Control Operators'. -\item Understand what 'Environment Variables' are. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\item Using Linux tools -- Part III -\item Using Linux tools -- Part IV -\item Using Linux tools -- Part V -\item Using Linux tools -- Part VI -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{if}} - \begin{itemize} - \item Print message if directory exists in \texttt{pwd} - \end{itemize} - \begin{lstlisting} - #!/bin/bash - if test -d $1 - then - echo "Yes, the directory" \ - $1 "is present" - fi - \end{lstlisting} % $ -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{[ ]} - alias for \texttt{test}} - \begin{itemize} - \item Square brackets (\texttt{[]}) can be used instead of - \texttt{test} - \item - \end{itemize} - \begin{lstlisting} - #!/bin/bash - if [ $1 -lt 0 ] - then - echo "number is negative" - else - echo "number is non-negative" - fi - \end{lstlisting} % $ - \begin{itemize} - \item \alert{spacing is important, when using the square brackets} - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{for}} - \begin{block}{Problem} - Given a set of \texttt{.mp3} files, that have names beginning with - numbers followed by their names --- \texttt{08 - Society.mp3} --- - rename the files to have just the names. Also replace any spaces - in the name with hyphens. - \end{block} - \begin{itemize} - \item Loop over the list of files - \item Process the names, to get new names - \item Rename the files - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Environment Variables} - \begin{itemize} - \item Pass information from shell to programs running in it - \item Behavior of programs can change based on values of variables - \item Environment variables vs. Shell variables - \item Shell variables -- only current instance of the shell - \item Environment variables -- valid for the whole session - \item Convention -- environment variables are UPPER CASE - \end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item Prepare scripts using control structures like ``if'', ``if-else'', - ``for'' and ``while''. -\item Use 'environment variables'. -\item Export a variable to the environment of all the processes, using - the ``export'' command. -\end{itemize} -\end{frame} -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item Print the text ``dog man'' in such a way that the prompt - continues after the text. -\vspace{8pt} -\item How can you add a new path variable ``/data/myscripts'' to \$PATH variable ? -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} -\label{sec-10} - - -\begin{enumerate} -\item \$ echo -n dog man -\vspace{15pt} -\item \$ export PATH=\$PATH://data/myscripts -\end{enumerate} -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - diff --git a/ult/ult_7/while-1.sh b/ult/ult_7/while-1.sh deleted file mode 100644 index 485e167..0000000 --- a/ult/ult_7/while-1.sh +++ /dev/null @@ -1,4 +0,0 @@ -while true -do - echo "True" -done diff --git a/ult/ult_7/while-2.sh b/ult/ult_7/while-2.sh deleted file mode 100644 index 5fbdd11..0000000 --- a/ult/ult_7/while-2.sh +++ /dev/null @@ -1,7 +0,0 @@ -while [ "$variable" != "quit" ] -do - read variable - echo "Input - $variable" -done -exit 0 - diff --git a/ult/ult_8/script.rst b/ult/ult_8/script.rst deleted file mode 100644 index ca2c5ec..0000000 --- a/ult/ult_8/script.rst +++ /dev/null @@ -1,339 +0,0 @@ -.. Objectives -.. ---------- - - .. At the end of this tutorial, you will be able to: - - .. 1. - .. 2. - -.. Prerequisites -.. ------------- - -.. 1. Using Linux tools - Part 1 -.. 2. Using Linux tools - Part 2 -.. 3. Using Linux tools - Part 3 -.. 4. Using Linux tools - Part 4 -.. 5. Using Linux tools - Part 5 -.. 6. Using Linux tools - Part 6 -.. 7. Using Linux tools - Part 7 - - -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 -'Using linux tools - Part 8'. - -.. 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 -tutorial on "Using Linux tools from Part 1 to Part 7". - -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 - -{{{ Show slide, find }}} - -.. R4 - -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. - -.. R5 - -To find the files, which end with an extension, ``.pdf``, saved in the current -folder and all it's subfolders, we say - -.. L5 - -{{{ Open the terminal }}} -:: - - find . -name "*.pdf" - -.. R6 - -The ``find`` command also lists out the directory and sub-directory names -To list them, we say, - -.. L6 -:: - - find . -type d - -.. R7 - -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``. - -.. L7 - -.. R8 - -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. - -.. L8 -:: - - find . -name quick.c - ./Desktop/programs/quick.c - ./c-folder/quick.c - cmp Desktop/programs/quick.c c-folder/quick.c - -.. L9 - -{{{ Show slide, cmp }}} - -.. R9 - -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. - -.. R10 - -Let us now make a small change in one of quick.c file and run the ``cmp`` -command again. - -.. L10 -{{{ Switch to the terminal }}} - -:: - - cmp Desktop/programs/quick.c c-folder/quick.c - -.. R11 - -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. - -.. L11 - -.. L12 -:: - - diff Desktop/programs/quick.c c-folder/quick.c - -.. R12 - -We get back a line by line difference between the two files. - -.. L13 - -{{{ Show slide, diff }}} - -.. R13 - -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. - -.. L14 - -{{{ Show slide, tar }}} - -.. R14 - -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. - -.. R15 - -The following set of commands extracts the contents of the ``allfiles.tar`` -tarball to the directory extract. - -.. L15 - -{{{ Switch to terminal }}} -:: - - mkdir extract - cp allfiles.tar extract/ - cd extract - tar -xvf allfiles.tar - -.. L16 - -{{{ Show slide, extracting an archive }}} - -.. R16 - -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. - -.. R17 - -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. - -.. L17 - -{{{ Switch to terminal }}} -:: - - tar -cvzf newarchive.tar *.txt - -.. R18 - -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`` | -+-------------+------------+ - -.. L18 - -.. R19 - -So, if we wished to create a gzip archive in the previous command, we -change it to the following - -.. L19 -:: - - tar -cvzf newarchive.tar.gz *.txt - -.. L20 - -{{{ Show slide, customizing your shell }}} - -.. R20 - -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. - -.. L21 - -{{{ Switch to 'Summary' slide }}} - -.. R21 - -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. - #. Extract and create compressed archive's using the ``tar`` command. - #. Customize one's shell according to one's choice. - -.. L22 - -{{{ Show self assessment questions slide }}} - -.. R22 - -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? - -.. L23 - -{{{ Solution of self assessment questions on slide }}} - -.. R23 - -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 - OR - $ tar -rf - - -.. L24 - -{{{ Show the Thank you slide }}} - -.. R24 - -Hope you have enjoyed this tutorial and found it useful. -Thank you! - - - diff --git a/ult/ult_8/ult8.tex b/ult/ult_8/ult8.tex deleted file mode 100644 index a34bf53..0000000 --- a/ult/ult_8/ult8.tex +++ /dev/null @@ -1,248 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Using Linux Tools -% -% Author: FOSSEE -% Copyright (c) 2009, FOSSEE, IIT Bombay -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -\documentclass[12pt,compress]{beamer} - -\mode -{ - \usetheme{Warsaw} - \useoutertheme{infolines} - \setbeamercovered{transparent} -} - -\usepackage[english]{babel} -\usepackage[latin1]{inputenc} -%\usepackage{times} -\usepackage[T1]{fontenc} - -% Taken from Fernando's slides. -\usepackage{ae,aecompl} -\usepackage{mathpazo,courier,euler} -\usepackage[scaled=.95]{helvet} - -\definecolor{darkgreen}{rgb}{0,0.5,0} - -\usepackage{listings} -\lstset{language=sh, - basicstyle=\ttfamily\bfseries, - commentstyle=\color{red}\itshape, - stringstyle=\color{darkgreen}, - showstringspaces=false, - keywordstyle=\color{blue}\bfseries} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% DOCUMENT STARTS -\begin{document} - -\begin{frame} - -\begin{center} -\vspace{12pt} -\textcolor{blue}{\huge Using Linux Tools} -\end{center} -\vspace{18pt} -\begin{center} -\vspace{10pt} -\includegraphics[scale=0.95]{../images/fossee-logo.png}\\ -\vspace{5pt} -\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ -\scriptsize Funded by National Mission on Education through ICT\\ -\scriptsize MHRD,Govt. of India\\ -\includegraphics[scale=0.30]{../images/iitb-logo.png}\\ -\end{center} -\end{frame} -\begin{frame} -\frametitle{Objectives} -\label{sec-2} - -At the end of this tutorial, you will be able to, -\begin{itemize} -\item Search for files in many different ways. -\item Compare files with same names. -\item Create and extract an archive. -\item Customize a shell. -\end{itemize} -\end{frame} - -\begin{frame} -\frametitle{Pre-requisite} -\label{sec-3} - -Spoken tutorial on - -\begin{itemize} -\item Using Linux tools -- Part I -\item Using Linux tools -- Part II -\item Using Linux tools -- Part III -\item Using Linux tools -- Part IV -\item Using Linux tools -- Part V -\item Using Linux tools -- Part VI -\item Using Linux tools -- Part VII -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{`find'}} - \begin{itemize} - \item `find' command helps to find files in a directory hierarchy - \item Offers a very complex feature set\\ For eg: search files by name, owner, date,etc. - \item Look at the \texttt{man} page of `find' - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{`cmp'}} - \begin{itemize} - \item Compare two files - \end{itemize} - \begin{lstlisting} - $ find . -name quick.c - ./Desktop/programs/quick.c - ./c-folder/quick.c - $ cmp Desktop/programs/quick.c \ - c-folder/quick.c - \end{lstlisting} % $ - \begin{itemize} - \item No output when the files are exactly the same - \item Else, gives location where the first difference occurs - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{\texttt{`diff'}} - \begin{itemize} - \item We know the files are different, but want exact differences - \end{itemize} - \begin{lstlisting} - $ diff Desktop/programs/quick.c \ - c-folder/quick.c - \end{lstlisting} % $ - \begin{itemize} - \item line by line difference between files - \item \texttt{>} indicates content only in second file - \item \texttt{<} indicates content only in first file - \end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{\texttt{`tar'}} -\begin{itemize} -\item \emph{tarball} -- essentially a collection of files -\item May or may not be compressed -\item Eases the job of storing, backing-up \& transporting files -\end{itemize} -\end{frame} - -\begin{frame}[fragile] -\frametitle{Extracting an archive} - -\begin{lstlisting} -$ mkdir extract -$ cp allfiles.tar extract/ -$ cd extract -$ tar -xvf allfiles.tar -\end{lstlisting} %$ - -\begin{itemize} -\item \texttt{-x} --- Extract files within the archive -\item \texttt{-f} --- Specify the archive file -\item \texttt{-v} --- Be verbose -\end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Compressed archives} - \begin{itemize} - \item \texttt{tar} can create and extract compressed archives - \item Supports compressions like gzip, bzip2, lzma, etc. - \item Additional option to handle compressed archives - \begin{center} - \begin{tabular}{|l|l|}\hline - Compression & Option \\\hline - gzip & \texttt{-z} \\\hline - bzip2 & \texttt{-j} \\\hline - lzma & \texttt{-{}-lzma} \\\hline - \end{tabular} - \end{center} - \end{itemize} - \begin{lstlisting} - $ tar -cvzf newarchive.tar.gz *.txt - \end{lstlisting} % $ -\end{frame} - - -\begin{frame} -\frametitle{Customizing your shell} -\begin{itemize} -\item Bash reads \texttt{/etc/profile}, - \texttt{\textasciitilde{}/.bash\_profile}, - \texttt{\textasciitilde{}/.bash\_login}, and - \texttt{\textasciitilde{}/.profile} in that order, when starting - up as a login shell. -\item \texttt{\textasciitilde{}/.bashrc} is read, when not a login - shell -\item Put any commands that you want to run when bash starts, in this - file. -\end{itemize} -\end{frame} - - -\begin{frame} -\frametitle{Summary} -\label{sec-8} - - In this tutorial, we have learnt to, - - -\begin{itemize} -\item To make use of the ``find'' command find files in a directory hierarchy. -\item To find the differences between files with the same name, using the - ``cmp'' and ``diff'' commands. -\item To extract and create compressed archive's using the ``tar'' command. -\item Customize one's shell according to one's choice. -\end{itemize} -\end{frame} -\begin{frame}[fragile] -\frametitle{Evaluation} -\label{sec-9} - - -\begin{enumerate} -\item Look at the man page of ``find'' and state the options which - deal with symbolic links. -\vspace{8pt} -\item How do you append tar files to an archive ? -\end{enumerate} -\end{frame} -\begin{frame} -\frametitle{Solutions} - -\begin{enumerate} -\item -H, -L and -P options with the ``find'' command -\vspace{15pt} -\item tar -Af -\end{enumerate} - -\end{frame} -\begin{frame} - - \begin{block}{} - \begin{center} - \textcolor{blue}{\Large THANK YOU!} - \end{center} - \end{block} -\begin{block}{} - \begin{center} - For more Information, visit our website\\ - \url{http://fossee.in/} - \end{center} - \end{block} -\end{frame} - -\end{document} - - - -- cgit