Содержание

Слайд 2

http://www.cs.ucr.edu/~weesan/cs183/ Roadmap What is Unix? What is Linux? Which Linux Distribution

http://www.cs.ucr.edu/~weesan/cs183/

Roadmap

What is Unix?
What is Linux?
Which Linux Distribution is better?
Fish vs. Fishing
Basic

Commands
Vi and Emacs
Q&A
References
Слайд 3

http://www.cs.ucr.edu/~weesan/cs183/ What is Unix? A multi-task and multi-user Operating System Developed

http://www.cs.ucr.edu/~weesan/cs183/

What is Unix?

A multi-task and multi-user Operating System
Developed in 1969 at

AT&T’s Bell Labs by
Ken Thompson (Unix)
Dennis Ritchie (C)
Douglas Mcllroy (Pipes - Do one thing, do it well)
Some other variants: System V, Solaris, SCO Unix, SunOS, 4.4BSD, FreeBSD, NetBSD, OpenBSD, BSDI
Слайд 4

http://www.cs.ucr.edu/~weesan/cs183/ What is Linux? A clone of Unix Developed in 1991

http://www.cs.ucr.edu/~weesan/cs183/

What is Linux?

A clone of Unix
Developed in 1991 by Linus Torvalds,

a Finnish graduate student
Inspired by and replacement of Minix
Linus' Minix became Linux
Consist of
Linux Kernel
GNU (GNU is Not Unix) Software
Software Package management
Others

http://www.linuxdevices.com/files/misc/ibm-watchpad.jpg

Слайд 5

http://www.cs.ucr.edu/~weesan/cs183/ What is Linux? Originally developed for 32-bit x86-based PC Ported

http://www.cs.ucr.edu/~weesan/cs183/

What is Linux?

Originally developed for 32-bit x86-based PC
Ported to other architectures,

eg.
Alpha, VAX, PowerPC, IBM S/390, MIPS, IA-64
PS2, TiVo, cellphones, watches, Nokia N810, NDS, routers, NAS, GPS, …

* See references at the end
for the corresponding websites.

Слайд 6

http://www.cs.ucr.edu/~weesan/cs183/ Which Linux Distribution is better? > 300 Linux Distributions Slackware

http://www.cs.ucr.edu/~weesan/cs183/

Which Linux Distribution is better?

> 300 Linux Distributions
Slackware (one of the

oldest, simple and stable distro.)
Redhat
RHEL (commercially support)
Fedora (free)
CentOS (free RHEL, based in England)
SuSe ( based in German)
Gentoo (Source code based)
Debian (one of the few called GNU/Linux)
Ubuntu (based in South Africa)
Knoppix (first LiveCD distro.)

Слайд 7

http://www.cs.ucr.edu/~weesan/cs183/ Which Linux Distribution is better? Source: http://futurist.se/gldt/ CentOS Ubuntu Knoppix Gentoo Slackware Redhat Debian

http://www.cs.ucr.edu/~weesan/cs183/

Which Linux Distribution is better?

Source:
http://futurist.se/gldt/

CentOS

Ubuntu

Knoppix

Gentoo

Slackware

Redhat

Debian

Слайд 8

http://www.cs.ucr.edu/~weesan/cs183/ Which Linux Distribution is better? Ask yourself these questions (from

http://www.cs.ucr.edu/~weesan/cs183/

Which Linux Distribution is better?

Ask yourself these questions (from LAH)
Is it

going to be around in 5 yrs?
Is it giong to stay on top of the latest security patches?
Is it going to release updated software promptly?
If I have problems, will the vendor talk to me?
Personally, I use Slackware
But, we will use CentOS (possibly along with Slackware :)
Слайд 9

http://www.cs.ucr.edu/~weesan/cs183/ Fish vs. Fishing Manpage $ man ls $ man 2

http://www.cs.ucr.edu/~weesan/cs183/

Fish vs. Fishing

Manpage
$ man ls
$ man 2 mkdir
$ man man
$ man

-k mkdir
Manpage sections (LAH Table 1.2 @ page 12)
1 User-level cmds and apps
/bin/mkdir
2 System calls
int mkdir(const char *, …);
3 Library calls
int printf(const char *, …);

4 Device drivers and network protocols
/dev/tty
5 Standard file formats
/etc/hosts
6 Games and demos
/usr/games/fortune
7 Misc. files and docs
man 7 locale
8 System admin. Cmds
/sbin/reboot
$ manpath
$ env | grep MANPATH
/etc/man.config

Слайд 10

http://www.cs.ucr.edu/~weesan/cs183/ Fish vs. Fishing (cont) Google linux package management -rpm “linux

http://www.cs.ucr.edu/~weesan/cs183/

Fish vs. Fishing (cont)

Google
linux package management -rpm
“linux package management” -rpm
linux OR

windows
rpm site:redhat.com
linux faq filetype:pdf
Info
Text-base, menu-based help from GNU
?, h, u, t, ^N, ^P, Enter
$ info info
Слайд 11

http://www.cs.ucr.edu/~weesan/cs183/ Basic Commands ls $ ls -l $ ls -a $

http://www.cs.ucr.edu/~weesan/cs183/

Basic Commands

ls
$ ls -l
$ ls -a
$ ls -la
$ ls -l --sort=time
$

ls -l --sort=size -r
cd
$ cd /usr/bin
pwd
$ pwd
~
$ cd ~
~user
$ cd ~weesan
What will “cd ~/weesan” do?

