50+ Linux Commands with Screenshots (Download PDF)


Without a doubt, Linux is very prevalent and famous for its powerful Linux commands. In order to employ Linux effectively, all users must be aware of how to utilize terminal commands. Although the Linux commands operating system has a GUI (Graphical User Interface), you can discover that various functionalities operate faster when they are operated as commands via the terminal. Thus, under this guide, we have provided insights into the most basic commands of Linux one must know while working on the Linux-based system. Plunge into the segments below and acquire all the details. 

Linux Commands: Basic

Linux Commands: Basic

Before you learn about the basic commands in Linux, you must ensure to meet the prerequisites – 

  • A system that operates Linux
  • Accessibility to the command line or terminal

Moreover, all the commands of Linux can fall into one of the following four classifications: 

  • Shell builtins – These include commands that are constructed directly into the shell with the fastest execution.
  • Shell functions – These include shell scripts that are basically grouped commands.
  • Aliases – They incorporate custom command shortcuts.
  • Executable programs – These include compiled and installed programs or scripts.

Basic Linux Commands you Must Know

1. ls 

It lists the files and directories in the current directory.

Syntax: ls [options] [directory]

ls command

2. cd

Changes the current directory.

Syntax: cd [directory]

cd command

3. pwd 

Shows the current working directory.

Syntax: pwd

pwd command

4. Mkdir

Creates a new directory.

Syntax: mkdir [directory]

Mkdir command

5. rmdir 

Deletes an empty directory.

Syntax: rmdir [directory]

rmdir command

6. rm 

Deletes a file or directory.

Syntax: rm [file/directory]

rm command

7. cp 

Copies a file or directory.

Syntax: cp [options] [source] [destination]

cp command

8. mv 

Moves or renames a file or directory.

Syntax: mv [options] [source] [destination]

mv command

9. touch 

Creates a new empty file.

Syntax: touch [filename]

touch command

10. cat 

Displays the contents of a file.

Syntax: cat [filename]

cat command

11. less 

Displays the contents of a file one screen at a time.

Syntax: less [filename]

less command

12. head 

Displays the first few lines of a file.

Syntax: head [filename]

head command

13. tail 

Displays the last few lines of a file.

Syntax: tail [filename]

tail command

14. grep 

Searches for a pattern in a file.

grep command

Syntax: grep [options] [pattern] [filename]

15. find 

Searches for files in a directory hierarchy.

Syntax: find [directory] [options] [expression]

find command

16. tar 

Creates or extracts a compressed archive.

Syntax: tar [options] [archive-filename] [files/directories]

tar command

17. gzip 

Compresses a file.

Syntax: gzip [filename]

gzip command

18. gunzip 

Decompresses a compressed file.

Syntax: gunzip [filename]

gunzip command

19. bzip2 

Compresses a file.

Syntax: bzip2 [filename]

bzip2 commnad

20. bunzip2 

Decompresses a compressed file.

Syntax: bunzip2 [filename]

bunzip2 command


Shows the disk usage of files and directories.

Syntax: du [options] [directory]

du command


Shows the disk space usage of filesystems.

Syntax: df [options]

df command


Displays the current system status.

Syntax: top

top command


Lists the currently running processes.

Syntax: ps [options]

ps command


Sends a signal to a process to terminate it.

Syntax: kill [options] [PID]

kill command


Tests the network connectivity to a host.

Syntax: ping [options] [hostname/IP address]

ping command


Configures network interfaces.

Syntax: ifconfig [options] [interface]

ifconfig command


Shows network connections, routing tables, and network statistics.

Syntax: netstat [options]

netstat command


Connects to a remote host using SSH.

Syntax: ssh [user@]hostname [command]

ssh command


Copies files securely between hosts using SSH.

Syntax: scp [options] [source] [destination]

scp command


Transfers files between hosts using FTP.

Syntax: ftp [options] [hostname]

ftp command


Changes the permissions of files and directories.

Syntax: chmod [options] [mode] [file/directory]

chmod command


Changes the owner of files and directories.

