Moving Files to CS Machines, Compiling and Running from the Linux Command Line
(Adapted from Professor Novak's Instructions )

Transferring Files:

If you do the assignments on the CS Linux computers, you may skip this step; however, if you do the assignments on your laptop, you will need to transfer your files over to one of the Linux machines.

In order to connect to a CS linux machine, you first need the machine name. You may find a list of machine names at http://apps.cs.utexas.edu/unixlabstatus/. Find a machine that is up and, preferably, has a low number of users. Once you select a machine, you must concatenate ".cs.utexas.edu" onto the end of the listed machine name. For instance, if you are trying to connect to the machine called pez, you would use pez.cs.utexas.edu as the host name.

There are several programs which you may use to send files to the CS machines. From my laptop I use WinSCP to transfer file and Putty to work on the command line on the CS Linux machines. You can also use the scp command on OS X / Linux / Cygwin.

To connect, you will need both the host name and your user name. As previously mentioned, the hostname will be <computer_name>.cs.utexas.edu; your user name is your CS account username; it is not your UT EID. If you were connecting to the Linux machines using the Mac OSX terminal, it would look something like this:

ssh <cs_username>@<computer_name>.cs.utexas.edu

Alternatively, you can use the -l (that is a lowercase L) flag to provide your user name. As a result, the following command is equivalent to the one above:

ssh <computer_name>.cs.utexas.edu -l <cs_username>

On some SSH applications you will be asked for a port number. Port 22 is the standard port, so use this value.

After you successfully connect to the Linux machine, it will say something about saving a public key to the database. You want to do this so it doesn't have to keep re-authenticating your key every time you try to log in.

Now that you are logged in, if you have a GUI you can transfer files over that way. By default, the default folder that you transfer the files into will be the folder that you start in when you log in at the command line interface.

Please note that when you SSH into a machine, you are remotely using that machine; you will not have access to your locally stored files. If you want, you can avoid transferring files between your machine and the CS Linux machines simply by working on them remotely using SSH.

Compiling Java on the Command Line:

If you are using Java, your program must be able to be compiled and run from the command line. While you are free to develop using any IDE you like, such as Eclipse, realize that for testing purposes, no particular IDE configuration will be used or even available. Before submitting your files, be sure that they can be compiled using javac <your_files> and run using java <your_program>. If you are using Eclipse, generally this means that you will need to remove the package statement from your Java files.

For example, in assignment 1, place your CodeCampTester.java, Stopwatch.java, and CodeCamp.java files in a directory under your CS department account.

Then compile the programs with the following command:

javac CodeCampTester.java

Your program must execute the sample main() using the following command:

java CodeCampTester

More on compiling and running from the command line at this page.

If you have questions come by lab hours or post your questions to Piazza.