Linux commands cheat sheet

The command line terminal in Linux is the operating system’s most powerful component. However, due to the sheer amount of commands available, it can be intimidating for newcomers. Even longtime users may forget a command every once in a while and that is why we have created this Linux cheat sheet commands guide.

For times like these, it’s very handy to have a compiled list of Linux commands that have been sorted by category. That way, it only takes a few moments to reference the list whenever you forget the exact syntax of a command.

In this tutorial, we’ll present you with a curated list of the most handy Linux commands. These are some of the most useful commands, but they aren’t easy to remember for everyone. Next time your mind is blanking at a Linux terminal, take a look at the Linux commands cheat sheet below for some quick help.

In this tutorial you will learn:

  • Linux commands cheat sheet
Linux commands cheat sheet
Linux commands cheat sheet
Software Requirements and Linux Command Line Conventions
Category Requirements, Conventions or Software Version Used
System Any Linux distro
Software N/A
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

File System Navigation

Command Description
ls List all the files in a directory
ls -l List all files and their details (owner, mtime, size, etc)
ls -a List all the files in a directory (including hidden files)
pwd Show the present working directory
cd Change directory to some other location
file View the type of any file


View, Create, Edit, and Delete Files and Directories

Command Description
mkdir Create a new directory
touch Create a new, empty file, or update the modified time of an existing one
cat > file Create a new file with the text you type after
cat file View the contents of a file
grep View the contents of a file that match a pattern
nano file Open a file (or create new one) in nano text editor
vim file Open a file (or create new one) in vim text editor
rm or rmdir Remove a file or empty directory
rm -r Remove a directory that isn’t empty
mv Move or rename a file or directory
cp Copy a file or directory
rsync Synchronize the changes of one directory to another


Search for Files and Directories

Command Description
locate Quickly find a file or directory that has been cached
find Seach for a file or directory based on name and other parameters


Basic Administration Commands

Command Description
whoami See which user you are currently logged in as
sudo Execute a command with root permissions
sudo apt install Install a package on Debian based systems
sudo dnf install Install a package on Red Hat based systems
sudo apt remove Remove a package on Debian based systems
sudo dnf remove Remove a package on Red Hat based systems
reboot Reboot the system
poweroff Shut down the system


Hard Drive and Storage Commands

Command Description
df or df -h See the current storage usage of mounted partitions
sudo fdisk -l See information for all attached storage devices
du See disk usage of a directory’s contents
tree View the directory structure for a path
mount and umount Mount and unmount a storage device or ISO file


Compression Commands

Command Description
tar cf my_dir.tar my_dir Create an uncompressed tar archive
tar cfz my_dir.tar my_dir Create a tar archive with gzip compression
gzip file Compress a file with gzip compression
tar xf file Extract the contents of any type of tar archive
gunzip file.gz Decompress a file that has gzip compression


Networking Commands

Command Description
ip a Show IP address and other information for all active interfaces
ip r Show IP address of default gateway
cat /etc/resolv.conf See what DNS servers your system is configured to use
ping Send a ping request to a network device
traceroute Trace the network path taken to a device
ssh Login to a remote device with SSH


File Permissions and Ownership

Command Description
chmod Change the file permissions for a file or directory
chown Change the owner of a file or directory
chgrp Change the group of a file or directory


User Management Commands

Command Description
useradd Low level utility for adding new user accounts
adduser High level utility for adding new user accounts
deluser Delete a user account
usermod Modify a user account
groupadd Create a new group
delgroup Delete a group


System Resource Management Commands

Command Description
free -m See how much memory is in use and free
top See a list of processes and their resource usage
htop A more human readable and interactive version of top
nice Start a new process with a specified priority
renice Change the nice value of a currently running process
ps aux OR ps -ef View all of the currently running processes
kill or killall Terminate a process
kill -9 or killall -9 Terminate a process with SIGKILL signal
bg Send a task to the background
fg Bring a task to the foreground


Environment Variable Commands

Command Description
printenv or printenv variable_name List all environment variables on a Linux system, or a specific one
whereis and which Find where a command in PATH is located
export MY_SITE="" Set a temporary environment variable (just an example, but use the same syntax)
echo $VARIABLE Display the value of a variable
unset Remove a variable


Kernel Information and Module Management

Command Description
uname -a Output detailed information about your kernel version and architecture
lsmod Find what modules are currently loaded
modinfo module_name Get information about any particular module
modprobe --remove module_name Remove a module
modprobe module_name Load a module into the kernel


Hardware Information Commands

Command Description
lspci See general information about host bridge, VGA controller, ethernet controller, USB controller, SATA controller, etc.
dmidecode See some information about BIOS, motherboard, chassis, etc.
cat /proc/cpuinfo Retrieve processor type, socket, speed, configured flags, etc.
x86info or x86info -a See information about the CPU
cat /proc/meminfo See detailed information about system RAM
lshw List all hardware components and see their configuration details
lshw -C memory -short Detect number of RAM slots used, speed, and size
hwinfo List details for all hardware, including their device files and configuration options
biosdecode Get some general information about your system’s BIOS
dmidecode -s bios-vendor Retrieve the name of your BIOS vendor with this simple command
lsusb Get a list of USB devices plugged into your system
ls -la /dev/disk/by-id/usb-* Retrieve a list of USB device files
hdparm -I /dev/sdx Get information about your hard drive’s make, model, serial number, firmware version, and configuration
hdparm -tT /dev/sdx Show the speed of an installed hard drive – including cached reads and buffered disk reads
wodim --devices Locate CD or DVD device file


Closing Thoughts

Feel free to reference this cheat sheet any time that you need a quick refresher. The goal here is to save you as much time as possible when trying to remember a certain command.

Two more commands that every user should know are the man command and apropos command. Knowing these two commands, which are very simple to use, will allow you to look up all the options that go with certain commands. apropos also works well as a manual search utility so you don’t need to leave your terminal very often.