Linux is a lightweight and powerful operating system that is mostly shell (command-line) based, although some Linux distributions also come with a GUI (Graphical User Interface). Linux is widely used in servers, cloud computing, and development environments because of its stability, security, and flexibility.

Linux File System Structure

Linux starts from the root directory (/), and under it we have important folders such as:

/bin – Contains basic command binaries used to run commands.

/boot – Stores files related to system booting.

/dev – Contains device files for hardware connected to the system.

/etc – Stores system configuration files (example: cron, passwd, shadow).

/home – Personal directories for normal users (example: eva, james, aron).

/root – Personal home directory for the root user.

/run – Stores runtime process information.

/sbin – Contains system binaries used for maintenance and administration.

/tmp – Temporary files, usually cleared after reboot.

/lib – Support libraries required by applications and commands.

/usr – Contains user applications, libraries, documentation, and system binaries.

/var – Stores variable data such as logs, cache, and temporary files.

/media – Used to mount storage devices.

/proc – A virtual folder containing process and system status information.


User Types in Linux

Linux mainly has two user types:

Normal User

A normal user works with limited permissions and is displayed with a dollar sign ($).

Example:

ubuntu1@Desktop:~$

Root User

The root user is the administrator and has full control over the system. It is displayed with a hash sign (#).

Example:

root@server:~#

We can run root-level commands as a normal user using sudo.

Example:

sudo apt-get install nginx


---

Basic Linux Commands

Some common beginner commands include:

cd – Change directory

cd .. – Move one directory back

cd ../.. – Move two directories back

ls – List files and folders

clear – Clear the terminal screen

./filename – Execute a file from the current directory

history – Show previously executed commands

printenv – Display all environment variables



Package Management in Linux

Linux uses package managers to install software.

Example in Ubuntu:

sudo apt-get update
sudo apt-get install nginx

Different Linux distributions use different package managers:

Ubuntu / Debian – apt-get

RHEL / CentOS – yum or dnf

Fedora – dnf



Services in Linux

Linux uses systemd to manage services.

Examples:

sudo systemctl start nginx
sudo systemctl status nginx
sudo systemctl restart nginx

This helps in starting, stopping, and checking services.


Process and System Monitoring

The /proc folder is a virtual file system that contains information about processes and system status.

Useful command:

top

This command shows:

Memory usage

CPU usage

Running processes



User IDs in Linux

Linux assigns IDs to users:

0 → Root user

1–999 → System users

1000+ → Normal users



Password and Configuration Files

Under /etc, Linux stores important files such as:

/etc/passwd – User account information

/etc/shadow – Encrypted password information (accessible only by root)

/etc/crontab – Scheduled tasks



Cron Jobs

Cron is used to run scripts automatically at a specific time or repeatedly.

Example:

crontab -e

This can be used to schedule tasks like backups, scripts, or automated jobs.



Firewall and Nginx Example

To install and configure Nginx in Ubuntu:

sudo apt-get update
sudo apt-get install nginx
sudo ufw app list
sudo ufw allow 'Nginx HTTPS'
sudo systemctl status nginx

Default Nginx web files are stored in:

/var/www/html



Practicing Linux

You can practice Linux using:

AWS EC2 Micro Instance

Azure Linux VM

Virtual Machines (VirtualBox / VMware)

Windows Subsystem for Linux (WSL)


Example:

WSL – Ubuntu 24.04 LTS

WSL allows Linux to run inside Windows without needing a separate virtual machine.



Conclusion

Linux is a powerful operating system that every IT professional should learn. Understanding the file system, users, commands, package managers, services, processes, and automation tools like cron is the first step toward mastering Linux administration.