際際滷

際際滷Share a Scribd company logo
http://www.cs.ucr.edu/~weesan/cs183/
Linux Basics
WeeSan Lee <weesan@cs.ucr.edu>
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
http://www.cs.ucr.edu/~weesan/cs183/
What is Unix?
 A multi-task and multi-user Operating System
 Developed in 1969 at AT&Ts 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
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
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.
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.)
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?
 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 :)
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
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
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
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
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
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 /
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)
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)
http://www.cs.ucr.edu/~weesan/cs183/
Q&A
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/
http://www.cs.ucr.edu/~weesan/cs183/
References
 GNU (Gnus 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
http://www.cs.ucr.edu/~weesan/cs183/
References
 Nintendo DS Lite
 http://www.nintendo.com/ds/
 Nokia N810
 http://www.nokia.com/
 http://www.engadget.com/2007/10/17/nokia-n810-gets-official/
 Linux Distribution
 http://en.wikipedia.org/wiki/Linux_distribution
 GNU/Linux Distro Timeline: http://futurist.se/gldt/
 http://www.distrowatch.com/
 http://www.linux.org/dist/
 Google Advance Search
 http://www.google.com/intl/en/help/refinesearch.html

More Related Content

01_linux_basics.ppt

  • 2. 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 in 1969 at AT&Ts 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 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 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 (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
  • 8. 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 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 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 $ 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 -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 $ 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 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 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 (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)
  • 18. 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 (Gnus 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
  • 20. http://www.cs.ucr.edu/~weesan/cs183/ References Nintendo DS Lite http://www.nintendo.com/ds/ Nokia N810 http://www.nokia.com/ http://www.engadget.com/2007/10/17/nokia-n810-gets-official/ Linux Distribution http://en.wikipedia.org/wiki/Linux_distribution GNU/Linux Distro Timeline: http://futurist.se/gldt/ http://www.distrowatch.com/ http://www.linux.org/dist/ Google Advance Search http://www.google.com/intl/en/help/refinesearch.html