Syntax: chown [options] [owner:group] [file/directory]

chown command


Changes the password of the current user.

Syntax: passwd [options] [username]

passwd command


Switches to another user account.

Syntax: su [options] [username]

su command


Executes a command with superuser privileges.

Syntax: sudo [options] [command]


Shows system information.

Syntax: uname [options]

uname command


Shows the current date and time.

Syntax: date [options]

date command


Shows the calendar for the current month.

Syntax: cal [options]

cal command


Shows the system uptime and load average.

Syntax: uptime [options]

uptime command


Shows the memory usage.

free command

Syntax: free [options]

Also Read: How Can I Check Memory Usage in Linux?


Shows the system resource usage.

Syntax: top [options]

top command


Shows the command history.

Syntax: history [options]

history command


Compresses or extracts files from an archive.

Syntax: tar [options] [archive-filename] [files/directories]

tar command
tar command


Generates SSH keys for authentication.

Syntax: ssh-keygen [options] [keyfile]

ssh-keygen command


Schedules commands to run at specified times.

Syntax: crontab [options] [filename]

crontab command


Controls the system and service manager.

Syntax: systemctl [options] [command]

systemctl command


Tests the network connectivity to a host using IPv6.

Syntax: ping6 [options] [hostname/IP address]


Shows the network path to a host.

Syntax: traceroute [options] [hostname/IP address]

traceroute  command


A stream editor for modifying files.

Syntax: sed [options] [script] [filename]

sed command


A versatile tool for working with text files.

Syntax: awk [options] [script] [filename]

awk command


Cuts out sections from a file.

Syntax: cut [options] [filename]

cut command


Combines lines from multiple files.

Syntax: paste [options] [filename1] [filename2]

paste command


Sorts lines of text.

Syntax: sort [options] [filename]

sort command
sort command


Removes duplicate lines from a file.

Syntax: uniq [options] [filename]

uniq command


Compares two files and shows the differences.

Syntax: diff [options] [file1] [file2]

diff command


Applies a patch file to a file.

Syntax: patch [options] [original-file] [patch-file]

patch command


Archives files and directories into a single file.

Syntax: tar [options] [archive-filename] [files/directories]

tar command


Compresses files into a zip archive.

Syntax: zip [options] [zip-filename] [files/directories]

zip command
zip command

Also Read: How to Zip a File in Linux?


Extracts files from a zip archive.

Syntax: unzip [options] [zip-filename]

unzip command


Transfers data from or to a server.

Syntax: curl [options] [url]

curl command


Downloads files from the web.

Syntax: wget [options] [url]

wget -N 

wget command


Copies files between hosts securely.

Syntax: scp [options] [source] [destination]

scp command


Syncs files and directories between hosts.

Syntax: rsync [options] [source] [destination]

rsync command


Mounts a filesystem.

Syntax: mount [options] [device] [mountpoint]

mount command


Unmounts a filesystem.

Syntax: umount [options] [mountpoint]

umount command


Sends a signal to all processes with a given name.

Syntax: killall [options] [process name]

ps aux 

Shows all running processes.

Syntax: ps aux

ps aux command


Shows all logged-in users.

Syntax: who

who command

Linux Commands Cheat Sheet

Above you have learned 50+ Linux Commands. Here, we have integrated all those commands in a cheat sheet which you may download and save. Whenever you need to find any of the above-mentioned Linux commands you can go through this cheat sheet.

Linux Commands Cheat Sheet


After going through the above section thoroughly, you must have learned about some crucial Linux commands. This guide has highlighted a list of standard Linux commands and their brief explanations. However,  you must note that there are many more commands available in Linux, and their usage may vary depending on the distribution you’re using.

Also Read: 70+ Windows CMD Commands List with Screenshots

Arpit Saini

He is the Chief Technology Officer at Hostbillo Hosting Solution and also follows a passion to break complex tech topics into practical and easy-to-understand articles. He loves to write about Web Hosting, Software, Virtualization, Cloud Computing, and much more.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *