Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
138 views4 pages

Lecture Summary: Course Introduction and Syllabus

The document summarizes a lecture on Linux and the Unix environment. It introduces Linux and Unix operating systems and the bash shell. It describes key operating system concepts like the kernel and features provided by operating systems. It also outlines some basic shell commands for navigating directories and manipulating files, and emphasizes using manual pages to learn more about commands.

Uploaded by

SaravanaRaajaa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
138 views4 pages

Lecture Summary: Course Introduction and Syllabus

The document summarizes a lecture on Linux and the Unix environment. It introduces Linux and Unix operating systems and the bash shell. It describes key operating system concepts like the kernel and features provided by operating systems. It also outlines some basic shell commands for navigating directories and manipulating files, and emphasizes using manual pages to learn more about commands.

Uploaded by

SaravanaRaajaa
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

3/26/2012

Lecture summary
Course introduction and syllabus

CSE 390a Lecture 1


introduction to Linux/Unix environment

Unix and Linux operating system Introduction to Bash shell

slides created by Marty Stepp, modified by Jessica Miller & Ruth Anderson http://www.cs.washington.edu/390a/

Course Staff
Me:
Ruth Anderson, rea@cs Office hours: TBA, CSE 360

Course Introduction
CSE390a
Collection of tools and topics not specifically addressed in other courses that CSE majors should know
*nix command line interface (CLI), Shell scripting, compilation tools (makefiles), version control

Credit / No Credit course, determined by short weekly assignments and a final assignment

Bring to Class next week:


Name Email address Year (1,2,3,4) Major Hometown Interesting Fact or what I did over break.
5

Operating systems
What is an OS? Why have one? What is a Kernel?

3/26/2012

Operating systems
operating system: Manages activities and resources of a computer.
software that acts as an interface between hardware and user provides a layer of abstraction for application developers

Unix
brief history:
Multics (1964) for mainframes Unix (1969) K&R Linus Torvalds and Linux (1992)

features provided by an operating system:


ability to execute programs (and multi-tasking) memory management (and virtual memory) file systems, disk and network access an interface to communicate with hardware a user interface (often graphical)

key Unix ideas:


written in a high-level language (C) virtual memory hierarchical file system; "everything" is a file lots of small programs that work together to solve larger problems security, users, access, and groups human-readable documentation included
7 8

kernel: The lowest-level core of an operating system.

On to Linux

Linux
Linux: A kernel for a Unix-like operating system.
commonly seen/used today in servers, mobile/embedded devices, ...

GNU: A "free software" implementation of many Unix-like tools


many GNU tools are distributed with the Linux kernel

distribution: A pre-packaged set of Linux software.


examples: Ubuntu, Fedora

key features of Linux:


open source software: source can be downloaded free to use constantly being improved/updated by the community
9 10

Courtesy XKCD.com

Features of Linux
X-windows window managers desktop environments
Gnome KDE

Exercises
Install Linux and boot it up successfully. Load the course web site in Linux. Install a new game on Linux and play it. Get Linux to play an MP3.

How can I try out Linux?


CSE basement labs at home (install Linux via Live CD, virtual machine, etc.) attu shared server

The Linux help philosophy: "RTFM" (Read the F***ing Manual)


11 12

3/26/2012

Shell
shell: An interactive program that uses user input to manage the execution of other programs.
bash : the default shell program on most Linux/Unix systems

Shell
shell: An interactive program that uses user input to manage the execution of other programs.
bash : the default shell program on most Linux/Unix systems

Why should I learn to use a shell when GUIs exist?

Why should I learn to use a shell when GUIs exist?


faster work remotely programmable customizable repeatable

13

14

Shell commands
command exit ls pwd cd man description logs out of the shell lists files in a directory outputs the current working directory changes the working directory brings up the manual for a command . .. ~

Relative directories
directory description the directory you are in ("working directory") the parent of the working directory (../.. is grandparent, etc.) your home directory (on many systems, this is /home/username ) username's home directory your desktop

~username ~/Desktop

$ pwd /homes/iws/dravir $ cd CSE390 $ ls file1.txt file2.txt $ ls l -rw-r--r-- 1 dravir vgrad_cs 0 2010-03-29 17:45 file1.txt -rw-r--r-- 1 dravir vgrad_cs 0 2010-03-29 17:45 file2.txt $ cd .. $ man ls $ exit

15

16

Directory commands
command ls pwd cd mkdir rmdir description list files in a directory output the current working directory change the working directory create a new directory delete a directory (must be empty)

Shell commands
many accept arguments or parameters
example: cp (copy) accepts a source and destination file path

a program uses 3 streams of information:


stdin, stdout, stderr (standard in, out, error)

some commands (cd, exit) are part of the shell ("builtins") others (ls, mkdir) are separate programs the shell runs

input: comes from user's keyboard output: goes to console errors can also be printed (by default, sent to console like output) parameters vs. input
parameters: before Enter is pressed; sent in by shell input: after Enter is pressed; sent in by user
17 18

3/26/2012

Command-line arguments
most options are a - followed by a letter such as -c
some are longer words preceded by two - signs, such as --count

Shell/system commands
command man or info clear exit command date cal uname description get help on a command clears out the output from the console exits and logs out of the shell description output the system date output a text calendar print information about the current system

options can be combined: ls -l -a -r can be ls -lar many programs accept a --help or -help option to give more information about that command (in addition to man pages)
or if you run the program with no arguments, it may print help info

for many commands that accept a file name argument, if you omit the parameter, it will read from standard input (your keyboard)

"man pages" are a very important way to learn new commands


man ls man man
19 20

File commands
command cp mv rm touch copy a file move or rename a file delete a file create a new empty file, or update its last-modified time stamp description

caution: the above commands do not prompt for confirmation


easy to overwrite/delete a file; this setting can be overridden (how?)

Exercise : Given several albums of .mp3 files all in one folder, move them into separate folders by artist. Exercise : Modify a .java file to make it seem as though you finished writing it on Dec 28 at 4:56am.
21

You might also like