Iproute
ip route保存二進制還是ascii?
根據
ip-route(8)
:ip route save
將路由表資訊保存到標準輸出 此命令的行為類似於 ip route show,不同之處在於輸出是適合傳遞給 ip route restore 的原始數據。
ip route restore
從標準輸入恢復路由表資訊 該命令期望讀取從 ip route save 返回的數據流。它將嘗試完全恢復保存時的路由表資訊,因此必須首先完成流中資訊的任何轉換(例如設備索引)。任何現有路線都保持不變。表中已存在的數據流中指定的任何路由都將被忽略。
但是當我使用時
ip route save > mydump
,它返回的二進製文件與手冊頁不同,這是一個錯誤嗎?還是我用錯了?
如果你想轉儲你的 RT,請考慮,
ip route save
提供標準輸出和標準錯誤,所以你必須使用:ip route save 1> dump
如果您不使用
1>
ip 命令,請將 stderr 和 stdout 重定向到轉儲中。注意:如果您的轉儲中有預設網關,請手動添加其網路,例如:
ip route add 192.168.1.0/24 dev eth0
然後 :
ip route restore < dump
但是為什麼用手呢?因為轉儲的第一行是 dafualt gw 並且您收到以下錯誤:
RTNETLINK answers: Network is unreachable
它是二進制的。一個明確的指標是它不允許您將二進制數據轉儲到標準輸出,並顯示錯誤消息:
# ip route save Not sending binary stream to stdout Dump terminated