We may earn a commission if you make a purchase through the links on our website.

Linux Commands Cheat Sheet

Linux Commands Cheat Sheet

Hitesh J UPDATED: January 31, 2023

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.

CommandDescription
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

CommandDescription
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

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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.

CommandDescription
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 filename.zip filenameCompress a single file to a zip
zip filename.zip file1.txt file2.txt file3.txtCompress multiple files to a zip
zip -u filename.zip file4.txtAdd a file to a zip file
zip -d filename.zip file4.txtDelete a file from a zip file
unzip -l filename.zipDisplay the content of zip archive file
unzip filename.zipUnzip a file
unzip filename.zip -d /dirnameUnzip 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.

Linux Commands Cheat Sheet FAQs

What are some basic Linux commands?

Some basic Linux commands include "ls" to list the files in a directory, "cd" to change directories, "mkdir" to create a new directory, "touch" to create a new file, "rm" to delete a file, "cp" to copy a file, "mv" to move a file, "pwd" to display the current directory, "echo" to display text on the screen, and "man" to display the manual for a command.

How do I navigate the file system in Linux?

To navigate the file system in Linux, use the "cd" command to change directories, "ls" command to list the contents of a directory, and "pwd" command to display the current directory. You can also use the ".." notation to move up one directory level and "~" to move to the home directory.

How do I create and edit files in Linux?

To create a new file in Linux, use the "touch" command followed by the file name. To edit a file, you can use a text editor such as "vi" or "nano". For example, "vi file.txt" or "nano file.txt"

How do I manage permissions in Linux?

To manage permissions in Linux, use the "chmod" command to change the permissions of a file or directory. Permissions can be represented by numbers or symbols such as "rwx" for read, write, and execute. Additionally, you can use "chown" command to change the owner and group of a file or directory.

How do I find and install software in Linux?

To find and install software in Linux, you can use package managers such as "apt" or "yum" depending on the Linux distribution. For example, "apt-get install [package name]" or "yum install [package name]". You can also use the "which" command to find the location of a installed program.

How do I use wildcards in Linux commands?

Wildcards in Linux commands are represented by the "*" symbol. For example, "ls *" will list all files in the current directory, "ls *.txt" will list all files with the ".txt" extension, and "rm *" will delete all files in the current directory.

How can I get help with a Linux command?

To get help with a Linux command, you can use the "man" command followed by the name of the command. For example, "man ls" will display the manual page for the "ls" command. You can also use "--help" option after the command, for example "ls --help" will show the options available with the command.