Mastering Kali Linux Commands: The Ultimate Guide 2023


The easiest way to use Kali Linux by commands but you should know there are thousands of the Kali Linux commands. And the biggest problem for the new user to learn these commands.

Frequently used Kali Linux Commands

ls commandpwd commandcd commandmkdir command
cat commandmv commandrm commandcat command
less commandmore commandclear commandcp command
Egrep commandfind commanddu commandcurl command
passwdlsb_releaseunzip commanduname
apt-get dpkgwhoamihistory

Important Kali Linux Commands List Part 1 in Hindi

Important Kali Linux Commands List Part 2 in Hindi

Overview of Kali Linux commands:

Kali Linux is an operating system similar to other Linux based operating systems. So basic Kali Linux commands are similar to others.

This Operating system is designed for penetration testing and Ethical hacking. Of course, It has a bunch of ultimate Free Hacking Tools used by black hat hackers.

So basic kali Linux commands are similar to other Linux operating systems but Advance commands are different and awesome.

Commands are made Kali Linux more Attractive and awesome

In this article, I am going to cover how to use Kali Linux commands exactly without knowing anything about the tool.

Many students want to learn Kali Linux free of cost, but due to lack of resources, They can’t. If you are one of them then this article is useful for you.

And they start searching online, and they find lots of articles written by multiple experts, These are available online, but most articles are related on How to install Kali Linux on VirtualBox, how to use tools of Kali Linux.

There is a big difference between the installation of the Kali Linux and using the Kali Linux tools. The gap is how to use Kali Linux commands still exist.

How to finish Kali Linux using Gap?

In this tutorial I will try to remove that gap, so you can complete your journey from installation to using the tools and get involved in penetration testing. In the last article, I have written about Kali Linux hacker so if you want to know more about Kali Linux you can go there and read about it. otherwise, you have another option to know about Kali Linux go on Official website Kali Linux
Before writing this article I think about lots of factor about commands, and find out that:

Kali Linux commands Categories:

  1. System commands
  2. Tool commands
  3. Switches Or Sub-tools

System Commands in Kali Linux:

System commands are basic commands which are used for a system administration, these commands are helpful to manage the Kali Linux operating system.

You can use these commands to manage another Linux Operating system, for example, Ubuntu, Mint, RHEL, etc.

As I have told you in my previous post “Kali Linux system is the combination of Linux OS and Hacking tools”. So all the basic commands are similar to other Linux System.

In this tutorial, I am going to describe basic and advanced Kali Linux commands to manage the operating system.
So good news here, First you will learn basic commands, then you can go for advanced kali Linux commands.

In the sense of meaning, all commands are the same for a normal user, sudo user, and Root user.

A to Z Basic Kali Linux commands in 2020:

Kali Linux commands start from “a”. I know there are many Kali Linux command start from “a”.

Do you want to know? How many commands start from a?

It is very simple to open the terminal and type “a” and press the “tab” tab key from your keyword twice you will see all command start from “a” word.

I find 222 commands start from “a” at the time of writing this article. See in the image below.

Very basic commands can be used by Normal user. The identification of normal user ‘$’ sign, you can see in the following image vijay@kali:~$.

1# Arch Command:

You can use the arch command to know computer architecture. Arch command prints things such as “i386, i486, i586, alpha, arm, m68k, mips, sparc, x86_64, etc.

You can use the following Syntax to check your system architecture:


2# Arp Command:

ARP stands for Address Resolution Protocol, which is used to find the address of a network neighbor for a given IPv4 address.

arp command is used to show the arp table of your Kali Linux system. You can use this command on other Linux systems as well as Windows operating systems.

arp without any option will print the current content of the ARP (MAC/CAM) table.


#3 arping Command

arping command is similar to ping command but it is working on an Ethernet layer. arping command gives the result of reachability and round-trip time on an IP address in a local network.

#arping -I eth0 -c 5 IPADDRESS

4# Aspell Command:

aspell is a spell checker command in Kali Linux, you can give file name or anything from standard input to check for misspellings.

Syntax: aspell check [options] filename

#aspell -c filename.txt

5# awk command”

awk command is used to manipulate data and generate a report in the scripting language. It allows the user to use a variable, functions both numeric and functions and logical operators.

You can write tiny and effective programs in the form of a statement by using awk utility in Kali Linux.

