We may earn an affiliate commission when you visit our partners.
Course image
Sygaki Education

This course covers the following topics, essential for anyone who wants to learn Linux and shell scripting:

Read more

This course covers the following topics, essential for anyone who wants to learn Linux and shell scripting:

  • Installation and Setup: Learn how to install VirtualBox and Linux Mint, and set up your environment for learning Linux.

  • Editors: Learn how to use the command-based Vi editor, as well as the popular Notepad++ editor.

  • Account Management: Understand the different types of Linux users, including root, sudo, admin, and regular users.

  • File and Directory Permissions: Learn how to manage permissions on files and folders, and understand the different permissions for users, groups, and others.

  • Linux Commands: Learn a wide range of Linux commands, including file and directory commands, user info commands, networking commands, SSH and file transfer commands, disk commands, security commands, archiving commands, search commands, and installation commands.

  • Vi Editor: Learn the most commonly used Vi editor commands.

  • Shell Expansion: Understand the different types of shell expansion, including brace expansion, tilde expansion, parameter expansion, command substitution, arithmetic expansion, process substitution, word splitting, filename expansion, and quotes.

  • Basic Shell Scripting: Learn the fundamentals of shell scripting, including variables, functions, conditional statements, loops, and regular expressions.

  • Braces, Brackets, and Parentheses: Understand how expressions are evaluated in Linux, and how to use braces, brackets, and parentheses to control the evaluation order.

  • File Descriptors: Learn about standard input, standard output, and standard error, and how to use file descriptors to interact with files and processes.

  • Iterations: Learn how to use while loops, for loops, and until loops to iterate over data.

  • Conditionals: Learn how to use IF statements and CASE statements to make decisions in your shell scripts.

  • Regular Expressions: Learn how to use regular expressions to search for and match patterns of data.

  • Arrays: Learn how to use arrays to store and manipulate data in your shell scripts.

  • AWK: Learn how to use the AWK utility to extract and format data.

  • SED: Learn how to use the SED utility to perform search and replace functions.

  • Grep: Learn how to use the Grep utility to search for patterns of data in files.

  • Utilities: Learn how to use the Cut, Sort, and Uniq utilities to manipulate data.

  • Cron Scheduling: Learn how to use the Cron scheduler to automate batch processing.

  • Processing Input and Output: Learn how to process input and output in your shell scripts.

  • Master Script: Learn how to write a comprehensive shell script that covers different areas of corporate shell scripting.

This course is designed to give you a solid foundation in Linux command line and shell scripting and to prepare you for a career in IT or any other field where Linux skills are required.

Enroll now

What's inside

Learning objectives

  • Master linux basics starting with a linux mint installation and setting up accounts and permissions
  • Linux for it professionals: learn the essential skills you need to succeed in your career
  • Complete linux course: from beginner to advanced
  • Linux mastery course: learn about various utilities such as awk, grep and sed
  • Learn to schedule and automate tasks using cron
  • Gain mastery over shell scripting by working on real-world scenarios
  • Completing a real-world enterprise level project with professional coding standards

Syllabus

Introduction

In this lecture we go over a high level overview of what we will be covering in this course.

This is a collection of slides I used for the course.

Read more

In this lesson we go over the process of installing Oracle Virtual Box, which is the hypervisor that hosts the Virtual Machines. Then we install Linux Mint.

In this lesson we go over the installation of the Vim editor and Notepad++, which is the alternative in case you want to skip key commands and use a traditional text editor.

In this lesson we go over the different types of roles - Administrative, Regular User and Root and the management of these roles in an efficient manner.

In this lesson we go over an overview of File and Directory permissions

In this lesson we study the effects of User, Group and Other permissions on Files and Directories

This section is Part 1 of 3 of our lesson on Linux Commands. The lesson is intended to be a comprehensive primer on the most frequently used commands in different categories.

This section is Part 2 of 3 of our lesson on Linux Commands. The lesson is intended to be a comprehensive primer on the most frequently used commands in different categories.

This section is Part 3 of 3 of our lesson on Linux Commands. The lesson is intended to be a comprehensive primer on the most frequently used commands in different categories.

In this lesson we go over the most commonly used commands in the Vim Editor.

In this lesson we go over Shell Expansion which is fundamental to evaluating complex shell scripting expressions. We need to get a firm grasp over evaluating expressions since these are the fundamental building blocks of any shell script.

This is Part 1 of 3 lectures in this section pertaining to Basic Shell Scripting. This lecture goes over a basic script which demonstrates how to read input parameters to a shell script.

This is Part 2 of 3 lectures in this section pertaining to Basic Shell Scripting. This lecture goes over a basic script which demonstrates how to read input parameters to a shell script.

