Introduction to Linux Flashcards
Introduction to Linux
is all about understanding the history, philosophy, and the concepts of Linux.
The Linux Foundation
is the world’s leading home for collaboration on open source software, hardware, standards, and data.
It was created by ____ in 1991
Linus Torvalds
It is an open-source operating system
Linux
There are three major Linux distribution families that currently exist.
Red Hat Family Systems (including CentOS and Fedora)
SUSE Family Systems (including openSUSE)
Debian Family Systems (including Ubuntu and Linux Mint).
heads the family that includes CentOS, CentOS Stream, Fedora and Oracle Linux.
Red Hat Enterprise Linux (RHEL)
It used more often for activities, demonstrations, and labs because there is no cost to the end user
CentOS/CentOS Stream
The difference between the two versions is
CentOS Stream gets updates before RHEL, while CentOS gets them after.
serves as an upstream testing platform for RHEL.
Fedora
is a close clone of RHEL and been part of Red Hat since 2014
CentOS
It supports multiple hardware platforms
Red Hat Distribution
is widely used by enterprises which host their own systems
RHEL
RHEL means
Red Hat Enterprise Linux
distribution is upstream for several other distributions, including Ubuntu
Debian
is upstream for Linux Mint and a number of other distributions. It is commonly used on both servers and desktop computers
Ubuntu
is a pure open source community project (not owned by any corporation) and has a strong focus on stability.
Debian
provides by far the largest and most complete software repository to its users of any Linux distribution.
Debian
aims at providing a good compromise between long term stability and ease of use
Ubuntu
has been widely used for cloud deployments
Ubuntu
is built on top of Debian and is GNOME-based under the hood
Ubuntu
The material produced by The Linux Foundation is
Distribution-flexible
is an open source computer operating system, initially developed on and for Intel x86-based personal computers. It has been subsequently ported to an astoundingly long list of other hardware platforms, from tiny embedded appliances to the world’s largest supercomputers.
Linux
was a student in Helsinki, Finland, in 1991, when he started a project: writing his own operating system kernel.
Linus Torvalds
He also collected together and/or developed the other essential ingredients required to construct an entire operating system with his kernel at the center. It wasn’t long before this became known as the
Linux Kernel
In what year Linux was re-licensed using the General Public License (GPL) by GNU (a project of the Free Software Foundation or FSF, which promotes freely available software), which enabled it to build a worldwide community of developers.
1992
GPL stands for
General Public License
GNU stands for
GNU’s not Unix
By combining the kernel with other system components from the GNU project, numerous other developers created complete systems called
Linux Distributions
Today, Linux powers more than half of the servers on the Internet, the majority of smartphones (via the Android system, which is built on top of Linux), more than _____ of the public cloud workload, and all of the world’s most powerful supercomputers.
90%
Every successful project or organization needs an implicit or explicit ____ that frames its objectives and projects its growth path
Philosophy
is constantly enhanced and maintained by a network of developers from all over the world collaborating over the Internet, with Linus Torvalds at the head.
Linux
Linux borrows heavily from the well-established family of
UNIX operating systems
are stored in a hierarchical filesystem, with the top node of the system being the root or simply “/”
Files
Linux is a fully multitasking (i.e., multiple threads of execution are performed simultaneously), multiuser operating system with built-in networking and service processes known as
daemons in the UNIX world
There are many ways to engage with the Linux community, even if you are not a developer:
Post queries on relevant discussion forums.
Subscribe to discussion threads.
Join local Linux groups that meet in your area.
You use Linux literally every time you surf the Internet. It’s in your phone, in your TV, running 95% of supercomputers and in many of the devices that you use every day.
True
is considered the brain of the Linux operating system. It controls the hardware and makes the hardware interact with the applications.
Kernel
is a collection of programs combined with the Linux kernel to make up a Linux-based operating system. Some common examples of a distribution are Red Hat Enterprise Linux, Fedora, Ubuntu, and Gentoo.
Distribution/Distros
is a program that boots the operating system. Two examples of a boot loader are GRUB and ISOLINUX.
boot loader
is a program that runs as a background process. Some examples of the service are httpd, nfsd, ntpd, ftpd and named.
service
is a method for storing and organizing files in Linux. Some examples of filesystems are ext3, ext4, FAT, XFS and Btrfs.
filesystem
provides the standard toolkit and protocol to build graphical user interfaces on nearly all Linux systems.
X Window System
is a graphical user interface on top of the operating system. GNOME, KDE, Xfce and Fluxbox are some examples of the desktop environment.
desktop environment
is an interface for typing commands on top of the operating system.
command line
is the command line interpreter that interprets the command line input and instructs the operating system to perform any necessary tasks and commands. For example, bash, tcsh and zsh.
Shell
is the core of the operating system
Linux kernel
are popular free (as in no cost) alternatives to Red Hat Enterprise Linux (RHEL) and are often used by organizations that are comfortable operating without paid technical support.
CentOS and CentOS Stream
are widely used by developers and are also popular in the educational realm
Ubuntu and Fedora
is a far reaching ecosystem of developers, vendors, and users that supports and advances the Linux operating system
Linux community
Some of the common terms used in Linux are
kernel, distribution, boot loader, service, filesystem, X Window system, desktop environment, and command line
is the procedure for initializing the system. It consists of everything that happens from when the computer power is first switched on until the user interface is fully operational.
Linux boot process
When the computer is powered on, the Basic Input/Output System (BIOS) initializes the hardware, including the screen and keyboard, and tests the main memory. This process is also called
POST (Power On Self Test)
is stored on a read-only memory (ROM) chip on the motherboard. After this, the remainder of the boot process is controlled by the operating system (OS).
BIOS software
Once the POST is completed, system control passes from the BIOS to the
boot loader
is usually stored on one of the system’s storage devices, such as a hard disk or SSD drive, either in the boot sector (for traditional BIOS/MBR systems) or the EFI partition (for more recent (Unified) Extensible Firmware Interface or EFI/UEFI systems)
boot loader
information on the date, time, and the most important peripherals are loaded from the
CMOS
A number of boot loaders exist for Linux; the most common ones are
GRUB (for GRand Unified Boot loader), ISOLINUX (for booting from removable media), and DAS U-Boot (for booting on embedded devices/appliances)
the boot loader resides at the first sector of the hard disk, also known as the
Master Boot Record (MBR)
filesystem image contains programs and binary files that perform all actions needed to mount the proper root filesystem
initramfs
starts a number of text-mode login prompts. These enable you to type your username, followed by your password, and to eventually get a command shell
init
Most other processes on the system trace their origin ultimately to init; exceptions include the so-called
kernel processes
This serial process (called _____) had the system pass through a sequence of runlevels containing collections of scripts that start and stop services
SysVinit
containing collections of scripts that start and stop services
runlevels
Developed by Ubuntu and first included in 2006
Adopted in Fedora 9 (in 2008) and in RHEL 6 and its clones
Upstart
Adopted by Fedora first (in 2011)
Adopted by RHEL 7 and SUSE
Replaced Upstart in Ubuntu 16.04
systemd
start up faster than those with earlier init methods. This is largely because it replaces a serialized set of steps with aggressive parallelization techniques, which permits multiple services to be initiated simultaneously.
systemd
is responsible for keeping the system running and for shutting it down cleanly.
init
One systemd command (_______) is used for most basic tasks
systemctl
Different types of filesystems supported by Linux:
Conventional disk filesystems
Flash storage filesystems
Database filesystems
Special purpose filesystems
Conventional disk filesystems:
ext3, ext4, XFS, Btrfs, JFS, NTFS, vfat, exfat, etc.
Flash storage filesystems:
ubifs, jffs2, yaffs, etc.
Special purpose filesystems:
procfs, sysfs, tmpfs, squashfs, debugfs, fuse, etc.
is a dedicated subsection of physical storage media. Historically this meant a physicallycontiguous portion of a hard disk; today’s storage devices can be more complicated, but we still think of a partition as a fixed area to be treated as a whole.
partition
is just a method of storing and accessing files.
filesystem
Linux systems store their important files according to a standard layout called the
Filesystem Hierarchy Standard (FHS)
is best decided at the time of installation; it can be difficult to change later
partition layout
is a logical part of the disk.
partition
is a method of storing/finding files on a hard disk.
filesystem
keeps track of the displays being provided and loads the X server (so-called, because it provides graphical services to applications, sometimes called X clients).
Display Manager
is gradually superseding it and is the default display system for Fedora, RHEL, and other recent distributions
Wayland
The default display manager for GNOME is called
gdm
Another popular display manager is
kdm
is a popular desktop environment with an easy-to-use graphical user interface. It is bundled as the default desktop environment for most Linux distributions, including Red Hat Enterprise Linux (RHEL), Fedora, CentOS, SUSE Linux Enterprise, Ubuntu, and Debian
GNOME
Each distribution implements the ____ which is used to navigate the file system
Nautilus (File Manager)
To open the File Manager from the command line, on most systems simply type
nautilus
The default text editor in GNOME is
gedit
is designed as a general-purpose text editor, it offers additional features for spell-checking, highlighting, file listings, and statistics
gedit
is a popular desktop environment and graphical user interface that runs on top of the Linux operating system.
GNOME
display manager presents the user with the login screen, which prompts for the login username and password
gdm
is the underlying package manager for these systems. It can install, remove, and build packages. Unlike higher-level package management systems, it does not automatically download and install packages and satisfy their dependencies.
dpkg
APT
Advanced Package Tool
is the other package management system popular on Linux distributions.
Red Hat Package Manager (RPM)
Debian distributions use ____ and _____ utilities for package management.
dpkg and apt-based
is the most popular and reliable protocol for setting the local time via Internet servers.
The Network Time Protocol
To access GTalk, AIM, ICQ, MSN, IRC and other messaging networks.
Pidgin
Intuitive graphical FTP client that supports FTP, Secure File Transfer Protocol (SFTP), and FTP Secured (FTPS). Used to transfer files to/from (FTP) servers.
FileZilla
To access Internet Relay Chat (IRC) networks.
Hexchat
Most day-to-day computer systems have productivity applications (sometimes called _______) available or installed
office suites
an open source office suite that started in 2010 and has evolved from OpenOffice
LibreOffice
Mature MP3 player with a graphical interface, that plays audio and video files, and streams (online audio files). It allows you to create a playlist that contains a group of songs, and uses a database to store information about the music collection.
Amarok
Used to record and edit sounds. Audacity has a simple interface to get you started.
Audacity
Another smart audio media player.
Audacious
Supports a large variety of digital music sources, including streaming Internet audio and podcasts. The application also enables search of particular audio in a library. It supports smart playlists with an automatic update feature, which can revise playlists based on specified selection criteria.
Rhythmbox
Linux systems offer a number of movie players, including:
VLC
MPlayer
Xine
Totem
Create 3D animation and design. Blender is a professional tool that uses modeling as a starting point. There are complex and powerful tools for camera capture, recording, editing, enhancing and creating video, each having its own focus.
Blender
Capture, compose, and edit audio/video.
Cinelerra
Record, convert, and stream audio/video. FFmpeg is a format converter, among other things, and has other tools such as ffplay and ffserver.
FFmpeg
is a feature-rich image retouching and editing tool similar to Adobe Photoshop and is available on all Linux distributions
The GNU Image Manipulation Program (GIMP)
is an image viewer that provides slide show capability and a few image editing tools, such as rotate and resize. It can also step through the images in a directory with just a click.
Eye of Gnome (eog)
is an image editor with lots of editing features. It works with layers and transformations of the image. It is sometimes compared to Adobe Illustrator.
Inkscape
is a command line tool (part of the ImageMagick set of applications) that can modify image files in many ways. The options include file format conversion and numerous image modification options, such as blur, resize, despeckle, etc.
convert
Most input lines entered at the shell prompt have three basic elements:
Command
Options
Arguments
is used for creating documents used for publishing and providing a What You See Is What You Get (WYSIWYG) environment. It also provides numerous editing tools.
Scribus
is the name of the program or script you are executing. It may be followed by one or more options (or switches) that modify what the command may do
Command
usually start with one or two dashes, for example, -p or –print, in order to differentiate them from arguments, which represent what the command operates on.
Options
are console sessions that use the entire display and keyboard outside of a graphical environment
Virtual Terminals (VT)
is reserved for the graphical environment, and text logins are enabled on the unused VTs.
One virtual terminal (usually VT 1 or VT 7)
There are two ways to identify paths:
Absolute pathname
Relative pathname
pathname starts from the present working directory.
relative
pathname begins with the root directory (/) and follows the tree, branch by branch, until it reaches the desired directory or file.
absolute
command is a good way to get a bird’s-eye view of the filesystem tree.
tree
is the underlying package management system that manages software on Debian-based systems
Advanced Packaging Tool (apt)
are consoles, or command line terminals that use the connected monitor and keyboard.
Virtual terminals (VT)
performs a database search to find all file names that match a given pattern.
locate
locates files recursively from a given directory or set of directories.
find
is able to run commands on the files that it lists, when used with the -exec option.
find
is used to set the access, change, and edit times of files, as well as to create empty files.
touch
is used to manage installed software on Debian-based systems.
apt
command-line package management utility for the RPM-based Red Hat Family Linux distributions.
dnf
package management system is based on RPM and used for openSUSE.
zypper
is simply an instance of one or more related tasks (threads) executing on your computer
process
is a process that runs as long as needed. It allows users to execute programs and access resources in an interactive environment
terminal window
Need to be started by a user, either at a command line or through a graphical interface such as an icon or a menu selection.
Interactive Processes
Automatic processes which are scheduled from and then disconnected from the terminal. These tasks are queued and work on a FIFO (First-In, First-Out) basis.
Batch Processes
Server processes that run continuously. Many are launched during system startup and then wait for a user or system request indicating that their service is required.
daemons
Lightweight processes. These are tasks that run under the umbrella of a main process, sharing memory and other resources, but are scheduled and run by the system on an individual basis. An individual thread can end without terminating the whole process and a process can create new threads at any time. Many non-trivial programs are multi-threaded.
threads
Kernel tasks that users neither start nor terminate and have little control over. These may perform actions like moving a thread from one CPU to another, or making sure input/output operations to disk are completed.
kernel process
is the average of the load number for a given period of time. It takes into account processes that are:
load average