新葡萄京娱乐场

Qt之正则表明式,LINUX命令之ETHTOOL用法详解

四月 1st, 2019  |  新葡萄京娱乐场

F&F的传说剧情向来都是小口腔科,本来就是看车的摄像嘛。
也没怎么好说的,纯粹说一下细节:
1.影片十之八九是nissan赞助,han的S14,一堆350z,还有高速上驶过的大切诺基34……
不是nissan的都改得万象更新,rx7乍一看以为是s2k,rx伍头给尾巴,唯有evo8风光了一把。
2.支柱演练drift的时候,坐在旁边钓鱼的是土屋圭市。
3.han死后,车被警察没收,芸芸众生在破旧的s14里发现一部S讴歌ZDX20DET引擎,最终用在野立时。又是nissan广告,还不比放个RB26DETT呢。

Qt里对盛名的正则表达式有很好的支撑,使用QRegExp类,你能够丰裕快的到位对文件的印证、数据提取、替换。Qt的SDK包里还提供了regexp的GUI小工具,方便你对正则表达式的辨证。

Qt里对盛名的正则表明式有很好的支撑,使用QRegExp类,你能够十三分快的成就对文件的印证、数据提取、替换。Qt的SDK包里还提供了regexp的GUI小工具,方便你对正则说明式的辨证。

转载:

正文在Qt4.5.3下验证通过。

正文在Qt4.5.3下验证通过。

debian 下安装: sudo apt-get install ethtool

用正则表明式验证文本有效性

您能够动用QRegExp::exactMatch来判断2个字符串是或不是切合1个pattern。

void testRegexMatch()
{
    QString pattern(“.*=.*”);
    QRegExp rx(pattern);

    bool match = rx.exactMatch(“a=3”);
    qDebug() << match;                      // True

    match = rx.exactMatch(“a/2”);
    qDebug() << match;                      // False
}

用正则表明式验证文本有效性

您能够采纳QRegExp::exactMatch来判断一个字符串是或不是吻合3个pattern。

void testRegexMatch()
{
    QString pattern(“.*=.*”);
    QRegExp rx(pattern);

    bool match = rx.exactMatch(“a=3”);
    qDebug() << match;                      // True

    match = rx.exactMatch(“a/2”);
    qDebug() << match;                      // False
}

依然下载源码编写翻译:

用正则表明式提取数额

您能够采取利用正则表明式从二个字符串里提取一定的字段或数量。例如,你能够用来下代码从”a=100″里提取”a”和”100″。

void testRegexCapture()
{
    QString pattern(“(.*)=(.*)”);
    QRegExp rx(pattern);

    QString str(“a=100”);
    int pos = str.indexOf(rx);              // 0, position of the first match.
                                            // Returns -1 if str is not found.
                                            // You can also use rx.indexIn(str);
    qDebug() << pos;
    if ( pos >= 0 )
    {
        qDebug() << rx.matchedLength();     // 5, length of the last matched string
                                            // or -1 if there was no match
        qDebug() << rx.capturedTexts();     // QStringList(“a=100”, “a”, “100”),
                                            //   0: text matching pattern
                                            //   1: text captured by the 1st ()
                                            //   2: text captured by the 2nd ()

        qDebug() << rx.cap(0);              // a=100, text matching pattern
        qDebug() << rx.cap(1);              // a, text captured by the nth ()
        qDebug() << rx.cap(2);              // 100,

        qDebug() << rx.pos(0);              // 0, position of the nth captured text
        qDebug() << rx.pos(1);              // 0
        qDebug() << rx.pos(2);              // 2
    }
}

用正则表明式提取数额

您可以采用利用正则表明式从贰个字符串里提取一定的字段或数量。例如,你能够用来下代码从”a=100″里提取”a”和”100″。

