Terminal

garanews's avatar
Published Apr 23, 2021Updated Feb 1, 2025
Contribute to Docs

The terminal, also known as the command line or shell, is a powerful tool that enables users to communicate directly with the operating system. Unlike graphical user interfaces (GUIs), which rely on icons and menus, the terminal uses text-based commands to perform tasks such as file management, software installation, and system administration.

The terminal provides greater control and efficiency, making it a preferred tool for developers, system administrators, and power users. It supports various command-line interpreters, such as Bash (Linux/macOS), Command Prompt (Windows), and PowerShell (Windows). By learning terminal commands, users can automate repetitive tasks, troubleshoot system issues, and navigate files more quickly than through GUI-based interactions.

Common Useful Terminal Commands

File and Directory Management

Command Description
ls List files and directories.
cd [directory] Change the current directory.
pwd Print the current directory path.
mkdir [directory] Create a new directory.
rm [file] Remove a file.
rm -r [directory] Remove a directory and its contents.

File Operations

Command Description
cp [source] [destination] Copy files or directories.
mv [source] [destination] Move or rename files.
touch [filename] Create an empty file.
cat [file] Display file contents.

System Monitoring and Management

Command Description
top Show real-time system processes and resource usage.
ps Display running processes.
kill [PID] Terminate a process by its process ID (PID).
clear Clear the terminal screen.

Networking and Package Management

Command Description
ping [hostname] Check network connectivity.
wget [URL] Download a file from the internet.
curl [URL] Fetch data from a URL.
apt install [package] (Linux) Install a package on Debian-based systems.
brew install [package] (macOS) Install a package using Homebrew.

Benefits of Using a Terminal

  • Efficiency: Commands execute tasks faster than GUI-based methods.
  • Automation: Scripts can be created to automate repetitive tasks.
  • Remote Access: Allows users to manage systems remotely via SSH.
  • Advanced Control: Provides deeper access to system configurations.
  • Lightweight Usage: Uses fewer system resources than GUI applications.

By mastering the terminal, users can streamline their workflow, troubleshoot system issues effectively, and gain greater control over their computing environment.

All contributors

Contribute to Docs

Learn more on Codecademy