Introduction to computer - Linux Focused
Tags: linux, computerscience, beginners, webdev
Published: 2022-10-11 09:36:07

_Linux is an open-source Unix-like operating system based on the Linux kernel,an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution_

#### <abbr title="Table of Content">Table Of Content</abbr>
[What is a computer](#intro)
[Computer Components](#components)
[Introduction to Linux](#intro-linux)
[Linux Operating system](#os-linux)
[Benefit of Linux](#benefits)
[Basic Linux commands](#commands)
[Resources](#resource)

---

#### What is computer? <a name="intro"></a>
A **computer** is an electronic device that manipulates information, or data. It has the ability to store, retrieve, and process data. You may already know that you can use a computer to type documents, send email, play games, and browse the Web. You can also use it to edit or create spreadsheets, presentations, and even videos.

---

#### Computer component <a name="components"></a>
**Hardware** is any part of your computer that has a physical structure, such as the keyboard or mouse. It also includes all of the computer's internal parts, which you can see in the image below.

**Software** is any set of instructions that tells the hardware what to do and how to do it. Examples of software include web browsers, games, and word processors. [Source](https://edu.gcfglobal.org/en/computerbasics/what-is-a-computer/1/)

---

#### Introduction to Linux <a name="intro-linux"></a>
Linux is an operating system, like macOS or Windows. It is also the most popular Open Source and free, as in freedom, operating system. Linux is also special because there’s not just “one Linux”, like it happens on Windows or macOS. Instead, we have distributions.

> A “distro” is made by a company or organization and packages the Linux core with additional programs and tooling. For example you have Debian, Red Hat, and Ubuntu, probably the most popular. [Source](https://thevalleyofcode.com/linux/#1-introduction-to-linux)

---

##### Linux Operating System <a name="os-linux"></a>
The Linux operating system comprises several different pieces:

🎯 **Bootloader** –  The software that manages the boot process of your computer. For most users, this will simply be a splash screen that pops up and eventually goes away to boot into the operating system.

🎯 **Kernel** – This is the one piece of the whole that is actually called ‘Linux’. The kernel is the core of the system and manages the CPU, memory, and peripheral devices. The kernel is the lowest level of the OS.

🎯 **Init system** – This is a sub-system that bootstraps the user space and is charged with controlling daemons. One of the most widely used init systems is systemd, which also happens to be one of the most controversial. It is the init system that manages the boot process, once the initial booting is handed over from the bootloader (i.e., GRUB or GRand Unified Bootloader).

🎯 **Daemons** – These are background services (printing, sound, scheduling, etc.) that either start up during boot or after you log into the desktop.

🎯 **Graphical server** – This is the sub-system that displays the graphics on your monitor. It is commonly referred to as the X server or just X.

🎯 **Desktop environment** – This is the piece that the users actually interact with. There are many desktop environments to choose from (GNOME, Cinnamon, Mate, Pantheon, Enlightenment, KDE, Xfce, etc.). Each desktop environment includes built-in applications (such as file managers, configuration tools, web browsers, and games).

🎯 **Applications** – Desktop environments do not offer the full array of apps. Just like Windows and macOS, Linux offers thousands upon thousands of high-quality software titles that can be easily found and installed. Most modern Linux distributions (more on this below) include App Store-like tools that centralize and simplify application installation. For example, Ubuntu Linux has the Ubuntu Software Center (a rebrand of GNOME Software) which allows you to quickly search among the thousands of apps and install them from one centralized location. [Source](https://www.linux.com/what-is-linux/)


---

#### Benefits of Linux <a name="benefits"></a>
##### Open Source

One of the main advantages of Linux is that it is an open source operating system i.e. its source code is easily available for everyone. Anyone capable of coding can contribute, modify, enhance and distribute the code to anyone and for any purpose.

#####  Security

Linux is more secure in comparison to other operating systems such as Windows. Linux is not completely secure as there is some malware for it also but it is less vulnerable than others. Every program in Linux whether an application or a virus needs authorization from the administrator in the form of a password. Unless the password is typed virus won’t execute. There is no requirement of any anti-virus program in Linux.

#####  Revive older computer systems

Linux helps you to use or utilize your old and outdated computer systems as a firewall, router, backup server or file server and many more. There are many distributions available to use according to your system capability. As you can use Puppy Linux for low- end systems.

##### Software Updates

In Linux you encounter a larger number of software updates. These software updates are much faster than updates in any other operating system. Updates in Linux can be done easily without facing any major issue or concern.

##### Customization

A feature that gives a major advantage over other operating systems is customization. You can customize any feature, add or delete any feature according to your need as it is an open source operating system. Not only this, various wallpapers and attractive icon themes can be installed to give an amazing look to your system.

##### Various Distributions

There are many distributions available also called distros of Linux. It provides various choices or flavors to the users. You can select any bistros according to your needs. Some bistros of Linux are Fedora, Ubuntu, Arch Linux, Debian, Linux Mint and many more. If you are a beginner you can use Ubuntu or Linux Mint. If you are a good programmer you may use Debian or Fedora.

#####  Free to use (Low Cost)

Linux is freely available on the web to download and use. You do not need to buy the license for it as Linux and many of its software come with GNU General Public License. This proved to be one of the major advantages Linux faces over Windows and other operating systems. You need to spend a huge amount to buy the license of Windows which is not the case with Linux.

##### Large Community Support

Forums by excited users are made on the web to help and solve the problem any other user is facing. There are a lot of dedicated programmers there to help you out whenever and wherever possible.

#####  Stability (Reliability)

Linux provides high stability also this is good advantage i.e. it does not need to be rebooted after a short period of time. Your Linux system rarely slows down or freezes. As in windows, you need to reboot your system after installing or uninstalling an application or updating your software but this is not the case with Linux. You can work without any disturbance on your Linux systems. [Source](https://www.educba.com/advantage-of-linux/)

---

#### Basic Linux commands  <a name="commands"></a>
```javascript
// linux commands
ls - list files in directory (ls -l for long listing)
cd - change directory (cd .. to go up one directory)
pwd - print working directory
mkdir - make a directory (mkdir -p to make parent directories)
rm - remove a file (rm -r to remove a directory)
cp - copy a file (cp -r to copy a directory)
mv - move a file (mv -r to move a directory)
cat - print the contents of a file
grep - search for a string in a file
wc - word count (wc -l to count lines)
sort - sort lines of text
uniq - report or omit repeated lines
head - output the first part of files (head -n 10 to output first 10 lines)
tail - output the last part of files (tail -n 10 to output last 10 lines)
find - find files (find . -name "*.js" to find all js files in current directory)
```
[Source](https://dev.to/drsimplegraffiti/bash-terminal-guide-1g7)

---

#### Resources  <a name="resources"></a>
[How to install linux](https://www.guru99.com/install-linux.html)
[Linux operating system](https://www.youtube.com/watch?v=ROjZy1WbCIA&t=203s)
[Linux for beginners](https://www.youtube.com/watch?v=10f4899srvc)