void testRegexCapture()
{
    QString pattern(“(.*)=(.*)”);
    QRegExp rx(pattern);

    QString str(“a=100”);
    int pos = str.indexOf(rx);              // 0, position of the first match.
                                            // Returns -1 if str is not found.
                                            // You can also use rx.indexIn(str);
    qDebug() << pos;
    if ( pos >= 0 )
    {
        qDebug() << rx.matchedLength();     // 5, length of the last matched string
                                            // or -1 if there was no match
        qDebug() << rx.capturedTexts();     // QStringList(“a=100”, “a”, “100”),
                                            //   0: text matching pattern
                                            //   1: text captured by the 1st ()
                                            //   2: text captured by the 2nd ()

        qDebug() << rx.cap(0);              // a=100, text matching pattern
        qDebug() << rx.cap(1);              // a, text captured by the nth ()
        qDebug() << rx.cap(2);              // 100,

        qDebug() << rx.pos(0);              // 0, position of the nth captured text
        qDebug() << rx.pos(1);              // 0
        qDebug() << rx.pos(2);              // 2
    }
}

那些是官网下载地址:

用正则说明式修改文件

你能够把字符串中匹配的字符串替换来”一般字符串”

    QString s = “a=100”;
    s.replace(QRegExp(“(.*)=”), “b=”);
    qDebug() << s;                          // b=100

或是把字符串中十分的字符串替换”提取的字符串”

    QString s = “a=100”;
    s.replace(QRegExp(“(.*)=(.*)”), “\\1\\2=\\2”);  // \1 is rx.cap(1), \2 is rx.cap(2)
    qDebug() << s;                                  // a100=100

用正则表明式修改文件

您能够把字符串中匹配的字符串替换来”一般字符串”

    QString s = “a=100”;
    s.replace(QRegExp(“(.*)=”), “b=”);
    qDebug() << s;                          // b=100

想必把字符串中卓殊的字符串替换”提取的字符串”

    QString s = “a=100”;
    s.replace(QRegExp(“(.*)=(.*)”), “\\1\\2=\\2”);  // \1 is rx.cap(1), \2 is rx.cap(2)
Qt之正则表明式,LINUX命令之ETHTOOL用法详解。    qDebug() << s;                                  // a100=100

 Linux/Unix命令之Ethtool

把正则表达式转换到C/C++ string的小工具

没有Python的”””或是C#的@。标准的正则表明式因为出现有的特殊字符,在C/C++代码里使用时,必须举办转换。例如:”(\S+)\s*=\s*(\S*)”必须转换到”(\\S+)\\s*=\\s*(\\S*)”

Qt的SDK里带有三个很帮的GUI工具,可以便宜大家实行那类转换并测试你的说明式。在Linux下,它的路子是/usr/local/Trolltech/Qt-4.5.3/examples/tools/regexp/regexp

把正则表明式转换来C/C++ string的小工具

没有Python的”””或是C#的@。标准的正则表明式因为出现一些特殊字符,在C/C++代码里使用时,必须进行更换。例如:”(\S+)\s*=\s*(\S*)”必须转换到”(\\S+)\\s*=\\s*(\\S*)”

Qt的SDK里富含1个很帮的GUI工具,能够方便大家举行那类转换并测试你的表达式。在Linux下,它的路线是/usr/local/Trolltech/Qt-4.5.3/examples/tools/regexp/regexp


描述:

Ethtool是用以查询及安装网卡参数的一声令下。

概要:

ethtool ethX      //查询ethX网口基本设置

ethtool –h        //展现ethtool的授命帮忙(help)

ethtool –i ethX    //查询ethX网口的相关消息 

ethtool –d ethX    //查询ethX网口注册性新闻

ethtool –r ethX    //重置ethX网口到自适应方式

ethtool –S ethX    //查询ethX网口收发包总计

ethtool –s ethX [speed 10|100|1000]\       
 //设置网口速率10/100/一千M

[duplex half|full]\           //设置网口半/全双工

[autoneg on|off]\            //设置网口是或不是自行车运动组织商

[port tp|aui|bnc|mii]\         //设置网口类型

[phyad N]\                 

[xcvr internal|exteral]\

[wol p|u|m|b|a|g|s|d…]\

[sopass xx:yy:zz:aa:bb:cc]\

[msglvl N]

举例: 1)[root@linux /]# ethtool eth1

Settings
for eth0:

Supported
ports: [ TP ]

Supported
link modes:   10baseT/Half 10baseT/Full 

   
                   100baseT/Half 100baseT/Full 

   
                   1000baseT/Full 

