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

bash を使用して Linux でサブネット マスクを取得する

私にとって簡単な方法は次のとおりです。

IP=$(ifconfig eth0 | grep -w inet | cut -d" " -f10) # device IP, e.g. 11.1.1.43
IP_RANGE=$(echo $IP | cut -d"." -f1-3).0/24 # subnet 11.1.1.0/24

もちろん eth0 を置き換えます ifconfig で表示される適切なインターフェース .


より良いアプローチは次のとおりです:

 ifconfig eth0 | awk '/netmask/{split($4,a,":"); print a[1]}'

eth0 は、必要な他のインターフェイスに置き換えることができます


これを実現するには、いくつかの方法があります:

最初に:マスクを 255.255.255.0 の形式で印刷するには、これを使用できます:

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

2 番目:ip コマンドを使用して、192.168.1.1/24 の形式でマスクを取得できます

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

Linux
  1. Linux Bash での名前付きパイプの使用例

  2. Cを使用してLinuxでCPUの数を取得するには?

  3. Bashを使用して特定のファイルのmtimeを取得しますか?

  1. Python を使用してマウス デルタを取得します。 (Linux の場合)

  2. Linux、DSTセーフのbashで昨日の日付を取得

  3. Linux で Bash を使用してすべての出力をファイルにリダイレクトしますか?

  1. ProcDumpを使用してLinuxをデバッグする

  2. Linux で ioctl を使用して IPv6 アドレスを取得する

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