Linux & the Bash Shell
Though we may not be consciously aware, Linux is powering the world around us. From supercomputers, to smartphones, to automobiles; Linux is more often found "under the hood". It's open source nature has lead to hundreds of distributions and wide adaptation throughout the industry. This course aims to explore how to work in the Linux environment. In order to do that we will learn how to use the Bash Shell. Bash is a command line and shell for Unix operating systems. We use bash to execute commands on a machine, as opposed to using a graphical interface to which most of us are accustomed. We will learn the fundamentals of bash as we explore the Linux OS.
Instructor:
Danai Adkisson | Innovation Co-Lab Developer & Instructor
This class will be hosted via Zoom. You will receive an email with the Zoom link a day before the class. Attendance will be taken and the session will be recorded.
About Course
Outline
- History and Implementations of Linux
- Linux Shell navigation
- The Bash session
- Basic File System Functionality
- Exploring Methods of Moving Data
- Advanced File System Management
- Process Management
- Simple System Administration
- Explore linux with a GUI
Objectives
- Understanding of Linux vs. other operating systems
- Basic shell navigation and bash commands
- File permissions at user and group levels
- Modifying files using terminal based editors
- Understand how to move data between systems
- How to verify file integrity from remote sources
- List and manage running processes
- How to build software from source
Tools
You will need access to a linux terminal in order to take this course. There are instructions on how to requisition one through https://vcm.duke.edu in the prerequisites section.
Files
Prerequisites
Windows users will need to install putty here
Everyone will need to do the following:
- Using a web browser, go to https://vcm.duke.edu
- Click "Reserve a VM"
- Login using your Duke NetId
- Select Ubuntu Server 20.04 LTS (Focal Fossa) for the Application and Operating System The VCM web page will tell you the name for your VM. Example: your_netid@vcm-1234.vm.duke.edu
Enroll
Interested in taking this class? Enroll in one of the sessions below!
This class is part of our Software Development Track
See the whole trackThis class is part of our Research Computing Track
See the whole trackSuggested Courses

How to Program with Ruby (1/2)
Ruby is a modern object oriented programming language used in many tech stacks in the industry. Created by Yukihiro Matsumoto in 1995; Ruby has evolved into a widely adopted for its readability and ease of use to those learning a programming language. This class will touch on several fundamental concepts of Ruby programming.
Learn More
The Rails Framework (Combined)
This course is a combined version The Rails Framework (1/2) and The Rails Framework (2/2) Learning to build a modern web application is daunting. Ruby on Rails makes it much easier and more fun. It includes everything you need to build fantastic applications, and you can learn it with the support of our large, friendly community.
Learn More
How to Program with Ruby (combined)
Ruby is a modern object oriented programming language used in many tech stacks in the industry. Created by Yukihiro Matsumoto in 1995; Ruby has evolved into a widely adopted for its readability and ease of use to those learning a programming language. This class will touch on several fundamental concepts of Ruby programming.
Learn More