Basic Linux Commands #cheatsheet #cybersecurity #hacking #technology # ...
Learning

Basic Linux Commands #cheatsheet #cybersecurity #hacking #technology # ...

1060 × 1200 px December 7, 2025 Ashley Learning
Download

Mastering the Linux command line commands is essential for anyone looking to efficiently navigate and manage a Linux system. Whether you are a seasoned developer, a system administrator, or a curious enthusiast, understanding these commands can significantly enhance your productivity and control over your Linux environment. This guide will walk you through some of the most commonly used Linux command line commands, their functionalities, and how to use them effectively.

Understanding the Basics of Linux Command Line Commands

Before diving into specific commands, it's important to grasp the fundamental concepts of the Linux command line. The command line interface (CLI) allows users to interact with the operating system by typing commands. This text-based interface is powerful and efficient, enabling users to perform complex tasks with just a few keystrokes.

Here are some basic concepts to keep in mind:

  • Shell: The shell is the command-line interpreter that executes commands. Common shells include Bash, Zsh, and Fish.
  • Command: A specific instruction given to the shell to perform a task.
  • Arguments: Additional information provided to the command to specify how it should be executed.
  • Options: Flags or switches that modify the behavior of a command.

One of the most fundamental tasks in Linux is navigating the file system. Understanding how to move around directories and locate files is crucial. Here are some essential commands for file system navigation:

pwd: Print Working Directory

This command displays the current directory you are in.

pwd

ls: List Directory Contents

This command lists the files and directories in the current directory. You can use various options to customize the output.

ls -l

cd: Change Directory

This command changes the current directory to the specified directory.

cd /path/to/directory

mkdir: Make Directory

This command creates a new directory.

mkdir new_directory

rmdir: Remove Directory

This command removes an empty directory.

rmdir directory_name

touch: Change File Timestamps

This command creates an empty file or updates the timestamp of an existing file.

touch filename

cp: Copy Files or Directories

This command copies files or directories from one location to another.

cp source destination

mv: Move or Rename Files or Directories

This command moves or renames files or directories.

mv source destination

rm: Remove Files or Directories

This command removes files or directories. Be cautious with this command as it permanently deletes files.

rm filename

💡 Note: Always double-check the path and filenames when using the rm command to avoid accidental data loss.

Viewing and Editing Files

Viewing and editing files are common tasks in Linux. Here are some commands that help you manage file contents:

cat: Concatenate and Display File Content

This command displays the contents of a file.

cat filename

less: View File Contents Page by Page

This command allows you to view the contents of a file one page at a time.

less filename

head: View the First Part of a File

This command displays the first few lines of a file.

head filename

tail: View the Last Part of a File

This command displays the last few lines of a file.

tail filename

nano: Simple Text Editor

This command opens a simple text editor for editing files.

nano filename

vi or vim: Advanced Text Editor

These commands open a powerful text editor for editing files. Vim is an improved version of Vi.

vi filename

grep: Search Text Using Patterns

This command searches for a specific pattern within files.

grep "pattern" filename

Managing Processes

Managing processes is essential for maintaining system performance and troubleshooting issues. Here are some key commands for process management:

ps: Report a Snapshot of Current Processes

This command displays information about currently running processes.

ps aux

top: Display Tasks

This command provides a real-time view of running processes and system resource usage.

top

htop: Interactive Process Viewer

This command offers an interactive and user-friendly interface for viewing and managing processes.

htop

kill: Send a Signal to a Process

This command sends a signal to a process, typically to terminate it.

kill PID

killall: Kill Processes by Name

This command terminates processes by name.

killall process_name

pkill: Send Signals to Processes Based on Name and Other Attributes

This command sends signals to processes based on their name and other attributes.

pkill process_name

nice: Run a Program with Modified Scheduling Priority

This command runs a program with a modified scheduling priority, allowing you to control the CPU time allocated to a process.

nice -n 10 command

renice: Alter Priority of Running Processes

This command changes the priority of running processes.

renice priority PID

System Monitoring and Information

Monitoring system performance and gathering information about your Linux environment is crucial for maintenance and troubleshooting. Here are some commands for system monitoring and information:

df: Report File System Disk Space Usage

This command displays information about disk space usage on file systems.

df -h

du: Estimate File Space Usage

This command estimates the disk space used by files and directories.

du -h

free: Display Amount of Free and Used Memory in the System

This command shows the amount of free and used memory in the system.

free -h

uname: Print System Information

This command prints system information, such as the kernel name, network node hostname, kernel release, kernel version, machine hardware name, processor type, hardware platform, and operating system.

uname -a

uptime: Tell How Long the System Has Been Running

This command displays how long the system has been running, along with the number of users currently logged in and the system load averages.

uptime

top: Display Tasks

This command provides a real-time view of running processes and system resource usage.

top

htop: Interactive Process Viewer

This command offers an interactive and user-friendly interface for viewing and managing processes.

htop

iostat: Report CPU Statistics

This command reports CPU statistics, including CPU utilization and I/O statistics.

iostat

vmstat: Report Virtual Memory Statistics

This command reports information about processes, memory, paging, block IO, traps, and CPU activity.

vmstat

netstat: Print Network Connections, Routing Tables, Interface Statistics, Masquerade Connections, and Multicast Memberships

This command provides information about network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.

netstat -tuln

ss: Another Utility to Investigate Sockets

This command is a modern replacement for netstat, providing detailed information about sockets.

ss -tuln

