Intro to Linux Fundamentals - What is Linux?

Intro to Linux Fundamentals - What is Linux?

The Linux kernel has found its way into many diverse systems. It can now be found in everything from automobiles to rockets, watches to televisions, and netbooks to the fastest supercomputers. Linux only accounts for a relatively small percentage of the operating systems found on desktop computers, but it has gained widespread use in servers, Internet of Things (IoT) devices, networking equipment, smartphones, and many other devices.

Our main focus in this article will be its application in the cloud computing world as this article is part of the Cloud computing journey. Read along as we dive into the world of Linux fundamentals, its components, and its impact on the world of technology. Let's get started.

What is Linux?

Linux is an open-source operating system kernel that serves as the foundation for a wide range of operating systems. It was developed by Linus Torvalds in 1991. Since then it has evolved into one of the most powerful OS available. By open-source we mean that users can view, modify, and distribute the source code freely, which is unlike other common OS like Windows and macOS.

The Linux model is built with an emphasis on collaboration, making it easier for contributors worldwide to contribute to its improvement. Although you may not have interacted with the OS directly, you might have interacted with devices that are powered by Linux, a good example of this is Android devices.

Characteristics of Linux

  • Open-source - its open-source nature means the source code is accessible to anyone to contribute, modify, and share the code.
  • Reliable - its stability and reliable nature make it the perfect choice for critical systems and servers.
  • Multitasking and multiuser- it supports multiple users making it easier for resource sharing, additionally it makes it easier for users to run multiple processes.
  • Security - it has a wide range of security features including user privilege management, file system permissions, and mandatory access controls.
  • Portability - its portability nature has led to its wide adoption in diverse environments from embedded systems and smartphones to servers and supercomputers.
  • Command-Line Interface (CLI) - it offers a powerful CLI, providing users with extensive control over system functions.

The Linux Kernel

The kernel acts as the core component in the Linux OS. It acts as a bridge between hardware and software. Some of its main functions include managing the running of multiple applications, sharing resources among multiple users, controlling the interface to the input/output (I/O) devices connected to the computer, and managing files and directories. Other functions include:

  • Process management - it initiates, schedules, and terminates processes.
  • Memory management - it allocates and deallocates memory space for processes as well as implementing virtual memory.
  • Facilitates communication between hardware components and the OS.
  • Manages file permission and access control.

by correctly understanding the kernel you can get insights into how various operations within the OS run.

Linux File System Structure

Understanding the Linux file system structure comes in handy when it comes to navigation and organization of the system.

  • Root Directory (/) - is the top-level directory that contains all other directories and files.
  • /bin and /sbin - important binary executables for system users and system binaries respectively. They are reserved for sys admins.
  • /home - home directory for regular users in the system.
  • /etc- config files for system settings.
  • /var - variable files such as logs, spool files, and temporary files.
  • /usr - user-related programs and data.
  • /tmp - temporary files.

Linux Distributions

As earlier mentioned, Linux is an open-source operating system that allows people to make copies and distribute. These distributions are commonly referred to as "distros". A Linux distribution is a complete set of packages that includes the kernel, system utilities, libraries, and additional software applications, that provide the users with a ready-to-use operating system. Some of the most popular distros include:

  1. Ubuntu - It's an excellent choice for beginners because of its user-friendly interface.
  2. Fedora - the best fit for those people who are looking for the latest features as it is at the forefront of adopting new features. Its emphasis is more on security making it perfect for developers and security-conscious users.
  3. Debian - best for servers and critical systems. Its package management system simplifies the software installation process.
  4. Arch Linux - known for its customization that allows the users to build their way up. Provides continuous updates with no need to reinstall apps again.

Others include openSUSE, Parrot OS, Linux Mint, Kali Linux, etc...

Concerning AWS, Amazon Linux 2 is the latest Linux operating system that AWS offers. It is designed to provide a stable, secure, and high-performance runtime environment for applications that run on Amazon Elastic Compute Cloud (Amazon EC2). It supports the latest EC2 instance-type features and includes packages that facilitate integration with AWS.

How to Choose the right distribution

  1. Skill level - beginners often prefer user-friendly distros like Ubuntu or Linux Mint while advanced may opt for distros like Arch Linux or Gentoo.
  2. Use case - depending on your uses you will be required to choose a specific OS. For example, servers benefit from stable distributions like Debian or CentOS while developers might prefer distributions like Fedora for the latest development tools.
  3. Package management - consider a package manager that best works with you. For example, Debian-based distros use APT, while Red Hat-based distros use YUM.
  4. Community support - larger communities will mean better support and easy access to online resources.
  5. Desktop environment - different distros come with different environments, choose the one that works best for you.

Getting Started with Linux

To get started with Linux often begins with the installation process. This will vary depending on whether you are creating a virtual machine, installing the OS, or connecting to a server. In our case working with Linux with AWS has most of the steps set up as we are required to connect to an EC2 instance via an SSH connection key.

SSH is a network protocol that provides a secure way to access a computer. To connect to a host by using SSH, you need an SSH client. Unlike MacOS and Linux systems that give access to an SSH client via the terminal, windows users will require an additional tool called PuTTY to achieve this task. By default, the SSH connection uses port 22, which is a security group linked to the EC2 instance.

Checkpoint questions

As a checkpoint for your own Linux journey, I invite you to share your answers to the questions below in the comment section.

Conclusion

As we conclude this introductory journey into Linux fundamentals, it's important to mention that our exploration merely scratches the surface of the vast world of Linux. In the upcoming series of articles, we will be covering more about Linux and understanding how to work with it.

That marks it for this lesson, stay tuned for the next article from my AWS re/Start program journey. In addition to this check out my other pieces from this learning series below ??

Intro to AWS re/Start - Cloud Computing for Beginners

Introduction to Computing - Cloud Foundations

Introduction to Servers, Data Centers, and Software Development Cycle

What is Cloud Computing?



Brandon Rivera Zu?iga

Cloud Support Associate at AWS

7 个月

What is a Linux distribution? - It is a complete set of packages that provide the users with a ready-to-use operating system (kernel, libraries, etc.) The bash shell is the default shell for most Linux distributions? - True - Because of its powerful scripting capabilities, extensive features, and compatibility with the Bourne shell (sh). Which command provides help for Linux commands? - The man command that provides help for Linux commands for example `man ls`. Great article! ????

Hillary, great to see your progress! Linux mastery is indeed a cornerstone for AWS expertise. Which aspect of Linux or AWS are you most excited about diving into next?

要查看或添加评论,请登录

Hillary Nyakundi的更多文章

社区洞察

其他会员也浏览了