What can you do with awk?

  1. AWK Operations:
    (a) Scans a file line by line
    (b) Splits each input line into fields
    (c) Compares input line/fields to pattern
    (d) Performs action(s) on matched lines
    awk is Useful For:
    (a) Transform data files
    (b) Produce formatted reports
  2. Programming Constructs:
    (a) Format output lines
    (b) Arithmetic and string operations
    (c) Conditionals and loops


awk options ‘selection _criteria {action }’ input-file > output-file

6# bg command

bg command is used to control shell jobs. It resumes execution of a stoped or suspended process and bg command used to restart a stopped background process

I used ping command followed by then pressed CTRL +z to stop the service.

Next, I used jobs commands to see available jobs.

Again I used bg command to restart the stoped command “ping”

7# basename command

You can use basename command to remove base directory information and suffixes from the file names. You can print any file name with any leading directory components removed


#basename NAME [SUFFIX]
#basename OPTION NAME

8# Bzip2

Bzip2 is a basic utility for compress and decompress files. It is pre-installed in kali Linux as other commands.


#bzip2 [Options] [filename]

An example:

I used cat command to create a new file name with the filename.txt

Later I used bzip2 command followed by -z (option for compress file) and file name.

Next option -d, I used for decompressing “filename.txt.bz2”

When you use bzip2 command to compress file, The new file will be created with .bz2 extension. You will decompress any file with .bz2 extension by using bzip2 command.

9# cal command:

Cal command is used to display calendar


    October 2019      
Su Mo Tu We Th Fr Sa  
       1  2  3  4  5  
 6  7  8  9 10 11 12  
13 14 15 16 17 18 19  
20 21 22 23 24 25 26  
27 28 29 30 31 

10# cat command

This tutorial for hackers, So if you will get access to any computer of the drive then you will 100% find some files. so cat command is used to see, edit matter inside the file. You can create a file and add content inside the file.

How is it possible?

Simple use

$cat > ‘New File’ [Create a new file or overwrite data on the desired file] 

$cat “file name” [See matter inside file]

$ cat >> “filename” [add some data into file] 

Kali linux commands basic use cat

11# cksum command

cksum command stands for checksum is used to calculates a CRC (cyclic redundancy check) and byte count for each input file, and writes it to standard output.

In a simple way, this command is used to check file’s data for being corrupted when transferred one location to another.

Command syntax is simple and straight forward

#cksum filename

12# Clear command

Clear command is used to clear the terminal screen when you are running multiple commands in terminal the terminal screen getting full.

So use the clear command and enjoy a clean screen again.3


13# cmp Command:

the cmp command is used to compare two files byte by byte. If a difference is found, it reports the byte and line number where the first difference is found.

If no differences are found, by default, cmp returns no output.

Basic syntax of cmp command

#cmp file1.txt file2.txt

14# comm Command

you can use comm command to compare two sorted files line by line. The basic syntax to use this command:

#comm file1.txt file2.txt

15# cp command:

Cp command is used to copy one or more files from one location to another location.

#cp /source/location/path /destination/location/path

If you are copying file from the current working directory then give a file name and source address.

#cp filename /destination/location/path

Use the cp command carefully because it will overwrite files without asking. It means if the destination file name already exists, its data will be erased. you can use -i option to prompt for confirmation.

This is big command and can be used in different ways. here you can read more about

16# Crontab Command:

In kali Linux operating systems, The crontab command is used to view or edit the table of commands to be run by cron. The cron table is the list of tasks scheduled to run at regular time intervals on the Linux system.

The daemon which reads the crontab and executes the commands at the right time is called cron.

Crontab command examples

#crontab -e
Edit your crontab.

#crontab -l
Display (“list”) the jobs of your crontab.

#crontab -r
Remove your crontab.

#crontab -u technicalustad -e
Edit crontab for user technicalustad.

16# cut Command:

cut command is used to cut parts of lines from specified files or piped data and print the result to standard output. It can be used to cut parts of a line by delimiter, byte position, and character

The basic syntax for the cut command is as follows:


You can use cut command followed and specified with filed

for the example:

#cut -f 1,3 file.txt

16# Date Command:

date command is used for checking the current date and time.

Tue Oct  1 09:55:34 IST 2019

the date can be changed by running the following code

$ date –set=’20 September 2019 13:09′

but the normal user can’t change system time, Then you are thinking about “how to change system time” Of-course I will teach you in this article, dont worry about it.

Some examples of date command:

$ date -d now
$ date -d today
$ date -d yesterday
$ date -d tomorrow
$ date -d sunday
$ date -d last-sunday

