Command Line
User accounts on Frontera have bash as the default login shell. If you are unfamiliar with bash or the Linux command line, we recommend working through the Shells topic of the Introduction to Linux roadmap in the Cornell Virtual Workshop. Other shells (such as sh, csh/tcsh, and zsh) are available for use on Frontera; to switch to one of these as your default shell, you must create a ticket through the Frontera Portal or the TACC User Portal. Execute cat /etc/shells
for a full list of available shells.
Customization
If you would like to make customizations to your shell, it is recommended that you do so within the .bashrc
file, which is sourced by .profile
by default. In this way you will get a consistent environment within your shell regardless of how it is launched (login, interactive shell, or script). If you would like to reset your shell back to the default setup at any time, simply execute /usr/local/startup_scripts/install_default_scripts
. For more information about bash startup files, see TACC's Quick Start Guide.
Environment Variables
Your shell environment consists of:
- environment variables and functions defined in system startup scripts;
- user customizations added by account startup scripts; and
- configurations performed when loading modules (to be covered in the Modules section).
If you are unfamiliar with environment variables or need a refresher, please see the Environment Variables section of the Introduction to Linux roadmap. The table below highlights some of the important environment variables to be aware of while working on Frontera:
Variable | Description |
---|---|
PATH |
Stores a list of directory paths to executables, which the shell searches when you issue a command |
MANPATH |
Stores a list of directory paths the man command searches for man pages |
LD_LIBRARY_PATH |
Stores a list of directory paths to libraries, such as MKL, which compilers, linkers, and dynamic loaders search |
varies by package | Package-specific environment variables (e.g., TAU_METRICS ) |
varies by package | Site environment variables for packages (e.g., TACC_NETCDF_LIB ) |
A full list of environment variables and their current values within your shell can be viewed by executing the env
command. Make sure to differentiate appropriately between a variable's name and its value; the latter is obtained by prepending $
to the name, e.g., $PATH
.
Text Editors
"Regardless of your research workflow, you'll need to [become skillful in] Linux basics and a Linux-based text editor (e.g., emacs, nano, gedit, or vi/vim) to use the system properly."
If you could use a primer in this area, tutorials for the two more fully-featured text editors (Vim and Emacs) are provided in the Text Editors topic of the Introduction to Linux roadmap. There you will also find external links for nano and gedit. Gaining proficiency in one of these text editors is a good way to enhance your productivity on any Linux system, and hence can be a great asset when doing research on a leadership-class system such as Frontera.