You might have interfaced with Linux many times before because so many devices run Linux.
Phones, TVs, Point-Of-Sale devices, Networking devices, Game consoles, In-flight entertainment systems as well as stock exchanges.
2/
You might have also heard about the recent buzzword "cloud", which is just a Linux system.
Your favorite applications on the internet like mail, productivity suites, watching entertainment every product run in the cloud on Linux based systems.
3/
And if you are a developer you need an environment to test your code and eventually run your application. Containers streamline this process, but you know what even containers are built on Linux.
So no matter who you are you have interfaced with Linux at some stage.
4/
The very platform you are using now to read this is probably powered by Linux too.
5/
"OPENSOURCE"
Linux is an open-source software product that is protected by a license that makes sure that the software is freely available to anyone who wants to see it, contribute to it, and improve it.
6/
Now that is very powerful because you have more collective technical capabilities of those who have access to the source code than a closed software model.
one more thing, a lot of us may think that open-source software is powered by volunteers.
7/
No, it isn't there are many companies(Redhat) that employ developers to contribute to open-source software.
When we say Linux, it is a Kernel. The core component of any operating system that is responsible for resource allocation, file management, and security.
8/
Linux distributions are Operating systems that use the Linux kernel along with other components like Bootloader, Application libraries, package manager, utilities, and often GUI(Graphical User Interface)
Ubuntu, CentOS, and Fedora are a few examples
9/
"LINUX SHELL"
This is the environment which we will be working on, It is an interface with the rest of the operating system as well as executing commands
There are many shells,
* The Bourne Shell
* Bash Shell
* The C Shell
and many more
But the most used one is Bash Shell
10/
Few of the most used commands:
pwd -> current path
cd -> change directory
ls -> view contents in directory
cat (concatenate) -> opens file to add extra content
cp -> copy
mv -> move
mkdir -> make directory
rm -> remove
rmdir -> remove directory
touch -> new blank file
11/
grep -> search through all text in a given file
sudo -> perform tasks that require administrative or root permissions
tar -> archive multiple files similar to zip
chmod -> change permissions
ping ->check your connectivity status to a server
history -> history of commands
12/
Well, most production servers will not have a direct keyboard, mouse attached to them, and again those servers are stored in icy cold server rooms
Then how would you execute commands?
A popular way to send commands is using a remote shell. For that, we have an ssh protocol
14/
"KERNELS AND USERSPACE"
As you might know, the kernel is the heart of an OS. It takes care of scheduling and running programs, file management, and security. But kernel also supports user programs that run in userspace like the shell, like a web browser, etc.,
15/
User programs interact with kernels with special devices and system calls
An individual program running is called a process and each process has its own private virtual memory
A process also has one of the states:
* running
* waiting to run
* blocked(waiting for resource)
16/
Different types of processes:
1. User processes - run by users and are associated to terminal i.e., get input from a terminal and print output to terminal
2. Demon processes - They are started up at the system and provide services like networking.
3. Kernel processes
17/
File hierarchy in Linux
18/
File permissions in Linux
the first "-" can also represent "l"(small L) other than "d" which mean it is a soft link to another file/directory
This is a "FREE" Linux technical overview course by @RedHat (there are 15 sections that takes 111 minutes, but at least look at 2,3,5,6,9,13 that takes 45 minutes) redhat.com/en/services/tr…
21/
Normally our programs and processes run locally in our system, but there are some protocols that support execution in a remote system. Such as RPC protocol, which makes it easy for the peer-to-peer networks.
Networking is the word we use when we talk about connecting computers together so that they can share data with each other.
Local networks range from simple networks consisting of two computers to networks connecting hundreds of thousands of devices
2/
Who owns the internet?
internet is not owned by any individual or group.
The internet is a worldwide collection of interconnected networks (network of networks), cooperating with each other to exchange information using common standards
3/