17# dc command:

The desk calculator works with postfix notation; rather like many HP Calculators. Basic arithmetic uses the standard + – / * symbols but entered after the digits.


dc [-V] [–version] [-h] [–help] [-e scriptexpression]
[–expression=scriptexpression] [-f scriptfile] [–file=scriptfile]

18# Dd command

dd stands for data duplicator, which is mainly used to copy and convert data. but this tool can be used for:

  • Backing up and restoring an entire hard drive or a partition.
  • Creating virtual filesystem and backup images of CD or DVDs called ISO files
  • Copy regions of raw device files like backing up MBR (master boot record).
  • Converting data formats like ASCII to EBCDIC.
  • Converting lowercase to uppercase and vice versa.

dd command is not basic command so you must be superuser to execute it.

Syntax of dd command is

dd if= of= [Options]

19# df command 

The df command stands for Disk Free is used to reports file system disk space usage. It displays the amount of disk space available on the file system of Kali Linux. The df command reports how much free disk space we have in our system.

simple syntax:


20# diff command

Diff command is used to display the differences between two files.

Basic Syntax:

#diff file1.txt file2.txt

21# diff3 command

Diff3 command is used to show differences among the three files.

Basic Syntax

#diff3 file1.txt file2.txt file3.txt

22# dig command

dig command is a powerful command in kali Linux used to for DNS lookup. Simple use and simple syntax


You will get all the information related DNS of the website.

23# dir Command

dir command is used to print the content list of a directory. Most of Linux user use ls command instead of dir command. but you can use it.
Basic Syntax:

#dir [OPTION] [FILE]


#dir /etc

24# echo command:

Display message on the screen

The echo command is one of the most basic commands in Linux used to display a message on the screen. The arguments passed to echo are printed to the standard output.

echo is commonly used in shell scripts to display a message or output the results of other commands.


#echo Hello world!

25# Egrep Command

The egrep command is used to search files for lines that match a text pattern. It performs the match by using extended regular expressions. Running egrep is equivalent to running grep with the -E option.
Basic Example:

#egrep “support|help|windows” myfile.txt

Search for patterns of support help and windows in the file myfile.txt.

26# Eject Command

Eject command is used to remove a removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) under software control. You can eject DVD by pressing a button, but you can remove it without touching button just type the following command:


Use the following command, in the case above command, is not working:

#eject /dev/cdrom

#eject /dev/cdrw

#eject /dev/dvd

#eject /dev/dvdrom

#eject /dev/dvdrw

27# ethtool Command

ethtool is a networking utility used to configure ethernet devices on Kali Linux.

#ethtool [ethernet card]

If you want to display network usage statistics with ethtool by using the following command

#eththoo -S eth0

where eth0 is a card name

28# whoami command:

it is looking something difference command but it is used to tell about you. For example if you forget “which user is logged in?This command will tell you who are you current.


Kali linux commands basic 2
Kali linux commands basic 1

29# pwd command:

pwd command is used for print working directory. It means “On what location you are“. here location meaning is directory and sub-directory.

The parent directory is “/” called root directory.

Don’t be confused with /root directory, this root directory “/root” is home directory for root user.


30# ls command:

ls command is used to see files and directory inside a directory. using ‘ls’ without any location will list the files and folders inside the current directory.

If you want to look up inside another directory, you will have to specify location.


$ls /var

$ls /home/username

oot@kali:~# ls
Desktop    Downloads  Pictures  Templates  virtualbox_6.0.10-dfsg-4kali1.dsc 
Documents  Music      Public    Videos     virtualbox_6.0.10-dfsg.orig.tar.xz
root@kali:~# ls /var/
backups  lib    lock  mail  run    tmp          www
cache    local  log   opt   spool  unicornscan

31# cd command:

the cd command is a very useful command and plays a very important role for Linux user. This command is used for changing directory. And the basic syntax will be as below:

cd /desired/location

If you use blank ‘cd’ without location then you will move in the user’s home directory. so see the power of cd commands and enjoy!


$cd ..

$cd /desired/location ($cd /home/vijay)

32# mkdir command:

Do you know about the directory? It is a term used for the folder. You can say windows folder is a directory in Linux It is very easy to create a folder in Windows” but not in Linux. T

The graphical interface is really awesome, but the command interface is not less. The command-line interface is the fastest way to operate a Linux based Operating System. Linux users love it.

mkdir command is used to create a directory. if want to create a directory within the current directory, just use mkdir ‘directory name’.

