
Explore the terminal overview and learn how commands drive actions, output, and options. See examples like date, echo, and calendar showing commands acting alone or on something, with UTC time.
Identify your user with who am i, determine your current directory with pwd, and list contents using ls, including hidden files that start with a dot via ls -a.
Learn how to use ls -l to view detailed file information, including time, owner, group, size, and permissions, and interpret the d vs - indicators for directories and files.
Learn to use the ls command to list folder contents and hidden files in long format, inspect directories, then use the file command to identify file types and image sizes.
Learn to change directories with the cd command, navigate to desktop and nested folders, use ls and pwd to verify location, and return to home with cd.
Master opening files and folders with macOS's open command and Linux's xdg-open. Use dot to represent the present working directory and explore contents from different folders.
Learn how to use touch to create files with or without extensions, update their last modified date, and list contents with ls, then open files with xdg-open in Ubuntu.
Create folders with mkdir and files with touch, then rename or move them using mv to organize items in folders, navigating with the present working directory and tab completion.
learn to copy and remove files in a new folder using cp and remove commands, duplicating b.txt to b2.txt and deleting two.txt and html files.
Learn how the star character expands to zero or more characters, use glob patterns like *.txt to list, move, copy, and remove files in folders.
Master recursive commands in the terminal by using cp -R to copy directories, rm -R to remove, and ls -R to list contents recursively; mv moves without -R.
Create a directory x3 in your home folder, add text and Excel files with mkdir and touch, copy them from S3 to Stuff, and rename files to .txt and .xls.
Redirect command output to files using > and >>, replacing or appending content, and combine multiple commands or file contents with cat for practical text management.
Learn to use the pipe command to pass a command's output as input to another via temporary file. Combine commands with piping to tail and sort, redirecting to a file.
Master the find command to search files and folders from a specified path. Use -name and -type to filter results, apply patterns with asterisks, and stop searches with ctrl-c.
Learn how to use grep to search inside files, handle case sensitivity with -i, and combine commands with pipes like ls | grep, plus exclude matches with -v.
Learn how awk prints files, selects columns with $1, $2, and $NF, filters lines with NR, and uses -F to set custom separators for flexible table parsing.
Learn to use awk to search rows with pattern matching, apply logical operators, and perform column-specific queries. Print selected columns and compute string lengths for formatted results.
Change file ownership using sudo and the change ownership command, assigning to a user such as MacBook. Change groups with the change group command, including recursive ownership of folders.
Use the change mode command to adjust permissions for user categories (u, g, o), granting read and write for the owner and adding or removing execute with +x or -x.
Learn how to change ownership and permissions for folders using sudo and recursive options, applying the ownership change to MacBook with -R, changing the group to group_guest, and removing folders.
Assign values to variables, access them with dollar signs or braces, and echo results while avoiding spaces; unset variables and explore environment variables like user, home, and path.
Learn how to capture command output into variables using the dollar sign expansion and command substitution with parentheses, and compare it to backticks for Bash scripting.
Learn to make shell variables permanent by editing the login script (.profile or .bashrc) and sourcing it, across macOS and Linux, with practical examples.
Use read to assign input to a variable like my_value and display it with echo, then use -p prompts and -s hidden input for passwords in bash.
Filter file names by capital letters with ls and grep, append to info.txt, and fill it with the last four files via ls -l, tail-4, echo, and verify with cut.
Create and rename files, restrict execution to the owner with chmod, and read user input to name and touch files interactively. Explore command substitution versus stored command execution using date.
Learn to create shell scripts by combining commands, using variables, and implementing if-else and loops to automate copying files into multiple named folders.
Learn to execute an executable file by specifying its location and name, not using dot slash as a command.
Discover how the shell executes programs like pwd, ls, and clear by locating them in bin and local bin, using the which command, and understanding the shell path.
Create your first bash script by touching a file and adding a shebang to /bin/bash. Write simple commands like echo and pwd, then chmod +x and run it.
Choose the right shell script extension and editor; learn to open and edit scripts with tools like Sublime Text and Vim, and use read to capture user input.
Learn to run scripts anywhere by adding your script folder to the path variable in bash. The lesson covers exporting path, editing dot profile, and verifying with commands like python3.
Open files in bash scripts by using variables, prompting for a path, reading it into a variable, and launching with xdg-open or open on different systems.
Learn to write a bash script that creates one.txt and two.txt, writes the long listing of the current directory into one.txt, and renames it with a user-provided prefix.
Create a script that generates another script, including adding a shebang, comments, and making it executable, then run and verify the nested script.
learn arithmetic expressions in bash by using arithmetic expansion with two round brackets to perform addition, subtraction, multiplication, division, remainder, and exponent, and update variables with pre/post increment.
Explore how bash if conditions control flow by evaluating numeric comparisons with -eq, -ne, -gt, -lt, -ge, and -le. When true, commands execute before continuing; when false, they are skipped.
Learn how bash scripts use if, else, and elif to control flow, including reading user age and branching on true or false comparisons.
Use the exit command to stop a bash script when input like a negative age fails validation. Maintain proper spacing and semicolons, and use a syntax-highlighted editor to avoid mistakes.
Combine conditions with or and and in bash to validate age ranges, exiting when numbers fall outside acceptable bounds and continuing otherwise.
Master string comparisons in bash by using if statements to test equality and inequality, handle case sensitivity, and reveal a file name when the password matches, else for incorrect input.
Learn to test file conditions in bash using if-then, check existence (-e), nonexistence (!), directories (-D), readability (-R), writability (-W), executability (-x), and emptiness (-s).
Learn to write Bash for loops that repeat code, using numeric ranges, custom values, and break conditions. Apply looping to files and access loop variables inside the block.
Discover the top five beginner mistakes in Bash scripting, from misplacing spaces in if statements and in variable declarations to quoting correctly for spaces in filenames and proper variable concatenation.
Understand how the while loop operates in bash scripting, repeating while a condition holds and increasing a number by four until the number exceeds 15, with caution against infinite loops.
Learn to pace for loop execution using sleep in Bash, slowing each iteration to a chosen duration. Terminate a script immediately with ctrl-c (or ctrl-z) when processes misbehave.
Learn to use the bash case statement to drive menu-driven scripts, matching user input with patterns, ranges, and strings, and provide a none-of-the-above default.
Understand exit status in Linux commands, where zero means success and non-zero signals errors; use $? to capture it, and consult man pages for specifics, including grep's codes.
Define and reuse code with functions in shell scripting to run the same block with inputs. Use $1 and $2 and return values, zero or non-zero, to control flow.
Learn how variable scope works in shell scripting by comparing global and local variables inside and outside functions. Use local to keep functions as black boxes and prevent outside interference.
Learn how to write a bash function to check divisibility by 2, 3, and 5 using remainder checks, local variables, if conditions, arithmetic expansion, and a for loop.
Count items in a folder with a Bash for loop and a counter, then count txt files by matching txt endings and echo the final counts after the loop.
Create multiple txt and jpg files with a bash script, then rename them using a user-specified prefix. Choose between jpg or txt with a loop and confirm input.
Create a Bash script that searches all files in a folder for a hot word, copies matches to a new folder, and records line numbers; later, recursively search subfolders.
Divide a big problem into smaller parts, loop through folder items, filter regular files, handle spaces in filenames, search with grep -n, apply case-insensitive matching, and copy files when found.
Learn to use grep to decide whether to copy a file inside a loop, storing results in variables, and testing for emptiness with -z to drive conditional actions in bash.
Learn to use grep to identify hot files, create and use a hot folder, copy files, and append line numbers with echo. Explore mkdir placement and recursive searching.
Master recursive folder search in bash with the find command and -type d, using a for loop to scan every file for a target word across all subfolders.
Learn to build a recursive bash script with nested loops that traverses all folders and files, printing each file and using -F to process only files.
Implement a loop to search for files containing the hot word, copy them into a folder with the line number, and use base name to extract the filename.
Create a reusable bash function to search for a string with grep, copy matching files, and append the line number, then structure the script with directories and loops for automation.
Master Bash shell scripting by using for loops, if-else, strings, files, variables, and comments to solve real-world problems, and learn via tweaks, teaching, and StackOverflow.
You can finally understand Shell Scripting.
This course will give you a clear understanding of how to write Shell Scripts.
In this course everything is explained at a slow pace and thoroughly to make sure you can follow everything.
Even if you never used the command line, the first 2 Sections will teach you all the tools necessary to use the command line and start writing your shell scripts, nothing is left out.
Moreover after walking you through all the fundamentals of Shell Scripting, the last 2 Sections are project based, there we will combine everything you have learned in the course to create a script that solve s real world problem.
By the end of the course you'll be writing your own Shell Scripts, in particular you will learn how to: