Learn to Talk to Your Machine
Objective: Navigate and manipulate your system, edit files, and track changes using only the command line.
- 013.1 Terminal, Shell, Prompt15 min
- 023.2 The Filesystem Tree20 min
- 033.3 Moving Around and Managing Files25 min
- 043.4 Reading and Searching: cat, less, grep, find25 min
- 053.5 Redirection, Pipes, Permissions, and sudo30 min
- 063.6 Editing Files with nano or vim25 min
- 073.7 Git Basics: Track Your Work30 min
- 08Lab: Phase 3, Learn to Talk to Your Machine60 min
The graphical interface is training wheels. Real IT work happens in the terminal. Your job is to navigate the filesystem, manage files, edit configurations, and track your work using only CLI.
Learn the Linux filesystem hierarchy: what /etc, /var, /home, /tmp, /usr, and /bin are for. Pick nano or vim and get to a point where you can open a config file, change a value, and save it without panicking.
Starting now, your course-notes/ folder is a Git repository.
pwdWhere am I right now?lsWhat's in this directory?cdMove to a different directorymkdirCreate a directorytouchCreate an empty filecpCopy files or directoriesmvMove or rename files or directoriesrmDelete files. Linux has no recycle bin.catDisplay file contentsmanRead the manual page for any commandsudoRun a command as administratorchmodChange file permissionschownChange file ownershipgrepSearch for text inside filesfindSearch for files by name or typedfCheck disk spacetop / htopSee what's runninggit init / add / commitTrack your work locally- 1
Create the full ~/company/ structure (hr, engineering, sales, finance, and it, each with 3 .txt files) using only the terminal. No file manager.
- 2
Add at least one line of text to each file using echo and output redirection (>).
- 3
Copy the entire company directory to /tmp/company-backup.
- 4
Find every .txt file in the company directory using the find command.
- 5
Search for a specific word across all files using grep.
- 6
Check disk space and memory usage. Write the output to system-report.txt.
- 7
Open system-report.txt in nano or vim. Add a header line: "System Report - [today's date]". Save and exit.
- 8
Initialize your course-notes/ directory as a Git repo. Add all existing files. Make your first commit: "initial commit - phases 1-3".