Introduction to the Basics of Linux

Linux is a powerful and widely used operating system known for its stability, security, and versatility. Whether you’re a beginner or a seasoned user, understanding the basics of Linux commands is essential for navigating the system efficiently. In this article, we will explore some fundamental commands and their usage in Linux.

There are several Linux Distributions, commonly called “distros”.

  • Ubuntu Linux
  • Red Hat Enterprise Linux
  • Linux Mint
  • Debian
  • Fedora

Linux is primarily utilized in server environments, with approximately 90% of the internet relying on Linux servers. The popularity of Linux in this domain can be attributed to its speed, security, and cost-effectiveness, as it is freely available. In contrast, Windows servers can be expensive.

Linux also powers the Android operating system, which runs on approximately 80% of smartphones worldwide, showcasing the versatility of the Linux kernel. Moreover, Linux’s robust security measures have led to fewer virus infections compared to Windows.

Getting Started with the Terminal

Linux Shell or “Terminal, In simple terms, a shell is a software interface that acts as a bridge between the user and the operating system. It takes user instructions or commands, sends them to the operating system for processing, and then presents the results to the user. The Linux shell, which is the primary component of various Linux distributions, plays a vital role in this process.

While some Linux distributions offer a graphical user interface (GUI), the core functionality of Linux is based on the command-line interface (CLI).

In this lesson, we will explore the fundamental commands that are commonly used in the Linux shell, empowering users to interact with the system efficiently and perform a wide range of tasks.

Understanding the file hierarchy

Understanding the file hierarchy in Linux is essential for navigating and managing the system effectively. Here are some key points to help you grasp the concept:

1. Root (/):

  • The root directory is the top-level directory in the file system hierarchy.
  • All other directories and files are contained within the root directory.

2. Directories:

  • Directories are containers used to organize files and other directories.
  • They can be nested within one another to create a hierarchical structure.

3. Absolute Paths:

  • Absolute paths start from the root directory and provide the full path to a file or directory.
  • For example, /home/user/Documents represents the Documents directory within the user’s home directory.

4. Relative Paths:

  • Relative paths specify the path to a file or directory relative to the current working directory.
  • For example, if the current working directory is /home/user, a relative path like Documents refers to /home/user/Documents.

5. Special Directories:

  • /home: Contains user home directories.
  • /etc: Stores system configuration files.
  • /bin: Holds essential binary executable files.
  • /var: Stores variable data such as logs and temporary files.
  • /tmp: Used for temporary file storage.

6. Symbolic Links:

  • Symbolic links are special files that point to another file or directory.
  • They provide a way to create shortcuts or aliases to access files or directories from different locations.

7. File Permissions:

  • Linux uses a permission system to control access to files and directories.
  • Permissions are set for the owner, group, and other users, specifying read, write, and execute rights.

Understanding the file hierarchy in Linux allows you to navigate the system, locate files, and organize your data efficiently. It forms the foundation for effective file management and system administration tasks.

I. Navigating the File System


Navigating the file system in Linux is a fundamental skill that allows users to locate, access, and manage files and directories. Here are some key points on how to navigate the file system:

1. Command: cd (Change Directory)

  • Use the cd command followed by the directory path to navigate to a specific directory.
  • For example, cd Documents will switch to the “Documents” directory.

2. Command: pwd (Print Working Directory)

  • Use the pwd command to display the current working directory.
  • This command is helpful to verify your current location in the file system.

3. Command: ls (List)

  • Use the ls command to list the contents of a directory.
  • By default, it displays the names of files and directories in the current directory.

4. Command: ls -l (Long Format)

  • Use the ls -l command to display a detailed list of files and directories.
  • It provides additional information such as permissions, ownership, size, and modification date.

5. Command: ls -a (All)

  • Use the ls -a command to show hidden files and directories.
  • Hidden files and directories are those that start with a dot (.), and they are not displayed by default.

6. Command: cd .. (Move Up One Level)

  • Use the cd .. command to move up one level in the directory hierarchy.
  • It allows you to switch to the parent directory of the current one.

7. Command: cd ~ (Home Directory)

  • Use the cd ~ command to navigate to the user’s home directory.
  • The home directory is the default location where a user starts in the file system.

Remember, mastering file system navigation is essential for efficient command-line usage and managing files and directories effectively in Linux.

II. File and directory manipulation

File and directory manipulation in Linux involves various operations such as creating, deleting, renaming, and moving files and directories. Here’s an explanation of these actions:

1. Creating and Deleting Files and Directories:

  • To create a file, you can use the touch command followed by the file name.
    For example, touch myfile.txt will create a new file named myfile.txt.
  • To create a directory, you can use the mkdir command followed by the directory name.
    For example, mkdir mydir will create a new directory named mydir.
  • To delete a file, you can use the rm command followed by the file name.
    For example, rm myfile.txt will remove the file myfile.txt.
  • To delete an empty directory, you can use the rmdir command followed by the directory name.
    For example, rmdir mydir will delete the directory mydir if it is empty.

