~1 min read • Updated Jul 20, 2025
1. Basic Commands
date: Displays the current system time and date
cal: Shows the calendar for the current month
2. Virtual Consoles
Linux provides multiple virtual consoles accessible even without a graphical interface. You can switch between them using:
- Ctrl + Alt + F1 to F6 → Access console terminals
- Alt + F7 → Return to graphical desktop
3. Checking System Resources
df: Displays available and used disk space across mounted filesystemsfree: Shows memory statistics, including free and used RAM and swap space
4. Ending a Terminal Session
You can close a terminal session using:
exit→ Terminates the shell- Ctrl + D → Sends EOF (End of File), effectively exiting the session
5. Conclusion
This guide provides an introduction to the Linux shell, fundamental commands, and tools for system resource monitoring. Mastering these basics is essential for efficiently navigating and controlling any Linux-based system.
Written & researched by Dr. Shahin Siami
SubArticles
Customizing the Linux Shell Prompt
customizing-the-linux-The Linux shell prompt, controlled by the PS1 environment variable in bash, is a powerful and customizable part of the command-line interface. With simple modifications, users can display dynamic information, add colors, or even embed a clock. These adjustments not only enhance aesthetics but also improve functionality and terminal interaction.shell-prompt
Understanding Linux Package Management
The quality of a Linux distribution is closely tied to its package management system and community support. With frequent software updates and version releases, effective package management ensures a stable yet flexible software environment. This article delves into the command-line tools used to manage software packages — essential tools that often outperform graphical alternatives in precision and control.
Managing Storage Media in Linux
Linux offers powerful tools for managing physical and virtual storage devices—from hard drives and USB flash media to complex systems like RAID and LVM. This article introduces essential command-line utilities and workflows for mounting, formatting, and handling devices such as USB drives and CD-ROMs, delivering practical knowledge without diving deep into system administration.
Linux Networking Essentials
Linux is an industry-leading platform for networking, commonly used in routers, firewalls, name servers, and NAS systems. This article introduces essential command-line tools for monitoring connectivity, transferring files, and enabling secure remote sessions. We’ll explore ping, traceroute, ip, netstat, ftp, wget, and ssh, assuming familiarity with basic networking concepts like IP addresses, hostnames, and URIs.
Searching for Files in Linux
Linux systems contain thousands of files, making efficient file search tools essential. This article explores powerful commands like locate and find, along with xargs for handling search results, and tools like touch and stat for file inspection and timestamp management. Mastering these utilities enables users to navigate and control Linux's structured yet vast file system effectively.
Regular Expressions in Linux
Regular expressions (regex) are powerful tools for pattern-based text matching in Linux, enabling flexible search and manipulation across commands and editors. This article introduces regex fundamentals using grep, exploring basic and extended syntax (BRE and ERE), metacharacters, character classes, and practical applications with find, locate, less, and vim. Mastering regex unlocks advanced, efficient control over text processing.
Text Processing in Linux
Unix-like systems such as Linux rely heavily on plain text for configuration, data management, and software development. This article introduces powerful text-processing tools—cat, sort, uniq, cut, paste, join, comm, diff, patch, tr, sed, and aspell—that allow users to manipulate and analyze text data efficiently. From system administration to document generation, these utilities form the backbone of Linux-based workflows.
archiving and backup in linux
Protecting data through efficient archiving and backup strategies is essential for both system administrators and everyday users. This article introduces key Linux tools for compression, archiving, and file synchronization: gzip, bzip2, tar, zip, and rsync. These utilities enable effective storage optimization, data portability, and robust backup workflows.
Formatting Output in Linux
Linux provides powerful command-line tools for formatting text output. Unlike text-editing utilities, these tools—nl, fold, fmt, pr, printf, and groff—focus on presentation, helping users prepare structured output for display, scripting, or printing. This article explores practical usage, options, and examples for building formatted reports and documents in Linux.
Printing in Linux
This article introduces Linux’s core command-line tools for printing and managing print jobs, including pr, lpr, lp, a2ps, lpstat, lpq, and lprm/cancel. These tools format text, send output to printers, and manage print queues efficiently. Built atop CUPS and Ghostscript, Linux's printing ecosystem offers scriptable control over layout, scheduling, and delivery.
Linux Navigation
File System
Linux Directories
A Comprehensive Guide
Less Command
Viewing Text Files
Symbolic and Hard
Understanding Symbolic and Hard Links in Linux
commands cp - mv - mkdir - rm - ln
دستورات پایه
type and which Commands in Linux
basic commands
How to Access Command Documentation in Linux
Basic Commands
Creating Custom Commands with alias in Linux
Basic Commands
Standard Input, Output, and Error
stdout , stin
Understanding Expansion in Bash
Bash Codes
An Introduction to Shell Expansion
How the Shell Interprets the World This article explores the hidden yet powerful behavior of the Linux shell—specifically how it transforms what you type into meaningful commands using a process called expansion. We'll uncover how wildcard characters, path patterns, and special syntax are evaluated and substituted before a command is executed. <br/>
Advanced Keyboard Tricks in Bash
Editing Commands, Navigating, Cutting and Inserting Text with Readline
Understanding Unix File Permissions and User Management
Unix-like operating systems, including Linux, are built for multiuser environments with robust permission controls. This article presents a structured overview of how users, groups, file attributes, and shell commands interact to ensure secure and efficient access control.
Understanding Linux Process Management
From Boot to Shutdown Linux is a multitasking operating system, meaning it can run many programs at once by switching between them rapidly. This ability is managed through processes, which are individual instances of running programs tracked by the kernel. In this article, we’ll explore how Linux creates, monitors, and controls processes — and how you can manage them using key command-line tools
Variables, Configuration, and Customization
The shell environment in Linux, particularly within Bash, serves as a customizable framework that defines how commands behave and how users interact with their system. With a rich set of environment variables, startup scripts, and aliases, users can tailor their workflows for efficiency and clarity. This article provides a comprehensive look into managing and enhancing your shell experience.
A Gentle Introduction to the vi Text Editor
Mastering Modal Text Editing in Linux The vi editor is a timeless tool woven into the fabric of Unix-like systems. Lightweight, always available, and fiercely efficient, vi represents more than just a text editor—it’s a rite of passage for Linux users. This article provides a concise, beginner-friendly guide to using vi and its powerful enhanced variant, vim
ompiling Software in Linux
Compiling programs from source code in Linux empowers users to access the latest features and customize their software environments. This guide explains why compilation is important, introduces the necessary tools, and walks through the compilation process using the GNU diction program as a practical example
Writing Your First Shell Script
Shell scripting allows Linux users to automate repetitive tasks by writing and executing commands as structured programs. This article introduces shell scripting basics with a practical “Hello World” example, explains how to create and configure scripts, and offers tips to improve readability and usability—all geared toward new Linux users.