Supports
auto-negotiation: Yes

Advertised
link modes:  10baseT/Half 10baseT/Full 

   
                   100baseT/Half 100baseT/Full 

   
                   1000baseT/Full 

Advertised
auto-negotiation: Yes

Speed:
1000Mb/s

Duplex:
Full

Port:
Twisted Pair

PHYAD:
1

Transceiver:
internal

Auto-negotiation:
on

Supports
Wake-on: g

Wake-on:
d

Link
detected: yes

2)[root@linux /]# ethtool -i eth1

driver:
bnx2

version:
2.0.8-rh

firmware-version:
6.2.12 bc 5.2.3 NCSI 2.0.11

bus-info:
0000:01:00.0

3)[root@linux /]# ethtool -S eth1
 NIC
statistics:

   
 rx_bytes: 216494818

   
 rx_error_bytes: 0

   
 tx_bytes: 27084170553

   
 tx_error_bytes: 0

   
 rx_ucast_packets: 2933822

   
 rx_mcast_packets: 33

   
 rx_bcast_packets: 956

   
 tx_ucast_packets: 18464909

   
 tx_mcast_packets: 6

   
 tx_bcast_packets: 179

   
 tx_mac_errors: 0

   
 tx_carrier_errors: 0

   
 rx_crc_errors: 0

   
 rx_align_errors: 0

   
 tx_single_collisions: 0

   
 tx_multi_collisions: 0

   
 tx_deferred: 0

   
 tx_excess_collisions: 0

   
 tx_late_collisions: 0

   
 tx_total_collisions: 0

   
 rx_fragments: 0

   
 rx_jabbers: 0

   
 rx_undersize_packets: 0

   
 rx_oversize_packets: 0

   
 rx_64_byte_packets: 959

   
 rx_65_to_127_byte_packets: 2930241

   
 rx_128_to_255_byte_packets: 2634

   
 rx_256_to_511_byte_packets: 752

   
 rx_512_to_1023_byte_packets: 169

   
 rx_1024_to_1522_byte_packets: 56

   
 rx_1523_to_9022_byte_packets: 0

   
 tx_64_byte_packets: 183

   
 tx_65_to_127_byte_packets: 357

   
 tx_128_to_255_byte_packets: 750

   
 tx_256_to_511_byte_packets: 224

   
 tx_512_to_1023_byte_packets: 991032

   
 tx_1024_to_1522_byte_packets: 17472548

   
 tx_新葡萄京娱乐场 ,1523_to_9022_byte_packets: 0

   
 rx_xon_frames: 0

   
 rx_xoff_frames: 0

   
 tx_xon_frames: 0

   
 tx_xoff_frames: 0

   
 rx_mac_ctrl_frames: 0

   
 rx_filtered_packets: 0

   
 rx_ftq_discards: 0

   
 rx_discards: 0

   
 rx_fw_discards: 0

4)[root@linux
/]# ethtool -s eth1 autoneg off speed 100 duplex full

相关:

1)[root@linux /]# which ethtool
   
/sbin/ethtool

2)[root@linux /]# rpm -qf /sbin/ethtool
 
 ethtool-1.6-5

3)怎么着使ethtool设置永久保存在网络设施中?
 
 消除方法一:
   
ethtool设置可因而/etc/sysconfig/network-scripts/ifcfg-ethX文件保留,从而在设备下次运行时激活选项。 

例如:ethtool -s eth0 speed 100 duplex full autoneg off

此命令将eth0设备安装为全双工自适应,速度为100Mbs。若要eth0运维时设置那些参数,
修改文件/etc/sysconfig/network-scripts/ifcfg-eth0
,添加如下一行: 

ETHTOOL_OPTS=”speed 100 duplex full autoneg off”

化解方法二:

将ethtool设置写入/etc/rc.d/rc.local之中。

消除方法:

对英特尔千兆网卡禁止使用自适应时务必钦赐链路速度和全双工格局。当使用ethtool来剥夺使用e一千网卡驱动模块的网卡自适应特点时,必须同时钦赐链路速度和全双工工作情势。例如: ethtool
-s eth0 autoneg off

