Linux Commands Cheat Sheet



Do you know that there are hundreds of Linux commands?

The interesting thing is that most people only need to use a very small subset of those commands. Below you’ll find most commonly used commands by category.

1. System Information

# Display Linux system information

uname -a

# Display kernel release information

uname -r

# Show which version of redhat installed

cat /etc/redhat-release

# Show how long the system has been running + load


# Show system host name


# Display the IP addresses of the host

hostname -I

# Show system reboot history

last reboot

# Show the current date and time


# Show this month's calendar


# Display who is online


# Who you are logged in as


Site Links:- RHCE Online Training

2. Hardware Information

# Display messages in kernel ring buffer


# Display CPU information

cat /proc/cpuinfo

# Display memory information

cat /proc/meminfo

# Display free and used memory ( -h for human readable, -m for MB, -g for GB.)

free -h

# Display PCI devices

lspci -tv

# Display USB devices

lsusb -tv

# Display DMI/SMBIOS (hardware info) from the BIOS


# Show info about disk sda

hdparm -i /dev/sda

# Perform a read speed test on disk sda

hdparm -tT /dev/sda

# Test for unreadable blocks on disk sda

badblocks -s /dev/sda

Site Links:- RHCSA Online Training

3. Performance Monitoring and Statistics

# Display and manage the top processes


# Interactive process viewer (top alternative)


# Display processor related statistics

mpstat 1

# Display virtual memory statistics

vmstat 1

# Display I/O statistics

iostat 1

# Display the last 100 syslog messages (Use /var/log/syslog for Debian based systems.)

tail 100 /var/log/messages

# Capture and display all packets on interface eth0

tcpdump -i eth0

# Monitor all traffic on port 80 ( HTTP )

tcpdump -i eth0 'port 80'

# List all open files on the system


# List files opened by user

lsof -u user

# Display free and used memory ( -h for human readable, -m for MB, -g for GB.)

free -h

# Execute "df -h", showing periodic updates

watch df -h

4. User information and Management

# Display the user and group ids of your current user.


# Display the last users who have logged onto the system.


# Show who is logged into the system.


# Show who is logged in and what they are doing.


# Create a group named "grras".

groupadd grras

# Create an account named lucky, with a comment of "Grras Solutions Pvt Ltd" and create the user's home directory.

useradd -c "Grras Solutions Pvt Ltd" -m lucky

# Delete the lucky account.

userdel lucky

# Add the lucky account to the sales group

usermod -aG sales lucky

5. File and Directory Commands

# List all files in a long listing (detailed) format

ls -al

# Display the present working directory


# Create a directory

mkdir directory

# Remove (delete) file

rm file

# Remove the directory and its contents recursively

rm -r directory

# Force removal of file without prompting for confirmation

rm -f file

# Forcefully remove directory recursively

rm -rf directory

# Copy file1 to file2

cp file1 file2

# Copy source_directory recursively to destination. If destination exists, copy source_directory into destination, otherwise create destination with the contents of source_directory.

cp -r source_directory destination

# Rename or move file1 to file2. If file2 is an existing directory, move file1 into directory file2

mv file1 file2

# Create symbolic link to linkname

ln -s /path/to/file linkname

# Create an empty file or update the access and modification times of file.

touch file

# View the contents of file

cat file

# Browse through a text file

less file

# Display the first 10 lines of file

head file

# Display the last 10 lines of file

tail file

# Display the last 10 lines of file and "follow" the file as it grows.

tail -f file

6. Process Management

# Display your currently running processes


# Display all the currently running processes on the system.

ps -ef

# Display process information for processname

ps -ef | grep processname

# Display and manage the top processes


# Interactive process viewer (top alternative)


# Kill process with process ID of pid

kill pid

# Kill all processes named processname

killall processname

# Start program in the background

program &

# Display stopped or background jobs


# Brings the most recent background job to foreground


# Brings job n to the foreground

fg n

7. File Permission

U G W Example
rwx rwx rwx chmod 777 filename
rwx rwx r-x chmod 775 filename
rwx r-x r-x chmod 755 filename
rw- rw- r-- chmod 664 filename
rw- r-- r-- chmod 644 filename

# NOTE: Use 777 sparingly!


U = User

G = Group

W = World

r = Read

w = write

x = execute

- = no access

8. Networking

# Display all network interfaces and ip address

ifconfig -a

# Display eth0 address and details

ifconfig eth0

# Query or control network driver and hardware settings

ethtool eth0

# Send ICMP echo request to host

ping host

# Display whois information for domain

whois domain

# Display DNS information for domain

dig domain

# Reverse lookup of IP_ADDRESS


# Display DNS ip address for domain

host domain

# Display the network address of the host name.

hostname -i

# Display all local ip addresses

hostname -I

# Download


# Display listening tcp and udp ports and corresponding programs

netstat -nutlp

9. Archive Files

# Create tar named archive.tar containing directory.

tar cf archive.tar directory

# Extract the contents from archive.tar.

tar xf archive.tar

# Create a gzip compressed tar file name archive.tar.gz.

tar czf archive.tar.gz directory

# Extract a gzip compressed tar file.

tar xzf archive.tar.gz

# Create a tar file with bzip2 compression

tar cjf archive.tar.bz2 directory

# Extract a bzip2 compressed tar file.

tar xjf archive.tar.bz2

10. Installing Packages

# Search for a package by keyword.

yum search keyword

# Install package.

yum install package

# Display description and summary information about package.

yum info package

# Install package from local file named package.rpm

rpm -i package.rpm

# Remove/uninstall package.

yum remove package

# Install software from source code.

tar zxvf sourcecode.tar.gz
cd sourcecode
make install

# Search for pattern in file

grep pattern file

# Search recursively for pattern in directory

grep -r pattern directory

# Find files and directories by name

locate name

# Find files in /home/john that start with "prefix".

find /home/john -name 'prefix*'

# Find files larger than 100MB in /home

find /home -size +100M

12. SSH Login

# Connect to host as your local username.

ssh host

# Connect to host as user

ssh user@host

# Connect to host using port

ssh -p port user@host

13. File Transfer

# Secure copy file.txt to the /tmp folder on server

scp file.txt server:/tmp

# Copy *.html files from server to the local /tmp folder.

scp server:/var/www/*.html /tmp

# Copy all files and directories recursively from server to the current system's /tmp folder.

scp -r server:/var/www /tmp

# Synchronize /home to /backups/home

rsync -a /home /backups/

# Synchronize files/directories between the local and remote system with compression enabled

rsync -avz /home server:/backups/

14. Disk Usages

# Show free and used space on mounted filesystems

df -h

# Show free and used inodes on mounted filesystems

df -i

# Display disks partitions sizes and types

fdisk -l

# Display disk usage for all files and directories in human readable format

du -ah

# Display total disk usage off the current directory

du -sh

15. Directory Navigation

# To go up one level of the directory tree. (Change into the parent directory.)

cd ..

# Go to the $HOME directory


# Change to the /etc directory

cd /etc