3 Ways to Find MAC Address In Linux

Table of Contents

How to list MAC address on Linux is a commonly asked question during a Linux job interview. Here are some methods to get the MAC address. These commands are safe to run without changing anything.

The following commands can get you the MAC address of your network interface in Linux.

  • ifconfig -a
  • ifconfig eth0
  • ip link show
  • ip -o link show eth0
  • ip -o link show |cut -d ‘ ‘ -f 2,20
  • cat /sys/class/net/*/address


Procedures to find MAC address in Linux

  • Open the terminal application.
  • Type ifconfig -a or ip link show or cat /sys/class/net/*/address command
  • Press Enter to run the command.
  • The output will display the MAC address for all the network interfaces.


What is MAC address?

From Wikipedia, A MAC address is the unique identifier that is assigned by the manufacturer to a piece of network hardware (like a wireless card or an ethernet card). MAC stands for Media Access Control, and each identifier is intended to be unique to a particular device.

The MAC address consists of six sets of two characters, each separated by a colon. 00:1B:44:11:3A:B7 is an example of a MAC address. The MAC address is usually printed on the card itself. The MAC address can also be found in the BIOS of the computer or device.

A MAC address can be used to uniquely identify a device on a network. This allows for better security and more efficient networking. MAC addresses are usually assigned by the manufacturer of the network adapter. However, it is possible to change the MAC address of a device.

Related: Step by Step to troubleshoot a network issue in Linux

Find MAC address with ifconfig command in Linux

The best Linux command to find MAC address is using ifconfig command.  All we need is to open the terminal then type ifconfig -a in the prompt. The number next to ether is the MAC address. This command will list MAC address, IP address, MTU size and other information about a network interface.

# ifconfig -a

ens1f0: flags=4163 mtu 1500
inet netmask broadcast
ether 70:ca:9b:ce:67:ae txqueuelen 1000 (Ethernet)
RX packets 12187970 bytes 7390885300 (6.8 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16813496 bytes 16253942714 (15.1 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xb1960000-b197ffff

By default, the ifconfig command will display information for all the network interfaces on the Linux system.

If you receive a message “ifconfig command not found” when you try to use it, you can run the following command to install it.

On Debian based distros:
# apt update
# apt install net-tools

On Red Hat based distros:
# dnf install net-tools

Check this post to get more info about how to fix ifconfig command not found

Related: Solving a Networking Issue on Linux in 20 minutes

Find MAC address for a specific interface with ifconfig command in Linux

You can append the name of the interface to the end of the command (e.g. “ifconfig eth0”) to view the MAC address about a specific interface.

So if you want to display information only for specific device like eth0, you can use this command ifconfig eth0.

$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet netmask broadcast
ether fa:16:3e:18:3a:76 txqueuelen 1000 (Ethernet)
RX packets 94405374 bytes 5781082518 (5.3 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23249315 bytes 1034177108 (986.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

The ifconfig command can be used to configure a network interface. The basic syntax for the ifconfig command is: ifconfig interface ip address netmask BROADCAST_ADDRESS

This will set the IP address, netmask and gateway for the specified network interface.You can also use the ifconfig command to enable or disable a network interface. The basic syntax for this is: ifconfig interface up or down

The “ifconfig” command is a command-line utility that is used to display information about your network interfaces. This command is available on most Unix-like operating systems, including Linux and macOS. We can also use ifconfig command to troubleshoot network issues.

Related: 10 Linux Interview Questions about networking You Need to Know

Find MAC address with ip link show command in Linux

Another way to find MAC address in Linux is using “ip link show” command.  The number next to link/ether is the MAC address. This command will list the interface status, MAC address, MTU size, etc.

# ip link show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens1f0: mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 70:ca:9b:ce:67:ae brd ff:ff:ff:ff:ff:ff

To view information about a specific network link, you can use the “ip link show” command followed by the name of the network interface. For example, if you want to view information about the eth0 interface, you can run the following command: “ip link show eth0”.

The following command lists the interface names on the left and the associated MAC addresses on the right.

ip -o link show |cut -d ‘ ‘ -f 2,20
lo: 00:00:00:00:00:00
eth0: 02:01:e4:a2:3a:31

Related article: 3 ip commands you need to know about Linux networking

Find MAC address from /sys in Linux

If you want to get MAC information about the network interface, you can use this command cat /sys/class/net/*/address.

sysfs is a virtual filesystem in Linux that provides a way to access and manipulate the parameters of devices. sysfs is mounted on /sys when your system boots. 

The sysfs filesystem contains a directory for each device on your system. The name of the directory is the name of the device. The contents of the directory depend on the type of device.If you want to get information about the network interfaces on your system, you can cd to /sys/class/net/. 

# cat /sys/class/net/ens1f0/address

$ cat /sys/class/net/*/address

Difference between MAC address and IP address

MAC addresses are physical addresses, while ip addresses are logical addresses. MAC addresses are used to identify devices on a network, while ip addresses are used to identify the location of devices on a network.

The two most common types of ip addresses are IPv4 and IPv6. IPv4 is a 32-bit address that can support up to 4.3 billion unique addresses. IPv6 is a 128-bit address that can support up to 3.4×1038 unique addresses.

MAC addresses are assigned by the manufacturer of the device. Ip addresses can be assigned by the user or by the network administrator.


Related Post:

3 Easy Ways to Find IP address in Linux

4 Ways to Check Network Status on Linux

4 Ways to check Ubuntu Version is dedicated to providing comprehensive information on using Linux.

We hope you find our site helpful and informative.

Learn More


Linux du command

Basic Usage: Syntax: du [options] [directory/file] Basic Examples: du /path/to/file: Displays disk usage of the specified file. du /path/to/directory: Shows disk usage of all the

Read More »

RHCSA Practice Exam

RHCSA Practice Exam A General Notes Here are some tips to ensure your exam starts with a clean environment: You do not need external servers

Read More »