%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 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}