This is Part 3 of 3 lectures in this section pertaining to Basic Shell Scripting. This lecture goes over a basic script which demonstrates how to read input parameters to a shell script.

In this lesson we study about Cron, a utility for job scheduling.

In this lesson we go over Logical Operators and the principal constructs for combining expressions - Braces, Brackets and Parentheses

In this lesson we go over the File Descriptors - Standard Input, Standard Output and Standard Error

In this lesson we go over the core Iteration constructs - For loops, While loops, Until loops

In this lesson we study the IF statement which is one of the constructs of Conditional processing

In this lesson we study the Case statement which is one of the constructs of Conditional processing

In this lesson we study Regular Expressions which are a sequence of characters that match a pattern in text.

In this lesson we study Arrays which are the fundamental construct for handling Collections of items

In this lesson we go over an overview of AWK which is a scripting language geared towards data extraction and reporting

In this lesson we study about use of pattern matching constructs in AWK statements.

In this lesson we study about SED, a stream editor, which is used to transform text.

In this lesson we study Grep which is a utility to search files for patterns.

In this lesson we study the ultilities Cut, Sort and Uniq.

In this lesson we learn how input parameters to the Shell script are processed.

In this lesson we learn how inputs are processed within a Shell script.

In this lesson we learn how outputs are processed within a Shell script.

In this lesson we set up a barebone shell script with logging.

In this lesson we use Getopts to handle input parameter processing.

In this lesson we add some functionality to delete empty lines and comments in a text file.

In this lesson we study about document merging whereby a config file is used to merge information into a template and produce multiple outputs.

In this lesson we create a custom listing of users and groups from a system group file.

In this lesson we create a Sales report using aggregation for totals.

In this lesson we create a Sales report using pivoting.

In this lesson we write code to perform hard disk monitoring and delete a file when it crosses a threshold size.

In this lesson we write code to backup and delete files.

In this lesson we learn to format phone numbers in a report.

In this lesson we filter and format a report. We also perform compressions on a report and copy it over to an archive directory.

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Activities

