Linux for beginners.

What is Linux

Linux is the best-known and most-used open source operating system. Open source means that the code used to create Linux is free and available to the public to view, edit, and for users with the appropriate skills to contribute to. As an operating system, Linux is software that sits underneath all of the other software on a computer, receiving requests from those programs and relaying these requests to the computer’s hardware.

Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of the most popular platforms on the planet, Android, is powered by the Linux operating system. An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply, the operating system manages the communication between your software and your hardware. Without the operating system (OS), the software wouldn’t function.

Parts of a Linux Os

Bootloader - When your computer starts it needs to go through a start up process called booting. This boot process needs guidance, and your OS is the software in control throughout the boot process. The bootloader for your operating system kickstarts the process.

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. This means that If we are to think of the Linux operating system in terms of layers, the kernel is the lowest layer.

Init system - This is the first process started during system boot. It is a daemon process that continues running until the system is shut down. Init is the direct or indirect ancestor of all other processes, and automatically adopts all orphaned processes. It is started by the kernel using a hard-coded filename; if the kernel is unable to start it, panic will result.

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 – Interaction with the graphical server directly is impossible. You need software that can drive the server. This is called a desktop environment in Linux and there are plenty of options including (KDE, Unity, GNOME, Cinnamon, Mate, Pantheon, Enlightenment, 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. %[linux.com/what-is-linux/]

Why use Linux?

Linux has evolved into one of the most reliable computer ecosystems on the planet. This is because Linux Os has been able to overcome constant battles with obstacles like viruses, malware, slow downs, crashes, costly repairs, and licensing fees. Combine that reliability with zero cost of entry and you have the perfect solution for a desktop platform. Linux can be installed on as many computers as you like without paying a cent for software or server licensing.

What is a Linux distribution?

A Linux distribution, often shortened to Linux distro, is an operating system compiled from components developed by various open source projects and programmers. Each distribution includes the Linux kernel (the foundation of the operating system), the GNU shell utilities (the terminal interface and commands), the X server (for a graphical desktop), the desktop environment, a package management system, an installer and other services. Many components are developed independently from each other and are distributed in source code form. Distros also include an Internet browser, management tools and other software such as the KVM hypervisor. A single Linux distribution may contain thousands of software packages, utilities and applications.

Let us get to the fun part.

Basic Linux Commands

Top 50 Linux Commands You Must Know as a Regular User

ls          -  The most frequently used command in Linux to list directories
pwd      -  Print working directory command in Linux
cd         -  Linux command to navigate through directories
mkdir    -  Command used to create directories in Linux
mv        -  Move or rename files in Linux
cp         -  Similar usage as mv but for copying files in Linux
rm         -  Delete files or directories
touch    -  Create blank/empty files
ln           -  Create symbolic links (shortcuts) to other files
cat         -  Display file contents on the terminal
clear      -  Clear the terminal display
echo      -  Print any text that follows the command
less       -  Linux command to display paged outputs in the terminal
man      -  Access manual pages for all Linux commands
uname   -  Linux command to get basic information about the OS
whoami -  Get the active username
tar         -  Command to extract and compress files in Linux
grep      - Search for a string within an output
head     - Return the specified number of lines from the top
tail        -  Return the specified number of lines from the bottom
diff       -  Find the difference between two files
cmp     -  Allows you to check if two files are identical
comm  - Combines the functionality of diff and cmp
sort      -    Linux command to sort the content of a file while outputting
export  - Export environment variables in Linux
zip        - Zip files in Linux
unzip    - Unzip files in Linux
ssh       - Secure Shell command in Linux
service - Linux command to start and stop services
ps         - Display active processes
kill and killall - Kill active processes by process ID or name
df          -  Display disk filesystem information
mount - Mount file systems in Linux
chmod - Command to change file permissions
chown - Command for granting ownership of files or folders
ifconfig - Display network interfaces and IP addresses
traceroute - Trace all the network hops to reach the destination
wget - Direct download files from the internet
ufw - Firewall command
iptables - Base firewall for all other firewall utilities to interface with
apt, pacman, yum, rpm - Package managers depending on the distro
sudo - Command to escalate privileges in Linux
cal - View a command-line calendar
alias - Create custom shortcuts for your regularly used commands
dd - Majorly used for creating bootable USB sticks
whereis - Locate the binary, source, and manual pages for a command
whatis - Find what a command is used for
top - View active processes live with their system usage
useradd and usermod - Add new user or change existing users data
passwd - Create or update passwords for existing users

Ciao until i come back to write about how these commands are used.