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.
0 Comments