lspci -vv | grep 'Ethernet\|Serial' | awk 'NR == 1{ printf $1 } NR == 2 { print " mac " $7 }' | sed ?e 's/-/:/g' -e 's/:f[ef]:f[ef]//g' -e 's/01:00.0/eth0/g' -e 's/01:00.1/eth1/g' -e 's/01:00.2/eth2/g' -e 's/01:00.3/eth3/g' > /etc/iftab && ifrename
Команда «lspci» выводит информацию о PCI устройствах, а флаг «-vv» позволяет показать более подробную информацию о каждом устройстве. Затем команда «grep» фильтрует результаты, чтобы показать только строки, содержащие «Ethernet» или «Serial». С помощью команды «awk» из выбранных строк извлекаются необходимые значения, где «NR == 1 { printf $1 }» выводит первый найденный Ethernet-адаптер, а «NR == 2 { print » mac » $7 }» выводит MAC-адрес второго найденного устройства с постфиксом «mac».
Команда «sed» заменяет символ «-» на «:», удаляет определенные фразы и заменяет значения псевдонимов интерфейсов этикетками eth0, eth1, eth2 и eth3. Результат этих действий записывается в файл «/etc/iftab» при помощи оператора перенаправления «>».
Затем команда «ifrename» используется чтобы переименовать сетевые интерфейсы в соответствии с новыми псевдонимами, указанными в файле «/etc/iftab».
Альтернативой могут быть другие способы присвоения псевдонимов интерфейсам, но данная команда предлагает удобный метод на основе физического расположения устройства в системе.
