cu ( escape, exit), stty, : ~!stty < /dev/tty00 stty /dev/tty00. 1200. Smartmodem 300 . 300 . - cu 300 , 300 cu. , ( 1200 ), L-devices cu, : $ cu -ltty00 -s300 dir , . cu 1200, ( escape) cu stty, 300 . , cu. , (.. cu exit). . : $ cu -ltty00 dir # 1200 Connected # cu ~!stty 300 < /dev/tty00 # cu # tty # 300 , 300 L-devices, cu. , ( escape) cu UNIX. , : ~!echo "you can run any command here" shell , : ~!sh , , , cu , - , , -.   , . , . cu . , - RAM-, , . UNIX . , - , , tee UNIX. , , (stdout) tee. : cu -ltty00 dir | tee _ , , , tee. "^M" . , ed: ed _ 1,$s/^M//g w q . (1, $) (^M) (//). ("g" ). control-M (\) , vi control-V . ed. , shell.   , , . , . -------------------------------------------------------- : cuchk -------------------------------------------------------- cuchk Cu check - cu  cu. , .   cuchk - , cu   cuchk   1 : 2 # @(#) cuchk v1.0 Check for a free cu line Author: Russ Sage cu 4 if [ "$#" -gt "0" ] 5 then echo "cuchk: too many arguments" >&2 6 echo "usage: cuchk" >&2 7 exit 1 8 fi 10 while : 11 do 12 ps -e | fgrep cu > /dev/null \ 13 && sleep 5 14 || { echo "\ncu is free"; exit; } 15 done &  cuchk? , UNIX . , . , , , . , , ? cuchk? cuchk . , . cuchk , . cu ( , ), 5 . cu, , "cu is free" ("cu ") . , cuchk, . , , !  4-8 . cuchk , . , . 10-15 while. , 15 cuchk , . 12 "ps -e", . fgrep. fgrep "cu". , cu, . , , - , "picuser" - . fgrep /dev/null, . fgrep. , "cu" . 12 , shell, 12, . , . 13 , fgrep (.. ). , "cu" , cu . cuchk 5 . , 10, . fgrep "cu" ( ), 14, , cu , . , , cu , . ---------------------------------------------------- : talk ---------------------------------------------------- talk  , .   talk [-bBAUD] [-l] [-tTTY] [-u] : -b -l -t tty -u UNIX 9600   talk -b300 -t01 -l tty01 300 .   1 : 2 # @(#) talk v1.0 Talk to the serial port Author: Russ Sage 4 BAUD="1200" 5 TTY="tty11" 6 PIPE="" 8 for ARG in $@ 9 do 10 case $ARG in 11 -b*) BAUD="`echo $ARG|cut -c3-`";; 12 -l) echo "logging in /tmp/talk.$$" 13 PIPE="| tee /tmp/talk.$$";; 14 -t*) TTY="tty`echo $ARG|cut -c3-`";; 15 -u) BAUD="9600";; 16 *) echo "talk: invalid argument $ARG" >&2 17 echo "usage: talk [-bBAUD] [-l] [-tTTY] [-u]" >&2 18 echo " -b baud rate" >&2 19 echo " -l log the output" >&2 20 echo " -t use another tty" >&2 21 echo " -u 9600 baud to UNIX" >&2 22 exit 1;; 23 esac 24 done 26 eval cu -s$BAUD -l$TTY dir $PIPE   ARG BAUD , cu PIPE , TTY tty  talk? . , UNIX -, UNIX, , . , UNIX , -. . , , , . talk. talk? talk , . : 1200 , /dev/tty11 ( 1 SCO XENIX), . , . , -b (, , cu). ,"talk -b2400" 2400 . cu, . , L-devices. , , , -l. /tmp/talk.$$, $$ - shell. , . , ( , , , ). , -t. tty, cu. , cu. , UNIX, -u 9600 . , , -b9600, -u .  1. $ talk -l -t12 , . 2. $ talk -u 9600 . . 3. $ talk -b2400 -t04 -u ! -b 2400, -u, 9600. 4. $ talk -u -l -b4800 ! 9600 . . , 9600 4800. , , 9600 , , , , ~%b break.  4-6 , talk . . , , "talk", . 4 BAUD 1200, . 5 TTY tty11, . tty00, SCO XENIX , tty02-tty10 , . , TTY. 6 PIPE , , . 8-24 , . 10-23 . 11 , -b, - . , , -b, BAUD. , "-b2400", "-b 2400". 12 , . , , PIPE , tee UNIX. tee - , , . tee , , /tmp/talk/.$$. ( T- , , .) 14 , -t. , . tty, , tty /usr/lib/uucp/L-devices. , cu , . 15 , UNIX . , 9600 . 16-22 . - , , case, , . 26 - . shell- , , . eval. , . cu: BAUD, TTY, . , PIPE . PIPE , eval , , . UNIX UNIX UNIX. , UNIX . uucp , , . (cu(1)), (uux(1)), (mail(1)), (uucp(1), uucico(1)) (uname(1) uuname(1)). UNIX-UNIX, UNIX- . UNIX- , - , .. , , . , UNIX-. (port contender), . , - , - . , . - (. . 8-7). , . , getty. "cu -ltty00 -s9600 dir" tty00 . . ( ). getty, 9600 . , getty login, , , shell. . 8-7. UNIX ------------------------------------------------------------------- DTE-1 DTE-2 +---------+ +---------+ | | | | | UNIX 1 | | UNIX 2 | | | | | | tty00 |-------------------->| tty00 | | | | | | | | | +---------+ +---------+ 1. getty 1. getty 9600 tty00 cu -ltty00 -s9600 dir login _ sh 2. uucp 2. getty 9600 tty00 unix 2!~/user login uucp uucico ------------------------------------------------------------------- uucp . uucp uucico, , . , , shell uucico, . - - . 8-8. , DTE-1 , . . 8-8. ------------------------------------------------------------------- +---------+ +----------+ +---------+ | | | | | | | UNIX 1 | | | | UNIX 2 | | | | | | | | tty00 |--------->| |-------->| tty00 | | | | | | | | | | | | | +---------+ +----------+ +---------+ 1. cu -ltty00 -s9600 dir 1. getty tty00 9600 login _ sh 2. uucp 2. getty 9600 tty00 unix 2!~/user login uucp uucico ------------------------------------------------------------------- . , , , , . , , - , . , . ( . 8-9) UNIX. DTE . DTE-1 DTE-2 cu, uucp, uucico . , 1200 . , DTE-2 1200- getty, getty 9600, . , cu ~%b break. , uucp, BREAK L.sys, . . 8-9. UNIX ------------------------------------------------------------------- +---------+ +---------+ | | | | | UNIX 1 | ***** _||_ ***** | UNIX 2 | | | * * _||_ * * | | | tty00 |------->* *-- || --* *------->| tty00 | | | * * || * * | | | | ***** || ***** | | +---------+ +---------+ 1. cu -ltty00 -s9600 dir 1. getty 1200 tty00 login _ sh 2. uucp 2. getty 1200 tty00 unix 2!~/user login uucp uucico -------------------------------------------------------------------   , uucp . , . , . /usr/spool/uucp. LOGFILE, "tail -f LOGFILE" . uucp mail . (C.*) (D.*). , uucp . (LCK* STST*), , . /usr/spool/uucppublic, PUBDIR ( shell-). , , , . , . shell, /usr/spool/uucppublic, .. P=/usr/spool/uucppublic/russ. , $P/*. . PUBDIR uucp. uucp: $ uucp * remote!~/user "remote", ~/ /usr/spool/uucppublic. user , user, user. , chmod 777, . , ^user uucp $HOME/user, ^/user uucp $PUBDIR/user. shell- : $ uucp * remote!$P PUBDIR. , : $ ls -al $P $ cd $P $ ls -al , . , ,- "uuclean". cron . , uucp, , , . , PUBDIR . "" : PATH=/usr/bin:/bin export PATH cd /usr/spool/uucp find C. D. TM. X. XTMP -type f -mtime +7 -exec rm {} \; cd /usr/spool/uucppublic find . -type f -mtime +7 -exec rm {} \; , . - touch, find, . : $ find $P -exec touch {} \; touch . , , find. , , ! - ( ). (root)? , "chmod 000 $P" . , , , . ? , ? ? , , , . , - ( , ). , , . , , .   uucppublic, , , . uucppublic rwxrwxrwx. , , . , , uucp. Uucp , . uucp , . uucp , -. , uucp , . , , . , . , , . - , , , uucp. - , . - uucp . , , , .   uucp, , . /usr/lib/uucp. L.cmds. , . uux, , L.cmds. - USERFILE - , . . USERFILE : uucp, / uucp ( uucico) , , .. . , : uucp central!/etc/passwd /tmp . , . USERFILE : uucp /usr/spool/uucppublic /tmp . . L.sys, , uucp . , , , . - , - uucp . HoneyDanber uucp System V - , . 9 uucp . L.sys, : (dial-up systems). remote Any ACU 1200 5551212 ogin:--ogin: uucp word: uucp selector Any ACU 1200 5551213 \d--CLASS--CLASS A ogin:--ogin: uucp word: uucp direct Any tty00 9600 tty00 ogin:-@-ogin: uucp word: uucp "remote" , , ("any time"), ACU (automatic call unit - ) 1200 5551212. uucp uucp. "ogin" - . Uucp "ogin:" , login UNIX. "ogin:" , "Login:" "login:". "Any" , 24- . , "ACU" ACU L-devices ( ). L-devices cua0 cul0 , , /dev/tty00: ACU cul0 cua0 1200 "ls -li /dev/tty* /dev/cul* /dev/cua*". "selector" L.sys , . , "\d". L.sys : " ...". , . . , , uucp . ? uucp , control-D (\d). Uucp , - (-). CLASS , CR, "A", , . , "ogin:" . , . , getty A 9600 . , break, 1200 . "direct" ACU . tty00 9600 , . , , . L-devices : DIR tty00 0 9600   , uucp , . : , , , . . , /usr/lib/uucico . , . : /usr/lib/uucp/uucico -r1 -x9 -ssystem_name r1 uucico (master) , system_name, x9 . uucico , x4 . x1 x9. . -, , . , uucico. , . : --------------------------------- | | $ uucp -r *.c remote!~/src | $ /usr/lib/uucp/uucico -r1 -x4 -sremote | uucp , mail. - uucp . , "remote" rmai(1) , "dummy" "user": $ mail remote!user < dummy , /usr/lib/uucp/uucico - uusub(1M), /usr/lib/uucp. , . . , uucico.