2. Renaming and Moving Files and Directories:

  • To rename a file, you can use the mv command followed by the current file name and the new name.
    For example, mv myfile.txt newfile.txt will rename the file myfile.txt to newfile.txt.
  • To move a file or directory to a different location, you can use the mv command followed by the source file or directory and the destination path.
    For example, mv myfile.txt /path/to/destination will move the file myfile.txt to the specified destination path.

These file and directory manipulation operations allow you to manage your files and directories effectively in Linux. They provide flexibility in organizing your data and performing necessary modifications as needed.

III. File content manipulation

File content manipulation in Linux involves actions such as viewing and editing the contents of files. Here’s an explanation of these operations:

1. Viewing File Contents:

  • To view the contents of a file, you can use the cat command followed by the file name.
    For example, cat myfile.txt will display the contents of the file myfile.txt in the terminal.
  • Another command for viewing file contents is the less command. It allows you to view files page by page.
    For example, less myfile.txt will open the file myfile.txt, and you can navigate through its content using the arrow keys.

2. Editing Files:

  • To edit a file, you can use a text editor such as nano, vim, or emacs. These editors provide a command-line interface for modifying the content of a file.
  • For example, to edit a file using nano, you can type nano followed by the file name. This will open the file in the nano editor, where you can make changes to the content.
  • Similarly, vim and emacs are powerful text editors that offer advanced editing features and commands.

These file content manipulation operations allow you to view and modify the content of files as per your requirements. Whether you need to read the contents of a file or make changes to its content, Linux provides various commands and text editors to perform these actions efficiently.

IV. System information and monitoring

System information and monitoring in Linux involves gathering information about the system and monitoring its resources. Let’s explore these aspects:

1. Gathering System Information:

  • The uname command provides basic information about the system, such as the kernel version, machine hardware, and operating system name.
  • The lsb_release command displays information about the Linux distribution, including its version.
  • The hostname command shows the hostname of the system.
  • The uptime command provides details about how long the system has been running and the average system load.

2. Monitoring System Resources:

  • The top command displays real-time information about system resources, including CPU usage, memory usage, and running processes.
  • The free command shows the system’s memory usage and available memory.
  • The df command provides information about disk space usage, including the total, used, and available space on each mounted filesystem.
  • The iostat command displays input/output statistics for devices and partitions, giving insights into disk usage and performance.

By gathering system information and monitoring system resources, administrators and users can gain insights into the system’s performance, identify bottlenecks, and ensure optimal utilization of resources. These commands provide valuable data for system analysis, troubleshooting, and optimization.

V. User and permissions management

User and permissions management in Linux involves managing user accounts, groups, and setting permissions for files and directories. Let’s explore these aspects:

1. Managing Users and Groups:

  • The useradd command is used to create a new user account.
  • The usermod command allows modifying user account properties, such as changing the username or assigning the user to specific groups.
  • The passwd command enables users to change their passwords.
  • The groupadd command creates a new group.
  • The groupmod command allows modifying group properties, such as adding or removing users from a group.

2. Setting File and Directory Permissions:

  • The chmod command is used to change the permissions of files and directories.
  • Permissions are represented by three categories: user (owner), group, and others.
  • Each category has three types of permissions: read (r), write (w), and execute (x).
  • The chown command changes the ownership of files and directories.
  • The chgrp command changes the group ownership of files and directories.

With user and group management, administrators can create and manage user accounts, assign users to appropriate groups, and control access to system resources. File and directory permissions allow fine-grained control over who can read, write, or execute files, ensuring data security and privacy.

VI. Package management

Package management in Linux involves managing software packages, including installation, update, and removal of software. Here’s a brief explanation:

  • Package management tools, such as apt-get, yum, or pacman, are used to install software packages from repositories.
  • Repositories are centralized locations that contain software packages maintained by the Linux distribution.
  • The package manager resolves dependencies, ensuring that all required software components are installed.
  • Package managers also provide the ability to update installed packages to their latest versions, ensuring security patches and feature enhancements.
  • Uninstalling packages removes software and its associated files from the system.
  • Package managers also enable searching for specific packages based on keywords or functionalities.

Package management simplifies the installation and maintenance of software in Linux systems. It ensures that software packages are easily accessible, up-to-date, and compatible with the underlying system.

By using package management tools, users can quickly install, update, and remove software, making it efficient and convenient to manage software packages on their Linux systems.


Mastering the basics of Linux commands is the foundation for effectively navigating and utilizing the power of the Linux operating system. In this article, we have explored some essential commands and their usage, providing you with a solid starting point on your Linux journey.

By continuing to learn and experiment with these commands, you can unlock the full potential of Linux and enhance your productivity and efficiency in the world of open-source software.

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *