
In this first unit we’ll look at setting up your Linux environment and take a look inside the Linux operating system to learn how the different parts fit together.
We then look at what BASH is and how to use it in a terminal.
Lastly, we look at how to access help in Linux to get assistance with Linux commands which is an essential skill for all command line users.
Links used in this section:
Ubuntu
https://www.ubuntu.com/desktop
VirtualBox
https://www.virtualbox.org/wiki/Downloads
Commands used in this section:
sudo apt install gnome-session
sudo update-alternatives --config gdm3.css
The Linux operating system is made up of:
The kernel
System Utilities
Graphical User Interface (GUI) as know as the Desktop Environment (DE)
Software Programs (like Firefox)
The terminal is your portal to the Linux operating system and this is where you interact with the system directly using commands.
Help content for many commands is available when using the Linux terminal and using it saves time. It’s like a personal tutor for learning new commands and brushing up on others.
Unless you have a photographic memory you won’t be able to commit every single Linux command to memory, so you’ll need some help.
Tilix (formerly known as Terminix), is able to split your terminal window into multiple panes. This avoids having to open multiple terminal windows or tabs
All the terminals appear on screen in panes that can be rearranged and split by choosing from the horizontal or vertical options.
More info can be found on the developers website:
https://gnunn1.github.io/tilix-web
In this unit we’ll start by looking at the file structure in Linux and the concept of mount points instead of drive letters.
Next we’ll learn how to navigate the file structure in Linux while also learning about creating, deleting, copying, moving, and viewing files from the command line.
We’ll then look at the grep and sed commands that are used to find text in files quickly when using the terminal.
Well also look at some more advanced features of the powerful sed command when used with regular expressions.
Finally in this unit we’ll learn about the vim text editor. Using command line text editors is a vital skill for anyone using the terminal or writing BASH scripts.
The Linux file structure can take a little getting used to if you’re from a Microsoft background. The top of the file structure is the root directory represented by a forward slash.
You can jump to topics by using the times listed below:
0:04 Navigating the Linux file structure
3:06 Locating and Identifying File Types
3:56 Creating and removing files and directories
7:58 Copying and moving files and directories
11:38 Viewing Files in the Terminal
You can jump to topics by using the times listed below:
0.04 Using grep to search in files
1:31 Using sed to search in files
You can jump to topics by using the times listed below:
0.56 The caret Symbol ^
1:42 The dollar Symbol $
2:31 The dot Symbol .
3:51 Escaping Characters \
4:37 The asterisk Symbol *
5:57 The OR Symbol |
6:31 Character Classes [ ]
You can jump to topics by using the times listed below:
0:50 Normal mode and Insert mode
2:45 Working with vim
3:53 Find and Replace in vim
In this unit we'll look at security in the Linux system.
First we'll setup some users and groups which will be used to learn about file and directory permissions.
Finally we'll look at how files and directories can be shared by controlling their permissions.
You can jump to topics by using the times listed below:
1:24 Add a User
3:29 Modify a User
4:03 Delete a User
4:29 Creating Groups
5:43 Adding users to Groups
You can jump to topics by using the times listed below:
1:12 Changing Groups
1:56 Understanding File Permissions
3:38 Changing File Permissions: Symbolic Notation
5:21 Changing File Permissions: Octal Notation
8:18 Setting Permissions to Share Files in groups
This unit covers many programming concepts and we begin by learning about scripting basics. This includes using variables, arrays, parameters and getting user input.
Next, we look at how we can control the flow of a script based on conditions using logic like if then statements and loops including string, numeric and file comparisons.
Then we learn about sending data to commands and files. This includes redirecting data and getting input from files.
Lastly, we begin writing and using functions to make scripts easier to maintain, understand and reuse.
You can jump to topics by using the times listed below:
0:23 Creating Scripts
2:41 Variables
5:32 Arrays
6:59 Using Parameters in scripts
9:28 Getting User Input
You can jump to topics by using the times listed below:
2:31 The IF Statement
4:08 The IF Statement with ELSE and ELIF
5:34 The FOR loop
6:25 The CASE statement
9:22 The WHILE Loop
14:21 The BASH Calculator
You can jump to topics by using the times listed below:
0:24 Redirect and Append
1:53 Redirecting using file descriptors
3:30 Piping Data
You can jump to topics by using the times listed below:
0:55 Creating Functions
3:35 Separating Logic in Functions
5:00 More Functions
8:26 Making Scripts User friendly
In this last unit we’ll learn about installing and managing software on an Ubuntu system and create a script to automate this process.
Next we’ll use cron to schedule scripts so that they run automatically at regular intervals and combine this with archiving and compressing files to create backups of files and directories.
The last script in this unit will create automated reports that can be used to monitor disk usage on a Linux system.
You can jump to topics by using the times listed below:
0:49 The Advanced Package Tool (apt)
10:44 Getting Information about Software
11:57 Testing the Script
You can jump to topics by using the times listed below:
0:32 Setting up the Script with config files
3:12 Scheduling using cron
6:59 Archiving and Compressing Files
10:26 Testing the Script
12:01 Restoring Files
You can jump to topics by using the times listed below:
0:36 Setting up the Script
4:19 The df and du Commands
8:21 Testing the Script
Well done for finishing this course. I hope to see you in another course soon.
In this course we’ll go beyond the Linux desktop and talk directly to the system with text based commands and will automate those commands with scripts. For the hobbyists this is just fun to do, for the aspiring Linux system admin these are essential skills and for the experienced Linux engineer these are skills to be consolidated.