HACTRN basics
HACTRN is the first program the user interacts with when having logged in. It's another name for the debugger DDT, which is used to start and control programs, and to manipulate the file system. It's similar to, but much more powerful than the non-timesharing DDT which is used to start and debug ITS itself.
Many HACTRN commands come in two versions: a colon command and a DDT command. Colon commands start with a colon, followed by a name. DDT commands are control characters, or have an Altmode prefix, or both. Colon commands may be easier to learn and remember in the beginning, but DDT commands have stronger fluidity in use and have the same user experience as TECO and EMACS. Beginners are encouraged to use the DDT commands from the start.
A running programs is called a job. DDT can manage up to eight jobs. Each job may in turn have subjobs. You can usually suspend the current job by typing ^Z, but it will remain waiting in the background.
HACTRN remembers the last file name you typed to it; this is called file name defaults. When you type a file name, missing components will be filled in from the defaults, and then defaults are updated.
Some important HACTRN commands are:
DDT command | Colon command | Meaning |
---|---|---|
foo$U | :LOGIN foo | Log in as user foo. |
$$U | :LOGOUT | Log out. |
:HELP | Brief help. | |
:? | List all colon commands. | |
^F | :LISTF | List files in current directory. |
foo^F | :LISTF foo | List files in foo, which may be a device or directory. |
foo$$^S | :CWD foo | Change current directory to foo. |
^Rfoo | :TYPE foo | Print the file foo on the display. |
foo^K | :foo | Start program named foo. |
^Z | Suspend current job. | |
$$V | :LISTJ | List jobs. |
$J | :JOB | Switch to the next job in the list. |
foo$J | :JOB foo | Switch to the job named foo. |
$^X. | :KILL | Kill current job. |
foo$^X | Kill job named foo. | |
$P | :CONTINUE | Resume current job. |
^P | :PROCED | Run current job in the background. |