
Master the basics of the Linux command line with practical, hands-on lessons. Navigate the file system, manage files, edit text, set permissions, install packages, monitor resources, and connect via ssh.
Follow the course in order, watch and do by pausing and rewinding, and practice with the recap pdf to understand and remember the comments, while experimenting with the terminal.
Download ubuntu 20.04 and VirtualBox, then create a new virtual machine, allocate ram and disk space, and install ubuntu from the iso with guest additions for full screen resizing.
Open the terminal using the search bar, applications menu, or the Ctrl+Alt+T shortcut. Add it to favorites for quick access, open multiple windows, and adjust size in preferences to 16.
Learn to navigate the Linux file system from the terminal using ls and cd, print the working directory, and explore the home directory with folders like documents and downloads.
master autocompletion, history, and the clear command to streamline terminal navigation, using cd, ls, and tab-based path completion to quickly reach folders.
Navigate the Linux file system root, slash, and key directories like /home, /boot, /dev, /bin, /usr, and /opt, while distinguishing the root user from the root directory.
Navigate to the home directory, the per-user workspace in Linux, via tilde or cd. Store user files and configurations there, and learn how /home contains each user's folder.
Master absolute and relative paths in linux by navigating from the home directory to downloads and documents/test folder with cd, tilde, and autocompletion for fast, flexible file access.
Learn how to reveal hidden files in linux using ls -A, then navigate the filesystem with cd and ls to explore root, home, and dot hidden items.
Learn to create, remove, move, rename, and copy files in the Linux terminal with touch, rm, mv, and cp, using dash or underscore in file names in the home directory.
Create and manage directories with mkdir, mv, rm -rf, ls -R, and cp; use mkdir -p for nested dirs and avoid spaces by using underscores or dashes.
Download a text file with wget, view its contents using cat or less, and count lines, words, and bytes with wc.
Write text to a file from the terminal using echo, creating or overwriting with > and appending with >>, as shown with hello.txt.
Configure nano with a dot nanorc file to set tabs to spaces and a tab size of four, enabling consistent indentation in code editing.
Learn to create and run a bash script to automate terminal tasks by writing commands in a .bash file with nano, making it executable, and executing with ./script.sh.
Explore Vim, a text editor. Install with sudo apt install vim, use insert and command modes, save with :w, quit with :q, and configure vimrc (expandtab, tabstop 4, auto indent).
Learn how to run commands with admin privileges, view and change file permissions, and distinguish what you can read, write, or execute in your home directory versus root folders.
Learn to run commands with admin privileges using sudo in the Linux terminal, including creating, editing, and removing files, with caution about system files such as sources.list.
Explore how ls -l shows file owner and group, and how read, write, and execute permissions apply to the owner, group, and others.
Learn how to change a file's owner using chown, including selecting a new owner, handling sudo privileges, and understanding how ownership affects read and write permissions.
Learn to change a file’s permissions for user, group, and others with chmod, adjusting read, write, and execute rights using plus and minus flags.
Install and remove packages on Linux using apt, yum, or brew with a two-step process: update sources and install, then remove packages like git.
Keep your linux packages up to date by running sudo apt update and sudo apt upgrade, then remove unused packages with sudo apt autoremove.
Learn to install and manage software on Ubuntu using snap, including installing tree and Visual Studio Code, listing, refreshing, and removing snaps, with help and upgrade commands.
Learn to locate files with the find command by name across your file system, including hidden files, using path, -name patterns, and max depth constraints.
Learn to use grep to find lines matching a pattern in a file, adjust case sensitivity with -i, and apply regular expressions to lines starting with given text.
Master piping in the Linux terminal to chain commands like ls, wc, grep, and find, redirecting outputs and counting results, and saving results to files.
Learn faster terminal workflows with pipes and search features, and master keyboard shortcuts like tab completion, command history, and copy paste with ctrl shift c/v, ctrl r.
Master working with multiple terminals by opening several terminals, using tabs and horizontal or vertical splits, and leveraging Terminator or tmux for efficient multitasking.
Learn to monitor Linux processes with ps and grep, identify a process by its PID, and terminate it using kill, including a hands-on exercise to kill a less process.
Monitor disk space with df -h on root partition. Use htop to track ram, cpu, and processes, and install via apt or snap to access F5 and F9 for management.
Learn how to remotely connect to a Linux terminal using SSH, including installing OpenSSH server, configuring host-only networking in VirtualBox, and using SSH from any machine to access a terminal.
Schedule and automate tasks on the Linux command line using cron and crontab. Explore timing options and practical examples like updating a log file every five minutes.
Learn to use systemd to run a boot time command, creating a logs folder at /home/aid/logs, and enable the service for automatic startup.
You are learning how to use the Linux command line, but you’re feeling lost?
Or, you’re already a Linux user and want a quick refresher of the basics?
And you prefer to learn by doing, with teaching material inspired from real life experience? → This Linux command line course 2.0 is for you.
No need to know anything about Linux to get started. I will start from zero and even provide instructions to install a Linux OS on a virtual machine, if you don’t have access to a Linux machine yet.
This course works on any Linux system: Debian, Ubuntu, CentOS, Fedora, and… MacOS! Yes, MacOS is actually based on Linux. The core concepts are the same for all Linux versions, with maybe just a few differences in the commands that I’m going to explain.
→ Why this course?
Well, learning the Linux command line can be quite confusing at best. I experienced that on my own, when I got my first Linux lessons in school. I just didn’t get it, and I just didn’t see the point of using all those complicated commands to complete exercises that I wasn’t going to use in real life anyway.
At first I was lost and kind of demotivated about it. But after a few professional experiences (web/mobile development, server administration and automation, robotics), I started to get a good grasp on the Linux terminal, and more importantly, I started to really understand why I need it and why it’s super powerful. Now, whenever I use a Linux OS, I just remove almost all graphical tools and open the terminal for everything.
So here, I’ve put all my years of Linux experience into this course, with a strong focus on understanding what you’re doing, and why you’re doing it - basically what was lacking in my own education.
My goal is that you can get a strong Linux command line foundation quickly, in just a few hours, and maybe avoid being confused for a few months/years before really “getting it”.
This Linux command line foundation will help you for anything IT related: web or software development, data science, machine learning, robotics, system administration, etc. This is the building block you need to go in any other direction.
And there are many things that look fancy but are a waste of time, especially when you begin. So I’m going to teach you what I really use personally. No need to learn 150 commands to get started. With just a few ones and a good understanding, you can go a long way.
→ How do I teach?
Step by step: each section, each lesson, is built on top of the previous one, in a clean and ordered way. 1 lesson = 1 small step towards your mastery of the Linux command line.
Keep things simple: as an engineer I know it’s tempting to make things over complicated to show you I know a lot of stuff. My philosophy for almost anything is: the simpler the better. By keeping things simple you won’t feel overwhelmed.
Hands-on: no complicated theoretical explanations, I directly write commands and explain at the same time. And I encourage you to also write the commands on your own.
To the point: if I can explain something in 5 minutes, I don’t produce a 15 minutes video to make the course look longer.
Practical: I teach you what you really need to know about Linux using concrete examples, to do stuff you really need to do. I also give you some additional exercises to practice on the key concepts you’re going to use a lot.
→ What will you learn/do in the course?
First, if you don’t have access to a Linux OS, I will show you step by step how to install Ubuntu on a virtual machine, with a minimal and clean setup.
Once you have your Linux OS ready to be used, we will directly jump in and learn how to:
Navigate and understand the Linux file system
Create and manage your own files and folders
Write into files using a command line text editor (Nano)
Change files and users permissions
Install and update software
Monitor Linux processes and computer resources
Remotely connect to a Linux machine using SSH
Bonus: on top of all that, you will also learn how to improve your efficiency with the terminal, using auto-completion, pipes, search tools, keyboard shortcuts, multi-terminal setup, etc.
And I’m going to give you all the best practices I got from my own experience, so you can start off on the right foot.
→ Enroll today
You also get a 30 days money-back guarantee if you’re not fully satisfied. So just get started now, and if I don’t deliver on what I said, please do get the refund.
See you in the course! :)