Linus Torvalds developed Linux, an open-source OS in 1970. Because it is
an
open-source operating system, it can be modified by many users. It is
also possible to create different variations of the code. Linux has different
variations commonly referred to as distributions which can be used by
several computers. There are primary and advanced Linux concepts that
users must be familiar with before starting the installation process. Basic
concepts include:
❖
PWD: Users are supposed to be at certain paths whenever terminals are opened. PWD is
used to know the path of the directory. It is effective because it reveals the current path and
gets users in the right way. Moreover, it highlights the whole path where users are present.
PWD stands for the Present Work Directory. It makes work easy by giving the absolute path
which comprises of the root, the basis of the Linux file system.
❖
CD: This concept is used to move to a certain directory. It is helpful because it gives
direction and saves time. For example, if you are in the project folder and want to go to the
home folder, the CD comes in handy. All you have to do is to write the cd home name, and
you will be taken to that particular folder.
❖
Is: This concept is an initial for a list. Its work is to list all the directories and files that are
in a certain directory. One can use it alongside other combinations and get the results. It
helps to get hidden and hard to get files. It also helps to get recent files on a directory.
❖
Touch- This is a concept that is used to create a file on any path. It has no restrictions, and
the file can be anything. One can create an empty, text file or zip file.
❖
Sudo- This concept is widely used in Linux. Users employ it to perform any task and get
administrative privileges. It is preferred by many because it makes work easy and gives them
access to services reserved for some people. Sudo stands for SuperUser Do.
❖
The Terminal- Any time you want access to the cloud server, you must use a terminal
shell. It enables users to carry out commands within minutes. Moreover, administrative tasks
can be done through the terminal. It facilitates package installation, file manipulation, and
user management. Owners are not worried about poor usage because they can monitor and
track users. It is also interactive, and users only need to specify commands for it to run. Once
the
user types and presses enter, it executes the command.
❖
Navigation. All Linux file systems are categorized in a directory tree. It allows users to
create directories inside other directories and gives them easy access. This means that files
can be in any directory. PWD helps users to see which directory they are in. For example,
PWD can create /home/foo, which means that the current directory is foo. A user can also
create a new directory in the current working directory.
For instance, to create a directory
roof: mkdir roof, then cd or delete roof if it is no longer useful. The user will only delete
empty directories.
❖
Another basic Linux concept is file manipulation- It is impossible to use files with CD
(Change Directory). We can only view files. For example, if we have file biz in our current
directory, it translates to cat biz. It prints out the information of biz to the terminal. It is
impossible to read content in the log files. The output can be paginated into less biz to
facilitate the printout of the contents of the biz. It will be done one terminal at a time, from
the beginning of the file. A spacebar can be used to advance a page. Alternatively, arrow keys
can be employed to move up and down on a line. You can press q to remove less. The user
can create a new file called foobiz by using the touch bar.
❖
CP: This is another concept that plays an integral role in Linux. It is used to copy files
from one source directory to another. For it to work, the first
source needs to specify the
location where the files will be copied. The destination also needs to be on the second
location.
❖
MV: This concept is used to move a file from a specific destination folder. It creates space
by deleting the copy from the source path and placing the file in the new destination. Users
can also use the Echo when they want to move data. Other basic but important Linux
concepts include cat, nano, and tail. The tail is employed to print the last lines of files. It
shows the last ten lines on the output. If a user wants to see more lines, he/she needs to
specify tail-n. N stands for the number of lines you want to see.
The Kernel- Every computer system
has basic programs known as
operating systems. The Kernel is the most important program in the basic
set. It is put in the RAM when the system boots and has vital steps required
for the system to function optimally. Other programs lack vital utilities. The
kernel provides interactive experiences for users and users and enables a
computer to do all the work it is meant to do. It also gives crucial facilities
to everything on the system and gauges various features of higher software.
Therefore, the operating system is used in place of the kernel. The operating
system has two main functions: To avail of an execution environment to the
applications that run on the computer system. The second function is to
interact with hardware components and service programmable elements.
Some OS enable all user programs to interact with hardware elements.
On the contrary, the Linux OS hides all the
details about the physical
structure of the computer from the applications used. This is where the
kernel comes in handy to evaluate the request and interact with hardware
components. Modern OS depends on the accessibility of particular
hardware features to instill this mechanism. It relies on characteristics that
do not allow user program interactions with low-level hardware parts.
Multiuser systems- This is a computer that can carry out numerous
applications from many users. It executes
them independently and
concurrently. This means that applications are active in the same period and
struggle for similar resources, including memory, CPU, and hard disk. A
computer executes functions independently when each application does its
tasks without worrying about what the other one is doing.
Every application is self-reliant and does not need the other one to function.
When a user has to switch from one application to another, it slows them
down and makes it difficult to move to do other things on time. Most of the
issues with modern-day OS kernels are there to reduce delays put on every
program to give users fast response. Multiuser systems should have several
components, including a protection mechanism to fight off buggy users. It
should have programs to block external applications from running in the
system. It needs an authentication mechanism to verify user identity. OS
should use the hardware protection linked to the CPU privilege to guarantee
protection mechanisms.
Every user has privacy when using a multiuser system. Users are given
about a quota of the disk space to keep sensitive information.
The privacy
portion must be visible in the operating system. It ought to ensure that no
user can intrude into another user’s privacy. It ensures the privacy of every
user and treats them equally. User ID is used to identify all users and
restrict the number of people who have access to a computer system.
Whenever a user starts a working session, he/she must log into the system.
This requirement is in place to prevent unauthorized access to the system.
Users log in with their names and passwords. Because the password is a
secret, users are guaranteed privacy. Users are put in groups to enable them
to share information with other members. Every group has an ID which
they use to interact and share information. For instance,
access can be
limited in such a way that every user owning the file is required to read and
write privileges. Users who do not meet set requirements are denied access
to the file.
There is an individual user called root and the system administrator logs in
using that name to tackle user accounts. The administrator also maintains
the accounts and upgrade programs. Operating systems use a crucial
abstraction called the process, defined as the execution context. The role of
a process is to execute one sequence of requirements in an address.
Multiuser systems are supposed to execute environments where numerous
processes are active at the same time and compete for system resources.
One should be able to distinguish processes from programs with difficulty.
The majority of kernels are monolithic.