[
] Вы можете использовать [][]join[
][] для объединения строк из двух файлов, объединяя их там, где определенный столбец имеет одинаковое значение в обоих файлах. Обратите внимание, что входные файлы должны быть отсортированы по значениям в этой колонке...[
] [
join File1 File2
] [
]Если файлы не отсортированы, то в bash/ksh93/zsh:[
] [
join <(sort File1) <(sort File2)
] [
]Здесь поле для объединения содержит []AC[
], []DC[
] и др. Вот пример, если объединяемое поле - это столбец 3 в []File1[
] со столбцом 2 в []File2[
]. [
] [
join -1 3 -2 2 <(sort -k3,3 File1) <(sort -k 2,2 File2)
]
Как видно из предоставленной вами дополнительной информации (вывод ip route
), в системе все еще есть правило маршрутизации для 192.168.1.30
:
local 192.168.1.30 dev eth0 table local proto kernel scope host src 192.168.1.30
] route -n
команда не показывает ни одного из локальных маршрутов, она показывает только «основную» таблицу маршрутизации (эквивалент ip route show table main
). Команды ifconfig
и route
являются устаревшими утилитами, которые больше не обновляются. По существу, им не хватает многих функций, присутствующих в других инструментах, таких как пакет IProute2 (который предоставляет утилиту ip
).
Но в основном этот маршрут означает, что любой трафик на 192.168.1.30
будет идти прямо на локальный адрес.
Есть этот соответствующий бит из Documentation / network / operstates.txt
:
IF_OPER_DOWN (2): Интерфейс не может передавать данные на L1, т.е. Ethernet не подключен или интерфейс ADMIN не работает.
Linux отличает состояние интерфейса от состояния IP. Пометка интерфейса как отключенного просто означает, что интерфейс не может взаимодействовать с внешними хостами («L1» выше относится к уровню 1 сетевой модели OSI). Сам IP по-прежнему присутствует в системе и может быть использован.
Если сетевое устройство управляется NetworkManager, то вы не сможете использовать сценарии up/down для ручного управления устройством. Вы можете проверить, управляется ли NetworkManager, следующим образом из командной строки:
$ nmcli device
DEVICE TYPE STATE
wlp3s0 802-11-wireless connected
em1 802-3-ethernet unavailable
ПРИМЕЧАНИЕ: Мое eth0
устройство - em1
, в данном примере. Также вы можете давать nmcli
короткие команды, device
будет эквивалентно d
.
Вы можете сказать NetworkManager отключить любое устройство, которым он управляет. Это можно сделать через графический интерфейс пользователя или через командную строку.
disconnect
$ nmcli device disconnect iface wlp3s0
$
check
$ nmcli d
DEVICE TYPE STATE
wlp3s0 802-11-wireless disconnected
em1 802-3-ethernet unavailable
Для подтверждения я проделал следующее в Debian 7.0 в виртуальной машине VirtualBox.
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:b6:5f:2e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:feb6:5f2e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5885 (5.7 KiB) TX bytes:30739 (30.0 KiB)
take device down
$ ifconfig eth0 down
$
confirm
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 08:00:27:b6:5f:2e
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:35 errors:0 dropped:0 overruns:0 frame:0
TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5885 (5.7 KiB) TX bytes:30739 (30.0 KiB)
Мне пришлось подождать секунду, пока устройство отключится. Я полагаю, что эта задержка была вызвана тем, что NetworkManager управлял устройством.
$ cat /etc/debian_version
7.3