ckuker.nr 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832
  1. .\" @(#) kermit.1 9.0.302 2011/08/20 Columbia University
  2. .TH KERMIT 1 "JULY 2011" "User Manuals"
  3. .na
  4. .SH NAME
  5. kermit \-
  6. .B C\(hyKermit 9.0:
  7. transport\(hy and platform\(hyindependent
  8. interactive and scriptable communications software.
  9. .IP
  10. This document is intended to give the beginner sufficient information to
  11. make basic (if not advanced) use of C\(hyKermit 9.0. Although it might be
  12. rather long for a Unix manual page, it's still far shorter than the
  13. C\(hyKermit manual, which should be consulted for advanced topics such as
  14. customization, character\(hysets, scripting, etc. We also attempt to provide
  15. a clear structural overview of C\(hyKermit's many capabilities, functional
  16. areas, states, and modes and their interrelation, that should be helpful to
  17. beginners and veterans alike, as well as to those upgrading to version 9.0
  18. from earlier releases.
  19. .PP
  20. This document is also available as a Web page at:
  21. .IP
  22. http://www.columbia.edu/kermit/ckututor.html
  23. .SH DESCRIPTION
  24. C\(hyKermit is an all\(hypurpose communications software package from the Kermit
  25. Project at Columbia University that:
  26. .PP
  27. .nf
  28. \(bu Is portable to many platforms, Unix and non\(hyUnix alike.
  29. .br
  30. \(bu Can make both serial and network connections.
  31. .br
  32. \(bu Can conduct interactive terminal sessions over its connection.
  33. .br
  34. \(bu Can transfer text or binary files over the same connection.
  35. .br
  36. \(bu Can convert character sets in the terminal session.
  37. .br
  38. \(bu Can convert character sets during text\(hyfile file transfer.
  39. .br
  40. \(bu Is customizable in every aspect of its operation.
  41. .fi
  42. .PP
  43. C\(hyKermit is a modem program, a Telnet client, an Rlogin client, an FTP
  44. client, an HTTP client, and on selected platforms, also an X.25 client. It
  45. can make its own secure Internet connections using IETF\(hyapproved security
  46. methods including Kerberos IV, Kerberos V, SSL/TLS, and SRP and it can also
  47. make SSH connections through your external SSH client application. It can
  48. be the far\(hyend file\(hytransfer or client/server partner of your desktop
  49. Kermit client. It can also accept incoming dialed and network connections.
  50. It can even be installed as an Internet service on its own standard TCP
  51. socket, 1649 [RFC2839, RFC2840].
  52. .PP
  53. And perhaps most important, everything you can do "by hand" (interactively)
  54. with C\(hyKermit, can be "scripted" (automated) using its built\(hyin
  55. cross\(hyplatform transport\(hyindependent script programming language, which
  56. happens to be identical to its interactive command language.
  57. .PP
  58. This manual page offers an overview of C\(hyKermit 9.0 for Unix ("Unix" is an
  59. operating system family that includes AIX, DG/UX, FreeBSD, HP\(hyUX, IRIX,
  60. Linux, Mac OS X, NetBSD, OpenBSD, Open Server, Open Unix, QNX, Solaris,
  61. SunOS, System V R3, System V R4, Tru64 Unix, Unixware, Xenix, and many
  62. others). For thorough coverage, please consult the published C\(hyKermit
  63. manual and supplements (see DOCUMENTATION below). For further information
  64. about C\(hyKermit, Kermit software for other platforms, and Kermit manuals,
  65. visit the Kermit Project website:
  66. .PP
  67. http://www.columbia.edu/kermit/
  68. .PP
  69. This is a longer\(hythan\(hyaverage manual page, and yet it barely scratches the
  70. surface. Don't be daunted. C\(hyKermit is a large and complex package,
  71. evolving over decades of practice and experience, but that doesn't mean
  72. it's hard to learn or use. Its most commonly used functions are explained
  73. here with pointers to additional information elsewhere.
  74. .SH SYNOPSIS
  75. .B kermit [
  76. .I filename
  77. .B ] [
  78. .I options
  79. .B ] [ {=,\-\-,+}
  80. .I text
  81. .B ] ]
  82. .PP
  83. or:
  84. .PP
  85. .B kermit
  86. .I URL
  87. .PP
  88. If the first command\(hyline argument is the name of a file, interactive\(hymode
  89. commands are executed from the file. The '=' (or "\-\-") argument tells
  90. Kermit not to parse the remainder of the command line, but to make the
  91. words following '=' available as \e%1, \e%2, ... \e%9. The "+" argument is
  92. like "=" but for use in "kerbang scripts" (explained below). A second
  93. command\(hyline format allows the one and only argument to be a Telnet, FTP,
  94. HTTP, or IKSD URL.
  95. .PP
  96. Order of execution:
  97. .TP
  98. 1.
  99. The command file (if any).
  100. .TP
  101. .nf
  102. 2.
  103. The initialization file, if any, unless suppressed with \-Y.
  104. .fi
  105. .TP
  106. 3.
  107. The customization file (if it is executed by the initialization file).
  108. .TP
  109. 4.
  110. The command\(hyline URL (if any, and if so, execution stops here).
  111. .TP
  112. 5.
  113. Command\(hyline options (if any).
  114. .TP
  115. 6.
  116. Interactive commands.
  117. .PP
  118. Some command\(hyline options can cause actions (such as \-s to send a file);
  119. others just set parameters. If any action options are included on the
  120. command line, Kermit exits when finished unless also given the \-S ("stay")
  121. option. If no action options are given, no initialization or command files
  122. contained an EXIT or QUIT command, and no fatal errors occurred, Kermit
  123. issues its prompt and waits for you to type commands.
  124. .IP
  125. Bear in mind that C\(hyKermit can be built with selected features
  126. disabled, and also that certain features are not available on all
  127. platforms. For example, C\(hyKermit can't be built with TCP/IP
  128. support on a platform that does not have TCP/IP header files and
  129. libraries (and even if Kermit does include TCP/IP support, it
  130. can't be used to make TCP/IP connections on a computer that does
  131. not have a TCP/IP stack installed). If your version of
  132. C\(hyKermit lacks a feature mentioned here, use its SHOW FEATURES command to
  133. see what might have been excluded.
  134. .PP
  135. C\(hyKermit has three kinds of commands: regular single\(hyletter command\(hyline
  136. options, extended\(hyformat command\(hyline options, and interactive commands.
  137. .PP
  138. Like most Unix commands, C\(hyKermit can be be given options on the command
  139. line. But C\(hyKermit also can be used interactively by giving it commands
  140. composed of words, which are more intuitive than cryptic command\(hyline
  141. options, and more flexible too. In other words, you don't have to use
  142. C\(hyKermit's command\(hyline options, but they are available if you want to. (By
  143. the same token, you don't have to use its interactive commands either \(hy\(hy
  144. you can use either or both in any combination.)
  145. .PP
  146. C\(hyKermit is generally installed in the PATH as "kermit", and therefore is
  147. invoked by typing the word "kermit" (lowercase) at the shell prompt, and
  148. then pressing the Return or Enter key. If you wish to include command\(hyline
  149. options, put them after the word "kermit" but before pressing Return or
  150. Enter, separated by spaces, for example:
  151. .PP
  152. $ kermit \-s ckermit.tar.gz
  153. .PP
  154. ('$' is the shell prompt; "kermit \-s ckermit.tar.gz" is what you type,
  155. followed by Return or Enter.)
  156. .SH OPTIONS
  157. Here is a list of C\(hyKermit's single\(hyletter command\(hyline options, which
  158. start with a single dash (\-), in ASCII ("alphabetical") order. Alphabetic
  159. case is significant (\-A is not the same as \-a). Action options are
  160. tagged "ACTION".
  161. .TP
  162. \-0
  163. (digit zero) 100% transparent Connect state for
  164. "in\(hythe\(hymiddle" operation: 8 bits, no parity, no
  165. escape character, everything passes through.
  166. .TP
  167. \-8
  168. (digit eight) Connection is 8\(hybit clean (this is the
  169. default in C\(hyKermit 8.0 and later). Equivalent to the EIGHTBIT
  170. command, which in turn is a shortcut for SET TERMINAL
  171. BYTESIZE 8, SET COMMAND BYTESIZE 8, SET PARITY NONE.
  172. .TP
  173. \-9 arg
  174. (digit nine) Make a connection to an FTP server.
  175. Equivalent to the FTP OPEN command.
  176. Argument: IP\(hyaddress\(hyor\(hyhostname[:optional\(hyTCP\(hyport].
  177. NOTE: C\(hyKermit also has a separate FTP command\(hyline
  178. personality, with regular FTP\(hylike command\(hyline
  179. syntax. More about this below.
  180. .TP
  181. \-A
  182. Kermit is to be started as an Internet service (IKSD)
  183. (only from inetd.conf).
  184. .TP
  185. \-B
  186. Kermit is running in Batch or Background (no
  187. controlling terminal). To be used in case Kermit
  188. doesn't automatically sense its background status.
  189. Equivalent to the SET BACKGROUND ON command.
  190. .TP
  191. \-C arg
  192. Interactive\(hymode Commands to be executed.
  193. Argument: Commands separated by commas, list in
  194. doublequotes.
  195. .TP
  196. \-D arg
  197. Delay before starting to send in Remote mode.
  198. Equivalent to the SET DELAY command.
  199. Argument: Number of seconds.
  200. .TP
  201. \-E
  202. Exit automatically when connection closes. Equivalent
  203. to SET EXIT ON\-DISCONNECT ON.
  204. .TP
  205. \-F arg
  206. Use an open TCP connection.
  207. Argument: Numeric file descriptor of open TCP
  208. connection.
  209. Also see: \-j, \-J.
  210. .TP
  211. \-G arg
  212. (ACTION) Get file(s) from server, send contents to standard
  213. output, which normally would be piped to another
  214. process.
  215. Argument: Remote file specification, in quotes if it
  216. contains metacharacters.
  217. Also see: \-g, \-k.
  218. .TP
  219. \-H
  220. Suppress program startup Herald and greeting.
  221. .TP
  222. \-I
  223. Tell Kermit it has a reliable connection, to force streaming to be used where
  224. it normally would not be. Equivalent to the SET RELIABLE ON command.
  225. .TP
  226. \-J arg
  227. (ACTION) "Be like Telnet." Like \-j but implies \-E. Argument: IP
  228. hostname/address optionally followed by service. NOTE: C\(hyKermit also has a
  229. separate Telnet command\(hyline personality, with regular Telnet\(hylike
  230. command\(hyline syntax. More about this below.
  231. .TP
  232. \-L
  233. Recursive directory descent for files in \-s option.
  234. .TP
  235. \-M arg
  236. My user name (for use with Telnet, Rlogin, FTP, etc).
  237. Equivalent to the SET LOGIN USER command.
  238. Argument: Username string.
  239. .TP
  240. \-O
  241. (ACTION) (Uppercase letter O) Be a server for One command only.
  242. Also see: \-x.
  243. .TP
  244. \-P
  245. Don't convert file (Path) names of transferred files.
  246. Equivalent to SET FILE NAMES LITERAL.
  247. .TP
  248. \-Q
  249. Quick Kermit protocol settings. Equivalent to the FAST
  250. command. This is the default in C\(hyKermit 7.0 and later.
  251. .TP
  252. \-R
  253. Remote\(hyonly (this just makes IF REMOTE true).
  254. .TP
  255. \-S
  256. Stay (enter command parser after action options).
  257. .TP
  258. \-T
  259. Force Text mode for file transfer; implies \-V.
  260. Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE TEXT.
  261. .TP
  262. \-V
  263. Disable automatic per\(hyfile text/binary switching.
  264. Equivalent to SET TRANSFER MODE MANUAL.
  265. .TP
  266. \-Y
  267. Skip (don't execute) the initialization file.
  268. .TP
  269. \-a arg
  270. As\(hyname for file(s) in \-s, \-r, or \-g.
  271. Argument: As\(hyname string (alternative filename). When
  272. receiving files, this can be a directory name.
  273. .TP
  274. \-b arg
  275. Speed for serial device. Equivalent to SET SPEED.
  276. Argument: Numeric Bits per second for serial
  277. connections.
  278. .TP
  279. \-c
  280. (ACTION) Enter Connect state before transferring files.
  281. .TP
  282. \-d
  283. Create a debug.log file with detailed debugging
  284. information (a second \-d adds timestamps). Equivalent
  285. to LOG DEBUG but takes effect sooner.
  286. .TP
  287. \-e arg
  288. Maximum length for incoming Kermit file\(hytransfer
  289. packets. Equivalent to SET RECEIVE PACKET\-LENGTH.
  290. Argument: Length in bytes.
  291. .TP
  292. \-f
  293. (ACTION) Send a FINISH command to a Kermit server.
  294. .TP
  295. \-g arg
  296. Get file(s) from a Kermit server.
  297. Argument: File specification on other computer, in
  298. quotes if it contains metacharacters. Equivalent to
  299. GET. Also see: \-a, \-G, \-r.
  300. .TP
  301. \-h
  302. (ACTION) Print Help text for single\(hyletter command\(hyline options
  303. (pipe thru 'more' to prevent scrolling).
  304. .TP
  305. \-i
  306. Force binary (Image) mode for file transfer; implies
  307. \-V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE
  308. TYPE BINARY.
  309. .TP
  310. \-j arg
  311. Make a TCP/IP connection.
  312. Argument: IP host name/address and optional service
  313. name or number. Equivalent to the TELNET command.
  314. Also see: \-J, \-F.
  315. .TP
  316. \-k
  317. (ACTION) Receive file(s) to standard output, which normally
  318. would be piped to another process.
  319. Also see: \-r, \-G.
  320. .TP
  321. \-l arg
  322. (Lowercase letter L) Make a connection on the given
  323. serial communications device. Equivalent to the SET
  324. LINE (SET PORT) command.
  325. Argument: Serial device name, e.g. /dev/ttyS0.
  326. .TP
  327. \-m arg
  328. Modem type for use with the \-l device. Equivalent to
  329. the SET MODEM TYPE command.
  330. Argument: Modem name as in SET MODEM TYPE command,
  331. e.g. "usrobotics".
  332. .TP
  333. \-n
  334. (ACTION) Enter Connect state after transferring files (historical).
  335. .TP
  336. \-p arg
  337. Parity. Equivalent to the SET PARITY command.
  338. Argument: One of the following: e(ven), o(dd), m(ark),
  339. n(one), s(pace).
  340. .TP
  341. \-q
  342. Quiet (suppress most messages). Equivalent to SET QUIET ON.
  343. .TP
  344. \-r
  345. (ACTION) Receive file(s). Equivalent to the RECEIVE command.
  346. Argument: (none, but see \-a)
  347. .TP
  348. \-s arg
  349. Send file(s).
  350. Argument: One or more local file specifications.
  351. Equivalent to the SEND command.
  352. Also see: \-a.
  353. .TP
  354. \-t
  355. (Historical) Xon (Ctrl\-Q) Turnaround character for
  356. half\(hyduplex connections (used on serial linemode
  357. connections to old mainframes). Equivalent to SET
  358. DUPLEX HALF, SET HANDSHAKE XON.
  359. .TP
  360. \-v arg
  361. Window size for Kermit protocol (ignored when
  362. streaming). Equivalanet to SET WINDOW\-SIZE.
  363. Argument: Number, 1 to 32.
  364. .TP
  365. \-w
  366. Incoming files Write over existing files. Equivalent
  367. to SET FILE COLLISION OVERWRITE.
  368. .TP
  369. \-x
  370. (ACTION) Enter server mode. Equivalent to the SERVER command.
  371. Also see: \-O.
  372. .TP
  373. \-y arg
  374. Alternative initialization file.
  375. Argument: Filename.
  376. .TP
  377. \-z
  378. Force foreground behavior. To be used in case Kermit
  379. doesn't automatically sense its foreground status.
  380. Equivalent to the SET BACKGROUND OFF command.
  381. .PP
  382. Extended command\(hyline options (necessary because single\(hyletter ones are
  383. about used up) start with two dashes (\-\-), with words rather than single
  384. letters as option names. If an extended option takes an argument, it is
  385. separated from the option word by a colon (:). Extended options include:
  386. .TP
  387. \-\-bannerfile:filename
  388. File to display upon startup or IKSD login.
  389. .TP
  390. \-\-cdfile:filename
  391. File to be sent for display to the client when
  392. server changes directory (filename is relative to
  393. the changed\(hyto directory).
  394. .TP
  395. \-\-cdmessage:{on,off}
  396. Enable/disable the server CD message feature.
  397. .TP
  398. \-\-help
  399. Prints usage message for extended options.
  400. .TP
  401. \-\-helpfile:filename
  402. Designates a file containing custom text to
  403. replace the top\(hylevel HELP command.
  404. .TP
  405. \-\-nointerrupts
  406. Disables keyboard interrupts.
  407. .TP
  408. \-\-noperms
  409. Disables the Kermit protocol file Permissions
  410. attribute, to prevent transmission of file
  411. permissions (protection) from sender to receiver.
  412. .TP
  413. \-\-version
  414. (ACTION) C\(hyKermit prints its version number.
  415. .PP
  416. Plus several other IKSD\(hyOnly options described at:
  417. .PP
  418. http://www.columbia.edu/kermit/iksd.html
  419. .PP
  420. See the file\(hytransfer section for examples of command\(hyline invocation.
  421. .SH COMMAND LANGUAGE
  422. C\(hyKermit's interactive command language is the subject of a 622\(hypage book
  423. and another several hundred pages of updates, far too much for a manual
  424. page. But it's not hard to get started. At the shell prompt, just type
  425. "kermit" to get C\(hyKermit's interactive command prompt:
  426. .PP
  427. .nf
  428. $ kermit
  429. (/current/directory) C\-Kermit>
  430. .fi
  431. .PP
  432. Begin by typing "help" (and then press the Return or Enter key) for a
  433. top\(hylevel overview, read it, and go from there. Your second command should
  434. probably be "intro" (introduction). Note the prompt shows your current
  435. directory (unless you tell Kermit to prompt you with something else).
  436. .PP
  437. Interactive commands are composed mainly of regular English words, usually
  438. in the form of imperative sentences, such as:
  439. .PP
  440. send oofa.txt
  441. .PP
  442. which tells Kermit to send (transfer) the file whose name is oofa.txt, or:
  443. .PP
  444. set transfer mode automatic
  445. .PP
  446. which sets Kermit's "transfer mode" to "automatic" (whatever that means).
  447. .PP
  448. While typing commands, you can abbreviate, ask for help (by pressing the
  449. "?" key anywhere in a command), complete keywords or filenames (with the
  450. Tab or Esc key), and edit your typing with Backspace or Delete, Ctrl\-W,
  451. Ctrl\-U, etc. You can also recall previous commands, save your command
  452. history, and who knows what else. Give the INTRO command for details.
  453. .PP
  454. C\(hyKermit has hundreds of commands, and they can be issued in infinite
  455. variety and combinations, including commands for:
  456. .nf
  457. .PP
  458. \(bu Making connections (SET LINE, DIAL, TELNET, SSH, FTP, ...)
  459. .br
  460. \(bu Breaking connections (HANGUP, CLOSE)
  461. .br
  462. \(bu Transferring files (SEND, GET, RECEIVE, MOVE, RESEND, ...)
  463. .br
  464. \(bu Establishing preferences (SET)
  465. .br
  466. \(bu Displaying preferences (SHOW)
  467. .br
  468. \(bu Managing local files (CD, DELETE, MKDIR, DIR, RENAME, TYPE, ...)
  469. .br
  470. \(bu Managing remote files (RCD, RDEL, RMKDIR, RDIR, ...)
  471. .br
  472. \(bu Using local files (FOPEN, FCLOSE, FREAD, FWRITE)
  473. .br
  474. \(bu Programming (TAKE, DEFINE, IF, FOR, WHILE, SWITCH, DECLARE, ...)
  475. .br
  476. \(bu Interacting with the user (ECHO, ASK, ...)
  477. .br
  478. \(bu Interacting with a remote computer (INPUT, OUTPUT, ...)
  479. .br
  480. \(bu Interacting with local programs (RUN, EXEC, PTY, ...)
  481. .br
  482. \(bu Logging things (LOG SESSION, LOG PACKETS, LOG DEBUG, ...)
  483. .PP
  484. .fi
  485. And of course QUIT or EXIT to get out and HELP to get help, and for
  486. programmers: loops, decision making, variables, arrays, associative arrays,
  487. integer and floating point arithmetic, macros, built\(hyin and user\(hydefined
  488. functions, string manipulation, pattern matching, block structure, scoping,
  489. recursion, and all the rest. To get a list of all C\(hyKermit's commands, type
  490. a question mark (?) at the prompt. To get a description of any command,
  491. type HELP followed by the name of the command, for example:
  492. .PP
  493. help send
  494. .PP
  495. The command interruption character is Ctrl\-C (hold down the Ctrl key and
  496. press the C key).
  497. .PP
  498. The command language "escape character", used to introduce variable names,
  499. function invocations, and so on, is backslash (\). If you need to include a
  500. literal backslash in a command, type two of them, e.g.:
  501. .PP
  502. get c:\ek95\ek95custom.ini
  503. .SS Command Files, Macros, and Scripts
  504. A file containing Kermit commands is called a Kermit command file or Kermit
  505. script. It can be executed with Kermit's TAKE command:
  506. .PP
  507. (/current/dir) C\-Kermit> take commandfile
  508. .PP
  509. (where "commandfile" is the name of the command file). Please don't pipe a
  510. command file into Kermit's standard input (which might or might not work);
  511. if you have Kermit commands in a file, tell Kermit to TAKE the file.
  512. .PP
  513. In Unix only, a Kermit command file can also be executed directly by
  514. including a "kerbang" line as the first line of the file:
  515. .PP
  516. #!/usr/local/bin/kermit +
  517. .PP
  518. That is, a top line that starts with "#!", followed immediately by the full
  519. path of the Kermit executable, and then, if the Kermit script is to be
  520. given arguments on the command line, a space and a plus sign. The script
  521. file must also have execute permission:
  522. .PP
  523. chmod +x commandfile
  524. .PP
  525. Except for the " +" part, this is exactly the same as you would do for a
  526. shell script, a Perl script, etc. Here's a simple but useless example
  527. script that regurgitates its arguments (up to three of them):
  528. .PP
  529. #!/usr/local/bin/kermit +
  530. if defined \e%1 echo "Argument 1: \e%1"
  531. if defined \e%2 echo "Argument 2: \e%2"
  532. if defined \e%3 echo "Argument 3: \e%3"
  533. if defined \e%4 echo "etc..."
  534. exit
  535. .PP
  536. If this file is stored in your current directory as "commandfile", then:
  537. .PP
  538. ./commandfile one two three four five
  539. .PP
  540. prints:
  541. .PP
  542. Argument 1: one
  543. Argument 2: two
  544. Argument 3: three
  545. etc...
  546. .PP
  547. This illustrates the basic structure of a standalone Kermit script: the
  548. "kerbang line", then some commands. It should end with "exit" unless you
  549. want the Kermit prompt to appear when it is finished. \e%1 is the first
  550. argument, \e%2 the second, and so on.
  551. .PP
  552. You can also create your own commands by defining named macros composed of
  553. other Kermit commands (or macros). For example:
  554. .PP
  555. .nf
  556. define mydelete {
  557. local trash
  558. assign trash \ev(home)trashcan/
  559. if not defined \e%1 end 1 "Delete what?"
  560. if wild \e%1 {
  561. end 1 "Deleting multiple files is too scary"
  562. }
  563. if not exist \e%1 end 1 "I can't find \e%1"
  564. if not directory \em(trash) {
  565. mkdir \em(trash)
  566. if fail end 1 "No trash can"
  567. }
  568. rename /list \e%1 \em(trash)
  569. }
  570. define myundelete {
  571. local trash
  572. assign trash \ev(home)trashcan/
  573. if not defined \e%1 end 1 "Undelete what?"
  574. if wild \e%1 {
  575. end 1 "Undeleting multiple files is too hard"
  576. }
  577. if not directory \em(trash) end 1 "No trash can"
  578. if not exist \em(trash)\e%1 {
  579. end 1 "I can't find \e%1 in trash can"
  580. }
  581. rename /list \em(trash)\e%1 .
  582. }
  583. .PP
  584. .fi
  585. These sample macros are not exactly production quality (they don't handle
  586. filenames that include path segments, they don't handle multiple files,
  587. etc), but you get the idea: you can pass arguments to macros, and they can
  588. check them and make other kinds of decisions. If you put the above lines
  589. into your initialization or customization file (explained below), you'll
  590. have MYDELETE and MYUNDELETE commands available every time you start
  591. Kermit, at least as long as you don't suppress execution of the
  592. initialization file. (Exercise for the reader: Make these macros generally
  593. useful: remove limitations, add trashcan display, browsing, emptying, etc.)
  594. .PP
  595. Kerbang scripts execute without the initialization file. This to keep them
  596. portable and also to make them start faster. If you want to write Kerbang
  597. scripts that depend on the initialization file, include the command
  598. .PP
  599. take \ev(home).kermrc
  600. .PP
  601. at the desired spot in the script. By the way, \ev(xxx) is a built\(hyin
  602. variable (xxx is the variable name, "home" in this case). To see what
  603. built\(hyin variables are available, type "show variables" at the C\(hyKermit
  604. prompt. To see what else you can show, type "show ?". \em(xxx) is a user
  605. defined variable (strictly speaking, it is a macro used as a variable).
  606. .SS Command List
  607. C\(hyKermit has more than 200 top\(hylevel commands, and some of these, such as
  608. SET, branch off into hundreds of subcommands of their own, so it's not
  609. practical to describe them all here. Instead, here's a concise list of the
  610. most commonly used top\(hylevel commands, grouped by category. To learn about
  611. each command, type "help" followed by the command name, e.g. "help set".
  612. Terms such as Command state and Connect state are explained in subsequent
  613. sections.
  614. .PP
  615. Optional fields are shown in [ brackets ]. "filename" means the
  616. name of a single file. filespec means a file specification that is allowed
  617. to contain wildcard characters like '*' to match groups of files. options
  618. are (optional) switches like /PAGE, /NOPAGE, /QUIET, etc, listed in the
  619. HELP text for each command. Example:
  620. .PP
  621. .nf
  622. send /recursive /larger:10000 /after:\-1week /except:*.txt *
  623. .fi
  624. .PP
  625. which can be read as "send all the files in this directory and all the ones
  626. underneath it that are larger than 10000 bytes, no more than one week old,
  627. and whose names don't end with ".txt".
  628. .SS
  629. Basic Commands
  630. .RS
  631. .TP
  632. HELP
  633. Requests top\(hylevel help.
  634. .TP
  635. HELP command
  636. Requests help about the given command.
  637. .TP
  638. INTRODUCTION
  639. Requests a brief introduction to C\(hyKermit.
  640. .TP
  641. LICENSE
  642. Displays the C\(hyKermit software copyright and license.
  643. .TP
  644. VERSION
  645. Displays C\(hyKermit's version number.
  646. .TP
  647. EXIT [ number ]
  648. Exits from Kermit with the given
  649. status code. Synonyms: QUIT, E, Q.
  650. .TP
  651. TAKE filename [ parameters... ]
  652. Executes commands from the given
  653. .TP
  654. LOG item [ filename ]
  655. Keeps a log of the given item in the given file.
  656. .TP
  657. [ DO ] macro [ parameters... ]
  658. Executes commands from the given macro.
  659. .TP
  660. SET parameter value
  661. Sets the given parameter to the given value.
  662. .TP
  663. SHOW category
  664. Shows settings in a given category.
  665. .TP
  666. STATUS
  667. Tells whether previous command succeeded or failed.
  668. .TP
  669. DATE [ date\(hyand/or\(hytime ]
  670. Shows current date\(hytime or interprets given date\(hytime.
  671. .TP
  672. RUN [ extern\(hycommand [ parameters... ]
  673. Runs the given external command. Synonym: !.
  674. .TP
  675. EXEC [ extern\(hycommand [ params... ]
  676. Kermit overlays itself with the given command.
  677. .TP
  678. SUSPEND
  679. Stops Kermit and puts it in the background. Synonym: Z.
  680. .RE
  681. .SS
  682. Local File Management
  683. .RS
  684. .TP
  685. TYPE [ options ] filename
  686. Displays the contents of the given file.
  687. .TP
  688. MORE [ options ] filename
  689. Equivalent to TYPE /PAGE (pause after each screenful).
  690. .TP
  691. CAT [ options ] filename
  692. Equivalent to TYPE /NOPAGE.
  693. .TP
  694. HEAD [ options ] filename
  695. Displays the first few lines of a given file.
  696. .TP
  697. TAIL [ options ] filename
  698. Displays the last few lines of a given file.
  699. .TP
  700. GREP [ options ] pattern filespec
  701. Displays lines from files that match
  702. the pattern. Synonym: FIND.
  703. .TP
  704. DIRECTORY [ options ] [filespec ]
  705. Lists files (built\(hyin, many options).
  706. .TP
  707. LS [ options ] [ filespec ]
  708. Lists files (runs external "ls" command).
  709. .TP
  710. DELETE [ options ] [ filespec ]
  711. Deletes files. Synonym: RM.
  712. .TP
  713. PURGE [ options ] [ filespec ]
  714. Removes backup (*.~n~) files.
  715. .TP
  716. COPY [ options ] [ filespecs... ]
  717. Copies files. Synonym: CP.
  718. .TP
  719. RENAME [ options ] [ filespecs... ]
  720. Renames files. Synonym: MV.
  721. .TP
  722. CHMOD [ options ] [ filespecs... ]
  723. Changes permissions of files.
  724. .TP
  725. TRANSLATE filename charsets [ filename ]
  726. Converts file's character set. Synonym: XLATE.
  727. .TP
  728. CD
  729. Changes your working directory to your home directory.
  730. .TP
  731. CD directory
  732. Changes your working directory to the one given.
  733. .TP
  734. CDUP
  735. Changes your working directory one level up.
  736. .TP
  737. PWD
  738. Displays your working directory.
  739. .TP
  740. BACK
  741. Returns to your previous working directory.
  742. .TP
  743. MKDIR [ directory ]
  744. Creates a directory.
  745. .TP
  746. RMDIR [ directory ]
  747. Removes a directory.
  748. .RE
  749. .SS
  750. Making Connections
  751. .RS
  752. .TP
  753. SET LINE [ options ] devicename
  754. Opens the named serial port. Synonym: SET PORT.
  755. .TP
  756. OPEN LINE [ options ] devicename
  757. Same as SET LINE. Synonym: OPEN PORT.
  758. .TP
  759. SET MODEM TYPE [ name ]
  760. Tells Kermit what kind of modem is on the port.
  761. .TP
  762. DIAL [ number ]
  763. Tells Kermit to dial the given phone number with the modem.
  764. .TP
  765. REDIAL
  766. Redials the most recently dialed phone number.
  767. .TP
  768. ANSWER
  769. Waits for and answers an incoming call on the modem.
  770. .TP
  771. AUTHENTICATE [ parameters... ]
  772. Performs secure authentication on a TCP/IP connection.
  773. .TP
  774. SET NETWORK TYPE { TCP/IP, X.25, ... }
  775. Selects network type for subsequent SET HOST commands.
  776. .TP
  777. SET HOST [ options ] host [ port ]
  778. Opens a network connection to the given host and port.
  779. .TP
  780. SET HOST * port
  781. Waits for an incoming TCP/IP connection on the given port.
  782. .TP
  783. TELNET [ options ] host
  784. Opens a Telnet connection to the host and enters Connect state.
  785. .TP
  786. RLOGIN [ options ] host
  787. Opens an Rlogin connection to the host and enters Connect state.
  788. .TP
  789. IKSD [ options ] host
  790. Opens a connection to an Internet Kermit Service.
  791. .TP
  792. SSH [ options ] host
  793. Opens an SSH connection to the host and enters Connect state.
  794. .TP
  795. FTP OPEN host [ options ]
  796. Opens an FTP connection to the host.
  797. .TP
  798. HTTP [ options ] OPEN host
  799. Opens an HTTP connection to the host.
  800. .TP
  801. PTY external\(hycommand
  802. Runs the command on a pseudoterminal as if it were a connection.
  803. .TP
  804. PIPE external\(hycommand
  805. Runs the command through a pipe as if it were a connection.
  806. .RE
  807. .SS
  808. Using Connections
  809. .RS
  810. .TP
  811. CONNECT [ options ]
  812. Enters Connect (terminal) state. Synonym: C.
  813. .TP
  814. REDIRECT command
  815. Redirects the given external command over the connection.
  816. .TP
  817. TELOPT command
  818. Sends a Telnet protocol command (Telnet connections only).
  819. .TP
  820. Ctrl\-\eC
  821. "Escapes back" from Connect state to Command state.
  822. .TP
  823. Ctrl\-\eB
  824. (In Connect state) Sends a BREAK signal (serial or Telnet).
  825. .TP
  826. Ctrl\-\e!
  827. (In Connect state) Enters inferior shell; "exit" to return.
  828. .TP
  829. Ctrl\-\e?
  830. (In Connect state) Shows a menu of other escape\(hylevel options.
  831. .TP
  832. Ctrl\-\eCtrl\-\e
  833. (In Connect state) Type two
  834. Ctrl\-Backslashes to send one of them.
  835. .TP
  836. SET ESCAPE [ character ]
  837. Changes Kermit's Connect\(hystate escape character.
  838. .RE
  839. .SS
  840. Closing Connections
  841. .RS
  842. .TP
  843. HANGUP
  844. Hangs up the currently open
  845. serial\(hyport or network connection.
  846. .TP
  847. CLOSE
  848. Closes the currently open
  849. serial\(hyport or network connection.
  850. .TP
  851. SET LINE (with no devicename)
  852. Closes the currently open
  853. serial\(hyport or network connection.
  854. .TP
  855. SET HOST (with no hostname)
  856. Closes the currently open serial\(hyport or network connection.
  857. .TP
  858. FTP CLOSE
  859. Closes the currently open FTP connection.
  860. .TP
  861. HTTP CLOSE
  862. Closes the currently open HTTP connection.
  863. .TP
  864. EXIT
  865. Also closes all connections. Synonym: QUIT.
  866. .TP
  867. SET EXIT WARNING OFF
  868. Suppresses warning about open connections on exit or close.
  869. .RE
  870. .SS
  871. File Transfer
  872. .RS
  873. .TP
  874. SEND [ options ] filename [ as\(hyname ]
  875. Sends the given file. Synonym: S.
  876. .TP
  877. SEND [ options ] filespec
  878. Sends all files that match.
  879. .TP
  880. RESEND [ options ] filespec
  881. Resumes an interrupted SEND from the point of failure.
  882. .TP
  883. RECEIVE [ options ] [ as\(hyname ]
  884. Waits passively for files to arrive. Synonym: R.
  885. .TP
  886. LOG TRANSACTIONS [ filename ]
  887. Keeps a record of file transfers.
  888. .TP
  889. FAST
  890. Use fast file\(hytransfer settings (default).
  891. .TP
  892. CAUTIOUS
  893. Use cautious and less fast file\(hytransfer settings.
  894. .TP
  895. ROBUST
  896. Use ultra\(hyconservative and slow file\(hytransfer settings.
  897. .TP
  898. STATISTICS [ options ]
  899. Gives statistics about the most recent file transfer.
  900. .TP
  901. WHERE
  902. After transfer: "Where did my files go?".
  903. .TP
  904. TRANSMIT [ options ] [ofilename ]
  905. Sends file without protocol. Synonym: XMIT.
  906. .TP
  907. LOG SESSION [ filename ]
  908. Captures remote text or files without protocol.
  909. .TP
  910. SET PROTOCOL [ name... ]
  911. Tells Kermit to use an external file\(hytransfer protocol.
  912. .TP
  913. FTP { PUT, MPUT, GET, MGET, ... }
  914. FTP client commands.
  915. .TP
  916. HTTP { PUT, GET, HEAD, POST, ... }
  917. HTTP client commands.
  918. .RE
  919. .SS
  920. Kermit Server
  921. .RS
  922. .TP
  923. ENABLE, DISABLE
  924. Controls which server features can be used by clients.
  925. .TP
  926. SET SERVER
  927. Sets parameters prior to entering Server state.
  928. .TP
  929. SERVER
  930. Enters Server state.
  931. .RE
  932. .SS
  933. Client of Kermit or FTP Server
  934. .RS
  935. .TP
  936. [ REMOTE ] LOGIN [ user password ]
  937. Logs in to a Kermit server or IKSD that requires it.
  938. .TP
  939. [ REMOTE ] LOGOUT
  940. Logs out from a Kermit server or IKSD.
  941. .TP
  942. SEND [ options ] filename [ as\(hyname ]
  943. Sends the given file to the server. Synonyms: S, PUT.
  944. .TP
  945. SEND [ options ] filespec
  946. Sends all files that match.
  947. .TP
  948. RESEND [ options ] filespec
  949. Resumes an interrupted SEND from the point of failure.
  950. .TP
  951. GET [ options ] remote\(hyfilespec
  952. Asks the server to send the given files. Synonym: G.
  953. .TP
  954. REGET [ options ] remote\(hyfilespec
  955. Resumes an interrupted GET from the point of failure.
  956. .TP
  957. REMOTE CD [ directory ]
  958. Asks server to change its working
  959. directory. Synonym: RCD.
  960. .TP
  961. REMOTE PWD [ directory ]
  962. Asks server to display its working directory. Synonym: RPWD.
  963. .TP
  964. REMOTE DIRECTORY [ filespec... ]
  965. Asks server to send a directory listing. Synonym: RDIR.
  966. .TP
  967. REMOTE DELETE [ filespec... ]
  968. Asks server to delete files. Synonym: RDEL.
  969. .TP
  970. REMOTE [ command... ]
  971. (Many other commands: "remote ?" for a list).
  972. .TP
  973. MAIL [ options ] filespec
  974. Sends file(s) to be delivered as e\(hymail (Kermit only).
  975. .TP
  976. FINISH
  977. Asks the server to exit server state (Kermit only).
  978. .TP
  979. BYE
  980. Asks the server to log out and close the connection.
  981. .RE
  982. .SS
  983. Script Programming
  984. .PP
  985. .RS
  986. DEFINE, DECLARE, UNDEFINE, UNDECLARE, ASSIGN, EVALUATE, SEXPRESSION,
  987. ARRAY, SORT, INPUT, OUTPUT, IF, FOR, WHILE, SWITCH, GOTO, ECHO, ASK,
  988. GETC, GETOK, ASSERT, WAIT, SLEEP, FOPEN, FREAD, FWRITE, FCLOSE, STOP,
  989. END, RETURN, LEARN, SHIFT, TRACE, VOID, INCREMENT, DECREMENT, ... For
  990. these and many more you'll need to consult the manual and supplements,
  991. and/or visit the Kermit Script Library, which also includes a brief
  992. tutorial. Hint: HELP LEARN to find out how to get Kermit to write
  993. simple scripts for you.
  994. .RE
  995. .PP
  996. Many of Kermit's commands have synonyms, variants, relatives, and so on.
  997. For example, MSEND is a version of SEND that accepts a list of file
  998. specifications to be sent, rather than just one file specification, and
  999. MPUT is a synonym of MSEND. MOVE means to SEND and then DELETE the source
  1000. file if successful. MMOVE is like MOVE, but accepts a list of filespecs,
  1001. and so on. These are described in the full documentation.
  1002. .PP
  1003. Use question mark to feel your way through an unfamiliar command, as in
  1004. this example:
  1005. .PP
  1006. .nf
  1007. C\-Kermit> remote ? One of the following:
  1008. assign directory kermit print rmdir
  1009. cd exit login pwd set
  1010. copy help logout query space
  1011. delete host mkdir rename type
  1012. C\-Kermit> remote set ? One of the following:
  1013. attributes file retry transfer
  1014. block\-check receive server window
  1015. C\-Kermit> remote set file ? One of the following:
  1016. character\-set incomplete record\-length
  1017. collision names type
  1018. C\-Kermit> remote set file names ? One of the following:
  1019. converted literal
  1020. C\-Kermit> remote set file names literal
  1021. C\-Kermit>
  1022. .PP
  1023. .fi
  1024. This is called menu on demand: you get a menu when you want one, but menus
  1025. are not forced on you even when know what you're doing. Note that you can
  1026. also abbreviate most keywords, and you can complete them with the Tab or
  1027. Esc key. Also note that ? works for filenames too, and that you can use it
  1028. in the middle of a keyword or filename, not just at the beginning. For
  1029. example, "send x?" lists all the files in the current directory whose names
  1030. start with 'x'.
  1031. .SH INITIALIZATION FILE
  1032. In its default configuration, C\(hyKermit executes commands from a file
  1033. called .kermrc in your home directory when it starts, unless it is given the
  1034. \-Y or \-y command\(hyline option. Custom configurations might substitute a shared
  1035. system\(hywide initialization file. The SHOW FILE command tells what
  1036. initialization file, if any, was used. The standard initialization file
  1037. "chains" to an individual customization file, .mykermc, in the home directory,
  1038. in which each user can establish her/his own preferences, define macros, and
  1039. so on.
  1040. .PP
  1041. Since execution of the initialization file (at least the standard one)
  1042. makes C\(hyKermit take longer to start, it might be better not to have an
  1043. initialization file, especially now that Kermit's default startup
  1044. configuration is well attuned to modern computing and networking \(hy\(hy in
  1045. other words, you no longer have do anything special to make Kermit
  1046. transfers go fast. So instead of having an initialization file that is
  1047. executed every time Kermit starts, you might consider making one or more
  1048. kerbang scripts (with names other that .kermrc) that do NOT include an
  1049. "exit" command, and invoke those when you need the settings, macro
  1050. definitions, and/or scripted actions they contain, and invoke C\(hyKermit
  1051. directly when you don't.
  1052. .PP
  1053. To put it another way... We still distribute the standard initialization
  1054. file since it's featured in the manual and backwards compatibility is
  1055. important to us. But there's no harm in not using it if you don't need the
  1056. stuff that's in it (services directory, dialing directory, network
  1057. directory, and associated macro definitions). On the other hand, if there
  1058. are settings or macros you want in effect EVERY time you use Kermit, the
  1059. initialization file (or the customization file it chains to) is the place
  1060. to put them, because that's the only place Kermit looks for them
  1061. automatically each time you start it.
  1062. .SH MODES OF OPERATION
  1063. Kermit is said to be in Local mode if it has made a connection to another
  1064. computer, e.g. by dialing it or establishing a Telnet connection to it. The
  1065. other computer is remote, so if you start another copy of Kermit on the
  1066. remote computer, it is said to be in Remote mode (as long as it has not
  1067. made any connections of its own). The local Kermit communicates over the
  1068. communications device or network connection, acting as a conduit between
  1069. the the remote computer and your keyboard and screen. The remote Kermit is
  1070. the file\(hytransfer partner to the local Kermit and communicates only through
  1071. its standard input and output.
  1072. .PP
  1073. At any moment, a Kermit program can be in any of the following states. It's
  1074. important to know what they are and how to change from one to the other.
  1075. .TP
  1076. Command state
  1077. In this state, Kermit reads commands from:
  1078. .sp
  1079. \(bu Your keyboard; or:
  1080. .br
  1081. \(bu A file, or:
  1082. .br
  1083. \(bu A macro definition.
  1084. .sp
  1085. You can exit from Command state back to Unix with the EXIT or QUIT
  1086. command (same thing). You can enter Connect state with any of various
  1087. commands (CONNECT, DIAL, TELNET, etc). You can enter file transfer
  1088. state with commands like SEND, RECEIVE, and GET. You can enter Server
  1089. state with the SERVER command. The TAKE command tells Kermit to read
  1090. and execute commands from a file. The (perhaps implied) DO command
  1091. tells Kermit to read and execute commands from a macro definition.
  1092. While in Command state, you can interrupt any command, macro, or
  1093. command file by typing Ctrl\-C (hold down the Ctrl key and press the C
  1094. key); this normally brings you back to the prompt.
  1095. .TP
  1096. Shell state
  1097. You can invoke an inferior shell or external command from the Kermit
  1098. command prompt by using the PUSH, RUN (!), EDIT, or BROWSE command.
  1099. While the inferior shell or command is active, Kermit is suspended and
  1100. does nothing. Return to Kermit Command state by exiting from the
  1101. inferior shell or application.
  1102. .TP
  1103. Connect state
  1104. In this state, which can be entered only when in Local mode (i.e. when
  1105. Kermit has made a connection to another computer), Kermit is acting as
  1106. a terminal to the remote computer. Your keystrokes are sent to the
  1107. remote computer and characters that arrive over the communication
  1108. connection are displayed on your screen. This state is entered when
  1109. you give a CONNECT, DIAL, TELNET, RLOGIN, or IKSD command. You can
  1110. return to command state by logging out of the remote computer, or by
  1111. typing:
  1112. .sp
  1113. Ctrl\-\ec
  1114. .sp
  1115. That is: Hold down the Ctrl key and press the backslash key, then let
  1116. go of the Ctrl key and press the C key. This is called escaping back.
  1117. Certain other escape\(hylevel commands are also provided; type Ctrl\-\e?
  1118. for a list. For example, you can enter Shell state with:
  1119. .sp
  1120. Ctrl\-\e!
  1121. .sp
  1122. To send a Ctrl\-\e to the host while in Connect state, type two of them
  1123. in a row. See HELP CONNECT and HELP SET ESCAPE for more info.
  1124. .TP
  1125. Local file\(hytransfer state
  1126. In this state, Kermit is sending packets back and forth with the other
  1127. computer in order to transfer a file or accomplish some other
  1128. file\(hyrelated task. And at the same time, it is displaying its progress
  1129. on your screen and watching your keyboard for interruptions. In this
  1130. state, the following single\(hykeystroke commands are accepted:
  1131. .sp
  1132. .RS
  1133. .TP
  1134. X
  1135. Interrupt the current file and go on to the next (if any).
  1136. .TP
  1137. Z
  1138. Interrupt the current file and skip all the rest.
  1139. .TP
  1140. E
  1141. Like Z but uses a "stronger" protocol (use if X or Z don't work).
  1142. .TP
  1143. Ctrl\-C
  1144. Interrupt file\(hytransfer mode (use if Z or E don't work).
  1145. .sp
  1146. .RE
  1147. Kermit returns to its previous state (Command or Connect) when the
  1148. transfer is complete or when interrupted successfully by X, Z, E, or
  1149. Ctrl\-C (hold down the Ctrl key and press the C key).
  1150. .TP
  1151. Remote file\(hytransfer state
  1152. In this state, Kermit is exchanging file\(hytransfer packets with its
  1153. local partner over its standard i/o. It leaves this state
  1154. automatically when the transfer is complete. In case you find your
  1155. local Kermit in Connect state and the remote one in File\(hytransfer
  1156. state (in which it seems to ignore your keystrokes), you can usually
  1157. return it to command state by typing three Ctrl\-C's in a row. If that
  1158. doesn't work, return your local Kermit to Command state (Ctrl\-\e C) and
  1159. type "e\(hypacket" and then press the Return or Enter key; this forces a
  1160. fatal Kermit protocol error.
  1161. .TP
  1162. Remote Server state
  1163. This is like Remote File\(hytransfer state, except it never returns
  1164. automatically to Command state. Rather, it awaits further instructions
  1165. from the client program; that is, from your Local Kermit program. You
  1166. can return the Remote Server to its previous state by issuing a
  1167. "finish" command to the client, or if you are in Connect state, by
  1168. typing three Ctrl\-C's in a row. You can tell the server job to log out
  1169. and break the connection by issuing a "bye" command to the client.
  1170. .TP
  1171. Local Server state
  1172. Like Remote\(hyServer state, but in local mode, and therefore with its
  1173. file\(hytransfer display showing, and listening for single\(hykey commands,
  1174. as in Local File\(hytransfer state. Usually this state is entered
  1175. automatically when a remote Kermit program gives a GET command.
  1176. .sp
  1177. C\(hyKermit, Kermit 95, and MS\(hyDOS Kermit all can switch automatically from
  1178. Connect state to Local File\(hytransfer state when you initiate a file
  1179. transfer from the remote computer by starting Kermit and telling it to send
  1180. or get a file, in which case, Connect state is automatically resumed after
  1181. the file transfer is finished.
  1182. .sp
  1183. Note that C\(hyKermit is not a terminal emulator. It is a communications
  1184. application that you run in a terminal window (e.g. console or Xterm). The
  1185. specific emulation, such as VT100, VT220, Linux Console, or Xterm, is
  1186. provided by the terminal window in which you are running C\(hyKermit. Kermit
  1187. 95 and MS\(hyDOS Kermit, on the other hand, are true terminal emulators. Why
  1188. is C\(hyKermit not a terminal emulator? CLICK HERE to read about it.
  1189. .SH MAKING CONNECTIONS
  1190. Here is how to make different kinds of connections using interactive Kermit
  1191. commands (as noted above, you can also make connections with command\(hyline
  1192. options). Note that you don't have to make connections with Kermit. It can
  1193. also be used on the far end of a connection as the remote file transfer and
  1194. management partner of your local communications software.
  1195. .TP
  1196. Making a Telnet Connection
  1197. At the C\(hyKermit command prompt, simply type:
  1198. .sp
  1199. .nf
  1200. telnet foo.bar.com
  1201. .fi
  1202. .sp
  1203. (substituting desired hostname or address).
  1204. You can also include a port number:
  1205. .sp
  1206. .nf
  1207. telnet xyzcorp.com 3000 ;
  1208. .fi
  1209. .sp
  1210. If the connection is successful, Kermit automically enters Connect
  1211. state. When you logout from the remote host, Kermit automatically
  1212. returns to its prompt. More info: HELP TELNET, HELP SET TELNET, HELP
  1213. SET TELOPT. Also see the IKSD section below.
  1214. .TP
  1215. Making an Rlogin connection
  1216. This is just like Telnet, except you have to be root to do it because
  1217. Rlogin uses a privileged TCP port:
  1218. .sp
  1219. .nf
  1220. rlogin foo.bar.com
  1221. .fi
  1222. .sp
  1223. More info: HELP RLOGIN.
  1224. .TP
  1225. Making an SSH Connection
  1226. Unlike Telnet and Rlogin, SSH connections are not built\(hyin, but
  1227. handled by running your external SSH client through a pseudoterminal.
  1228. Using C\(hyKermit to control the SSH client gives you all of Kermit's
  1229. features (file transfer, character\(hyset conversion, scripting, etc)
  1230. over SSH.
  1231. .sp
  1232. ssh foo.bar.com
  1233. .sp
  1234. More info: HELP SSH, HELP SET SSH.
  1235. .TP
  1236. Dialing with a Modem
  1237. If it's an external modem, make sure it is connected to a usable
  1238. serial port on your computer with a regular (straight\(hythrough) modem
  1239. cable, and to the telephone jack with a telephone cable, and that it's
  1240. turned on. Then use these commands:
  1241. .sp
  1242. .nf
  1243. set modem type usrobotics ; Or other supported type
  1244. set line /dev/ttyS0 ; Specify device name
  1245. set speed 57600 ; Or other desired speed
  1246. set flow rts/cts ; Most modern modems support this
  1247. set dial method tone ; (or pulse)
  1248. dial 7654321 ; Dial the desired number
  1249. .fi
  1250. .sp
  1251. Type "set modem type ?" for a list of supported modem types. If you
  1252. omit the SET MODEM TYPE command, the default type is
  1253. "generic\(hyhigh\(hyspeed", which should work for most modern AT\(hycommand\(hyset
  1254. modems. If the line is busy, Kermit redials automatically. If the call
  1255. does not succeed, use "set dial display on" and try it again to watch
  1256. what happens. If the call succeeds, Kermit enters Connect state
  1257. automatically and returns to its prompt automatically when you log out
  1258. from the remote computer or the connection is otherwise lost.
  1259. .sp
  1260. You can also dial from a modem that is accessible by Telnet, e.g. to a
  1261. reverse terminal server. In this case the command sequence is:
  1262. .sp
  1263. .nf
  1264. set host ts.xxx.com 2000 ; Terminal\(hyserver and port
  1265. set modem type usrobotics ; Or other supported type
  1266. set dial method tone ; (or pulse)
  1267. dial 7654321 ; Dial the desired number
  1268. .fi
  1269. .sp
  1270. If the terminal server supports the Telnet Com Port Option, RFC 2217,
  1271. you can also give serial\(hyport related commands such as SET SPEED, SET
  1272. PARITY, and so on, and Kermit relays them to the terminal server using
  1273. the protocol specified in the RFC.
  1274. .sp
  1275. More info: HELP SET MODEM, HELP SET LINE, HELP SET SPEED, HELP SET
  1276. FLOW, HELP DIAL, HELP SET DIAL, HELP SET MODEM, HELP SET
  1277. CARRIER\-WATCH, SHOW COMMUNICATIONS, SHOW MODEM, SHOW DIAL.
  1278. .TP
  1279. Direct Serial Port
  1280. Connect the two computers, A and B, with a null modem cable (or two
  1281. modem cables interconnected with a null\(hymodem adapter or modem
  1282. eliminator). From Computer A:
  1283. .sp
  1284. .nf
  1285. set modem type none ; There is no modem
  1286. set line /dev/ttyS0 ; Specify device name
  1287. set carrier\-watch off ; If DTR CD are not cross\(hyconnected
  1288. set speed 57600 ; Or other desired speed
  1289. set flow rts/cts ; If RTS and CTS are cross\(hyconnected
  1290. set parity even ; (or "mark" or "space", if necessary)
  1291. set stop\-bits 2 ; (rarely necessary)
  1292. set flow xon/xoff ; If you can't use RTS/CTS
  1293. connect ; Enter Connect (terminal) state
  1294. .fi
  1295. .sp
  1296. This assumes Computer B is set up to let you log in. If it isn't, you
  1297. can run a copy of Kermit on Computer B and follow approximately the
  1298. same directions. More info: As above plus HELP CONNECT.
  1299. .PP
  1300. With modems or direct serial connections, you might also have to "set
  1301. parity even" (or "mark" or "space") if it's a 7\(hybit connection.
  1302. .PP
  1303. Of the connection types listed above, only one can be open at a time.
  1304. However, any one of these can be open concurrently with an FTP or HTTP
  1305. session. Each connection type can be customized to any desired degree,
  1306. scripted, logged, you name it. See the manual.
  1307. .PP
  1308. NOTE: On selected platforms, C\(hyKermit also can make X.25 connections. See
  1309. the manual for details.
  1310. .SH TRANSFERRING FILES WITH KERMIT
  1311. There is a widespread and persistent belief that Kermit is a slow protocol.
  1312. This is because, until recently, it used conservative tuning by default to
  1313. make sure file transfers succeeded, rather than failing because they
  1314. overloaded the connection. Some extra commands (or command\(hyline options,
  1315. like \-Q) were needed to make it go fast, but nobody bothered to find out
  1316. about them. Also, it takes two to tango: most non\(hyKermit\(hyProject Kermit
  1317. protocol implementations really ARE slow. The best file\(hytransfer partners
  1318. for C\(hyKermit are: another copy of C\(hyKermit (7.0 or later) and Kermit 95.
  1319. These combinations work well and they work fast by default. MS\(hyDOS Kermit
  1320. is good too, but you have to tell it to go fast (by giving it the FAST
  1321. command).
  1322. .PP
  1323. Furthermore, all three of these Kermit programs support "autodownload" and
  1324. "autoupload", meaning that when they are in Connect state and a Kermit
  1325. packet comes in from the remote, they automatically switch into file
  1326. transfer mode.
  1327. .PP
  1328. And plus, C\(hyKermit and K95 also switch automatically between text and
  1329. binary mode for each file, so there is no need to "set file type binary" or
  1330. "set file type text", or to worry about files being corrupted because they
  1331. were transferred in the wrong mode.
  1332. .PP
  1333. What all of these words add up to is that now, when you use up\(hyto\(hydate
  1334. Kermit software from the Kermit Project, file transfer is not only fast,
  1335. it's ridiculously easy. You barely have to give any commands at all.
  1336. .TP
  1337. Downloading Files
  1338. Let's say you have Kermit 95, C\(hyKermit, or MS\(hyDOS Kermit on your
  1339. desktop computer, with a connection to a Unix computer that has
  1340. C\(hyKermit installed as "kermit". To download a file (send it from Unix
  1341. to your desktop computer), just type the following command at your
  1342. Unix shell prompt:
  1343. .sp
  1344. kermit \-s oofa.txt
  1345. .sp
  1346. (where oofa.txt is the filename). If you want to send more than one
  1347. file, you can put as many filenames as you want on the command line,
  1348. and they can be any combination of text and binary:
  1349. .sp
  1350. kermit \-s oofa.txt oofa.zip oofa.html oofa.tar.gz
  1351. .sp
  1352. and/or you can use wildcards to send groups of files:
  1353. .sp
  1354. kermit \-s oofa.*
  1355. .sp
  1356. If you want to send a file under an assumed name, use:
  1357. .sp
  1358. kermit \-s friday.txt \-a today.txt
  1359. .sp
  1360. This sends the file friday.txt but tells the receiving Kermit that its
  1361. name is today.txt. In all cases, as noted, when the file transfer is
  1362. finished, your desktop Kermit returns automatically to Connect state.
  1363. No worries about escaping back, re\(hyconnecting, text/binary mode
  1364. switching. Almost too easy, right?
  1365. .TP
  1366. Uploading Files
  1367. To upload files (send them from your desktop computer to the remote
  1368. Unix computer) do the same thing, but use the \-g (GET) option instead
  1369. of \-s:
  1370. .sp
  1371. kermit \-g oofa.txt
  1372. .sp
  1373. This causes your local Kermit to enter server mode; then the remote
  1374. Kermit program requests the named file and the local Kermit sends it
  1375. and returns automatically to Connect state when done.
  1376. .sp
  1377. If you want to upload multiple files, you have have use shell quoting
  1378. rules, since these aren't local files:
  1379. .sp
  1380. .nf
  1381. kermit \-g "oofa.txt oofa.zip oofa.html oofa.tar.gz"
  1382. kermit \-g "oofa.*"
  1383. .fi
  1384. .sp
  1385. If you want to upload a file but store it under a different name, use:
  1386. .sp
  1387. kermit \-g friday.txt \-a today.txt
  1388. .TP
  1389. Kermit Transfers the Old\(hyFashioned Way
  1390. If your desktop communications software does not support autoupload or
  1391. autodownload, or it does not include Kermit server mode, the procedure
  1392. requires more steps.
  1393. .sp
  1394. To download a file, type:
  1395. .sp
  1396. kermit \-s filename
  1397. .sp
  1398. on the host as before, but if nothing happens automatically in
  1399. response to this command, you have to switch your desktop
  1400. communications software into Kermit Receive state. This might be done
  1401. by escaping back using keyboard characters or hot keys (Alt\-x is
  1402. typical) and/or with a command (like RECEIVE) or a menu. When the file
  1403. transfer is complete, you have to go back to Connect state, Terminal
  1404. emulation, or whatever terminology applies to your desktop
  1405. communications software.
  1406. .sp
  1407. To upload a file, type:
  1408. .sp
  1409. kermit \-r
  1410. .sp
  1411. on the host (rather than "kermit \-g"). This tells C\(hyKermit to wait
  1412. passively for a file to start arriving. Then regain the attention of
  1413. your desktop software (Alt\-x or whatever) and instruct it to send the
  1414. desired file(s) with Kermit protocol. When the transfer is finished,
  1415. return to the Connect or Terminal screen.
  1416. .TP
  1417. If File Transfer Fails
  1418. Although every aspect of Kermit's operation can be finely tuned, there
  1419. are also three short and simple "omnibus tuning" commands you can use
  1420. for troubleshooting:
  1421. .RS
  1422. .TP
  1423. FAST
  1424. Use fast file\(hytransfer settings. This has been the default since
  1425. C\(hyKermit 7.0 now that most modern computers and connections
  1426. support it. If transfers fail with fast settings, try . . .
  1427. .TP
  1428. CAUTIOUS
  1429. Use cautious but not paranoid settings. File transfers, if they
  1430. work, will go at medium speed. If not, try . . .
  1431. .TP
  1432. ROBUST
  1433. Use the most robust, resilient, conservative, safe, and reliable
  1434. settings. File transfers will almost certainly work, but they
  1435. will be quite slow (of course this is a classic tradeoff; ROBUST
  1436. was C\(hyKermit's default tuning in versions 6.0 and earlier, which
  1437. made everybody think Kermit protocol was slow). If ROBUST doesn't
  1438. do the trick, try again with SET PARITY SPACE first in case it's
  1439. not an 8\(hybit connection.
  1440. .RE
  1441. .sp
  1442. Obviously the success and performance of a file transfer also depends
  1443. on C\(hyKermit's file transfer partner. Up\(hyto\(hydate, real Kermit Project
  1444. partners are recommended because they contain the best Kermit protocol
  1445. implementations and because we can support them in case of trouble.
  1446. .sp
  1447. If you still have trouble, consult Chapter 10 of Using C\(hyKermit, or
  1448. send email to kermit\(hysupport@columbia.edu.
  1449. .TP
  1450. Advanced Kermit File\(hyTransfer Features
  1451. Obviously there is a lot more to Kermit file transfer, including all
  1452. sorts of interactive commands, preferences, options, logging,
  1453. debugging, troubleshooting, and anything else you can imagine but
  1454. that's what the manual and updates are for. Here are a few topics you
  1455. can explore if you're interested by Typing HELP for the listed
  1456. commands:
  1457. .RS
  1458. .TP
  1459. Logging transfers:
  1460. LOG TRANSACTIONS (HELP LOG)
  1461. .TP
  1462. Automatic per\(hyfile text/binary mode switching:
  1463. SET TRANSFER MODE { AUTOMATIC, MANUAL } (HELP SET TRANSFER).
  1464. .TP
  1465. Cross\(hyplatform recursive directory tree transfer:
  1466. SEND /RECURSIVE, GET /RECURSIVE (HELP SEND, HELP GET).
  1467. .TP
  1468. File collision options:
  1469. SET FILE COLLISION { OVERWRITE, BACKUP, DISCARD, ... } (HELP SET FILE).
  1470. .TP
  1471. Update: Transfer only files that changed since last time:
  1472. SET FILE COLLISION UPDATE (HELP SET FILE).
  1473. .TP
  1474. Filename selection patterns:
  1475. (HELP WILDCARD).
  1476. .TP
  1477. Flexible file selection:
  1478. SEND (or GET) /BEFORE /AFTER /LARGER /SMALLER /TYPE /EXCEPT, ...
  1479. .TP
  1480. Character\(hyset conversion:
  1481. SET { FILE, TRANSFER } CHARACTER\-SET, ASSOCIATE, ...
  1482. .TP
  1483. File/Pathname control:
  1484. SET { SEND, RECEIVE } PATHNAMES, SET FILE NAMES.
  1485. .TP
  1486. Atomic file movement:
  1487. SEND (or GET) /DELETE /RENAME /MOVE\-TO
  1488. .TP
  1489. Transferring to/from standard i/o of other commands:
  1490. SEND (or GET) /COMMAND
  1491. .TP
  1492. Recovery of interrupted transfer from point of failure:
  1493. RESEND, REGET (HELP RESEND, HELP REGET).
  1494. .RE
  1495. .TP
  1496. Non\(hyKermit File Transfer
  1497. You can also use C\(hyKermit to transfer files with FTP or HTTP Internet
  1498. protocols; see below.
  1499. .sp
  1500. On a regular serial or Telnet connection where the other computer
  1501. doesn't support Kermit protocol at all, you have several options. For
  1502. example, if your desktop communications software supports Zmodem, use
  1503. "rz" and "sz" on the host rather than Kermit. But if Kermit is your
  1504. desktop software, and you are using it to make calls or network
  1505. connections to other computers that don't support Kermit protocol (or
  1506. that don't have a good implementation of it), then if your computer
  1507. also has external X, Y, or Zmodem programs that are redirectable,
  1508. Kermit can use them as external protocols. HELP SET PROTOCOL for
  1509. details.
  1510. .sp
  1511. You can also capture "raw" data streams from the other computer with
  1512. LOG SESSION (HELP LOG and HELP SET SESSION\-LOG for details), and you
  1513. can upload files without any protocol at all with TRANSMIT (HELP
  1514. TRANSMIT, HELP SET TRANSMIT).
  1515. .SH KERMIT'S BUILT\(hyIN FTP AND HTTP CLIENTS
  1516. Kermit's FTP client is like the regular Unix FTP client that you're used
  1517. to, but with some differences:
  1518. .TP
  1519. \(bu
  1520. It has lots more commands and features.
  1521. .TP
  1522. \(bu
  1523. Each FTP command must be prefixed with "ftp", for example "ftp open",
  1524. "ftp get", "ftp bye", etc (this is not strictly true, but until you're
  1525. more familiar with it, it's best to follow this rule).
  1526. .TP
  1527. \(bu
  1528. Commands like "cd", "directory", etc, execute locally, not on the
  1529. server. Use "ftp cd", "ftp dir", etc, to have them act on the server.
  1530. .TP
  1531. \(bu
  1532. You can have an FTP session and a regular Kermit serial or Telnet
  1533. session open at the same time.
  1534. .TP
  1535. \(bu
  1536. FTP sessions can be fully automated.
  1537. .PP
  1538. Pending publication of the next edition of the manual, the Kermit FTP
  1539. client is thoroughly documented at the Kermit Project website:
  1540. .sp
  1541. http://www.columbia.edu/kermit/ftpclient.html
  1542. .sp
  1543. You also can use HELP FTP and HELP SET FTP to get descriptions of Kermit's
  1544. FTP\(hyrelated commands.
  1545. .PP
  1546. The HTTP client is similar to the FTP one, except you prefix each command
  1547. with HTTP instead of FTP: HTTP OPEN, HTTP GET, HTTP PUT, HTTP CLOSE, etc.
  1548. Type HELP HTTP for details, or visit the to view the manual supplements.
  1549. HTTP connections can be open at the same time as regular serial or Telnet
  1550. connections and FTP connections. So Kermit can manage up to three types
  1551. connections simultaneously.
  1552. .SH INTERNET KERMIT SERVICE
  1553. C\(hyKermit can be configured and run as an Internet service (called IKSD),
  1554. similar to an FTP server (FTPD) except you can (but need not) interact with
  1555. it directly, plus it does a lot more than an FTP server can do. The TCP
  1556. port for IKSD is 1649. It uses Telnet protocol. C\(hyKermit can be an Internet
  1557. Kermit Server, or it can be a client of an IKSD. You can make connections
  1558. from C\(hyKermit to an IKSD with any of the following commands:
  1559. .sp
  1560. .nf
  1561. telnet foo.bar.edu 1649
  1562. telnet foo.bar.edu kermit ; if "kermit" is listed in /etc/services
  1563. iksd foo.bar.edu
  1564. .fi
  1565. .sp
  1566. The IKSD command is equivalent to a TELNET command specifying port 1649.
  1567. For more information about making and using connections to an IKSD, see:
  1568. .sp
  1569. http://www.columbia.edu/kermit/cuiksd.html
  1570. .sp
  1571. You can run an Internet Kermit Service on your own computer too (if you are
  1572. the system administrator). For instructions, see:
  1573. .sp
  1574. http://www.columbia.edu/kermit/iksd.html
  1575. .SH SECURITY
  1576. All of C\(hyKermit's built\(hyin TCP/IP networking methods (Telnet, Rlogin, IKSD,
  1577. FTP, and HTTP) can be secured by one or more of the following IETF\(hyapproved
  1578. methods:
  1579. .PP
  1580. \(bu MIT Kerberos IV
  1581. .br
  1582. \(bu MIT Kerberos V
  1583. .br
  1584. \(bu SSL/TLS
  1585. .br
  1586. \(bu Stanford SRP
  1587. .PP
  1588. For complete instructions see:
  1589. .PP
  1590. http://www.columbia.edu/kermit/security.html
  1591. .PP
  1592. And as noted previously, you can also make SSH connections with C\(hyKermit if
  1593. you already have an SSH client installed.
  1594. .SH ALTERNATIVE COMMAND\(hyLINE PERSONALITIES
  1595. When invoked as "kermit" or any other name besides "ftp" or "telnet",
  1596. C\(hyKermit has the command\(hyline options described above in the OPTIONS
  1597. section. However, if you invoke C\(hyKermit as "telnet" or "ftp", it changes
  1598. its command\(hyline personality to match. This can be done (among other ways)
  1599. with symbolic links (symlinks). For example, if you want C\(hyKermit to be
  1600. your regular Telnet client, or the Telnet helper of your Web browser, you
  1601. can create a link like the following in a directory that lies in your PATH
  1602. ahead of the regular telnet program:
  1603. .sp
  1604. ln \-s /usr/local/bin/kermit telnet
  1605. .sp
  1606. Now when you give a "telnet" command, you are invoking Kermit instead, but
  1607. with its Telnet command\(hyline personality so, for example:
  1608. .sp
  1609. telnet xyzcorp.com
  1610. .sp
  1611. Makes a Telnet connection to xyzcorp.com, and Kermit exits automatically
  1612. when the connection is closed (just like the regular Telnet client). Type
  1613. "telnet \-h" to get a list of Kermit's Telnet\(hypersonality command\(hyline
  1614. options, which are intended to be as compatible as possible with the
  1615. regular Telnet client.
  1616. .PP
  1617. Similarly for FTP:
  1618. .sp
  1619. ln \-s /usr/local/bin/kermit ftp
  1620. .sp
  1621. And now type "ftp \-h" to see its command\(hyline options, and command lines
  1622. just like you would give your regular FTP client:
  1623. .sp
  1624. ftp xyzcorp.com
  1625. .sp
  1626. but with additional options allowing an entire session to be specified on
  1627. the command line. Finally, if Kermit's
  1628. first command\(hyline option is a Telnet, FTP, IKSD, or HTTP URL, Kermit
  1629. automatically makes the appropriate kind of connection and, if indicated by
  1630. the URL, takes the desired action:
  1631. .TP
  1632. kermit telnet:xyzcorp.com
  1633. Opens a Telnet session
  1634. .TP
  1635. kermit telnet://olga@xyzcorp.com
  1636. Ditto for user olga
  1637. .TP
  1638. kermit ftp://olga@xyzcorp.com/public/oofa.zip
  1639. Downloads a file
  1640. .TP
  1641. kermit kermit://kermit.columbia.edu/kermit/f/READ.ME
  1642. Ditto for IKSD
  1643. .TP
  1644. kermit iksd://kermit.columbia.edu/kermit/f/READ.ME
  1645. (This works too)
  1646. .TP
  1647. kermit http://www.columbia.edu/kermit/index.html
  1648. Grabs a web page
  1649. .fi
  1650. .SH LICENSE
  1651. C\(hyKermit has an unusual license, but a fair and sensible one since the
  1652. Kermit Project must support itself out of revenue: it's not a BSD license,
  1653. not GPL, not Artistic, not commercial, not shareware, not freeware. It can
  1654. be summed up like this: if you want C\(hyKermit for your own use, you can
  1655. download and use it without cost or license (but we'd appreciate it if you
  1656. would purchase the manual). But if you want to sell C\(hyKermit or bundle it
  1657. with a product or otherwise distribute it in a commercial setting EXCEPT
  1658. WITH AN OPEN\(hySOURCE OPERATING SYSTEM DISTRIBUTION such as Linux, FreeBSD,
  1659. NetBSD, or OpenBSD, you must license it. To see the complete license, give
  1660. the LICENSE command at the prompt, or see the COPYING.TXT file distributed
  1661. with C\(hyKermit 7.0 or later, or download it from
  1662. .sp
  1663. ftp://kermit.columbia.edu/kermit/c\-kermit/COPYING.TXT
  1664. .sp
  1665. Send licensing inquiries to kermit@columbia.edu.
  1666. .SH BUGS
  1667. See the following files for listings of known bugs, limitations,
  1668. workarounds, hints and tips:
  1669. .TP
  1670. ckcbwr.txt
  1671. General C\(hyKermit bugs, hints, tips.
  1672. .TP
  1673. ckubwr.txt
  1674. Unix\(hyspecific C\(hyKermit bugs, hints, tips.
  1675. .PP
  1676. Report bugs and problems by email to:
  1677. .sp
  1678. kermit\-support@columbia.edu.
  1679. .sp
  1680. Before requesting technical support, please read the hints here:
  1681. .sp
  1682. http://www.columbia.edu/kermit/support.html
  1683. .sp
  1684. and also read the C\(hyKermit Frequently Asked Questions:
  1685. .sp
  1686. http://www.columbia.edu/kermit/ckfaq.html
  1687. .SH OTHER TOPICS
  1688. There's way more to C\(hyKermit than we've touched on here \(hy\(hy troubleshooting,
  1689. customization, character sets, dialing directories, sending pages, script
  1690. writing, and on and on, all of which are covered in the manual and updates
  1691. and supplements. For the most up\(hyto\(hydate information on documentation (or
  1692. updated documentation itself) visit the Kermit Project website:
  1693. .sp
  1694. http://www.columbia.edu/kermit/
  1695. .PP
  1696. There you will also find Kermit software packages for other platforms:
  1697. different Unix varieties, Windows, DOS, VMS, IBM mainframes, and many
  1698. others: 20+ years' worth.
  1699. .SH DOCUMENTATION AND UPDATES
  1700. The manual for C\(hyKermit is:
  1701. .TP
  1702. .I
  1703. Using C\(hyKermit
  1704. Frank da Cruz and Christine M. Gianone,
  1705. Second Edition, Digital Press / Butterworth\(hyHeinemann, Woburn, MA, 1997, 622
  1706. pages, ISBN 1\-55558\-164\-1. This is a printed book. It covers C\(hyKermit 6.0.
  1707. .TP
  1708. The C\(hyKermit 7.0 Supplement
  1709. http://www.columbia.edu/kermit/ckermit70.html
  1710. .TP
  1711. The C\(hyKermit 8.0 Supplement
  1712. http://www.columbia.edu/kermit/ckermit80.html
  1713. .TP
  1714. The C\(hyKermit 9.0 Supplement
  1715. http://www.columbia.edu/kermit/ckermit90.html
  1716. .PP
  1717. Visit C\(hyKermit home page:
  1718. .sp
  1719. http://www.columbia.edu/kermit/ckermit.html
  1720. .sp
  1721. to learn about new versions, Beta tests, and other news; to
  1722. read case studies and tutorials; to download source code, install packages,
  1723. and prebuilt binaries for many platforms. Also visit:
  1724. .TP
  1725. http://www.columbia.edu/kermit/scriptlib.html
  1726. The Kermit script library and tutorial
  1727. .TP
  1728. http://www.columbia.edu/kermit/newfaq.html
  1729. The Kermit FAQ (Frequently Asked Questions about Kermit)
  1730. .TP
  1731. http://www.columbia.edu/kermit/ckfaq.html
  1732. The C\(hyKermit FAQ (Frequently Asked Questions about C\(hyKermit)
  1733. .TP
  1734. http://www.columbia.edu/kermit/telnet.html
  1735. C\(hyKermit Telnet client documentation
  1736. .TP
  1737. http://www.columbia.edu/kermit/security.html
  1738. C\(hyKermit security documentation (Kerberos, SSL/TLS, etc)
  1739. .TP
  1740. http://www.columbia.edu/kermit/cuiksd.html
  1741. Internet Kermit Service user documentation
  1742. .TP
  1743. http://www.columbia.edu/kermit/iksd.html
  1744. Internet Kermit Service administrator documentation
  1745. .TP
  1746. http://www.columbia.edu/kermit/studies.html
  1747. Case studies.
  1748. .TP
  1749. http://www.columbia.edu/kermit/support.html
  1750. Technical support.
  1751. .TP
  1752. http://www.columbia.edu/kermit/k95tutorial.html
  1753. Kermit 95 tutorial.
  1754. .TP
  1755. comp.protocols.kermit.misc
  1756. The Kermit newsgroup (unmoderated).
  1757. .SH FILES
  1758. .TP
  1759. COPYING.TXT
  1760. C\(hyKermit license.
  1761. .TP
  1762. ~/.kermrc
  1763. Initialization file.
  1764. .TP
  1765. ~/.mykermrc
  1766. Customization file.
  1767. .TP
  1768. ~/.kdd
  1769. Kermit dialing directory (see manual).
  1770. .TP
  1771. ~/.knd
  1772. Kermit network directory (see manual).
  1773. .TP
  1774. ~/.ksd
  1775. Kermit services directory (see manual).
  1776. .TP
  1777. ca_certs.pem
  1778. Certificate Authority certifcates used for SSL connections.
  1779. .TP
  1780. ckuins.txt
  1781. Installation instructions for Unix. Also at
  1782. http://www.columbia.edu/kermit/ckuins.html.
  1783. .TP
  1784. ckcbwr.txt
  1785. General C\(hyKermit bugs, hints, tips.
  1786. .TP
  1787. ckubwr.txt
  1788. Unix\(hyspecific C\(hyKermit bugs, hints, tips.
  1789. .TP
  1790. ckcplm.txt
  1791. C\(hyKermit program logic manual.
  1792. .TP
  1793. ckccfg.txt
  1794. C\(hyKermit compile\(hytime configuration options.
  1795. .TP
  1796. ssh
  1797. (in your PATH) SSH connection helper.
  1798. .TP
  1799. rz, sz, etc.
  1800. (in your PATH) external protocols for XYZmodem.
  1801. .TP
  1802. /var/spool/locks (or whatever)
  1803. UUCP lockfile for dialing out (see installation instructions).
  1804. .SH AUTHORS
  1805. .TP
  1806. Software
  1807. Frank da Cruz and Jeffrey E Altman,
  1808. .br
  1809. 1985\(hypresent, with contributions from hundreds of others all over the
  1810. world.
  1811. .TP
  1812. Documentation
  1813. Frank da Cruz
  1814. .TP
  1815. Address
  1816. .nf
  1817. The Kermit Project \(hy Columbia Univerity
  1818. 612 West 115th Street
  1819. New York NY 10025\-7799
  1820. USA
  1821. .fi
  1822. .TP
  1823. E\(hyMail
  1824. kermit@columbia.edu
  1825. .TP
  1826. Web
  1827. http://www.columbia.edu/kermit/
  1828. .fi
  1829. .br