Introduction -- The guide to the guides
The articles on this website assume some experience with the Linux/Unix command line. Of course, not everyone who wants to dive into self hosting is familiar with textual interfaces. This course provides a basic familiarity with the command line so that you can easily and confidently follow the instructions, understand what each line of code does, and how.
Both Linux and macOS users can follow this course without installing anything your computers already have all the prerequisites by default.
If you're a Windows user, the process is trickier, but doable. See instructions for Windows users.
What you will learn
After completing this course, you will be able to:
- Understand and comfortably move around the Linux/macOS file system.
- Create, copy, move, edit, and delete files and folders.
- Install, remove, and update software.
- Backup your important data.
- Edit configuration files to tune the system to your liking.
- Follow all the guides on this website and plenty others.
- Discover and learn new commands by yourself using the built-in manual pages.
Other bonuses:
- Get better at using Google to find solutions to computer-related problems.
- Add another skill to your résumé. Especially helpful if you plan to or already work in IT.
- Bragging rights.
Course structure
Each lesson introduces and briefly explains new commands. You then run the commands by yourself in different contexts to understand them better. The aim is to give enough information and practice for you to understand what is going on, but not to drown you with too much information.
Every lesson is followed by some exercises. These will make you really think about how the commands work, plus when and when not to use them. You'll find the answers to the exercises, at the end of the lesson.
How to use this course
Set up your system using the Prerequisites and Setup, then follow each lesson in order.
Type in every command a lesson introduces. Do not copy and paste. Typing commands by yourself improves retainability -- more importantly, when you run a command the first few times, you'll make mistakes. Figuring out where you went wrong while practicing makes sure you do not make those same mistakes when you get to play with important system files -- something you'll do a lot when following the self-hosting guides.
If you are already familiar with the contents of the lesson (say, basic file copying and moving), skim over it and do the exercises. Sometimes, looking at a concept from another perspective challenges your knowledge and helps you learn new things.
Every now and then, you'll stumble upon a command or a concept that you don't immediately grasp. This is normal. Re-read and redo the lesson, take a shot at the exercises anyway, read the solutions if you need to, and try again. If all else fails, move on to the next exercise and come back later. Sometimes all you need to solve a problem is to sleep on it.
Happy learning.