加熱も冷凍もせず、魚介類に潜む寄生虫のアニサキスを“瞬殺”する──そんな技術を開発した熊本大学と福岡市の水産会社が、早期の社会実装を目指してクラウドファンディングを始めた。
アジに寄生したアニサキスをパルス電流で“瞬殺”する技術、熊本大学がクラファン実施 「サバ、サケ、サンマにも」 - ITmedia NEWS
アニサキスは、魚に寄生する直径1mm、長さ20mm程度の寄生虫で、魚を食べた人に腹痛などを伴う食中毒を引き起こすことで知られる。加熱か一度冷凍すれば食中毒は防げるため、欧米では生食用の魚は冷凍させなければならない「冷凍規制」がある。しかし日本では冷凍していない刺身に対する需要が高いため、先進国で唯一、冷凍規制を導入していない。
アジに寄生したアニサキスをパルス電流で“瞬殺”する技術、熊本大学がクラファン実施 「サバ、サケ、サンマにも」 - ITmedia NEWS
⇧ へぇ、へぇ、へぇ~。日本は、先進国で「冷凍規制」を導入していない唯一無二の国だったとは。
アニキサスは避けたいけど、加熱調理はしたくない、そう考えると、
歴史等
蝦夷および北海道(近代以前の北海道と以後の北海道)では、晩秋から初冬にかけての寒い時期に獲れたサケ(鮭)やシシャモを軒下に吊るすか、雪の中に埋めて冷凍保存していた。冷凍することで、保存性が高まると同時に広節裂頭条虫(サナダムシ)やアニサキスなどの寄生虫が死滅する。
⇧ 科学の発展が追い付いていない時期に、ルイベとかは合理的だったんですな。
Linuxのip aのhelpしてみたが...
公式な情報かどうかが分からんけども、
OPTIONS
-a, -all executes specified command over all objects, it depends if command supports this option.
⇧ となっていて、まずもって何の説明も無く出てくる「all objects」ってものが何のか分からんし、複数形ってことは、1つじゃないということだと思うのだけど、全量が分からんと言うね...
ip a help って実行してみても、「all objects」に関連する情報が分からん...
ip help してみたら、「OBJECT」が表示されて、これが「all objects」の全量なのだろうか?
とりあえず、ip a を実行した結果、表示された「OBJECT」の項目ついて、ひたすら、helpコマンドを実行するシェルスクリプトを作りました。
#!/bin/bash # ip help コマンドの結果の「OBJECT」の全量 ip_object_arr=($(cat << EOF address addrlabel fou help ila ioam l2tp link macsec maddress monitor mptcp mroute mrule neighbor neighbour netconf netns nexthop ntable ntbl route rule sr tap tcpmetrics token tunnel tuntap vrf xfrm EOF )) echo "array length: "${#ip_object_arr[@]}; number_of_object=0 for ((idx=0; idx < ${#ip_object_arr[@]}; idx++)) do number_of_object=$((1+${idx})) echo "【${number_of_object}】${ip_object_arr[${idx}]}" &>> "ip_object_description.txt" ip "${ip_object_arr[${idx}]}" help &>> "ip_object_description.txt" done
で、実行した結果が以下。
【1】address Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ] [ CONFFLAG-LIST ] ip address del IFADDR dev IFNAME [mngtmpaddr] ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ] [ type TYPE ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] [ vrf NAME ] ] ip address {showdump|restore} IFADDR := PREFIX | ADDR peer PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ] SCOPE-ID := [ host | link | global | NUMBER ] FLAG-LIST := [ FLAG-LIST ] FLAG FLAG := [ permanent | dynamic | secondary | primary | [-]tentative | [-]deprecated | [-]dadfailed | temporary | CONFFLAG-LIST ] CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG CONFFLAG := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ] LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ] LFT := forever | SECONDS TYPE := { bareudp | bond | bond_slave | bridge | bridge_slave | dummy | erspan | geneve | gre | gretap | ifb | ip6erspan | ip6gre | ip6gretap | ip6tnl | ipip | ipoib | ipvlan | ipvtap | macsec | macvlan | macvtap | netdevsim | nlmon | rmnet | sit | team | team_slave | vcan | veth | vlan | vrf | vti | vxcan | vxlan | wwan | xfrm } 【2】addrlabel Usage: ip addrlabel { add | del } prefix PREFIX [ dev DEV ] [ label LABEL ] ip addrlabel [ list | flush | help ] 【3】fou Usage: ip fou add port PORT { ipproto PROTO | gue } [ local IFADDR ] [ peer IFADDR ] [ peer_port PORT ] [ dev IFNAME ] ip fou del port PORT [ local IFADDR ] [ peer IFADDR ] [ peer_port PORT ] [ dev IFNAME ] ip fou show Where: PROTO { ipproto-name | 1..255 } PORT { 1..65535 } IFADDR { addr } 【4】help Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename where OBJECT := { address | addrlabel | fou | help | ila | ioam | l2tp | link | macsec | maddress | monitor | mptcp | mroute | mrule | neighbor | neighbour | netconf | netns | nexthop | ntable | ntbl | route | rule | sr | tap | tcpmetrics | token | tunnel | tuntap | vrf | xfrm } OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -j[son] | -p[retty] | -f[amily] { inet | inet6 | mpls | bridge | link } | -4 | -6 | -M | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -br[ief] | -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] | -c[olor]} 【5】ila Usage: ip ila add loc_match LOCATOR_MATCH loc LOCATOR [ dev DEV ] OPTIONS ip ila del loc_match LOCATOR_MATCH [ loc LOCATOR ] [ dev DEV ] ip ila list OPTIONS := [ csum-mode { adj-transport | neutral-map | neutral-map-auto | no-action } ] [ ident-type { luid | use-format } ] 【6】ioam Usage: ip ioam { COMMAND | help } ip ioam namespace show ip ioam namespace add ID [ data DATA32 ] [ wide DATA64 ] ip ioam namespace del ID ip ioam schema show ip ioam schema add ID DATA ip ioam schema del ID ip ioam namespace set ID schema { ID | none } 【7】l2tp Usage: ip l2tp add tunnel remote ADDR local ADDR tunnel_id ID peer_tunnel_id ID [ encap { ip | udp } ] [ udp_sport PORT ] [ udp_dport PORT ] [ udp_csum { on | off } ] [ udp6_csum_tx { on | off } ] [ udp6_csum_rx { on | off } ] Usage: ip l2tp add session [ name NAME ] tunnel_id ID session_id ID peer_session_id ID [ cookie HEXSTR ] [ peer_cookie HEXSTR ] [ seq { none | send | recv | both } ] [ l2spec_type L2SPEC ] ip l2tp del tunnel tunnel_id ID ip l2tp del session tunnel_id ID session_id ID ip l2tp show tunnel [ tunnel_id ID ] ip l2tp show session [ tunnel_id ID ] [ session_id ID ] Where: NAME := STRING ADDR := { IP_ADDRESS | any } PORT := { 0..65535 } ID := { 1..4294967295 } HEXSTR := { 8 or 16 hex digits (4 / 8 bytes) } L2SPEC := { none | default } 【8】link Usage: ip link add [link DEV | parentdev NAME] [ name ] NAME [ txqueuelen PACKETS ] [ address LLADDR ] [ broadcast LLADDR ] [ mtu MTU ] [index IDX ] [ numtxqueues QUEUE_COUNT ] [ numrxqueues QUEUE_COUNT ] type TYPE [ ARGS ] ip link delete { DEVICE | dev DEVICE | group DEVGROUP } type TYPE [ ARGS ] ip link set { DEVICE | dev DEVICE | group DEVGROUP } [ { up | down } ] [ type TYPE ARGS ] [ arp { on | off } ] [ dynamic { on | off } ] [ multicast { on | off } ] [ allmulticast { on | off } ] [ promisc { on | off } ] [ trailers { on | off } ] [ carrier { on | off } ] [ txqueuelen PACKETS ] [ name NEWNAME ] [ address LLADDR ] [ broadcast LLADDR ] [ mtu MTU ] [ netns { PID | NAME } ] [ link-netns NAME | link-netnsid ID ] [ alias NAME ] [ vf NUM [ mac LLADDR ] [ vlan VLANID [ qos VLAN-QOS ] [ proto VLAN-PROTO ] ] [ rate TXRATE ] [ max_tx_rate TXRATE ] [ min_tx_rate TXRATE ] [ spoofchk { on | off} ] [ query_rss { on | off} ] [ state { auto | enable | disable} ] [ trust { on | off} ] [ node_guid EUI64 ] [ port_guid EUI64 ] ] [ { xdp | xdpgeneric | xdpdrv | xdpoffload } { off | object FILE [ section NAME ] [ verbose ] | pinned FILE } ] [ master DEVICE ][ vrf NAME ] [ nomaster ] [ addrgenmode { eui64 | none | stable_secret | random } ] [ protodown { on | off } ] [ protodown_reason PREASON { on | off } ] [ gso_max_size BYTES ] | [ gso_max_segs PACKETS ] ip link show [ DEVICE | group GROUP ] [up] [master DEV] [vrf NAME] [type TYPE] ip link xstats type TYPE [ ARGS ] ip link afstats [ dev DEVICE ] ip link property add dev DEVICE [ altname NAME .. ] ip link property del dev DEVICE [ altname NAME .. ] ip link help [ TYPE ] TYPE := { bareudp | bond | bond_slave | bridge | bridge_slave | dummy | erspan | geneve | gre | gretap | ifb | ip6erspan | ip6gre | ip6gretap | ip6tnl | ipip | ipoib | ipvlan | ipvtap | macsec | macvlan | macvtap | netdevsim | nlmon | rmnet | sit | team | team_slave | vcan | veth | vlan | vrf | vti | vxcan | vxlan | wwan | xfrm } 【9】macsec Usage: ip macsec add DEV tx sa { 0..3 } [ OPTS ] key ID KEY ip macsec set DEV tx sa { 0..3 } [ OPTS ] ip macsec del DEV tx sa { 0..3 } ip macsec add DEV rx SCI [ on | off ] ip macsec set DEV rx SCI [ on | off ] ip macsec del DEV rx SCI ip macsec add DEV rx SCI sa { 0..3 } [ OPTS ] key ID KEY ip macsec set DEV rx SCI sa { 0..3 } [ OPTS ] ip macsec del DEV rx SCI sa { 0..3 } ip macsec show ip macsec show DEV ip macsec offload DEV [ off | phy | mac ] where OPTS := [ pn <u32> ] [ on | off ] ID := 128-bit hex string KEY := 128-bit or 256-bit hex string SCI := { sci <u64> | port { 1..2^16-1 } address <lladdr> } 【10】maddress Usage: ip maddr [ add | del ] MULTIADDR dev STRING ip maddr show [ dev STRING ] 【11】monitor Usage: ip monitor [ all | OBJECTS ] [ FILE ] [ label ] [ all-nsid ] [ dev DEVICE ] OBJECTS := address | link | mroute | neigh | netconf | nexthop | nsid | prefix | route | rule FILE := file FILENAME 【12】mptcp Usage: ip mptcp endpoint add ADDRESS [ dev NAME ] [ id ID ] [ port NR ] [ FLAG-LIST ] ip mptcp endpoint delete id ID ip mptcp endpoint show [ id ID ] ip mptcp endpoint flush ip mptcp limits set [ subflows NR ] [ add_addr_accepted NR ] ip mptcp limits show ip mptcp monitor FLAG-LIST := [ FLAG-LIST ] FLAG FLAG := [ signal | subflow | backup ] 【13】mroute Usage: ip mroute show [ [ to ] PREFIX ] [ from PREFIX ] [ iif DEVICE ] [ table TABLE_ID ] TABLE_ID := [ local | main | default | all | NUMBER ] 【14】mrule Usage: ip rule { add | del } SELECTOR ACTION ip rule { flush | save | restore } ip rule [ list [ SELECTOR ]] SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ] [ iif STRING ] [ oif STRING ] [ pref NUMBER ] [ l3mdev ] [ uidrange NUMBER-NUMBER ] [ ipproto PROTOCOL ] [ sport [ NUMBER | NUMBER-NUMBER ] [ dport [ NUMBER | NUMBER-NUMBER ] ] ACTION := [ table TABLE_ID ] [ protocol PROTO ] [ nat ADDRESS ] [ realms [SRCREALM/]DSTREALM ] [ goto NUMBER ] SUPPRESSOR SUPPRESSOR := [ suppress_prefixlength NUMBER ] [ suppress_ifgroup DEVGROUP ] TABLE_ID := [ local | main | default | NUMBER ] 【15】neighbor Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] [ nud STATE ] proxy ADDR } [ dev DEV ] [ router ] [ extern_learn ] [ protocol PROTO ] ip neigh { show | flush } [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ] [ vrf NAME ] ip neigh get { ADDR | proxy ADDR } dev DEV STATE := { delay | failed | incomplete | noarp | none | permanent | probe | reachable | stale } 【16】neighbour Usage: ip neigh { add | del | change | replace } { ADDR [ lladdr LLADDR ] [ nud STATE ] proxy ADDR } [ dev DEV ] [ router ] [ extern_learn ] [ protocol PROTO ] ip neigh { show | flush } [ proxy ] [ to PREFIX ] [ dev DEV ] [ nud STATE ] [ vrf NAME ] ip neigh get { ADDR | proxy ADDR } dev DEV STATE := { delay | failed | incomplete | noarp | none | permanent | probe | reachable | stale } 【17】netconf Usage: ip netconf show [ dev STRING ] 【18】netns Usage: ip netns list ip netns add NAME ip netns attach NAME PID ip netns set NAME NETNSID ip [-all] netns delete [NAME] ip netns identify [PID] ip netns pids NAME ip [-all] netns exec [NAME] cmd ... ip netns monitor ip netns list-id [target-nsid POSITIVE-INT] [nsid POSITIVE-INT] NETNSID := auto | POSITIVE-INT 【19】nexthop Usage: ip nexthop { list | flush } [ protocol ID ] SELECTOR ip nexthop { add | replace } id ID NH [ protocol ID ] ip nexthop { get | del } id ID ip nexthop bucket list BUCKET_SELECTOR ip nexthop bucket get id ID index INDEX SELECTOR := [ id ID ] [ dev DEV ] [ vrf NAME ] [ master DEV ] [ groups ] [ fdb ] BUCKET_SELECTOR := SELECTOR | [ nhid ID ] NH := { blackhole | [ via ADDRESS ] [ dev DEV ] [ onlink ] [ encap ENCAPTYPE ENCAPHDR ] | group GROUP [ fdb ] [ type TYPE [ TYPE_ARGS ] ] } GROUP := [ <id[,weight]>/<id[,weight]>/... ] TYPE := { mpath | resilient } TYPE_ARGS := [ RESILIENT_ARGS ] RESILIENT_ARGS := [ buckets BUCKETS ] [ idle_timer IDLE ] [ unbalanced_timer UNBALANCED ] ENCAPTYPE := [ mpls ] ENCAPHDR := [ MPLSLABEL ] 【20】ntable Usage: ip ntable change name NAME [ dev DEV ] [ thresh1 VAL ] [ thresh2 VAL ] [ thresh3 VAL ] [ gc_int MSEC ] [ PARMS ] Usage: ip ntable show [ dev DEV ] [ name NAME ] PARMS := [ base_reachable MSEC ] [ retrans MSEC ] [ gc_stale MSEC ] [ delay_probe MSEC ] [ queue LEN ] [ app_probes VAL ] [ ucast_probes VAL ] [ mcast_probes VAL ] [ anycast_delay MSEC ] [ proxy_delay MSEC ] [ proxy_queue LEN ] [ locktime MSEC ] 【21】ntbl Usage: ip ntable change name NAME [ dev DEV ] [ thresh1 VAL ] [ thresh2 VAL ] [ thresh3 VAL ] [ gc_int MSEC ] [ PARMS ] Usage: ip ntable show [ dev DEV ] [ name NAME ] PARMS := [ base_reachable MSEC ] [ retrans MSEC ] [ gc_stale MSEC ] [ delay_probe MSEC ] [ queue LEN ] [ app_probes VAL ] [ ucast_probes VAL ] [ mcast_probes VAL ] [ anycast_delay MSEC ] [ proxy_delay MSEC ] [ proxy_queue LEN ] [ locktime MSEC ] 【22】route Usage: ip route { list | flush } SELECTOR ip route save SELECTOR ip route restore ip route showdump ip route get [ ROUTE_GET_FLAGS ] ADDRESS [ from ADDRESS iif STRING ] [ oif STRING ] [ tos TOS ] [ mark NUMBER ] [ vrf NAME ] [ uid NUMBER ] [ ipproto PROTOCOL ] [ sport NUMBER ] [ dport NUMBER ] ip route { add | del | change | append | replace } ROUTE SELECTOR := [ root PREFIX ] [ match PREFIX ] [ exact PREFIX ] [ table TABLE_ID ] [ vrf NAME ] [ proto RTPROTO ] [ type TYPE ] [ scope SCOPE ] ROUTE := NODE_SPEC [ INFO_SPEC ] NODE_SPEC := [ TYPE ] PREFIX [ tos TOS ] [ table TABLE_ID ] [ proto RTPROTO ] [ scope SCOPE ] [ metric METRIC ] [ ttl-propagate { enabled | disabled } ] INFO_SPEC := { NH | nhid ID } OPTIONS FLAGS [ nexthop NH ]... NH := [ encap ENCAPTYPE ENCAPHDR ] [ via [ FAMILY ] ADDRESS ] [ dev STRING ] [ weight NUMBER ] NHFLAGS FAMILY := [ inet | inet6 | mpls | bridge | link ] OPTIONS := FLAGS [ mtu NUMBER ] [ advmss NUMBER ] [ as [ to ] ADDRESS ] [ rtt TIME ] [ rttvar TIME ] [ reordering NUMBER ] [ window NUMBER ] [ cwnd NUMBER ] [ initcwnd NUMBER ] [ ssthresh NUMBER ] [ realms REALM ] [ src ADDRESS ] [ rto_min TIME ] [ hoplimit NUMBER ] [ initrwnd NUMBER ] [ features FEATURES ] [ quickack BOOL ] [ congctl NAME ] [ pref PREF ] [ expires TIME ] [ fastopen_no_cookie BOOL ] TYPE := { unicast | local | broadcast | multicast | throw | unreachable | prohibit | blackhole | nat } TABLE_ID := [ local | main | default | all | NUMBER ] SCOPE := [ host | link | global | NUMBER ] NHFLAGS := [ onlink | pervasive ] RTPROTO := [ kernel | boot | static | NUMBER ] PREF := [ low | medium | high ] TIME := NUMBER[s|ms] BOOL := [1|0] FEATURES := ecn ENCAPTYPE := [ mpls | ip | ip6 | seg6 | seg6local | rpl | ioam6 ] ENCAPHDR := [ MPLSLABEL | SEG6HDR | SEG6LOCAL | IOAM6HDR ] SEG6HDR := [ mode SEGMODE ] segs ADDR1,ADDRi,ADDRn [hmac HMACKEYID] [cleanup] SEGMODE := [ encap | inline ] SEG6LOCAL := action ACTION [ OPTIONS ] [ count ] ACTION := { End | End.X | End.T | End.DX2 | End.DX6 | End.DX4 | End.DT6 | End.DT4 | End.DT46 | End.B6 | End.B6.Encaps | End.BM | End.S | End.AS | End.AM | End.BPF } OPTIONS := OPTION [ OPTIONS ] OPTION := { srh SEG6HDR | nh4 ADDR | nh6 ADDR | iif DEV | oif DEV | table TABLEID | vrftable TABLEID | endpoint PROGNAME } IOAM6HDR := trace prealloc type IOAM6_TRACE_TYPE ns IOAM6_NAMESPACE size IOAM6_TRACE_SIZE ROUTE_GET_FLAGS := [ fibmatch ] 【23】rule Usage: ip rule { add | del } SELECTOR ACTION ip rule { flush | save | restore } ip rule [ list [ SELECTOR ]] SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ] [ iif STRING ] [ oif STRING ] [ pref NUMBER ] [ l3mdev ] [ uidrange NUMBER-NUMBER ] [ ipproto PROTOCOL ] [ sport [ NUMBER | NUMBER-NUMBER ] [ dport [ NUMBER | NUMBER-NUMBER ] ] ACTION := [ table TABLE_ID ] [ protocol PROTO ] [ nat ADDRESS ] [ realms [SRCREALM/]DSTREALM ] [ goto NUMBER ] SUPPRESSOR SUPPRESSOR := [ suppress_prefixlength NUMBER ] [ suppress_ifgroup DEVGROUP ] TABLE_ID := [ local | main | default | NUMBER ] 【24】sr Usage: ip sr { COMMAND | help } ip sr hmac show ip sr hmac set KEYID ALGO ip sr tunsrc show ip sr tunsrc set ADDRESS where ALGO := { sha1 | sha256 } 【25】tap Usage: ip tuntap { add | del | show | list | lst | help } [ dev PHYS_DEV ] [ mode { tun | tap } ] [ user USER ] [ group GROUP ] [ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ] [ name NAME ] Where: USER := { STRING | NUMBER } GROUP := { STRING | NUMBER } 【26】tcpmetrics Usage: ip tcp_metrics/tcpmetrics { COMMAND | help } ip tcp_metrics { show | flush } SELECTOR ip tcp_metrics delete [ address ] ADDRESS SELECTOR := [ [ address ] PREFIX ] 【27】token Usage: ip token [ list | set | del | get ] [ TOKEN ] [ dev DEV ] 【28】tunnel Usage: ip tunnel { add | change | del | show | prl | 6rd } [ NAME ] [ mode { gre | ipip | isatap | sit | vti } ] [ remote ADDR ] [ local ADDR ] [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ] [ prl-default ADDR ] [ prl-nodefault ADDR ] [ prl-delete ADDR ] [ 6rd-prefix ADDR ] [ 6rd-relay_prefix ADDR ] [ 6rd-reset ] [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ] Where: NAME := STRING ADDR := { IP_ADDRESS | any } TOS := { STRING | 00..ff | inherit | inherit/STRING | inherit/00..ff } TTL := { 1..255 | inherit } KEY := { DOTTED_QUAD | NUMBER } 【29】tuntap Usage: ip tuntap { add | del | show | list | lst | help } [ dev PHYS_DEV ] [ mode { tun | tap } ] [ user USER ] [ group GROUP ] [ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ] [ name NAME ] Where: USER := { STRING | NUMBER } GROUP := { STRING | NUMBER } 【30】vrf Usage: ip vrf show [NAME] ... ip vrf exec [NAME] cmd ... ip vrf identify [PID] ip vrf pids [NAME] 【31】xfrm Usage: ip xfrm XFRM-OBJECT { COMMAND | help } where XFRM-OBJECT := state | policy | monitor
う~む、各OBJECTとされるものたちが何なのか、さっぱり分からん...
man ipを実行した結果の抜粋が以下。
IP - COMMAND SYNTAX OBJECT address - protocol (IP or IPv6) address on a device. addrlabel - label configuration for protocol address selection. ioam - manage IOAM namespaces and IOAM schemas. l2tp - tunnel ethernet over IP (L2TPv3). link - network device. maddress - multicast address. monitor - watch for netlink messages. mptcp - manage MPTCP path manager. mroute - multicast routing cache entry. mrule - rule in multicast routing policy database. neighbour - manage ARP or NDISC cache entries. netns - manage network namespaces. ntable - manage the neighbor cache's operation. route - routing table entry. rule - rule in routing policy database. tcp_metrics/tcpmetrics - manage TCP Metrics token - manage tokenized interface identifiers. tunnel - tunnel over IP. tuntap - manage TUN/TAP devices. vrf - manage virtual routing and forwarding devices. xfrm - manage IPSec policies. The names of all objects may be written in full or abbreviated form, for example address can be abbreviated as addr or just a.
⇧ う~む、ip helpで表示された「OBJECT」の数と、man ipで説明されている「OBJECT」の数が合わないんだが...
謎が深まるばかりなんだが...
いや、何でこんなこと調べてるかと言うと、
ip a
⇧とか、良く使うのに、出力される項目とかよく分かってなかったな、と思いまして。
Ciscoの公式っぽいブログで、
Okay, that’s really what I was interested in looking at when I wanted to know what my IP address was. But there is a lot more info in that output than just the IP address. For a long time, I just skimmed over the output. I would ignore most output and simply look at the address and for state info like “UP” or “DOWN.” Eventually, I wanted to know what all that output meant, so in case you’re interested in how to decode the output above…
https://blogs.cisco.com/learning/exploring-the-linux-ip-command
⇧ って発言があって、なるほど、ほとんどの情報は無いものとして認識してるってのは、人類が共通して体験する通過儀礼のような扱いになっていたのか...
ip a の表示結果の各項目について、
⇧ 上記サイト様が詳しいです。
とりあえず、
⇧ jqってライブラリで、ip aの表示結果を整形してくれるっぽいので、インストールしてみる。
で、表示結果を整形してみた。
⇧ う~む、どちらにしろ、項目の意味が分からんので、読み解くのはなかなか辛い...
インフラエンジニアの方なら、一瞬で解釈できるとは思うけども...
毎度モヤモヤ感が半端ない...
今回はこのへんで。