DEV Community

Cover image for LINUX: AN OPERATING SYSTEM AND THE USE OF ITS COMMANDS
Victoria Oludamilola Oyewole
Victoria Oludamilola Oyewole

Posted on

LINUX: AN OPERATING SYSTEM AND THE USE OF ITS COMMANDS

WHAT IS LINUX?
Linux is a free, open-source operating system (OS) that acts as an intermediary between computer hardware and software applications, managing resources and executing instructions. Created by Linus Torvalds in 1991, it is modeled on UNIX but has since evolved independently. Linux is known for its stability, flexibility, and security, making it popular for servers, desktops, and embedded systems.

Moreso, Linux is a versatile and powerful operating system that has found a broad range of applications, from personal computing to powering the world’s most complex supercomputers. Its design follows a Unix-like architecture, focusing on stability, performance, security, and flexibility. Here’s a deeper dive into what makes Linux unique and why it’s so widely used.

The key features of Linux as an OS include:

1. Open-Source Nature and Community Collaboration

  • Freedom and Flexibility: Linux is open-source software, meaning anyone can view, modify, and distribute its code. This openness has led to widespread collaboration, with thousands of developers worldwide contributing to its evolution.
  • Community Support: The open-source community is a massive asset, providing support, resources, and continuous improvements. This collaborative model encourages rapid innovation and quick identification and patching of security issues.
  • Forking and Variants: Because of its open nature, developers can create customized versions or "forks" of Linux, resulting in a variety of distributions. Each distribution (e.g., Ubuntu, CentOS, Arch Linux) serves different needs, whether for servers, desktops, or lightweight embedded systems.

2. Security and Reliability

  • Permissions and User Management: Linux’s design inherently prioritizes security. Permissions and user roles are strictly managed, limiting what users (and software) can do, which reduces the risk of malware and security breaches.
  • Regular Security Updates: The collaborative model of Linux means that security vulnerabilities are often identified and patched quickly, helping it maintain a reputation for reliability.
  • Strong Community Auditing: Linux is widely audited by security experts and developers worldwide, enhancing its robustness against threats.

3. Efficient Resource Management

  • Lightweight and Scalable: Linux can run efficiently on hardware ranging from low-power microcontrollers to high-performance mainframes and supercomputers. This scalability makes it a go-to choice for diverse environments.
  • Customizable Kernel: Users and developers can customize the Linux kernel to fit the exact hardware specifications and performance needs of the machine it’s running on, optimizing resource use.
  • Ideal for Servers: Linux’s efficient resource management and stability make it a top choice for web servers, with over 90% of all servers on the internet running on a Linux-based OS.

4. Command Line Interface (CLI) and Scripting

  • Powerful CLI: Linux’s command-line interface provides power users and system administrators fine-grained control over the system. From managing processes to editing configuration files, the CLI is a powerful tool for experienced users.
  • Scripting and Automation: Linux has excellent support for scripting languages (such as Bash, Python, and Perl) that allow users to automate repetitive tasks, perform batch processing, and streamline system management.

5. Distributions (Distros) and Use Cases

  • General-Purpose Distros: Distributions like Ubuntu, Fedora, and Debian offer user-friendly environments for everyday desktop users, developers, and business applications.
  • Server-Specific Distros: Distributions like CentOS, Red Hat Enterprise Linux (RHEL), and SUSE are tailored for enterprise-level servers and critical applications, with a focus on reliability, support, and security.
  • Minimalist and Embedded Systems: Lightweight distributions like Alpine Linux and Tiny Core Linux are ideal for devices with limited resources, such as embedded systems or IoT devices.
  • Customizable Distros: Arch Linux and Gentoo provide a highly customizable experience, allowing advanced users to build their Linux system from the ground up.

6. Linux in Cloud Computing and Virtualization

  • Cloud Dominance: Linux is widely used in cloud environments due to its scalability, security, and lightweight nature. Cloud providers like AWS, Google Cloud, and Microsoft Azure offer various Linux distributions as default images for cloud instances.
  • Containerization with Docker: Linux's modular nature has made it the preferred OS for containerization platforms like Docker and Kubernetes. Linux Containers (LXC) and namespaces allow isolated environments within a single OS instance, driving efficiency in cloud-native applications.
  • Virtualization Support: Linux provides robust support for virtualization with tools like KVM (Kernel-based Virtual Machine) and Xen, enabling multiple virtual machines to run on a single physical machine.

