Linux Training

What is Operating System?

An operating system (OS) is the software that manages the hardware and software resources of a computer.

It acts as an intermediary between the computer's hardware and the applications that run on it. 

The main functions of an operating system include managing the computer's memory, processing power, and input/output operations (such as reading and writing files, connecting to the internet, and managing peripherals like printers and keyboards).

An operating system also provides several important services such as:

Memory management: Allocating and de-allocating memory to the running processes

Process management: Creating and scheduling the processes.

File management: organizing and maintaining files on storage devices.

Security: implementing security features such as access control and process isolation

Networking: implementing protocols and interfaces for communication over networks.

Linux OS architecture:


Linux V/s Unix:

Unix is a proprietary operating system that was developed in the late 1960s and early 1970s by AT&T Bell Labs.

It was designed to be a multi-user, multi-tasking system for use in large-scale, networked environments. 

Unix is the ancestor of many other operating systems, including Linux.

On the other hand, Linux is a free and open-source operating system. 

It was created in 1991 by Linus Torvalds as a hobby project and it is based on Unix. 

Linux is designed to be highly portable and customizable, and it can run on a wide variety of hardware platforms.

While Linux is based on Unix, it has several key differences:

Linux is open-source, which means that its source code is freely available and can be modified and distributed by anyone. 

On the other hand, Unix is proprietary, and its source code is not publicly available.

Linux is a monolithic kernel, while Unix is a microkernel.

A monolithic kernel is one in which the entire operating system runs in kernel space, while a microkernel is one in which only the bare minimum runs in kernel space.

Linux has a large and active community of developers and users, while Unix is primarily developed and used by a small number of commercial vendors.

Linux is available for a wide variety of platforms, including servers, supercomputers, mobile devices, and embedded systems, while Unix is primarily used in enterprise environments.

Linux is free to use, distribute, and modify, while Unix is commercial and typically requires a license to use.

Linux Distributions:

Ubuntu

Fedora

Debian

Mint

Arch Linux

Red Hat Enterprise Linux (RHEL)

CentOS

openSUSE

Arch Linux

Manjaro Linux

Gentoo Linux

Slackware Linux

Debian stable

Debian testing

Debian unstable

Mint Debian Edition

Ubuntu MATE

Ubuntu Budgie

Ubuntu Kylin

Ubuntu Studio

Linux OS Features:

Open-source: Linux is open-source software, which means that the source code is available to anyone to use, modify, and distribute. This allows for a large and active community of developers to contribute to the development and improvement of the operating system.

Stability: Linux is known for its stability and reliability. It can run for months or even years without needing to be rebooted. This makes it ideal for servers and other systems that need to be up and running at all times.

Security: Linux has a reputation for being a secure operating system, with built-in security features such as file permissions, user and group management, and firewall capabilities.

Customizability: Linux is highly customizable and can be configured to suit the needs of a wide range of users and environments. It can be run on a wide variety of hardware, including servers, supercomputers, mobile devices, and embedded systems.

Large software repository: Linux has a large and diverse software repository, with a wide range of free and open-source software available for it, including office applications, graphics editors, web browsers, and games.

Command-line interface: Linux has a powerful command-line interface that allows users to execute commands, navigate the file system, and perform other tasks. This makes it a preferred choice for system administrators and developers.

Multi-user and multitasking: Linux is a multi-user operating system, meaning multiple users can log in and work on the same machine simultaneously. It also supports multitasking, which allows multiple processes to run simultaneously.

Networking: Linux has built-in support for networking and internet protocols, making it an excellent choice for servers, network devices, and internet of things (IoT) devices.

Cross-platform compatibility: Linux is compatible with a wide range of hardware architectures, and it can run on a wide variety of platforms including servers, desktops, laptops, mobile phones and tablets, and IoT devices.

Linux Commands: 

man: The first command I want to introduce is a command that will help you understand all the other commands. Every time I don't know how to use a command, I type man <command> to get the manual:

#man ls

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List information about the FILEs (the current directory by default).  Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.

       Mandatory arguments to long options are mandatory for short options too.

       -a, --all
              do not ignore entries starting with .

       -A, --almost-all
              do not list implied . and ..

       --author
              with -l, print the author of each file

       -b, --escape
              print C-style escapes for nongraphic characters

       --block-size=SIZE
              scale sizes by SIZE before printing them; e.g., '--block-size=M' prints sizes in units of 1,048,576 bytes; see SIZE format below

ls :

Inside a folder you can list all the files that the folder contains using the ls command:

[root@ip-172-31-9-213 /]# ls
bin  boot  dev  etc  home  lib  lib64  local  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@ip-172-31-9-213 /]#

cd:

Once you have a folder, you can move into it using the cd command. cd means change directory. You invoke it specifying a folder to move into. You can specify a folder name, or an entire path.

pwd:


mkdir

rmdir

mv

cp

touch

find

ln

gzip

gunzip

tar

alias

cat

less

tail

wc

grep

sort

uniq

diff

echo


2

chown

chmod

umask

du

df

basename

dirname

ps

top

kill

killall

jobs

bg

fg

type

which

nohup

xargs

vim

emacs

nano

whoami

who

su

sudo

passwd

ping

traceroute

clear


history

export

crontab

uname

env

printenv

Conclusion




 

Comments