Introduction

Note

The slides found at this location are meant to be used in personal reference. If you are reading these slides for the first time, or are presenting these slides we recommended using the Fullscreen option found below.

Linux

Welcome! This course will be exploring Linux. The course will cover many key elements of Linux, some of the problems you can solve using this tool, and most importantly you will be getting hands on practice with this very commonly used tool.

Brief History

Linux started as a passion project by Linus Torvalds. He was a fan of the open source operating system Minix and modeled aspects of his new kernel after Minix.

A kernel is the fundamental aspect of an Operating System. The kernel interfaces with hardware, manages memory, devices, and contains a File System. In essence all actions performed by a computer are handled by the kernel.

Linux is now and has always been a kernel not a full operating system. In order to be an operating system that could be effectively used by people Linus packaged his Linux kernel with Bash (a shell) and GCC (a C compiler). Still to this day the Linux kernel comes bundled together with various tools to make a variety of custom built operating systems commonly called Linux distributions.

Note

One of the first Linux distributions was Debian GNU/Linux. It contained the Linux kernel and many different GNU tools like Bash and GCC. The GNU/Linux distinction is important as it emphasizes the GNU tools that are used in combination with the Linux kernel. However, throughout this course we will simply refer to the combination of tools that makeup the various GNU/Linux operating systems as Linux.

The popularity of Linux grew steadily over the years as more tools were developed for or implemented to run using the Linux kernel. The open source nature of the Linux Kernel and GNU projects allowed for highly customized and varied Linux distributions.

Some of the ways these Linux distributions are used:

  • personal use operating system (like MacOS or Windows)
  • mobile devices (Android)
  • embedded systems (like car computers, or single board computers)
  • Cloud Computing: Linux distributions dominate the various cloud services that power the internet

Linux’s popularity especially as it pertains to the web and cloud computing makes it an attractive tool to learn about as you continue your journey in technology.

This course is not designed to dive deeply into the kernel. The majority of time will be spent focusing on how this tool can be used to build solutions in the tech industry. You will learn how to install and configure various web servers, providing you with the knowledge needed to bring your web applications to the internet.

Major Concepts & Key Terminology

  • Linux
  • GNU
  • Kernel
  • Shell
  • Terminal
  • FileSystem