This course will familiarize the student with the basics of accessing and interacting with high-performance computers using the GNU/Linux operating system’s command line. Topics include: a brief overview of Linux, the command shell, navigating the file system, basic commands, shell redirection, permissions, processes, and the command environment. Through hands-on experience, students will become familiar with the Linux command-line interface to high-performance computer systems, or other Linux systems for manipulating and analyzing data.
Dr. Charles J Antonelli
Advocacy and Research Support Group
LSA Information Technology
Charles is a High Performance Computing Consultant in the Advocacy and Research Support Group of LSAIT at the University of Michigan, where he is responsible for high performance computing support and education, and is an advocate to the Departments of History and Communications. Prior to this, he built a parallel data ingestion component of a novel earth science data assimilation system, a secure packet vault, and worked on the No. 5 ESS Switch at Bell Labs in the 80s. He has taught courses in operating systems, distributed file systems, C++ programming, security, and database application design.
- Lecture Notes (updated August 25)
- Reference text:
William E Shotts, Jr., “The Linux Command Line: A Complete Introduction,” No Starch Press, January 2012.
Download Creative Commons Licensed version at
In order to participate successfully in the class exercises, you must have a Flux user account, a Flux allocation, and an MToken. The user account allows you to log in to the cluster, create, compile, and test applications, and prepare Flux jobs for submission. The allocation allows you to submit those jobs, executing those applications in parallel on the cluster and charging their resource use against the allocation. A token is required to authenticate you to the cluster.
A single Flux user account can be used to prepare and submit jobs using various allocations. If you already already possess a user account, you can use it for this course, you can skip to “Flux allocation” below. If not, please visit https://www.engin.umich.edu/form/cacaccountapplication/ to obtain one. A user account is free to members of the University community.
Please note that obtaining an account requires human processing, so be sure to do this at least two business days before class begins.
We’ll issue you a temporary allocation so you can run jobs on the cluster during the course. If you already have an existing Flux allocation, you can use that as well, if you like.
An MToken (or a Software Token) is required to login to the cluster. When logging in, you will need to give both the passcode it displays at time of login as well as your Kerberos password in order to authenticate. If you already possess an MToken, you can ignore the rest of this paragraph. Otherwise, you should do one of the following:
- Obtain a token by visiting the LSAIT Help Desk in Suite 1112 LSA Building, 500 S State St. The Help Desk will issue you an MToken and instructions for activiating it. Your simplest course of action is to activate your MToken before you leave the Help Desk area. If you cannot do so, please activate your MToken before you come to class.
- Request a token from the LSAIT Help Desk by sending an email to email@example.com or by calling 734.936.3279, and we will send you an MToken through the campus mail. Please make your request no later than four business days before class, and please activate your MToken before you come to class.
- Show up for class a half-hour early, and we will issue you an MToken and instructions for activating it. Note you will need to be able to send and receive email at that time to complete the activation process.