Unix Ramblings


Published on


  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Unix Ramblings

  1. 1. Random Unix Ramblings Bill C. MillerAllPlayers.com eat-n-geek 7/26/12
  2. 2. Very Brief History of Unix...● GE / Bell Labs / MIT joined together on Multics project way back in 1965 (MAC - Multiple Access Computers project) ○ simultaneous computer access to large community (1st time share) ○ easy data sharing between users● AT&T/ Bell Labs says enough we are stopping multics project it failed (1969)● Multics later finished in 1972
  3. 3. Very Brief History of Unix...● Ken Thompson/Dennis Ritchie work on it on their own as they needed on OS for a PDP-7 to play space travel game● The result was system which a punning colleague called UNICS (UNiplexed Information and Computing Service) -- an emasculated Multics; soon changed to UNIX
  4. 4. UNIX Created● Designed to be small and simple OS● 1st written on PDP-7 in 1969, then PDP- 11 on 1970● 1973, Ritchie and Thompson rewrote kernel in C as 1st portable operating system (hardware independent)
  5. 5. Flavors of *nix● ATT (BTL) UNIX● BSD UNIX - ATT gave source code to universities since not in computer business, and was picked up by Berkley forking to BSD 1977● SUNos from BSD as well as openbsd, netbsd, next, macos● Xenix - MSs UNIX, later by SCO● ATT goes commercial system V - 1979● Posix standard to get best of BSD and V● Linux
  6. 6. Error Code.. bah hum bug...ON being told most of the code being writtenfor multics was for error recovery Ritchie -- "We left all that stuff out. Iftheres an error, we have this routine calledpanic, and when it is called, the machinecrashes, and you holler down the hall, "Hey,reboot it"
  7. 7. UNIX Hall of Fame● Ken Thompson - b, fortran,ed, sort,grep, uniq, plot,dd,..● Dennis Ritchie - C, fork-exec,db,ed, fortran● Steve Bourne - bourne shell (sh), adb,..● Bill Joy - BSD UNIX, vi, csh, and founder of SUN micro, adding TCP/IP to BSD..● Brian Kernigham - name UNIX, awk, troff, eqn,..
  8. 8. UNIX Hall of Fame● David Korn - Korn shell,..● Richard Stallman -- FSF, emacs, GNU,..● Brian Fox - bash shell while at FSF, emacs maintainer, GNU tools● Linus Torvalds -- LINUX using GNU tools
  9. 9. UNIX NUT2 - Tools/APPS -- commands and programs -- applications, programs1 - SHell -- interprets commands, executesprograms, and internal commands -- system calls, libraries0 - Kernel -- schedules tasks and managesstorage and devices -- Hardware
  10. 10. The Power of UNIX● Multi-user● Multi-tasking● Portable (hardware independent)● Extensible (easy to add to scripts, commands, ...)● Robust (rare crashing, permissions, simple filesystem used for files,disks, devices, pipes,...)● Tools (many from the early days to years and years of contributed tools) -- modular
  11. 11. The Power of UNIX● disks, directory -- all the same to a user, and easy to mount a disk anywhere● easy to navigate hierarchical file system and links● file system i/o, is all the same regardless if a file, device, network stream, pipe, stdin (fd = 0) ,stdout (fd = 1) , stderr (fd =2), - , /dev/null ○ all progs have access to stdin/stdout/stderr
  12. 12. Some special chars● # -- comment● ; -- chain commands● -- extend a line or quote char● < > -- redirect input , output● << >> -- redirect append input , output| -- pipe output● ` -- run command and place output as ..● " -- quote input as a unit● -- quote without variable replace
  13. 13. Some special chars● & -- run command in background● ? , *, [a-z] char matching..● ~ , users home dir shortcut● cat file >afile 2>&1 (stderr to stdout) ○ but not cat file 2>&1 >afile● .....
  14. 14. Some Terminal Control Chars● ^o - flush● ^s - stop● ^q - start● ^z- background (&, fg, bg, and %#)● ^c - interrupt● ^u - kill● ^d - end input● ^ - terminate with core file● ......
  15. 15. Command line editing● used emacs bindings on linux unless exported env for VISUAL or EDITOR● ^a - front of line, ESC-a (sentence)● ^e - end of line, ESC-e (sentence)● ^k - kill line● ^y - yank kill ring● ^p - previous line● ^n - Next line● <tab> completion for files
  16. 16. Command line editing● ^f - foward char , ESC-f (word)● ^b - back char , ESC-b (word)● ^s - search forward, ^r search backward● .....
  17. 17. Common directories● /tmp● /dev/null● / or /root● /home● /usr (/usr/local, /usr/bin, /usr/lib)● /var (/var/log,/var/lib, /var/tmp, /var/run, /var/crash,/var/mail,/var/spool,/var/local)● /opt
  18. 18. UNIX tools............● some shell built-ins, many std, and many add-ons● Directory navigation / Files ○ cd, pwd ○ pushd, popd ○ ls ○ file ○ strings ○ which ○ whereis
  19. 19. File & display commands● find● locate● touch● mkfile● sum● nl, wc● cat, zcat, od, hd, echo● grep, egrep● more, less, pg● head● tail
  20. 20. Various● man, man -k● clear● stty● script● tee● xargs● bc● banner● fortune● spell
  21. 21. Manipulate text strings +● sed, ed● awk● cut● sort● uniq● tr
  22. 22. Host related● w● who● finger● uptime● uname● hostname● last● top● date , cal
  23. 23. Command Control● time● watch● sleep● kill, pkill, killall● nohup● nice, renice● ps● cron, at
  24. 24. Debugging , monitoring● lsof● gdb● strace, ptrace, truss● fuser● ldd● nm
  25. 25. stats performance● sar● iostat● vmstat● mpstat● ipcs,ipcrm● nfsstat●
  26. 26. Network● ifconfig● netstat● route● tcpdump,snoop● nettop● nslookup, dig,● ping, traceroute● iptables, ipchains
  27. 27. disk● df● du● mount● exportfs● fdisk● dd● mkfs● tar, dump
  28. 28. Permissions and account ● su ● chmod ● chown ● chgrp ● groups ● passwd ● login ● acl