7. Educational and Development-Friendly Environment

  • Tool Richness: Linux is favored by developers for its compatibility with programming languages, development tools, and version control systems like Git.
  • Learning Platform: Many people start with Linux when learning programming, networking, or cybersecurity because it provides hands-on experience with these fields. Linux-based systems are also commonly used for running simulation and penetration testing labs, making them ideal for educational purposes.

8. Popularity and Adoption in Industry

  • Web Hosting and Data Centers: Linux is the dominant OS in the world of web hosting, powering websites, APIs, and other internet services. The Apache and Nginx web servers, which are typically run on Linux, are among the most popular web server software.
  • Supercomputing and Research: Over 90% of the world’s supercomputers run on Linux because it can handle massive workloads and be customized for high-performance computing (HPC) requirements.
  • Mobile and Embedded Devices: Android, which is based on the Linux kernel, is the world’s most popular mobile OS. Additionally, many embedded systems like routers, smart TVs, and IoT devices run on customized Linux versions.

Downloading process and Navigating through Linux Commands

  • Search the Web for Ubuntu Multipass Download

Image description

  • Select the OS for the PC in use.

Image description

  • Select and run any of the virtual Box given.

Image description

  • The environment after the download and installation.

Image description


Navigating through the Commands

The first command in the Linux environment is 'Sudo su'

  • Sudo su: (Super User) puts you into the root environment. The SU command is used to run a function as a different user. It is the easiest way to switch or change to the administrative account in the current logged in session.

Image description

Navigating through File System

  • pwd: means the current working directory. That is, it shows the current directory you are in.

Image description

ls: means List. It helps to know the list of things or items in the directory. For instance, in the below annotation, vicky and vicky 2 are the items already in the directory.

Image description

mkdir: mean Make Directory. A Directory is like a cupboard to make a new directory file.

Image description

  • ls-l: it shows all the permission been given so far in the machine.

Image description

  • cd: mean Change Directory

Image description

  • Exist- mean moving out from the environment.

  • Clear- mean clearing up of the the page.

File and Directory Operations

  • touch: to create a new empty file e.g touch(name prefer to be given to the file)

Image description

  • cp: mean copy a file from the source to a destination. e.g cp vickyresume (source file) ambassadorfile1(destination file)

Image description

  • mv: move a file to a destination i.e from a source to a destination

  • cat: mean display the contents of a file.

  • rm: mean remove file or delete a file

Image description

Image description

In the image 1 above, the file named_ "dammie1.txt"_ was included but in image 2, the file name_ "dammie1.txt"_ has been removed.

  • Commnand Mode: mean the environment a text file will be work upon. i.e it is an environment to type into before it is being edit, copy and the likes. For typing to be made in this environment, you type "I" which means "Insert"

Image description

Viewing and Editing a File

  • cat: mean view the content of a file.

Image description

  • less: (typing file name with "less"). This will enable the viewing of the contents of a file at one screen at a time.

Image description

  • vim:(vim with filename) to edit a file, vim is use.It will also open a file and edit it.

Image description

System Information and Management

  • uname-a : this command will display detailed information about the system in use.

Image description

  • df-h:(human-readable format) this command will display disk space usage.

Image description

  • free-h: (human-readable format) this command will display the memory usage.

Image description

  • top: this command will display the processes and system resource usage. That is, it will show that the system is running or in usage.

Image description

Searching and Finding

  • grep: (pattern or search item). Grep with the name of the file being searched for_(grep information newfile.txt_).This command is used to search for a file in the situation where there are numerous files.

Image description

How to Quit vim/vi Editor

  1. Press _Escape _key on your keyboard.
  2. Press Shift and :
  3. Type :wq

Image description

In Summary

Linux’s power, flexibility, and open-source nature have allowed it to permeate nearly every sector, from everyday devices like smartphones to specialized systems like research supercomputers. Its community-driven development and emphasis on security, efficiency, and customizability make Linux an enduring and evolving choice in modern computing.

Top comments (0)