Coming soon We're preparing activities for Linux Command-Line & Shell Scripting for Absolute Beginners. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Linux Command-Line & Shell Scripting for Absolute Beginners will develop knowledge and skills that may be useful to these careers:
Linux System Administrator
A Linux System Administrator is responsible for the upkeep, configuration, and reliable operation of computer systems, especially servers running the Linux operating system. This course provides a robust foundation for aspiring Linux System Administrators, covering essential skills such as installing Linux, managing user accounts and permissions, and mastering a wide range of Linux commands. Learners will gain practical experience with file and directory management, networking commands, and security commands. The focus on shell scripting, including variables, loops, conditional statements, and utilities like AWK and SED, directly prepares you to automate routine administrative tasks and troubleshoot system issues efficiently. By learning Cron scheduling, you can ensure critical operations run automatically, which is vital for maintaining system health and performance.
Automation Engineer
An Automation Engineer specializes in designing and implementing systems that automate various tasks and workflows, driving efficiency and reducing manual effort. This course is exceptionally well-suited for an Automation Engineer, as its core focus is shell scripting and task automation. You will master basic and advanced shell scripting techniques, including variables, functions, conditional statements, and different types of loops, which are the building blocks for creating robust automation solutions. The course also covers utilities such as AWK, SED, and Grep, enabling powerful text processing and data manipulation within scripts. Learning Cron scheduling allows you to schedule and orchestrate automated jobs, from system backups to report generation. The enterprise-level scripting project provides practical experience in developing production-ready automation scripts with professional coding standards.
DevOps Engineer
As a DevOps Engineer, you bridge the gap between development and operations, automating infrastructure and deployment pipelines. This course offers highly relevant skills for a DevOps Engineer, providing mastery of Linux command-line operations and shell scripting. You will learn to manage user roles and permissions, crucial for securing environments. The in-depth coverage of basic and enterprise-level shell scripting, including iteration constructs, conditional logic, and processing input/output, is invaluable for automating build, test, and deployment processes. Understanding file descriptors, regular expressions, and utilities like Grep, AWK, and SED enhances your ability to parse logs, monitor systems, and create efficient automation scripts. These abilities are fundamental for streamlining workflows and ensuring system reliability in a DevOps culture. An advanced degree or extensive practical experience is often highly regarded for this role.
Site Reliability Engineer
A Site Reliability Engineer focuses on ensuring the availability, latency, performance, and efficiency of large-scale systems. This course can significantly enhance your foundation as a Site Reliability Engineer by providing deep expertise in Linux systems and automation. The emphasis on Linux commands, file and directory permissions, and account management is critical for diagnosing and rectifying system issues. Furthermore, the comprehensive module on shell scripting, including advanced concepts like shell expansion, arrays, and enterprise-level scripting with logging and input parameter processing, directly aids in developing robust monitoring tools and automating operational tasks. Learning Cron scheduling equips you to automate routine checks and maintenance, which is essential for proactive system management and minimizing downtime. An advanced degree or extensive practical experience is often highly regarded for this role.
Cloud Engineer
A Cloud Engineer designs, deploys, and manages infrastructure and applications on cloud platforms like AWS, Azure, or Google Cloud. This course is highly beneficial for a Cloud Engineer, as most cloud environments rely heavily on Linux-based virtual machines and containers. Mastery of Linux command-line operations is fundamental for interacting with cloud instances, configuring services, and troubleshooting. The extensive shell scripting modules, including advanced topics like shell expansion, arrays, and utilities such as AWK, SED, and Grep, are invaluable for automating cloud infrastructure provisioning, configuration management, and deployment pipelines. Understanding system permissions and Cron scheduling further enables efficient and secure management of cloud resources, making you adept at building scalable and robust cloud solutions.
System Engineer
A System Engineer is involved in the design, implementation, and maintenance of complex IT systems, often integrating various components. This course helps build a foundation for a System Engineer by imparting essential Linux skills, which are frequently required in modern system architectures. You will learn fundamental Linux commands for system interaction, account management, and understanding file permissions, crucial for configuring and securing system components. The comprehensive sections on shell scripting, covering iteration constructs, conditional logic, and processing input and output, are particularly valuable for automating system configurations, managing resources, and integrating different software components. These scripting capabilities enable you to build resilient and efficient systems and troubleshoot issues effectively.
Data Engineer
A Data Engineer builds and maintains systems for collecting, storing, processing, and analyzing large datasets. This course offers highly relevant skills for a Data Engineer, particularly concerning data manipulation and automation on Linux-based servers, where much data processing occurs. You will gain mastery over powerful command-line utilities such as AWK, SED, Grep, Cut, Sort, and Uniq, which are invaluable for extracting, transforming, and cleaning data directly from files. The shell scripting section, covering arrays, loops, and conditional logic, enables you to automate complex data pipelines, orchestrate ETL jobs, and perform data validation. This proficiency is essential for building efficient and scalable data infrastructure. An advanced degree is often required for this role.
Technical Support Engineer
A Technical Support Engineer diagnoses and resolves complex technical issues for users or clients, often involving deep investigation into system behavior. This course provides the foundational Linux skills that are often indispensable for a Technical Support Engineer, especially when supporting Linux-based applications or servers. You will gain proficiency in a wide array of Linux commands, enabling you to navigate file systems, examine logs, monitor processes, and diagnose problems effectively. Understanding file and directory permissions, user account management, and basic networking commands directly supports troubleshooting system access and connectivity issues. The introduction to shell scripting also helps in writing small diagnostic scripts or automating data collection for faster problem resolution.
Security Engineer
A Security Engineer designs, implements, and monitors security measures for the protection of computer systems and networks. This course can be highly valuable for a Security Engineer, as it provides a strong foundation in Linux system internals and command-line forensics. Understanding Linux commands, file and directory permissions, and account management is critical for securing systems, identifying vulnerabilities, and performing incident response. The shell scripting skills, including the use of regular expressions and utilities like Grep, are essential for automating security tasks, parsing system logs for suspicious activity, and developing custom security monitoring scripts. The Cron scheduling knowledge also aids in automating security scans and report generation. Advanced roles often require an advanced degree.
Quality Assurance Automation Engineer
A Quality Assurance Automation Engineer designs, develops, and implements automated tests to ensure software quality and reliability. This course provides relevant skills for a Quality Assurance Automation Engineer, particularly for testing applications deployed on Linux environments. Mastery of Linux commands is essential for setting up test environments, managing test data, and executing automated test suites. The comprehensive shell scripting knowledge, including conditional statements, loops, and processing input/output, is invaluable for writing automation scripts to configure testbeds, manipulate files, validate system states, and integrate with continuous integration pipelines. Understanding utilities like Grep, AWK, and SED enhances your ability to parse logs and verify test outputs efficiently, ensuring robust test automation.
Software Developer Tools
A Software Developer specializing in tools focuses on creating applications and scripts that enhance the development process, build systems, or manage environments. This course provides directly applicable skills for a Software Developer working on tools. Mastering shell scripting, including variables, functions, iteration constructs, and conditional statements, is crucial for writing robust build scripts, deployment scripts, and internal utilities that run on Linux. The comprehensive coverage of Linux commands, file permissions, and utilities like AWK, SED, and Grep empowers you to manipulate text, process data, and automate various stages of the software development lifecycle, from compilation to packaging and testing, ensuring efficient and repeatable processes.
Database Administrator
A Database Administrator is responsible for the performance, integrity, and security of a database. This course may be useful for a Database Administrator, especially since many popular database systems run on Linux. Proficiency in Linux commands helps in managing the underlying operating system, monitoring server resources, and troubleshooting performance issues. The shell scripting capabilities, including Cron scheduling, enable the automation of critical database tasks such as backups, routine maintenance, log rotation, and performance monitoring scripts. Understanding file permissions is also vital for securing database files and ensuring data integrity. This background can significantly aid in maintaining a stable and efficient database environment.
Network Administrator
A Network Administrator manages and maintains an organization's computer networks, ensuring their smooth and secure operation. This course may be helpful for a Network Administrator as many network devices and services run on Linux or Unix-like operating systems. Gaining proficiency in Linux commands is beneficial for configuring network interfaces, troubleshooting connectivity, and monitoring network services. The ability to use shell scripting, including conditional statements and loops, can automate routine network administration tasks such as log analysis, performance monitoring, and configuration backups. Understanding file descriptors and networking commands provides a deeper insight into system communication, which can aid in securing and optimizing network infrastructure.
Solutions Architect
A Solutions Architect designs and oversees the implementation of complex IT solutions, translating business requirements into technical specifications. This course may be helpful for a Solutions Architect, particularly when designing systems that leverage Linux infrastructure and automation. While not primarily a hands-on coding role, understanding the capabilities of Linux, command-line operations, and shell scripting enables a Solutions Architect to make informed decisions about system architecture, automation strategies, and operational efficiency. This knowledge helps in accurately estimating project scope, identifying potential bottlenecks, and guiding implementation teams on best practices for building scalable and maintainable Linux-based solutions. An advanced degree is often required for this role.
Technical Writer Documentation
A Technical Writer creates clear, concise, and accurate documentation for software, systems, or complex technical processes. This course may be helpful for a Technical Writer specializing in IT documentation. A deep understanding of Linux commands, shell scripting, and system utilities, as taught in this course, is crucial for accurately describing command-line interfaces, configuration files, and troubleshooting steps for Linux-based products. This foundational knowledge empowers you to write highly specific and functional guides, tutorials, and reference materials that resonate with technical audiences, ensuring the documentation is both correct and practical. It enables you to empathize directly with the user's technical challenges and provides precise solutions.

