Table of contents
No headings in the article.
Linux is an open-source operating system(OS). It was proposed by the Finland student Linux Torvalds in 1991.
Operating System (OS)
What's a command line?
The command line is your direct access to a computer.
What's the Linux Kernel?
The Linux kernel is the main component of a Linux operating system(OS) and its the core interface between a computer's hardware and its processes. Its does 4 important jobs:
Memory Management
Process Management
Device drivers
System calls and security
Versions of Linux
The version of Linux are distributions of Linux. Popular distributions include:
Amazon Linux
CentOS
Fedora
Oracle Linux
SUSE Linux
Ubuntu
IBM Red Hat/ Red Hat Enterprise Linux (RHEL)
Linux Architecture
What's the Linux Shell?
The shell is a command interpreter through which users can interact with Kernel or you can say OS. In the old days, it was the only user interface available on a Unix-like system. Nowadays we have GUI in addition to CLI (command line interface).
On most Linux systems a program called bash (Bourne Again SHell, an enhanced version of the original Unix shell program, sh, written by Steve Bourne) acts as the shell program. Besides bash, there are other shell programs available for Linux systems. These include ksh, tcsh, zsh.
Linux Filesystem Hierarchy Standard (FHS)
Linux file system has a hierarchal file structure as it contains a root directory and its subdirectories and is structured in a tree-like hierarchy.
Directory | Description |
/ (root filesystem) | It is the top-level directory of the filesystem. It must contain all of the files required to boot the Linux system before other filesystems are mounted. It must include all of the required executables and libraries required to boot the remaining filesystems. After the system is booted, all other filesystems are mounted on standard, well-defined mount points as subdirectories of the root filesystem. |
/bin | It contains user executable files. |
/boot | Contains the static configuration and files of the bootloader required to boot a Linux computer. |
/dev | This directory contains the device files for every hardware device attached to the system. |
/etc | Contains host-specific system configuration |
/home | Home directory storage for user files. Each user has a subdirectory in /home. |
/lib | Contains shared library files that are required to boot the system. |
/media | Mount point for removable media devices such as USB thumb drives that may be connected to the host. |
/mnt | A temporary mount point for regular filesystems (as in not removable media) that can be used while the administrator is repairing or working on a filesystem. |
/opt | Optional files such as vendor-supplied application programs should be located here. |
/root | This is not the root (/) filesystem. It is the home directory for the root user. |
/sbin | System binary files. These are executables used for system administration. |
/tmp | Temporary directory. Used by the operating system and many programs to store temporary files. Users may also store files here temporarily. Note that files stored here may be deleted at any time without prior notice. |
/usr | These are shareable, read-only files, including executable binaries and libraries, man files, and other types of documentation. |
/var | Variable data files are stored here. This can include things like log files, MySQL, other database files, web server data files, email inboxes, and much more. |
Some example of a FHS-compliant system:
"Shareable" files are those that can be stored on one host and used on others. "Unshareable" files are those that are not shareable. For example, the files in user home directories are shareable whereas device lock files are not.
"Static" files include binaries, libraries, documentation files and other files that do not change without system administrator intervention. "Variable" files are files that are not static.