GNU/Linux >> Linux の 問題 >  >> Linux

bashからネットマスクを取得するには?

ここのコードが Linux で機能することを明確にする必要があります (コメントに注意し、他の Unice について投稿してください)。 OP は Linux のソリューションを求めましたが、質問を一般的に「ネットマスクを取得する方法」に変更し、より多くの Unix フレーバーに最適な方法を組み合わせて回答することをお勧めします。

#!/bin/sh
ifconfig "$1" | sed -rn '2s/ .*:(.*)$/\1/p'
<ブロック引用>

./script eth0

Linux の ifconfig について

netstat、arp、rarp、route などの他の従来のネットワーク コマンドと同様に、ifconfig は net-tools の一部です。 パッケージ。 Net-tools は非常に長い間積極的に開発されておらず、新しい iproute2 を優先して非推奨にする取り組みが行われています パッケージ。簡潔にするために、この基本的な移行について詳しく知りたい場合は、関連するリンクを次に示します。

事例:Debian Linux

事例:Arch Linux

net-tools ifconfig のマニュアル ページ (バグ セクションを参照)

ユーザーの視点から見たフレームワークの分析と比較


/sbin/ifconfig eth0 | awk '/Mask:/{ print $4;} '

?


本当にマスクだけ欲しいのかしら。おそらく、ネットワーク (または IP) をマスク付きで、構成ファイルで使用するために nmap を使用する必要があるかもしれません。 、または何でも。

その場合、Linux では ip ... の出力を解析することもできます。 指図。

アドレスとマスクを含むすべてのインターフェイスを CIDR 表記で一覧表示するには:

ip -o -f inet addr show | awk '/scope global/ {print $2, $4}'

または、デフォルトのインターフェースに制限するには:

default_if=$(ip route list | awk '/^default/ {print $5}')
ip -o -f inet addr show $default_if | awk '{print $4}'

私のマシンでは "192.168.1.61/24" になります。


Linux
  1. Linuxでコマンドラインからジオロケーションを取得する方法

  2. Linuxでディレクトリサイズを取得する方法

  3. Linux/bash:インターフェイスの IPv6 アドレスを取得するには?

  1. LinuxでBashプロンプトを短縮する方法は?

  2. Linux – Linuxからブートローダーを実行する方法は?

  3. 組み込みの Windows 8+ キーを Linux 環境から取得するにはどうすればよいですか?

  1. Linux(BASH)で数値から上限整数を取得する

  2. Bashの配列から一意の値を取得するにはどうすればよいですか?

  3. IP (Linux) からホスト名を取得するには?