- Introduction
- What to expect from this course
- What is not covered under this course
- Course Contents
- What are Linux operating systems
- What are popular Linux distributions
- Linux Architecture
- Uses of Linux Operating Systems
- Graphical user interface (GUI) vs Command line interface (CLI)
- Shell vs Terminal
Linux Basics
Introduction
Prerequisites
- Should be comfortable in using any operating systems like Windows, Linux or
- Expected to have fundamental knowledge of operating systems
What to expect from this course
This course is divided into three parts. In the first part, we cover thefundamentals of Linux operating systems. We will talk about Linux architecture,Linux distributions and uses of Linux operating systems. We will also talk about thedifference between GUI and CLI.
In the second part, we cover some basic commands used in Linux. We will focus on commands used for navigating the file system, viewing and manipulating files,I/O redirection, etc.
In the third part, we cover Linux system administration. This includes day-to-day tasks performed by Linux admins, like managing users/groups, managing file permissions, monitoring system performance, log files etc.
In the second and third part, we will be showing examples to understand the concepts.
What is not covered under this course
We are not covering advanced Linux commands and Bash scripting in thiscourse. We will also not be covering Linux internals.
Course Contents
The following topics has been covered in this course:
What are Linux operating systems
Most of us are familiar with the Windows operating system used in more than 75% of the personal computers. The Windows operating systemsare based on Windows NT kernel.
Akernel is the most important part ofan operating system—it performs important functions like processmanagement, memory management, filesystem management, etc.
Linux operating systems are based on the Linux kernel. A Linux-basedoperating system will consist of Linux kernel, GUI/CLI, system librariesand system utilities. The Linux kernel was independently developed andreleased by Linus Torvalds. The Linux kernel is free and open-source (Seehttps://github.com/torvalds/linux).
Linux is a kernel and not a complete operating system. Linux kernel is combined with GNU system to make a complete operating system. Therefore, Linux-based operating systems are also called as GNU/Linux systems. GNU is an extensive collection of free softwares like compiler, debugger, C library etc. (SeeLinux and the GNU System)
History of Linux -https://en.wikipedia.org/wiki/History_of_Linux
What are popular Linux distributions
A Linux distribution (distro) is an operating system based onthe Linux kernel and a package management system. A package managementsystem consists of tools that help in installing, upgrading,configuring and removing softwares on the operating system.
Software are usually adopted to a distribution and are packaged in adistro-specific format. These packages are available through a distro-specific repository. Packages are installed and managed in the operatingsystem by a package manager.
List of popular Linux distributions:
Fedora
Ubuntu
Debian
Centos
Red Hat Enterprise Linux
Suse
Arch Linux
Packaging systems | Distributions | Package manager |
---|---|---|
Debian style (.deb ) | Debian, Ubuntu | APT |
Red Hat style (.rpm ) | Fedora, CentOS, Red Hat Enterprise Linux | YUM |
Linux Architecture
The Linux kernel is monolithic in nature.
System calls are used to interact with the Linux kernel space.
Kernel code can only be executed in the kernel mode. Non-kernel code is executed in the user mode.
Device drivers are used to communicate with the hardware devices.
Uses of Linux Operating Systems
Operating system based on Linux kernel are widely used in:
Personal computers
Servers
Mobile phones - Android is based on Linux operating system
Embedded devices - watches, televisions, traffic lights, etc.
Satellites
Network devices - routers, switches, etc.
Graphical user interface (GUI) vs Command line interface (CLI)
A user interacts with a computer with the help of user interfaces. Theuser interface can be either GUI or CLI.
Graphical user interface allows a user to interact with the computerusing graphics such as icons and images. When a user clicks on an iconto open an application on a computer, he or she is actually using theGUI. It's easy to perform tasks using GUI.
Command line interface allows a user to interact with the computer usingcommands. A user types the command in a terminal and the system helps inexecuting these commands. A new user with experience on GUI may find it difficult to interact with CLI as he/she needs to be aware of the commandsto perform a particular operation.
Shell vs Terminal
Shell is a program that takes commands from theusers and gives them to the operating system for processing. Shell is anexample of a CLI (command line interface). Bash is one of the most popular shellprograms available on Linux servers. Other popular shell programs arezsh, ksh and tcsh.
Terminal is a program that opens a window and lets you interact with theshell. Some popular examples of terminals are GNOME-terminal, xterm,Konsole, etc.
Linux users do use the terms shell, terminal, prompt, console, etc.interchangeably. In simple terms, these all refer to a way of takingcommands from the user.