Reading list

We haven't picked any books for this reading list yet.
Designed for intermediate users, this book delves into advanced topics such as shell scripting, text processing, and system administration, enhancing your command line skills.
This extensive encyclopedia covers all aspects of Linux, including the command line, with in-depth explanations and practical examples.
A concise guide that provides quick access to essential commands, options, and examples, making it a handy reference for both beginners and experienced users.
This comprehensive guide takes you through the entire process of building a custom Linux system from scratch, providing deep insights into the command line and system configuration.
This authoritative handbook covers system administration tasks, including extensive coverage of the command line and scripting, essential for managing Linux systems.
This beginner-friendly guide covers basic system administration tasks, including essential command line tools and techniques.
This guide focuses on mastering the powerful sed and awk commands, essential for manipulating and processing text files on the command line.
This guide delves into the intricacies of network administration on Linux, covering essential command line tools and techniques for managing network configurations.
This classic text by renowned authors provides foundational insights into Unix and its programming environment, including the command line.
This advanced guide delves into the complexities of writing Linux device drivers, providing insights into the kernel and hardware interactions at the command line level.
Provides a comprehensive overview of the Linux command line, including shell scripting. It is suitable for both beginners and experienced users.
Comprehensive guide to advanced Bash scripting. It covers topics such as regular expressions, debugging, and performance optimization.
Classic reference on the AWK programming language. AWK powerful tool for text processing and data manipulation, and it is often used in shell scripts.
Practical guide to using the sed and awk commands. Sed and awk are two powerful tools for text processing and data manipulation, and they are often used in shell scripts.
Comprehensive guide to the Bash shell. It covers all aspects of the Bash shell, from basic commands to advanced scripting techniques.
Quick reference guide to the Bash shell. It great resource for experienced Bash users who need a quick refresher on the command line.
Collection of recipes for common shell scripting tasks. It great resource for shell scripters of all levels.
This beginner-friendly guide provides a comprehensive overview of the Linux command line, covering essential commands, navigation, file management, and more.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser