When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 4 modules in this course
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.
In this module, you will learn to use Linux to solve technical problems common in software engineering, data engineering and machine learning. You will explore the key parts of the Linux shell, and learn how to implement your knowledge in common scenarios.
Welcome to Linux and Bash for Data Engineering•1 minute
Meet your Course Instructor: Noah Gift•1 minute
Overview of Key Concepts•4 minutes
Introduction to Working with Linux•1 minute
Introduction to the Linux Shell•2 minutes
Installing and Accessing Linux•11 minutes
Getting Started with Github Codespaces•9 minutes
Comparing Linux Shell Environments•10 minutes
Writing 'Hello World' Bash Script•6 minutes
Popular Terminal Commands in Linux•15 minutes
Introduction to Shell Piping•1 minute
What is Shell Piping?•4 minutes
Walkthrough of Shell Pipeline Examples•12 minutes
Introduction to SSH•2 minutes
What is SSH?•5 minutes
Creating SSH Keys and using with GitHub•5 minutes
Using SSH to Connect to Remote Server in AWS Cloud•7 minutes
Walkthrough of SSH Tunneling Example•4 minutes
14 readings•Total 135 minutes
Key Terms•10 minutes
Meet your Supporting Instructors: Kennedy Behrman and Alfredo Deza•10 minutes
Course Structure and Discussion Etiquette•10 minutes
Report a problem with the course•5 minutes
Key Terms•10 minutes
Amazon CodeWhisperer CLI•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Shell Pipelines•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Securely Connecting to a Linux Instance with SSH•10 minutes
Secure Remote Development with VSCode and SSH•10 minutes
Lesson Reflection•10 minutes
4 assignments•Total 570 minutes
Using Linux•30 minutes
Quiz-Using Linux•180 minutes
Quiz-How Shell Piping Works•180 minutes
Quiz-Using SSH•180 minutes
1 discussion prompt•Total 10 minutes
Meet and Greet (optional)•10 minutes
5 ungraded labs•Total 300 minutes
Practicing Common Linux Shell Commands•60 minutes
Using Linux Lab Challenge•60 minutes
Practicing Common Shell Piping Operations•60 minutes
Creating SSH Keys Locally•60 minutes
Creating a Shell Pipeline•60 minutes
Using Bash
Module 2•15 hours to complete
Module details
In this module, you will learn to configure Bash Scripts to enhance and control your Linux development environment and production systems. You will also learn about Shell variables, and how to effectively use Standard In and Standard Out.
What's included
14 videos6 readings4 assignments3 ungraded labs
Show info about module content
14 videos•Total 65 minutes
Introduction to Working with Bash•1 minute
Introduction to Configuring your Bash Shell Environment•2 minutes
What are Shell Configuration Files?•6 minutes
Configuring .bashrc•12 minutes
Configuring .zshrc and Third-Party Tool oh-my-zsh•10 minutes
Introduction to Working with Shell Variables•1 minute
What are Shell Variables?•4 minutes
Exporting Shell Variables in an Interactive Prompt•7 minutes
Using Shell Variables in a Bash Script•7 minutes
Introduction to Standard Streams•1 minute
What are Standard Streams?•2 minutes
Using Standard Out•6 minutes
Using Standard In•2 minutes
Using Standard Error•3 minutes
6 readings•Total 60 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
4 assignments•Total 570 minutes
Using Bash•30 minutes
Quiz-Configuring the Shell Environment•180 minutes
Quiz-Working with Shell Variables•180 minutes
Quiz-Standard Streams: Using Standard In, Standard Out, Standard Error•180 minutes
3 ungraded labs•Total 180 minutes
Configuring the Bash Shell•60 minutes
Sourcing Shell Variables from a Script•60 minutes
Practicing with Bash Streams•60 minutes
Building Bash Scripts
Module 3•16 hours to complete
Module details
In this module, you will learn to build Bash Scripts to solve common problems in Data Engineering. You will also learn about Shell logic, dealing with data in the shell, and how to build command-line tools in Bash. You will then apply this knowledge to create command-line tools in Bash.
What's included
18 videos6 readings4 assignments4 ungraded labs
Show info about module content
18 videos•Total 63 minutes
Introduction to Building Bash Scripts•1 minute
Introduction to Shell Logic and Control Flow•1 minute
What is Shell Control Flow?•3 minutes
Using Shell Control Flow to Solve Problems in Bash•2 minutes
Using Shell Loops in Bash•7 minutes
Evaluating Conditions in Bash•5 minutes
Introduction to Manipulating Data in the Bash Shell•1 minute
Shell Techniques for Data in the Bash Shell•3 minutes
Truncating Data in Bash•3 minutes
Filtering Data in Bash•4 minutes
Searching Data in Bash•4 minutes
Introduction to Writing Scripts and Command-Line Tools in Bash•1 minute
What are Scripts and Command-Line Tools?•3 minutes
Building a Bash Script•4 minutes
Building a Bash Function•6 minutes
Building a Bash Command-Line Tool•3 minutes
Bash-Adjacent Tools: Makefiles and Dockerfiles•8 minutes
Data Structures in Bash•4 minutes
6 readings•Total 60 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
4 assignments•Total 570 minutes
Building Bash Scripts•30 minutes
Quiz-Using Shell Logic and Control Flow•180 minutes
Quiz-Manipulating Data with the Shell•180 minutes
Quiz-Writing Bash Scripts and Command-Line Tools•180 minutes
4 ungraded labs•Total 240 minutes
Writing Loops in Bash•60 minutes
Truncating Large Files with Bash•60 minutes
Building a Command-Line Tool for Data Processing•60 minutes
Building a Bash CLI with Options•60 minutes
Composing File and Data Solutions
Module 4•17 hours to complete
Module details
In this module, you will learn to use Linux to compose file and data management solutions. You will also learn to search the filesystem, modify files, directories and control permissions. You will then process text in Bash and apply this knowledge to create a search solution in Bash.
What's included
17 videos8 readings4 assignments5 ungraded labs
Show info about module content
17 videos•Total 62 minutes
Introduction to Composing File and Data Management Solutions in Linux•0 minutes
Introduction to Searching a Filesystem in Linux•1 minute
Methods for Searching a Filesystem in Linux•4 minutes
Using the Locate Command to Find Files in Linux•3 minutes
Using the Find Command to Find Files in Linux•3 minutes
Using xargs to Extend Search Capabilities in Linux•3 minutes
Using mdfind on OS X•6 minutes
Introduction to Modifying Files, Directories, Permissions and Archiving in Linux•1 minute
Overview of Modifying the Filesystem in Linux•3 minutes
Moving Files and Directories in Linux•7 minutes
Setting Permissions on Files and Directories in Linux•5 minutes
Archiving Data in Linux•3 minutes
Introduction to Processing Text in Linux•1 minute
Benefits of Processing Text in Linux•2 minutes
Using grep, cut, sort and unique in Linux•8 minutes
Editing with Truncation, awk and sed in Linux•7 minutes
Using Regular Expressions (regex) in Linux•6 minutes
8 readings•Total 80 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Key Terms•10 minutes
Lesson Reflection•10 minutes
Next Steps•10 minutes
Share your learning experience•10 minutes
4 assignments•Total 570 minutes
Composing File and Data Management Solutions with Linux•30 minutes
Quiz-Searching the Filesystem•180 minutes
Quiz-Modifying Files, Directories, Permissions and Archiving•180 minutes
Quiz-Processing Text•180 minutes
5 ungraded labs•Total 300 minutes
Searching from the Bash Prompt•60 minutes
Practicing the Basics of Shell Permissions•60 minutes
Searching for Text with Bash•60 minutes
Searching the filesystem with find•60 minutes
Final Course Challenge: Extended Phrase Repeater•60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.6
136 reviews
5 stars
71.32%
4 stars
20.58%
3 stars
2.94%
2 stars
2.20%
1 star
2.94%
Showing 3 of 136
C
CL
5·
Reviewed on Mar 23, 2023
A nice intro to Linux and Bash system, application, and their role and power in the data processing. These emphases surely will make learners want to learn more about these systems.
H
HK
5·
Reviewed on Nov 6, 2024
Good content to learn bash and instructor explain clear
N
NW
5·
Reviewed on Jan 4, 2025
The teacher was so great. Kudos to him. He showed complete command of the course.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.