Linux Commands Cheat Sheet

Linux Commands Cheat Sheet

Hitesh J

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.

hostnamectlGet system information including, operating system, kernel, and release version
dateDisplay the current system date and time
hostnameDisplay the hostname of the system
ifconfigDisplay the IP and Mac Address of the system
wDisplay currently logged in users in the system
free -mDisplay free and used memory in the system
topDisplay all running processes
lsList all files and directories in the current working directory
ls -alList all files and directories including, hidden files and other information like permissions, size, and owner
cdChange the directory to the home directory
cd ..Change the directory to one level up
cat filenameDisplay the content of the file
cat file1 file2 > file3Combine two files named file1 and file2 and store the output in a new file file3
tail filenameDisplay the last 10 lines of a file
head filenameDisplay the first 10 lines of a file
mv oldfile newfileRename a file
rm filenameDelete a file
mkdir dirnameCreate a directory
rm -rf dirnameRemove a directory
historyPrint a history list of all commands
clearClear the terminal
shutdown -h nowShut down the system
rebootRestart the system

Networking Commands

ip addr show Or ifconfigList all IP addresses and network interfaces
ip addr add IP-Address dev eth1Add a temporary IP address to interface eth1
netstat -pnltuDisplay all listening port
whois domainnameDisplay more information about any domain
dig domainnameDisplay DNS information of any domain
host domainnamePerform an IP lookup for a domain
dig -x IP-AddressPerform a reverse lookup of an IP address
dig -x domainamePerform a reverse lookup on domain
ping host-ipCheck connectivity between two hosts

File Permission Commands

ls -l filenameCheck the current permission of any file
chmod 777 filenameAssign full(read, write, and execute) permission to everyone
chmod -R 777 dirnameAssign full permission to the directory and all sub-directories
chmod 766 filenameAssign full permission to the owner, and read and write permission to group and others
chmod -x filenameRemove the execution permission of any file
chown username filenameChange the ownership of a file
chown user:group filenameChange the owner and group ownership of a file
chown -R user:group dirnameChange 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.

wDisplay all login users
useradd usernameAdd a new user account
userdel -r usernameDelete a user account
usermod [option] usernameChange the user account information including, group, home directory, shell, expiration date
usermod -aG groupname usernameAdd a user to a specific group
groupadd groupnameCreate a new group
groupdel groupnameRemove a group
lastDisplay information of the last login user
idDisplay 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.

psDisplay all active processes
ps -ef | grep processnameDisplay information of specific process
topManage and display all processes in realtime
pstreeDisplay processes in the tree-like diagram
lsofList all files opened by running processes
kill pidKill a specific process using process ID
killall processnameKill all processes by name
bgDisplay stopped or background jobs
pidof processnameGet 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.

fdisk -lList all disk partitions
fdisk /dev/sdaCreate a new partition on /dev/sda device
mkfs.ext4 /dev/sda1Format the partition named /dev/sda1
fsck.ext4 /dev/sda1Check and repair a filesystem for any error
mount /dev/sda1 /mntMount any partition to any directory
df -hDisplay free space of mounted file system
df -iDisplay free inodes on the filesystem
du -hsDisplay the size of your current directory
lsblkDisplay information about block devices
lsusb -tvDisplay all USB devices
hdparm -tT /dev/sdaPerform a read speed test on disk /dev/sda
badblocks -s /dev/sdaTest 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.

apt-get install packagenameInstall the package on Debian based distributions
apt-get remove packagenameRemove a package on Debian based distributions
dpkg -l | grep -i installedGet a list of all packages on Debian based distributions
dpkg -i packagename.debInstall .deb package
apt-get updateUpdate the repository on Debian based distributions
apt-get upgrade packagenameUpgrade a specific package on Debian based distributions
apt-get autoremoveRemove all unwanted packages on Debian based distributions
yum install packagenameInstall the package on RPM-based distributions
yum remove packagenameRemove a package on RPM-based distributions
yum updateUpdate all system packages to the latest version on RPM-based distributions
yum list --installedList all installed packages on RPM-based distributions
yum list --availableList 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.

tar -cvf filename.tar filenameCompress a file in the Tar archive
tar -xvf filename.tarUncompress a Tar file
tar -tvf filename.tarList the content of the Tar file
tar -xvf filename.tar file1.txtUntar a single file from Tar file
tar -rvf filename.tar file2.txtAdd a file to the Tar file
zip filenameCompress a single file to a zip
zip file1.txt file2.txt file3.txtCompress multiple files to a zip
zip -u file4.txtAdd a file to a zip file
zip -d file4.txtDelete a file from a zip file
unzip -l filename.zipDisplay the content of zip archive file
unzip filename.zipUnzip a file
unzip -d /dirnameUnzip a file to a specific directory


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.