...
- Anna Battenhouse, Associate Research Scientist, abattenhouse@utexas.edu
- BA English literature, 1978, Carleton College
- Commercial software development 1982 – 2007
- Texas Instruments, Motorola ...
- lots of software development experience but limited Unix/Linux
- Joined Vishwanath Iyer Lab 2007 (functional genomics)
- “retirement career”
- began to appreciate Linux & bash (slowly)
- BS Biochemistry, 2013, UT
- Current affiliations:
- Manager, Biomedical Research Computing Facility (BRCF)
- member, Bioinformatics Consulting Group (BCG)
- member, Marcotte lab (systems biology/proteomics)
The Biomedical Research Computing Facility (BRCF) is a and the Bioinformatics Consulting Group (BCG) are CBRS core facility facilities that supports support local research computing.
...
Unix has been around a long time (~1969), before computers had screens or hard drives – magnetic tape and paper tape were used instead. It is written in the C programming language, which was considered a high-level language at the time (– at least compared to assembly language); now . These days C is considered a low-level language .
The original, fundamental "Zen" of Unix is that everything is a file – devices, printers, terminals, and of course actual files.
The GNU project ("Gnu 's is Not Unix") started by Richard Stallman in 1983, provided a lot of open-source tools and utilities to Unix. Popularity of Unix increased dramatically with this development. At this point in time, some Unix flavors were proprietary; others were open or partially open.
Linux, a "Unix-like" system, was developed in 1991 by Linus Torvalds using GNU utilities. Linux is entirely open-source so has become the "Unix of choice" for scientific computing. There are, however, commercial distributions of Linux (e.g. RedHat), but they have restrictions on what open-source tools can be included/used.
There are many flavors/distributions of Unix, and many flavors/distros distributions of Linux. Severak clusters at TACC (the Texas Advanced Computing Center) uses use CentOS, an open-source version of RedHat. Our servers run Ubuntu, from the Debian family of distributionsdistros. Distributions may differ in a number of system management processes, but generally offer a similar set of utilities.
...
Why not use a program with a GUI (Graphical User Interface) instead?
- Programming involves writing files anyway, and is constrained by the language environment used
- Using the command line lets you be very precise and flexible at the same time
- After the initial learning curve (which is non-trivial!!) the command line can be easier – and faster!
- And you can easily test your command line "mini-scripts" as you develop them
- You can easily work on remote computers from your laptop, as we'll do in this class
...
Note that you will have access to this Wiki even after the class, and I will email you a link to a video recording of the course.
If you choose to follow hands-on, you'll be using the BRCF "GSAF pod", a set of 3 compute servers attached to a large, shared storage server.
...
We have set up 99 "student" accounts, named student01 , student02 ... student99 . We'll assign one to you. The password for these accounts is written on given in the whiteboardchat.
Warning |
---|
These credentials are active for the next few daysweeks, but will be de-activated on Sunday May 6, 2023 in the eveningat the end of November 2024. |
With your studentNN account you can ssh into one of the following servers:
- gsafcomp01.ccbb.utexas.edu – odd number studentNN accounts
- gsafcomp02.ccbb.utexas.edu – even number studentNN accounts
Info | ||
---|---|---|
| ||
For those associated with UT Austin and are not on the UT campus network, you'll need to have the UT VPN service active in order to connect to these servers via SSH. See How to Connect to the UT VPN Folks not associated with UT Austin, or do not have the UT VPN service installed, can use an alternate web-based method, described below. |
Logging in via SSH
You can access the servers using ssh in a Terminal program that runs on your computer. On Macs, this program is called Terminal. On Windows (Windows 10 or later) it is called Command Prompt or PowerShell. Find and open this program now on your computer.
...
- Answer yes to the SSH security question prompt
- this will only be asked the 1st time you login
- Enter the class password at the password prompt, then press Enter.
- for security reasons, the text that you enter will not be displayed
Once you've successfully logged in, you can logout by just typing exit, then Enter. You'll then be back in your local computer's Terminal environment.
If your Windows version does not support ssh, you can download PuTTY from: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
Expand | ||
---|---|---|
| ||
If you're using PuTTY as your Terminal from Windows:
|
Tip | |||||
---|---|---|---|---|---|
If your Terminal has a dark background, the default shell colors can be hard to read. Execute this line to display directory names in yellow.
We'll see later how to set this environment variable in your login script (~/.profile) so that it gets executed every time you login to this server. For now, just copy the appropriate line above, paste it into your Terminal window (after logging on), then press Enter. |
Logging in via RStudio web
If you're attending remotely and or do not have access to the UT VPN, you can use the Terminal functionality in the RStudio web application.
...
...
title | Using the RStudio Terminal |
---|
To access the Terminal built into RStudio Server.
- Click on one of these links:
- Select the RStudio link
- Enter your studentNN account name and our password, then click the Sign In button
- In the RStudio web application, select the Terminal tab above the type-in area
You should now see a command line in the RStudio type-in area.
Tip | ||
---|---|---|
Code Block | language | bash|
export LS_COLORS=$LS_COLORS:'di=1;33:fi=01:ln=01;36' |
Code Block | ||
---|---|---|
| ||
export LS_COLORS=$LS_COLORS:'di=1;34:fi=01:ln=01;36:' |
We'll see later how to set this environment variable in your login script (~/.profile) so that it gets executed every time you login to this server.
For now, just copy the appropriate line above, paste it into your Terminal window (after logging on), then press Enter.
...