Shell Exercises

Sharpen your Shell scripting abilities through a series of hands-on exercises. This collection of practical challenges is designed to test and improve your command-line skills. Each exercise presents a real-world problem, allowing you to apply your knowledge of Shell commands, scripting, and automation in a practical context. Solidify your understanding and gain confidence by solving these interactive coding tasks.

Basic File Operations in Linux

Basic File Operations in Linux

Learn how Linux paths, directories, files, listings, wildcards, copy, move, removal, and terminal shortcuts fit together in one safe workspace.
LabShell
Check Mounted File System Usage

Check Mounted File System Usage

In this challenge, we will write a script to determine whether a given file system or mount point is mounted. We will use the df command to check if the file system is mounted or not. If it's mounted, we will print the free space available in it, otherwise, we will print an error message.
ChallengeShell
Linux rm Command: File Removing

Linux rm Command: File Removing

Learn how to use the Linux rm command for removing files and directories. This tutorial covers basic usage, various options like -r and -i, and practical examples to help you safely and effectively manage file deletion in Linux.
LabShell
Linux mv Command: File Moving and Renaming

Linux mv Command: File Moving and Renaming

Learn how to use the Linux mv command for moving and renaming files and directories. This tutorial covers basic usage, moving multiple files, and using options like -i for interactive mode and -u for updating. Practice essential file management skills in a Linux environment.
LabShell
Linux cp Command: File Copying

Linux cp Command: File Copying

Learn the Linux cp command for efficient file and directory copying. Learn basic usage, advanced options like recursive copying, preserving attributes, and using wildcards. Perfect for beginners to enhance their file management skills in Linux.
LabShell
Linux head Command: File Beginning Display

Linux head Command: File Beginning Display

This tutorial explores the head command in Linux, a utility designed to display the initial lines of a text file. We will cover its basic usage and introduce various parameters for enhanced functionality.
LabShell
Linux which Command: Command Locating

Linux which Command: Command Locating

Learn how to use the 'which' command in Linux to locate executable files, handle non-existent commands, discover multiple installations, understand PATH priority, and create custom commands.
LabShell
Linux find Command: File Searching

Linux find Command: File Searching

This tutorial provides an introduction to the find command in Linux, a versatile utility for searching and locating files and directories based on various criteria.
LabShell
Linux grep Command: Pattern Searching

Linux grep Command: Pattern Searching

This tutorial provides an introduction to the grep command in Linux, a versatile utility for searching and matching patterns within text files. Additionally, we will explore regular expressions, powerful tools used with grep to define complex search patterns.
LabShell
Linux time Command: Command Timing

Linux time Command: Command Timing

This tutorial provides an introduction to the time command in Linux, a utility that measures the execution time of a command or program. The time command helps users assess the performance of processes and commands.
LabShell
Linux wc Command: Text Counting

Linux wc Command: Text Counting

This tutorial provides an introduction to the wc command in Linux, a utility for counting words, lines, and characters in a text file. The wc command is widely used for analyzing the content of files and streams.
LabShell
Change File Ownership

Change File Ownership

In this challenge, we will cover file permission changes in the Linux platform, including viewing and modifying file permissions and ownership.
ChallengeShell
Linux Arithmetic Calculations

Linux Arithmetic Calculations

In this lab, you will learn how to perform arithmetic calculations in Linux using the `bc` command. You'll explore basic arithmetic, floating-point calculations, working with variables, and creating a practical calculator script. This lab focuses on practical application of `bc` in a Docker environment.
LabShell
Linux Text Columnizing

Linux Text Columnizing

In this lab, you'll learn how to use the `column` command in Linux to format text into columns. Explore basic usage, advanced formatting with shell scripts, and handling different file formats. Master text manipulation with Docker and Linux!
LabShell
Linux Variable Declaring

Linux Variable Declaring

In this lab, you'll learn how to declare and manipulate variables in Linux. Explore basic variable declaration, integer variables, array variables, variable expansion, and environment variables. Master variable scope and enhance your Linux scripting skills with Docker.
LabShell