This two-day / six-unit course will provide students with a basic introduction to Linux and Unix systems in use in many of the biological and computational research departments around campus. Attendees will have access to a Linux computational server to practice various tasks and perform labs in order to familiarize themselves with the environment. The class materials will cover a variety of tasks from those often considered simple, such as logging in, through more advanced tasks like building an application. The course includes lectures, informal Q & A, and hands-on activities/labs. Registration required.

Completion of this course meets the Unix familiarity pre-requisite for the Introduction to Scientific Computing course. Later sessions will build from topics covered in the earlier ones — by registering for this course, you are agreeing to attend six sessions (note dates and times below – three consecutive sessions on 24 March and three consecutive sessions on 26 March). REGISTER HERE.

Instructors: Chris Collins (OIT), Jimmy Dorff (Physics), William Shaw (Library/Digital Scholarship), Drew Stinnett (OIT)
“Introduction to Unix” is co-sponsored by Digital Scholarship Services, Duke Research Computing, Department of Physics, and IGSP.

Course schedule

24 March
Introduction to Unix – Unit 1: Shell Navigation and A Brief History of Unix
This class unit will be a basic introduction to the history of Unix/Linux, as well as an introduction to the students in the class and the instructor. We will also cover basic login and how to access servers remotely using SSH as well as console interaction and shortcut keys. Teer Building 106, 1:30 pm – 2:30 pm.

24 March
Introduction to Unix – Unit 2: Basic File System Functionality
Once logged in, we will really get to work. This unit will cover many basic file system operations. Users will be able to navigate the various file system paths, learn where many common items are located, and how to interact with files based on permissions. Teer Building 106, 2:30 pm – 3:30 pm.

24 March
Introduction to Unix – Unit 3: Interactions With Data and Disk Storage
Continuing from where we left off in the previous session, this one will cover how to further interact with files and directories, including gathering storage information, how and where you store your data, to read, compare, edit, and save your files, including archiving. Teer Building 106, 3:30 pm – 4:30 pm.

26 March
Introduction to Unix – Unit 4: Exploring Methods of Data Transfer
This unit will deal with transferring data from one directory to another across servers, and across the internet, including methods to backup your data and secure its movement and transfer. Finally we will cover some basic network troubleshooting if you are having issues with any of the tasks. Teer Building 106, 1:30 pm – 2:30 pm.

26 March
Introduction to Unix – Unit 5: Advanced File System Management
This unit will be a deeper dive into working with files and the filesystem, we will learn about linking to files elsewhere in the system, how to search for a file within the filesystem, using MD5 and SHA sums to verify file integrity, and how to search for content within files. Teer Building 106, 2:30 pm – 3:30 pm.

26 March
Introduction to Unix – Unit 6: Advanced Application Management
This unit will cover process management, how to see the amount of free resources on a system, and how many of these resources your jobs are using. We will cover basic job control including killing runaway processes, and also how to “background” a process so that you can logout and return to it later, and finally how to build a program for your own use. Teer Building 106, 3:30 pm – 4:30 pm.