Linux Commands Cheat Sheet - PCWDLD

 

There are hundreds – possibly thousands – commands available in Linux. Remembering every command is not possible and it can be quite daunting for a novice user. The good news is that you don't need to remember each command. Only a very small subset of those commands are used on a day-to-day basis.

This cheat sheet offers a set of commands that you can use for quick reference. I have prepared this Linux Commands Cheat Sheet as quick reference for both experienced and basic users.

Basic Linux Commands

In this section, we will show you some basic Linux commands with examples.

Command Description
hostnamectl Get system information including, operating system, kernel, and release version
date Display the current system date and time
hostname Display the hostname of the system
ifconfig Display the IP and Mac Address of the system
w Display currently logged in users in the system
free -m Display free and used memory in the system
top Display all running processes
ls List all files and directories in the current working directory
ls -al List all files and directories including, hidden files and other information like permissions, size, and owner
cd Change the directory to the home directory
cd .. Change the directory to one level up
cat filename Display the content of the file
cat file1 file2 > file3 Combine two files named file1 and file2 and store the output in a new file file3
tail filename Display the last 10 lines of a file
head filename Display the first 10 lines of a file
mv oldfile newfile Rename a file
rm filename Delete a file
mkdir dirname Create a directory
rm -rf dirname Remove a directory
history Print a history list of all commands
clear Clear the terminal
shutdown -h now Shut down the system
reboot Restart the system

Networking Commands

Command Description
ip addr show Or ifconfig List all IP addresses and network interfaces
ip addr add IP-Address dev eth1 Add a temporary IP address to interface eth1
netstat -pnltu Display all listening port
whois domainname Display more information about any domain
dig domainname Display DNS information of any domain
host domainname Perform an IP lookup for a domain
dig -x IP-Address Perform a reverse lookup of an IP address
dig -x domainame Perform a reverse lookup on domain
ping host-ip Check connectivity between two hosts

File Permission Commands

Command Description
ls -l filename Check the current permission of any file
chmod 777 filename Assign full(read, write, and execute) permission to everyone
chmod -R 777 dirname Assign full permission to the directory and all sub-directories
chmod 766 filename Assign full permission to the owner, and read and write permission to group and others
chmod -x filename Remove the execution permission of any file
chown username filename Change the ownership of a file
chown user:group filename Change the owner and group ownership of a file
chown -R user:group dirname Change the owner and group ownership of the directory and all sub-directories

User and Group Management Commands

Linux is a multi-user operating system. So multiple users can log in to the system and work on the system at the same time. In some cases, two or more users may need to share access to system resources like files and directories. In that case, user and group management allows you to complete your objectives.

Command Description
w Display all login users
useradd username Add a new user account
userdel -r username Delete a user account
usermod [option] username Change the user account information including, group, home directory, shell, expiration date
usermod -aG groupname username Add a user to a specific group
groupadd groupname Create a new group
groupdel groupname Remove a group
last Display information of the last login user
id Display UID and GID of the current user

Process Management Commands

When you run any application in Linux. The application will get a process ID or PID. Process Management helps you to monitor and manage your application.

Command Description
ps Display all active processes
ps -ef | grep processname Display information of specific process
top Manage and display all processes in realtime
pstree Display processes in the tree-like diagram
lsof List all files opened by running processes
kill pid Kill a specific process using process ID
killall processname Kill all processes by name
bg Display stopped or background jobs
pidof processname Get the PID of any process

Disk Management Commands

In this section, we will show you disk management commands including, add and remove partitions, mount a partition, check disk space, format partition, etc.

Command Description
fdisk -l List all disk partitions
fdisk /dev/sda Create a new partition on /dev/sda device
mkfs.ext4 /dev/sda1 Format the partition named /dev/sda1
fsck.ext4 /dev/sda1 Check and repair a filesystem for any error
mount /dev/sda1 /mnt Mount any partition to any directory
df -h Display free space of mounted file system
df -i Display free inodes on the filesystem
du -hs Display the size of your current directory
lsblk Display information about block devices
lsusb -tv Display all USB devices
hdparm -tT /dev/sda Perform a read speed test on disk /dev/sda
badblocks -s /dev/sda Test for unreadable blocks on disk /dev/sda

Package Management Command

In this section, we will show a list of all commands to install, remove and manage packages in Linux.

Command Description
apt-get install packagename Install the package on Debian based distributions
apt-get remove packagename Remove a package on Debian based distributions
dpkg -l | grep -i installed Get a list of all packages on Debian based distributions
dpkg -i packagename.deb Install .deb package
apt-get update Update the repository on Debian based distributions
apt-get upgrade packagename Upgrade a specific package on Debian based distributions
apt-get autoremove Remove all unwanted packages on Debian based distributions
yum install packagename Install the package on RPM-based distributions
yum remove packagename Remove a package on RPM-based distributions
yum update Update all system packages to the latest version on RPM-based distributions
yum list --installed List all installed packages on RPM-based distributions
yum list --available List all available packages on RPM-based distributions

Compress and Uncompress Commands

Tar, Zip, and Unzip are the most popular command-line utility in Linux used to compress and uncompress files and directories.

Command Description
tar -cvf filename.tar filename Compress a file in the Tar archive
tar -xvf filename.tar Uncompress a Tar file
tar -tvf filename.tar List the content of the Tar file
tar -xvf filename.tar file1.txt Untar a single file from Tar file
tar -rvf filename.tar file2.txt Add a file to the Tar file
zip filename.zip filename Compress a single file to a zip
zip filename.zip file1.txt file2.txt file3.txt Compress multiple files to a zip
zip -u filename.zip file4.txt Add a file to a zip file
zip -d filename.zip file4.txt Delete a file from a zip file
unzip -l filename.zip Display the content of zip archive file
unzip filename.zip Unzip a file
unzip filename.zip -d /dirname Unzip a file to a specific directory

Conclusion

The above examples are the most commonly used Linux commands. I hope this will help you to perform your day-to-day system administration task.