which
$ which ls
whereis
$ whereis ls
locate
$ locate stdio.h
$ locate iostream
rpm
$ rpm -q bash
$ rpm -qa
$ rpm -qa | sort | less
find
$ find / | grep stdio.h
$ find /usr/include | grep stdio.h

Слайд 12

http://www.cs.ucr.edu/~weesan/cs183/ Basic Commands (cont) echo $ echo “Hello World” $ echo

http://www.cs.ucr.edu/~weesan/cs183/

Basic Commands (cont)

echo
$ echo “Hello World”
$ echo -n “Hello World”
cat
$ cat

/etc/motd
$ cat /proc/cpuinfo
cp
$ cp foo bar
$ cp -a foo bar
mv
$ mv foo bar
mkdir
$ mkdir foo

rm
$ rm foo
$ rm -rf foo
$ rm -i foo
$ rm -- -foo
chgrp
$ chgrp bar /home/foo
chsh
$ chsh foo
chfn
$ chfn foo
chown
$ chown -R foo:bar /home/foo

Слайд 13

http://www.cs.ucr.edu/~weesan/cs183/ Basic Commands (cont) tar $ tar cvfp lab1.tar lab1 gzip

http://www.cs.ucr.edu/~weesan/cs183/

Basic Commands (cont)

tar
$ tar cvfp lab1.tar lab1
gzip
$ gzip -9 lab1.tar
untar &

ungzip
$ gzip -cd lab1.tar.gz | tar xvf –
$ tar xvfz lab1.tar.gz
touch
$ touch foo
$ cat /dev/null > foo

Pipe
$ cal > foo
$ cat /dev/zero > foo
$ cat < /etc/passwd
$ who | cut -d’ ‘ -f1 | sort | uniq | wc –l
backtick
$ echo “The date is `date`”
$ echo `seq 1 10`
Hard, soft (symbolic) link
ln vmlinuz-2.6.24.4 vmlinuz
ln -s firefox-2.0.0.3 firefox

Слайд 14

http://www.cs.ucr.edu/~weesan/cs183/ Basic Commands (cont) Disk usage $ df -h / File

http://www.cs.ucr.edu/~weesan/cs183/

Basic Commands (cont)

Disk usage
$ df -h /
File space usage
$ du -sxh

~/
Advance stuff ☺
$ ssh eon who
$ ssh eon ‘cd .html ; tar cvfp - cs183 | gzip -9c’ | tar xvfpz -
$ ssh kilo-1 ‘tar cvfp - /extra/weesan’ | tar xvfp - -C /
Слайд 15

http://www.cs.ucr.edu/~weesan/cs183/ Vi 2 modes Input mode ESC to back to cmd

http://www.cs.ucr.edu/~weesan/cs183/

Vi

2 modes
Input mode
ESC to back to cmd mode
Command mode
Cursor movement
h (left),

j (down), k (up), l (right)
^f (page down)
^b (page up)
^ (first char.)
$ (last char.)
G (bottom page)
:1 (goto first line)
Swtch to input mode
a (append)
i (insert)
o (insert line after
O (insert line before)

Delete
dd (delete a line)
d10d (delete 10 lines)
d$ (delete till end of line)
dG (delete till end of file)
x (current char.)
Paste
p (paste after)
P (paste before)
Undo
u
Search
/
Save/Quit
:w (write)
:q (quit)
:wq (write and quit)
:q! (give up changes)

Слайд 16

http://www.cs.ucr.edu/~weesan/cs183/ Emacs $ emacs Cursor movement ^f (forward one char.) ^b

http://www.cs.ucr.edu/~weesan/cs183/

Emacs

$ emacs
Cursor movement
^f (forward one char.)
^b (backward one char.)
^a (begin of

line)
^e (end of line)
^n (next line)
^p (prev. line)
^v (page up)
alt-v (page down)
Deletion
^d (delete one char)
alt-d (delete one word)
^k (delete line)

Paste
^y (yank)
Undo
^/
Load file
^x^f
Cancel
^g
Save/Quit
^x^c (quit w/out saving)
^x^s (save)
^x^w (write to a new file)

Слайд 17

http://www.cs.ucr.edu/~weesan/cs183/ Q&A

http://www.cs.ucr.edu/~weesan/cs183/

Q&A

Слайд 18

http://www.cs.ucr.edu/~weesan/cs183/ References LAH Ch 1: Where to Start Unix history http://en.wikipedia.org/wiki/Unix

http://www.cs.ucr.edu/~weesan/cs183/

References

LAH
Ch 1: Where to Start
Unix history
http://en.wikipedia.org/wiki/Unix
http://upload.wikimedia.org/wikipedia/commons/7/77/Unix_history-simple.svg
Linus Torvalds
http://en.wikipedia.org/wiki/Linus_Torvalds
Linux Kernel
http://www.kernel.org/

Слайд 19

http://www.cs.ucr.edu/~weesan/cs183/ References GNU (Gnu’s Not Unix) http://www.gnu.org/ Linux Distribution http://en.wikipedia.org/wiki/Linux_distribution http://en.wikipedia.org/wiki/List_of_Linux_distributions

http://www.cs.ucr.edu/~weesan/cs183/

References

GNU (Gnu’s Not Unix)
http://www.gnu.org/
Linux Distribution
http://en.wikipedia.org/wiki/Linux_distribution
http://en.wikipedia.org/wiki/List_of_Linux_distributions
PS2: Computational Cluster
http://arrakis.ncsa.uiuc.edu/ps2/cluster.php
Linux Gadgets
http://linuxdevices.com/articles/AT4936596231.html
TiVo
http://dynamic.tivo.com/linux/linux.asp