会边比自适应,可是只是近日禁止使用,倘使在指令中平昔不点名链路速度和全双工工作方式,驱动会自动重新打开自适应。 

为了利用ethtool工具来禁止使用e1000网卡驱动模块的网卡自适应特点,使用以下步骤 
1.
进入终极形式。 2. 以root身份实施 ethtool -s ethx autoneg off speed 1000duplex full

那边ethX是网卡的名字(例如eth0只怕eth1等等),那么些命令将关闭该网卡的自适应特点,并且强制安装网卡速度为1Gb,全双公形式。

另外ethtool比mii-tool要高级,mii-tool只支持 Port: MII的网卡.

 

OPTIONS

 

ethtool with
a single argument specifying the device name prints current setting of
the specified device.

-h
shows
a short help message.

-a
queries the
specified ethernet device for pause parameter information.

-A
change the
pause parameters of the specified ethernet device.

autoneg on|off
Specify if
pause autonegotiation is enabled.

rx on|off
Specify if
RX pause is enabled.

tx on|off
Specify if
TX pause is enabled.

-c
queries the
specified ethernet device for coalescing information.

-C
change the
coalescing settings of the specified ethernet device.

-g
queries the
specified ethernet device for rx/tx ring parameter information.

-G
change the
rx/tx ring parameters of the specified ethernet device.

rx* N*
Change
number of ring entries for the Rx ring.

rx-mini* N*
Change
number of ring entries for the Rx Mini ring.

rx-jumbo* N*
Change
number of ring entries for the Rx Jumbo ring.

tx* N*
Change
number of ring entries for the Tx ring.

-i
queries the
specified ethernet device for associated driver information.

-d
retrieves
and prints a register dump for the specified ethernet device.

-e
retrieves
and prints an EEPROM dump for the specified ethernet device.

-k
queries the
specified ethernet device for checksumming information.

-K
change the
checksumming parameters of the specified ethernet device.

rx on|off
Specify if
RX checksumming is enabled.

tx on|off
Specify if
TX checksumming is enabled.

sg on|off
Specify if
scatter-gather is enabled.

-p
initiates
adapter-specific action intended to enable an operator to easily
identify the adapter by sight. typically this involves blinking one or
more LEDs on the specific ethernet port.

N
Length of
time to perform phys-id, in seconds.

-r
restarts
auto-negotiation on the specified ethernet device, if auto-negotiation
is enabled.

-S
queries the
specified ethernet device for NIC- and driver-specific
statistics.

-t
executes
adapter selftest on the specified ethernet device. Possible test modes
are:

offline|online
defines
test type: offline (default) means to perform full set of tests
possibly causing normal operation interruption during the
tests, online means to perform limited set of tests do not
interrupting normal adapter operation.

-s
option
allows changing some or all settings of the specified ethernet device.
All following options only apply if -s was specified.

speed 10|100|1000
Set
speed in Mb/s. ethtool with single argument will show you the
supported device speeds.

duplex half|full
Set
full or half duplex mode.

port tp|aui|bnc|mii
Select
device port.

autoneg on|off
Specify if
autonegotiation is enabled. In the usual case it is, but might cause
some problems with some network devices, so you can turn it off.

phyad* N*
PHY
address.

xcvr internal|external
Select
transceiver type. Currently only internal and external can be specified,
in the future further types might be added.

wol p|u|m|b|a|g|s|d
Set
Wake-on-LAN options. Not all devices support this. The argument to this
option is a string of characters specifying which options to
enable.

p
Wake
on phy activity

u
Wake
on unicast messages

m
Wake
on multicast messages

b
Wake
on broadcast messages

a
Wake
on ARP

g
Wake
on MagicPacket(tm)

s
Enable
SecureOn(tm) password for MagicPacket(tm)

d
Disable
(wake on nothing). This option clears all previous options.

sopass xx:yy:zz:aa:bb:cc
Set
the SecureOn(tm) password. The argument to this option must be 6 bytes
in ethernet MAC hex format
(xx**:yy:zz:aa:bb:**cc).

msglvl* N*
Set
the driver message level. Meanings differ per driver

Your Comments

近期评论

    功能


    网站地图xml地图