The Linux ifup command allows you to view network interfaces in the terminal. It is often used with ifdown and ifquery commands.
The following text elaborates on the ifup command in Linux, its options, and use cases.

Prerequisites
- Access to the terminal.
- Linux system (this tutorial uses Ubuntu 22.04).
- sudo or root privileges.
Note:ย To ensure correct ifup functionality, theย /run/network/ifstateย file must be writable. If this proves challenging, solutions include employing theย sudo command, obtaining root privileges, or using theย --forceย option. Alternatively, create a symbolic link forย /run/network/ifstateย leading to a location withย write permissions.
ifup Command Syntax
The ifup command follows this syntax:
ifup [options] [interface]
Executing ifup without specifying any options or interface does not generate any output. While the [interface] components are obligatory, options are not. Options tailor the command to specific requirements.
Note:ย If your system doesn't haveย ifup, runย the command below.
sudo apt install ifupdown
ifup Command Options
The ifup command produces varied output based on different arguments. The table below lists the available options.
| Option | Description |
|---|---|
-v, --verbose | Displays what happens before executing the command. |
--force | Forces configuration. |
--ignore-errors | Ignores errors. |
-o OPTION=VALUE | Sets a specific network configuration option to a specified value, treating it as defined in the /etc/network/interfaces file. |
--no-scripts | Does not run any hook scripts. |
--no-loopback | Does not treat the loopback device differently from other network interfaces. |
-n, --no-act | Prints out the actions that would occur without executing the command. |
-a, --all | Processes all interfaces marked as automatically activated at the startup. |
-h, --help | Shows the help message. |
-V, --version | Prints copyright and version information. |
-i, --interfaces FILE | Allows users to specify a custom file for defining network interface configurations. |
--state-dir DIR | Instructs the command to use a specific directory to store state information. |
-X, --exclude PATTERN | Excludes interfaces from the operation based on a specified PATTERN. |
--no-mappings | Stops extra network configuration rules or settings specified through mappings. This allows the network interface to be brought up with minimal or default configuration. |
Note:ย Theย --forceย argument resolves a common problem withย ifup. Network interface records occasionally don't accurately reflect the actual states, leading to inconsistencies. When this occurs, usingย --forceย allowsย ifupย to carry out configuration commands regardless of the interfaces' current state.
ifup Command Examples
Because ifup supports various arguments, it has multiple practical use cases. However, before executing ifup, users must be aware of the specific interface names. To determine these names, execute the ip command or the deprecated ifconfig command.
Confirm the interface's names with:
ip link show

The second option to verify interfaces is by using:
ifconfig -a

Note:ย Theย ifconfigย command is not available on all Linux systems. To install it, execute the command below.
sudo apt install net-tools
To make sure interfaces are active, use ping. For instance, ping google.com:
ping google.com

For this tutorial, first execute ifdown to turn off all the interfaces:
sudo ifdown -av

The command produces verbose output. To verify all interfaces are down, use ifconfig, ip, or ping. For instance:
ifconfig -a

The output shows interfaces are down.
The following text presents practical ifup usage examples.
Bring up a Specific Interface
To activate a specific network interface, run the following syntax:
sudo ifup [interface]
For instance, turn on the enp0s3 interface with:
sudo ifup enp0s3
The command produces no output. Verify the interface is working with ifconfig, ip, or ping.
Print Verbose Output
To display additional info in the command output, run the command with -v. For instance, bring up the lo interface with:
sudo ifup -v lo

Note:ย In general, the interface name alone should be sufficient when bringing up the interface. Therefore, sudo ifup -v [interface] is the typical syntax. However, in some configurations, the syntax is sudo ifup -v [interface] [configuration]. For example, sudo ifup -v lo=lo.
Activate all Interfaces
To bring up all interfaces and get the verbose mode, run:
sudo ifup -av

Ignore Errors
The argument --ignore-errors instructs the system to bring up network interfaces and to proceed with the activation even if errors are encountered during the process.
For instance, to bring up all interfaces, print verbose output, and ignore errors, run:
sudo ifup --ignore-errors -av

Exclude an Interface
The --exclude option allows users to specify an interface to be excluded from the list. The syntax for this command is:
sudo ifup --exclude [interface]
For instance, exclude the lo interface with:
sudo ifup --exclude lo
The command has no output.
Simulate Interface Activation
Using the --no-act option is beneficial when users wish to preview the changes that occur while activating a network interface without actually applying those changes. The syntax is:
ifup --no-act [interface]
For example, simulate ifup on the lo interface without executing the command with:
sudo ifup --no-act -v lo

Note:While many Linux distributions have basic networking capabilities installed by default, sometimes automatic network adjustments for hardware changes may require additional packages. To determine if these extra packages are installed and necessary for your specific requirements, refer to the system documentation or consult the package manager.
Conclusion
After reading this tutorial, you are now familiar with the Linux ifup command, syntax, options, and common use case examples.
For more essential commands for networking, check out our Linux network commands cheat sheet.



