Introduction to USS
You get into USS from within an existing TSO session. You do this by typing 'TSO OMVS' on any TSO command prompt line.
USS will start your main shell and put you at the default location of "/u/<TSO userid>/", this is your home directory.
If you need to get back here type and any time, type 'cd'.
IBM Licensed Material - Property of IBM 5647-A01 (C) Copyright IBM Corp. 1993, 1998 (C) Copyright Mortice Kern Systems, Inc., 1985, 1996. (C) Copyright Software Development Group, University of Waterloo, 1989. All Rights Reserved. U.S. Government users - RESTRICTED RIGHTS - Use, Duplication, or Disclosure restricted by GSA-ADP schedule contract with IBM Corp. IBM is a registered trademark of the IBM Corp. $ ===> RUNNING ESC=¢ 1=Help 2=SubCmd 3=HlpRetrn 4=Top 5=Bottom 6=TSO 7=BackScr 8=Scroll 9=NextSess 10=Refresh 11=FwdRetr 12=Retrieve
The main screen (above) consists of the output of any commands you have entered or programs your have run. At the bottom of the the screen are the list of functions keys. Just above these are your command prompt on the left and USS status text on the right. This status text is usually one of the following:
- 'RUNNING' - USS is in the middle of executing a command or program.
- 'INPUT' - USS is waiting for a command from you.
All the commands you type in are asynchronous, meaning that they are executing in the background one after another.
You can build up a list of commands waiting for execution (but this is not a good idea if you have a slow TSO region).
Unlike some other operating systems and TSO, all USS commands and filenames are cAsE sEnSiTiVe, if you think that a command or file exists but USS can't find it, try checking the state of your Caps Lock key.
Environment settings
All the environment settings are held in a system file called '.profile' in your home directory.
A useful thing to do when you start using USS, is to change the default prompt '$' to show your current location, to do this type 'PS1='£PWD>''.
Codepage conflict
The codepage that is used in normal TSO is different to the one used in USS.
Depending on codepage you are using, you may find that the '$' signs in documentation should be '£' signs. As this is the case for me, I've used '£' signs throughout the pages in this section.
Another feature of a different codepage is that when programming in any language, square brackets have different hex codes. The correct hex codes are 0xAD for '[' and 0xBD for ']'.
Using multiple shells
When you logon to USS you start with 1 shell. But what if you need to run another program or command at the same time?
Having multiple shells, allows you to do this.
Starting Unix with n shells
To start USS with 2 shells, you start USS by typing 'tso omvs sessions(n)' replacing n with 2.
Creating extra shells
To create a new shell, press '<F2>' for the SubCommand prompt and type 'OPEN'.
Switching between shells
To switch between shells, press '<F9>' which cycles through each session or press '<F2>' and type 'PREVSESS' to switch to the previous session or 'NEXTSESS' to switch to the next session.
Ending a shell
To end a shell, type 'exit' or press '<F2>' and type 'QUIT', this can take a while sometimes.
Communicating with other users
In USS you can send text and command output to other users in the same USS environment.
Who is currently using USS?
To see who is currently logged in, type 'who' and a list of USS userid's will be displayed.
I don't want messages
If you don't want receive message, use the 'mesg' command. If you just type 'mesg', it will show 'is y' is you can have messages, or 'is n' if you can't. To change the setting type 'mesg y' to accept messages or 'mesg n' to refuse them.
Starting a conversation
The 'talk' might not work in USS, as it is for users who use rlogin or telnet clients (which I don't) to connect to the mainframe.
To use the 'write' command type 'write <USS userid>'. If the user has turned messages off (see above), you well get a 'no permission' error.
Any text you now type will also be displayed on the other user's screen. If you want to execute a command, prefix it with a '!'. To stop writing, type '$C' or '$D' (not case sensitive).
Sending the output of a command to other user
This can be done while using thge 'write' command, or as a command by itself.
To send the output of an 'ls' command to another user type 'ls . | write <TSO userid>' (The | character is a bar/pipe).