eg-253:unixlab1
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
eg-253:unixlab1 [2007/10/02 17:52] – eechris | eg-253:unixlab1 [2011/01/14 12:46] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~SLIDESHOW~~ | ||
+ | |||
+ | |||
+ | |||
+ | ====== Introduction to Linux --- Lab 1 ====== | ||
+ | |||
+ | **Module**: EG-253 Practical Internet Technology II | ||
+ | |||
+ | **Date of last presentation**: | ||
+ | |||
+ | **Presented by**: Dr Chris P. Jobling | ||
+ | |||
+ | |||
+ | ===== Acknowledgement ===== | ||
+ | |||
+ | This lecture is adapted from the lecture created for CS-244 and CS-M74 | ||
+ | Andy Gimblett of the Department of Computer Science. | ||
+ | |||
+ | |||
+ | ===== Contents ====== | ||
+ | |||
+ | [[eg-253: | ||
+ | |||
+ | |||
+ | |||
+ | ===== Introduction to this component ===== | ||
+ | |||
+ | * Aims and Motivation | ||
+ | * Lectures and Assessment | ||
+ | * Recommended Reading | ||
+ | |||
+ | |||
+ | ===== Aims and Motivation ===== | ||
+ | |||
+ | //Aims:// | ||
+ | *Understand concepts. | ||
+ | *Know how to use tools and commands. | ||
+ | // | ||
+ | * C, future modules (eg EG-244, EG-252, EG-259, CS-228). | ||
+ | * Useful in industry. | ||
+ | * Comparative analysis vs. Windows | ||
+ | |||
+ | =====Lectures & Assessment ===== | ||
+ | |||
+ | * 3 lecture/ | ||
+ | * One coursework (10% of EG-253). | ||
+ | |||
+ | =====Recommended Reading ===== | ||
+ | |||
+ | * //Running Linux// (O' | ||
+ | * //Linux in a Nutshell// (O' | ||
+ | * // | ||
+ | * //Linux Documentation Project// (www.tldp.org) | ||
+ | * // | ||
+ | * //Linux Dictionary// | ||
+ | * //Linux Cookbook// | ||
+ | * '' | ||
+ | |||
+ | \section{Introducing Unix} | ||
+ | |||
+ | \subsection{Context \& History} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Context \& History --- Unix} | ||
+ | |||
+ | \begin{itemize} | ||
+ | |||
+ | * 1960s: MULTICS project at AT\&T Bell Labs, abandoned. | ||
+ | |||
+ | * 1960s: UNIX an attempt to capture the best bits. | ||
+ | |||
+ | * Aims: | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Portable. | ||
+ | |||
+ | * Simple, small, elegant --- but powerful. | ||
+ | |||
+ | * Promote code re-use. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | * Reject ``User Friendly means Easy To Learn'' | ||
+ | |||
+ | * Assume user knows what they' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Context \& History --- GNU To Linux} | ||
+ | |||
+ | \begin{itemize} | ||
+ | |||
+ | * 1980s: Multiple Unix vendors, jealously guarded IP. | ||
+ | |||
+ | * //RMS// decides to create an open and free Unix-like OS. | ||
+ | |||
+ | * GNU Project --- responsible for loads of great software. | ||
+ | |||
+ | * Early 1990s: Linus Torvalds plays with MINIX, decides to have a go. | ||
+ | |||
+ | * Internet facilitates collaboration, | ||
+ | |||
+ | * Linux kernel + GNU tools = Linux we know and love. | ||
+ | |||
+ | * Lots of flavours, but open so feed off each other. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \subsection{Unix Essentials} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====System Overview} | ||
+ | |||
+ | \begin{center} | ||
+ | \includegraphics[angle=270, | ||
+ | \end{center} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Kernel} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Central part of OS. | ||
+ | |||
+ | * Concerned with managing hardware and other system resources. | ||
+ | |||
+ | * Whatever you do, the kernel is involved. | ||
+ | |||
+ | * Never accessed directly by user, however. | ||
+ | |||
+ | * Provides access to its facilities via \textbf{system calls}. | ||
+ | |||
+ | * Really ``Linux'' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Applications \& Utilities} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * The programs which access the kernel via system calls. | ||
+ | |||
+ | * Things which make system useful and useable. | ||
+ | |||
+ | * Basically anything that runs on the system. | ||
+ | |||
+ | * One of the two main topics of this course. | ||
+ | |||
+ | * Examples: cp, gcc, slogin, gimp | ||
+ | |||
+ | * One important class of apps: apps for running other apps. | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Shells | ||
+ | |||
+ | * Graphical Environments | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Shells} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * The other main topic of this course. | ||
+ | |||
+ | * Command-line environment within which other runs are run. | ||
+ | |||
+ | * Like the DOS Prompt/ | ||
+ | |||
+ | * Unlike Windows, no single ``best'' | ||
+ | |||
+ | * De facto standard in Linux is \textbf{bash}, | ||
+ | |||
+ | * Others: sh, csh, zsh, tcsh, ksh, etc. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Graphical Environments} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * X Window --- toolkit for graphics mode programs. | ||
+ | |||
+ | * Windows Manager --- provides look-and-feel for programs | ||
+ | running under X. | ||
+ | | ||
+ | * Desktop Environment --- Extra layer providing comfortable \& | ||
+ | easy environment for working. | ||
+ | |||
+ | * Not really of concern on this course. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \section{Getting Started with Linux} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Getting Started} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Logging In --- enter username \& password. | ||
+ | |||
+ | * Logging Out --- just like Windows. (?) | ||
+ | |||
+ | * Menu system --- should be explored. | ||
+ | |||
+ | * Running a Shell | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Look for '' | ||
+ | '' | ||
+ | |||
+ | * Ensure you're running '' | ||
+ | |||
+ | * To exit: '' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \subsection{Essential Commands} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Essential Commands (1)} | ||
+ | |||
+ | //nb:} \textbf{Case Sensitive!!!// | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Essential Commands (2)} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | a time. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \subsection{Getting Help} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Getting Help --- '' | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * Standard form, hard to read at first, but \textbf{essential} | ||
+ | skill. | ||
+ | |||
+ | * Chapters: '' | ||
+ | |||
+ | * Read from chapter '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | READ THE MAN PAGES!!! | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Getting Help --- '' | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * GNU Project' | ||
+ | |||
+ | * Much more complicated than '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * Hit '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \subsection{Bash Tips \& Tricks} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | =====Bash Tips \& Tricks --- History} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * Bash remembers what commands you've typed. | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * Up and down arrows for quick navigation. | ||
+ | |||
+ | * '' | ||
+ | |||
+ | * Then '' | ||
+ | |||
+ | * Ctrl-r to reverse-search through history. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \begin{frame} | ||
+ | |||
+ | ====== Bash Tips \& Tricks --- Tab Completion} | ||
+ | |||
+ | \begin{itemize} | ||
+ | | ||
+ | * The Best Thing Since Sliced Bread. | ||
+ | |||
+ | * Bash will guess file \& directory names for you when you hit | ||
+ | tab. | ||
+ | |||
+ | * Guesses as far as it can. Then provide more letters to | ||
+ | remove ambiguity. | ||
+ | |||
+ | * Will give you all the choices if you keep hitting tab. | ||
+ | |||
+ | * An incredible timesaver --- you owe it to yourself to use it. | ||
+ | |||
+ | * Can also prevent mistyped filenames. | ||
+ | |||
+ | \end{itemize} | ||
+ | |||
+ | \end{frame} | ||
+ | |||
+ | \end{document} | ||
+ | |||
+ | \endinput | ||