if you want to create a directory in the desired location then

$mkdir /desired/location/directory name.

$mkdir lab

root@kali:~#mkdir lab
root@kali:~#mkdir lab/lab1

$mkdir /home/vijay/lab1

33# mv command:

If you don’t like files and folders on the current location and want to move to another location, then mv command is useful for you. mv command work as a cut and paste in windows.

$mv /Source_location /destination/location

mv source location if the file or directory does not exist in current location if the file/folders within current location then us mv file/folder name [space] destination location {destination location = where you want to move}

mv command is also used for rename the file and folder

$mv ‘old filename’ ‘new filename’

34# rm command:

rm command is used to remove files and folders. In other words this command for deleting files and folders.

Kali linux commands basic 3

System Basic Kali Linux commands 

35# uname command:

Do you want to know the name of your Linux? if yes then use uname command 
The “uname” stands for (Unix Name), displays detailed information about the machine name, Operating System and Kernel.


$uname -a

root@kali:~#uname -a
Linux kali 5.2.0-kali2-amd64 #1 SMP Debian 5.2.9-2kali1 (2019-08-22) x86_64 GNU/Linux

36# uptime command:

this command is used to check how long your system is running. uptime for your system, this command can be used for forensics also.

 10:29:28 up 36 min,  1 user,  load average: 0.08, 0.08, 0.08

37# users command:

users command is used to check current logged in user, On my Kali Linux system I have logged in with root user and later I switched to vijay user.


38# Less Command

less command is used for quickly view file on terminal. user can page up and down. Press ‘q‘ to quit from less window.

$less /etc/passwd

root@kali:~#less /etc/passwd
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin

39#More Command

more command is used for quickly view file and shows details in percentage. Press up and down arrow for page up and down. Press ‘q‘ to quit out from more window.

$more /etc/passwd

root@kali:~#more /etc/passwd
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologi
systemd-timesync:x:101:102:systemd Time Synchronization,,,:/run/systemd:/usr/sbi
systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/n
systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin

40# Sort command

You can sort lines of text files in ascending order. with -r options will sort in descending order.

$sort filename.txt [ascending order]

$sort -r filename.txt [descending order]

41# VI Command

Vi is a most popular text editor used for most of the UNIX-like OS. Here is a great article for vi editor 

42# Free command

The free command shows free, total and swap memory information in bytes.
Free with -t options shows total memory used and available to use in bytes.


$free -t

free-command Kali linux basic

43# history command:

The history command is used to check recent running commands. Oh really it is useful because Forgetting is the nature of human. IF you forget previous running command, you can use history command.


history-command in kali linux

System Advanced Kali Linux commands

44#: Find Command

The find command is used for search files in Linux. Searching any files and folders in Windows is easy but in Linux.

To find a file by name, size, type, etc in the graphical interface is quite easy, And it is not really so easy in CLI (Command Line Interface)

Find is a command-line utility that allows you to search for files and directories in a directory hierarchy based on user-given expression and applies user-specified action on each matched file

Usage: find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path…] [expression]

root@kali:~#find -L /etc -name passwd

More Detail: How to Find a File in Linux in All Directories

45# apt-get command:

apt-get is a package manager used to install, remove, purge, and update packages.

the apt-get command is a most popular command for Debian based operating systems including Kali Linux.

All the available options are below with apt-get command.

#46 dpkg command

dpkg command is used to Install deb File in Kali Linux. You can remove packages by using dpkg command as well.

Kali Linux is a Debian based operating system so you can install .deb files only.

For example: you can install Nessus on Kali Linux by using dpkg because the Nessus files do not exist in the repository.

You can run the following command to install packages on Kali Linux by using dpkg command

#dpkg -i package_name

dpkg –i /{Download_Location}/Nessus-{Version}.deb

More Details: Install Nessus on Kali Linux

How to install deb files on Linux

#47 Du Command

The du command is used to display the amount of disk space used by files and directories.

If you run command du without specified path then it will give the result behalf of the current working directory.

If you run du command followed by a specific path, it will summarize disk usage of each file and subdirectories in that directory.

I used the du command without any argument and path. I got a shocking result. You run the command now, check the result and tell me our experience in the comment box.