ifconfig: Configure a Network Interface

This command configures a network interface. Note that ifconfig is deprecated in favor of ip command.

ifconfig

ip: Show/Manipulate Routing, Devices, Policy Routing and Tunnels

This command is a versatile tool for showing and manipulating routing, devices, policy routing, and tunnels.

ip addr show

ping: Send ICMP ECHO_REQUEST to Network Hosts

This command sends ICMP ECHO_REQUEST packets to network hosts to test the reachability of a host on an IP network.

ping google.com

traceroute: Print the Route Packets Trace to Network Host

This command prints the route packets take to a network host.

traceroute google.com

curl: Transfer a URL

This command transfers data from or to a server, using one of the supported protocols (HTTP, HTTPS, FTP, etc.).

curl http://example.com

wget: Non-Interactive Network Downloader

This command is a free utility for non-interactive download of files from the web.

wget http://example.com/file

Package Management

Managing software packages is a fundamental task in Linux. Different distributions use different package managers. Here are some common package management commands:

apt: Advanced Package Tool

This command is used in Debian-based distributions like Ubuntu for managing packages.

sudo apt update
sudo apt upgrade
sudo apt install package_name
sudo apt remove package_name

apt-get: Package Handling Utility

This command is another package management tool in Debian-based distributions, often used for scripting.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install package_name
sudo apt-get remove package_name

dpkg: Debian Package

This command is used for installing, building, removing, and managing Debian packages.

sudo dpkg -i package.deb
sudo dpkg -r package_name

yum: Yellowdog Updater, Modified

This command is used in Red Hat-based distributions like CentOS and Fedora for managing packages.

sudo yum update
sudo yum install package_name
sudo yum remove package_name

dnf: Dandified YUM

This command is a modern replacement for yum in Fedora and other Red Hat-based distributions.

sudo dnf update
sudo dnf install package_name
sudo dnf remove package_name

rpm: Red Hat Package Manager

This command is used for installing, querying, verifying, updating, and erasing RPM packages.

sudo rpm -i package.rpm
sudo rpm -e package_name

pacman: Package Manager for Arch Linux

This command is used in Arch Linux and its derivatives for managing packages.

sudo pacman -Syu
sudo pacman -S package_name
sudo pacman -R package_name

zypper: Package Manager for openSUSE

This command is used in openSUSE for managing packages.

sudo zypper refresh
sudo zypper install package_name
sudo zypper remove package_name

User and Group Management

Managing users and groups is essential for controlling access and permissions in a Linux system. Here are some key commands for user and group management:

useradd: Create a New User

This command creates a new user account.

sudo useradd username

usermod: Modify a User Account

This command modifies an existing user account.

sudo usermod -aG groupname username

userdel: Delete a User Account

This command deletes a user account.

sudo userdel username

passwd: Update User Authentication Tokens

This command updates the user's password.

sudo passwd username

groupadd: Create a New Group

This command creates a new group.

sudo groupadd groupname

groupmod: Modify a Group Definition

This command modifies an existing group.

sudo groupmod -n newgroupname oldgroupname

groupdel: Delete a Group

This command deletes a group.

sudo groupdel groupname

chown: Change File Owner and Group

This command changes the ownership of a file or directory.

sudo chown user:group filename

chmod: Change File Mode Bits

This command changes the permissions of a file or directory.

chmod 755 filename

chgrp: Change Group Ownership

This command changes the group ownership of a file or directory.

sudo chgrp groupname filename

id: Print User and Group Information

This command prints user and group information for the specified user.

id username

who: Show Who Is Logged On

This command shows who is currently logged on to the system.

who

w: Show Who Is Logged On and What They Are Doing

This command shows who is logged on and provides information about their activities.

w

last: Show a Listing of Last Logged in Users

This command shows a listing of the last logged-in users.

last

File Permissions and Ownership

Understanding file permissions and ownership is crucial for managing access to files and directories. Here are some key concepts and commands related to file permissions and ownership:

Permissions: File permissions determine who can read, write, or execute a file. Permissions are divided into three categories: owner, group, and others.

Ownership: File ownership determines who owns a file and which group the file belongs to. The owner and group have specific permissions for the file.

chmod: Change File Mode Bits

This command changes the permissions of a file or directory.

chmod 755 filename

chown: Change File Owner and Group

This command changes the ownership of a file or directory.

sudo chown user:group filename

chgrp: Change Group Ownership

This command changes the group ownership of a file or directory.

sudo chgrp groupname filename

ls -l: List Directory Contents with Detailed Information

This command lists the contents of a directory with detailed information, including permissions, ownership, and size.

ls -l

umask: Set Default File Permissions

This command sets the default file permissions for newly created files and directories.

umask 022

setfacl: Set File Access Control Lists

This command sets file access control lists (ACLs), which provide more granular control over file permissions.

setfacl -m u:username:rwx filename

getfacl: Get File Access Control Lists

This command retrieves the ACLs for a file or directory.

getfacl filename

chattr: Change File Attributes

This command changes the attributes of a file, such as making it immutable or append-only.

sudo chattr +i filename

lsattr: List File Attributes

This command lists the attributes of a file.

lsattr filename

Network Configuration

Configuring network settings is essential for connecting to the

Related Terms:

  • basic linux commands cheat sheet
  • common linux commands cheat sheet
  • complete list of linux commands
  • top linux commands cheat sheet
  • linux command line for beginners
  • linux command line tutorials

More Images