. UNIX "Tricks of the UNIX Masters" by Russel G. Sage --------------------------------------------------------------- From: ---------------------------------------------------------------  * *  , - - UNIX . UNIX UNIX , PC-XT AT . - , - , UNIX - . UNIX - . , "" - , UNIX . - UNIX , , , - . UNIX , - , , , MS-DOS ( ). , , , UNIX , - , , - . , , ( ) - , , , . , , UNIX 200 , . , , , UNIX, , . - , , - UNIX. , , , , - . , UNIX.   , , - UNIX. , , , . , UNIX, - , , - . , , UNIX. - , , - UNIX . : - , , , - . UNIX, "UNIX Primer Plus" (" UNIX") (Mitchell Waite), (Donald Martin) (Stephen Prata) (SAMS, 1983) . , - , - - "Advanced UNIX - A Programmer's Guide" (" UNIX") (SAMS, 1985). , .  UNIX  , , UNIX. UNIX (AT&T System V, Microsoft XENIX Berkeley [BSD]), , - - Bourne - . - System V, XENIX Bourne, , . - - Bourne BSD, System V BSD . , , BSD. - - . Bourne , - "Advanced UNIX - A Programmer's Guide". , . , , : - UNIX? - ? - (Bourne, - )? - , - ? - ? su, - ? - - , ? , - , .   , - , , - . 1 - UNIX , . , - UNIX . 2 UNIX - - . 3 - - . 4 , , , - . 5 (home-- ) . - . , - . 6 - - . 7 UNIX, , - . . 8 UNIX - , - . - , , - cu uucp. UNIX , UNIX UNIX. - . 9 - . , - - . UNIX "- ", . , , - , , . 10 UNIX, - , - . , - . - , , , - . - .  * 1. UNIX *  UNIX : a la UNIX UNIX:  UNIX  , - UNIX . UNIX - . - , fsdb sdb, , - . , UNIX, , . , , , ( - ) profile(4), environ(5), term(5), termcap(5) termio(7) UNIX, , - UNIX . UNIX . , UNIX. UNIX , . , , , , . , "" , . " " . - . , - , - , . , , . , , , , - , . - , , . .1-1 . , . - , . - , . "- " , . , , , . , , . , . . 1-1 ------------------------------------------------------------ \ L7 / (scripts) \________________________________/ \ L6 / , \____________________________/ , \ L5 / \________________________/ \ L4 / \____________________/ \ L3 / \________________/ \ L2 / , \____________/ \ L1 / \________/ \ L0 / , \____/ ------------------------------------------------------------  0 -  . . - , - , - . - (), , . , , - . UNIX , , - "". . , , , .  1 -  . - , "" . , . . , , - . , - , - .  2 -  - . - - , . . - , . , , . , , -.  3 -  - , . , , , . - - , , - , , .. - , . , , - . . - , , - . , .  4 -  , - . - , - . , .  5 -  - ( ), - . , , , - . , . - . , , . . - , , - , , , .  6 -  - . , , - , . , - . - , , - ( ). - , UNIX, - shell. , - , , - shell. - , - . - - , , , - , . . . UNIX . - , , , . cat . ls . , - roff, , sed awk - . UNIX , .  7 -  , /bin/sh ( Bourne shell). . , . , , , UNIX. , , - , - . , .  " " UNIX , , . (.. ), . , , , - . , "- " (home-catalog) . "- " - , . - . , .  ? - "" . , - . , , . - , . , ( ) - . , UNIX,- . , . . - . , , , . - . , . . $HOME, . . - , . - ($HOME) .   - , , . . - . - , "" . , - . .1-2 - . , - . , , - . , - , , . , . , . , - , , - . , - /ets/passwd. passwd(4). : russ:.pDIPADYfIXBY:103:101:Russ Sage:/usr/russ:/bin/sh (russ), (.pDI...), (103), (101), , (/usr/russ) shell, (/bin/ sh).   , , : , - , System V, , Berkeley 4.2, , - .  System V - .news_time. - , /usr/news. news(1). - , .news_time. - .profile. - shell . . - calendar (). . calendar(1) , . - . - mbox, . mail(1) , - mbox.  4.2 BSD .cshrc. , cshell. UNIX "rc" " " ("run commands") " " ("run on boot up"). .login .profile sh. , . - .logout. , . , - , , , .. System V . - .msgsrc, msgs(1) Berkeley. .msgsrc , . - /usr/msgs.   , . .lastlog - . , - , lastlog 5. - .trashcan. , , . , , . 3. - .phone.list. . phone (. 5).  adm. - , , , - , .. bbs " ", . , . - , , , . bin , . - . src . , bin, - . doc - . , , , . . etc , . - , - , . /.profile /etc/bcheckrc brc checklist gettydefs group inittab motd mountable unmountable passwd profile rc /usr/lib/crontab /usr/lib/uucp/L.sys USERFILE uudemon.day uudemon.hr uudemon.wk . proj , . , proj, - , , dev (development) qa (quality assurance). , , - . , . - mail. , . . , , bob. src - . , . asm , c , games (), misc (), script - sys , . ( /bin/src, , , .) sys - , . , - , who, ps, uucp, - . - tmp, . , tmp, , can, 3, - . , . , . , . - , , , , .   .profile, ( - - , ), - , . , , . - profile(4). .profile, . - , - , . - . - . .profile . 1 # @(#).profile v1.0 Defines "home" on the system Author: Russ Sage 3 CHOICE="ushort" 4 case $CHOICE in 5 ufull) PS1="`uuname -l`> ";; 6 ushort) PS1="`uuname -l|cut -c1-3`> ";; 7 graphic) PS1="^[[12mj^[[10m ";; 8 esac 10 LOGNAME=`logname` 11 HOME=`grep "^$LOGNAME:" /etc/passwd | cut -d: -f6` 12 MAIL=/usr/spool/mail/$LOGNAME 13 export LOGNAME HOME MAIL 15 HA=$HOME/adm 16 HBB=$HOME/bbs 17 HB=$HOME/bin 18 HD=$HOME/doc 19 HE=$HOME/etc 20 HM=$HOME/mail 21 HP=$HOME/proj 22 HSR=$HOME/src 23 HSY=$HOME/sys 24 HT=$HOME/tmp 25 HDIRS="HA HBB HB HD HE HM HP HSR HSY HT" 26 export $HDIRS HDIRS 28 P=/usr/spool/uucppublic/$LOGNAME; export P 30 CDPATH=.:..:$HOME:$HDIRS 31 PATH=.:/bin/:/usr/bin:/etc:$HOME/bin 32 SHELL=`grep "^$LOGNAME:" /etc/passwd|cut -d: -f7` 33 export CDPATH PATH SHELL 35 case "`basename \`tty\``" in 36 console) eval `tset -m ansi:ansi -m :\?ansi -r -s -Q`;; 37 tty00) eval `tset -m ansi:ansi -m :\?ansi -r -s -Q`;; 38 tty01) eval `tset -m ansi:ansi -m :\?ansi -r -s -Q`;; 38 esac 41 echo TERM = $TERM 42 TERMCAP=/etc/termcap 43 export TERM TERMCAP 45 HZ=20 46 TZ=PST8PDT 47 export HZ TZ 49 umask 0022 51 echo "\nTime of this login : `date`" 52 lastlog -l 54 RED="^[[31m" 55 GREEN="^[[32m" 56 YELLOW="^[[33m" 57 BLUE="^[[34m" 58 CYAN="^[[35m" 60 case "`date|cut -d' ' -f1`" in 61 Mon) echo "$RED";; 62 Tue) echo "$GREEN";; 63 Wed) echo "$YELLOW";; 64 Thu) echo "$BLUE";; 65 Fri) echo "$CYAN";; 66 esac  .profile , shell '-' (, -sh). - shell, . /etc/profile - , - , .profile . shell . /etc/ profile - , . .profile , ". .profile" ( ".profile", , - - . ). , - ( shell), - - . shell , , , . shell - shell. - shell "". , , - - shell. shell, - , . 1. , - , , shell, . , .   3-8 - PS1. 3 , - . ushort , . ufull, uucp . - , . , . , - , . uucp, , - ushort, . - 6, uuname - ( -l). cut, . . , - . 7 . , - . ^[ - vi. vi, control-v, ESC. ESC[12m , . j - , . - , . ESC[10m - , , , ESC[10m, . shell, . $ shell . 10 LOGNAME logname(1). logname - UNIX, - /etc/passwd. , , . 11 HOME. - , , - , . , LOGNAME. , - :, , - . cut, - . , - , /etc/passwd. 12 MAIL. MAIL, - , , on line. 13 , shell. 15-24 - . , - . : $ cd $HD $ ls -R $HSR $ cu -ltty00 dir