- Level Professional
- Duration 22 hours
- Course by Duke University
-
Offered by
About
In this second course of the Python, Bash and SQL Essentials for Data Engineering Specialization, you will learn the fundamentals of Linux necessary to perform data engineering tasks. Additionally, you will explore how to use both Bash and zsh configurations, and develop the syntax needed to interact and control Linux. These skills will allow you to manage and manipulate databases in a Bash environment.Modules
About the Course
1
Discussions
- Meet and Greet (optional)
3
Videos
- Welcome to Linux and Bash for Data Engineering
- Meet your Course Instructor: Noah Gift
- Overview of Key Concepts
3
Readings
- Key Terms
- Meet your Supporting Instructors: Kennedy Behrman and Alfredo Deza
- Course Structure and Discussion Etiquette
Using Linux
1
Assignment
- Quiz-Using Linux
2
Labs
- Practicing Common Linux Shell Commands
- Using Linux Lab Challenge
7
Videos
- Introduction to Working with Linux
- Introduction to the Linux Shell
- Installing and Accessing Linux
- Getting Started with Github Codespaces
- Comparing Linux Shell Environments
- Writing 'Hello World' Bash Script
- Popular Terminal Commands in Linux
3
Readings
- Key Terms
- Amazon CodeWhisperer CLI
- Lesson Reflection
How Shell Piping Works
1
Assignment
- Quiz-How Shell Piping Works
1
Labs
- Practicing Common Shell Piping Operations
3
Videos
- Introduction to Shell Piping
- What is Shell Piping?
- Walkthrough of Shell Pipeline Examples
3
Readings
- Key Terms
- Shell Pipelines
- Lesson Reflection
Using SSH
1
Assignment
- Quiz-Using SSH
1
Labs
- Creating SSH Keys Locally
5
Videos
- Introduction to SSH
- What is SSH?
- Creating SSH Keys and using with GitHub
- Using SSH to Connect to Remote Server in AWS Cloud
- Walkthrough of SSH Tunneling Example
4
Readings
- Key Terms
- Securely Connecting to a Linux Instance with SSH
- Secure Remote Development with VSCode and SSH
- Lesson Reflection
Putting it all Together: Using Linux
1
Assignment
- Using Linux
1
Labs
- Creating a Shell Pipeline
Configuring the Shell Environment
1
Assignment
- Quiz-Configuring the Shell Environment
1
Labs
- Configuring the Bash Shell
5
Videos
- Introduction to Working with Bash
- Introduction to Configuring your Bash Shell Environment
- What are Shell Configuration Files?
- Configuring .bashrc
- Configuring .zshrc and Third-Party Tool oh-my-zsh
2
Readings
- Key Terms
- Lesson Reflection
Working with Shell Variables
1
Assignment
- Quiz-Working with Shell Variables
1
Labs
- Sourcing Shell Variables from a Script
4
Videos
- Introduction to Working with Shell Variables
- What are Shell Variables?
- Exporting Shell Variables in an Interactive Prompt
- Using Shell Variables in a Bash Script
2
Readings
- Key Terms
- Lesson Reflection
Standard Streams: Using Standard In, Standard Out, Standard Error
1
Assignment
- Quiz-Standard Streams: Using Standard In, Standard Out, Standard Error
1
Labs
- Practicing with Bash Streams
5
Videos
- Introduction to Standard Streams
- What are Standard Streams?
- Using Standard Out
- Using Standard In
- Using Standard Error
2
Readings
- Key Terms
- Lesson Reflection
Putting it all Together: Using Bash
1
Assignment
- Using Bash
Using Shell Logic and Control Flow
1
Assignment
- Quiz-Using Shell Logic and Control Flow
1
Labs
- Writing Loops in Bash
6
Videos
- Introduction to Building Bash Scripts
- Introduction to Shell Logic and Control Flow
- What is Shell Control Flow?
- Using Shell Control Flow to Solve Problems in Bash
- Using Shell Loops in Bash
- Evaluating Conditions in Bash
2
Readings
- Key Terms
- Lesson Reflection
Manipulating Data with the Shell
1
Assignment
- Quiz-Manipulating Data with the Shell
1
Labs
- Truncating Large Files with Bash
5
Videos
- Introduction to Manipulating Data in the Bash Shell
- Shell Techniques for Data in the Bash Shell
- Truncating Data in Bash
- Filtering Data in Bash
- Searching Data in Bash
2
Readings
- Key Terms
- Lesson Reflection
Writing Bash Scripts and Command-Line Tools
1
Assignment
- Quiz-Writing Bash Scripts and Command-Line Tools
1
Labs
- Building a Command-Line Tool for Data Processing
7
Videos
- Introduction to Writing Scripts and Command-Line Tools in Bash
- What are Scripts and Command-Line Tools?
- Building a Bash Script
- Building a Bash Function
- Building a Bash Command-Line Tool
- Bash-Adjacent Tools: Makefiles and Dockerfiles
- Data Structures in Bash
2
Readings
- Key Terms
- Lesson Reflection
Putting it all Together: Building Bash Scripts
1
Assignment
- Building Bash Scripts
1
Labs
- Building a Bash CLI with Options
Searching the Filesystem
1
Assignment
- Quiz-Searching the Filesystem
1
Labs
- Searching from the Bash Prompt
7
Videos
- Introduction to Composing File and Data Management Solutions in Linux
- Introduction to Searching a Filesystem in Linux
- Methods for Searching a Filesystem in Linux
- Using the Locate Command to Find Files in Linux
- Using the Find Command to Find Files in Linux
- Using xargs to Extend Search Capabilities in Linux
- Using mdfind on OS X
2
Readings
- Key Terms
- Lesson Reflection
Modifying Files, Directories, Permissions and Archiving
1
Assignment
- Quiz-Modifying Files, Directories, Permissions and Archiving
1
Labs
- Practicing the Basics of Shell Permissions
5
Videos
- Introduction to Modifying Files, Directories, Permissions and Archiving in Linux
- Overview of Modifying the Filesystem in Linux
- Moving Files and Directories in Linux
- Setting Permissions on Files and Directories in Linux
- Archiving Data in Linux
2
Readings
- Key Terms
- Lesson Reflection
Processing Text
1
Assignment
- Quiz-Processing Text
1
Labs
- Searching for Text with Bash
5
Videos
- Introduction to Processing Text in Linux
- Benefits of Processing Text in Linux
- Using grep, cut, sort and unique in Linux
- Editing with Truncation, awk and sed in Linux
- Using Regular Expressions (regex) in Linux
2
Readings
- Key Terms
- Lesson Reflection
Putting it all Together: Composing File and Data Management Solutions with Linux
1
Assignment
- Composing File and Data Management Solutions with Linux
2
Labs
- Searching the filesystem with find
- Final Course Challenge: Extended Phrase Repeater
1
Readings
- Next Steps
Auto Summary
"Linux and Bash for Data Engineering" is a professional IT course offered by Coursera. This course dives into Linux fundamentals and Bash/zsh configurations, crucial for data engineering tasks. Over 1320 minutes, learners will gain the skills to manage and manipulate databases in a Bash environment. Ideal for IT professionals, this course is available with a Starter subscription.

Noah Gift

Kennedy Behrman

Alfredo Deza