4	./Pictures
4	./.mozilla/extensions
36	./.mozilla/firefox/l6ruxl24.default/saved-telemetry-pings
12	./.mozilla/firefox/l6ruxl24.default/sessionstore-backups
4	./.mozilla/firefox/l6ruxl24.default/minidumps
56	./.mozilla/firefox/l6ruxl24.default/datareporting/archived/2019-08
40	./.mozilla/firefox/l6ruxl24.default/datareporting/archived/2019-09
100	./.mozilla/firefox/l6ruxl24.default/datareporting/archived
112	./.mozilla/firefox/l6ruxl24.default/datareporting
8	./.mozilla/firefox/l6ruxl24.default/bookmarkbackups
4	./.mozilla/firefox/l6ruxl24.default/storage/permanent/chrome/idb/1657114595AmcateirvtiSty.files
4	./.mozilla/firefox/l6ruxl24.default/storage/permanent/chrome/idb/3561288849sdhlie.files

More: Du Command to get Size of Directory in Linux

#48 Curl command

Curl is a command-line utility to transfer data from or to a server. You can say it is used to download and upload files and data by using one of the supported protocols (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP). The command is designed to work without user interaction.

curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume, Metalink, and more. As you will see below, the number of features will make your head spin! See libcurl(3) for details

Use the following command to know more about #curl

#curl –help

More Details: What is Curl in Linux, How to use? You should check these methods

#49 Adduser command

Adduser command is used to add a new user. You can create multiple users by using adduser command.

#adduser username

root@kali:~#adduser vijay
Adding user `vijay' ...
Adding new group `vijay' (1000) ...
Adding new user `vijay' (1000) with group `vijay' ...
Creating home directory `/home/vijay' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for vijay
Enter the new value, or press ENTER for the default
	Full Name []: Vijay Kumar
	Room Number []: 22
	Work Phone []: 9999778951
	Home Phone []: same
	Other []: Ethical hacking trainer
Is the information correct? [Y/n] y

More Details: How to Create User in Linux by Adduser

#50 passwd command To change password

Username and password are the basic security of the Kali Linux operating system. You are working on cybersecurity / ethical hacking.

You must keep in mind all security points, and managing password is one of them.

passwd command is used to change the password of a normal user / sudo user/ root user.

Basic example: You are login with root user and want to change current user password then simple syntax as follows:


New password: 
Retype new password: 
passwd: password updated successfully

As you hit enter, you get the screen to enter a new password twice. You will not see anything on the screen at the time of entering a password. Don’t worry at all.

Give a new password and hit enter, again enter the same password and hit enter. Your password for the current user will be updated.

More Details: How to change password in Linux

#51 usermod command

usermod command is used to modify a user in a group.

By default, Kali Linux is operated by the root user, but it is a loophole of security. So You must use kali Linux with normal user.

But the problem starts from here, lots of tools are required administrative permission. Normal user can not run these tools.

You can run these tools by the root user or sudo user. usermod command will help to promote normal user to sudo user by running following command

root@kali:~#usermod -aG sudo vijay

Add user to sudo user

#52 lsb_release command to check the version of Kali Linux

lsb_relase command is used to check the version of Kali Linux. There are multiple switches are used with this command.

#lsb_release -a

root@kali:~#sb_release -a
No LSB modules are available.
Distributor ID:	Kali
Description:	Kali GNU/Linux Rolling
Release:	2019.3
Codename:	kali-rolling

Check version of Linux

#53 SCP command

scp command is used to copy files from one device to another device securely. There are multiple ways to transfer files from one system to another.

But scp copy files over ssh protocol. One system should have an ssh server running.

Hacker used this command when the compromised system and transfer files. Basic syntax as bellow.

$scp [OPTION] [user@]SRC_HOST:]file1_Path [user@]DEST_HOST:]file2

More Details: How to use SCP command in Linux Copy files securely through ssh server

#54 unzip command

Now you are a Kali Linux user, and you are using Kali Linux. You will download many files from different -2 sources.

You will find most of the files in zip format, you can’t use them. You have the challenge to extract files. unzip command will help you get extracted files.

The basic syntax of unzip command


More details: How to unzip file in Linux by using commands and GUI

If Appreciate My Work, You should consider:

5 thoughts on “Mastering Kali Linux Commands: The Ultimate Guide 2023

  1. You’re the Best Cyber Teacher I’ve ever met online…..
    Your explanations are quite awesome ……
    Thanks alot……
    I just can’t thank you enough…..
    But Trust me, u’re the best in what u’re doing….
    Keep it Up….

  2. I just love these article, very educative, please keep us updated I’ll keep checking-up and tnx once again , big hearts!!

Leave a Reply

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