更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux命令 > Linux env、eval、ethtool、enable命令的用法及解释

Linux env、eval、ethtool、enable命令的用法及解释

更新时间:2022-01-22 11:41:25浏览次数:141+次

以下为你详细解释env、eval、ethtool、enable命令的用法。

\

Linux env命令的用法及解释

Linux env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。

如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PATH"而提示错误信息"such file or directory"。此时,用户可以重新定义一个新的"PATH"或者使用绝对路径。

1、语法

env(选项)(参数)

2、选项

-i:开始一个新的空的环境;

-u<变量名>:从当前环境中删除指定的变量。

3、参数

变量定义:定义在新的环境中变量,定义多个变量定义用空格隔开。格式为“变量名=值”;

指定:指定要执行的指令和参数。

4、实例

[root@localhost ~]# env

hostname=LinServ-1

TERM=linux

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=192.168.2.111 2705 22

SSH_TTY=/dev/pts/0

USER=root

LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:

mail=/var/spool/mail/root

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin

INPUTRC=/etc/inputrc

pwd=/root

LANG=zh_CN.UTF-8

SHLVL=1

HOME=/root

logname=root

SSH_CONNECTION=192.168.2.111 2705 192.168.2.2 22

LESSOPEN=|/usr/bin/lesspipe.sh %s

G_BROKEN_FILENAMES=1

_=/bin/env

Linux eval命令的用法及解释

Linux eval命令用于在Linux操作系统中执行多个命令。

以下是实例:

[root@linux test]# eject eval echo "aaa";ls  #输出aaa后在执行ls命令,注意分号

aaa

abc.sh  abc.sh.bz2  ar_test  examples.desktop  rec00001abc.sh.bz2  test  test.bz2

eval是一个非常实用的命令,请记住eval并多加实践使用eval。

Linux ethtool命令的用法及解释

Linux ethtool命令用于获取以太网卡的配置信息,或者修改这些配置。这个命令比较复杂,功能特别多。

1、语法

ethtool [ -a | -c | -g | -i | -d | -k | -r | -S |] ethX

ethtool [-A] ethX [autoneg on|off] [rx on|off] [tx on|off]

ethtool [-C] ethX [adaptive-rx on|off] [adaptive-tx on|off] [rx-usecs N] [rx-frames N] [rx-usecs-irq N] [rx-frames-irq N] [tx-usecs N] [tx-frames N] [tx-usecs-irq N] [tx-frames-irq N] [stats-block-usecs N][pkt-rate-low N][rx-usecs-low N] [rx-frames-low N] [tx-usecs-low N] [tx-frames-lowN] [pkt-rate-high N] [rx-usecs-high N] [rx-frames-high N] [tx-usecs-high N] [tx-frames-high N] [sample-interval N]

ethtool [-G] ethX [rx N] [rx-mini N] [rx-jumbo N] [tx N]

ethtool [-e] ethX [raw on|off] [offset N] [length N]

ethtool [-E] ethX [magic N] [offset N] [value N]

ethtool [-K] ethX [rx on|off] [tx on|off] [sg on|off] [tso on|off]

ethtool [-p] ethX [N]

ethtool [-t] ethX [offline|online]

ethtool [-s] ethX [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] [phyad N] [xcvr internal|external]

[wol p|u|m|b|a|g|s|d...] [sopass xx:yy:zz:aa:bb:cc] [msglvl N]

2、选项

-a 查看网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。

-A 修改网卡中 接收模块RX、发送模块TX和Autonegotiate模块的状态:启动on 或 停用off。

-c display the Coalesce information of the specified ethernet card。

-C Change the Coalesce setting of the specified ethernet card。

-g Display the rx/tx ring parameter information of the specified ethernet card。

-G change the rx/tx ring setting of the specified ethernet card。

-i 显示网卡驱动的信息,如驱动的名称、版本等。

-d 显示register dump信息, 部分网卡驱动不支持该选项。

-e 显示EEPROM dump信息,部分网卡驱动不支持该选项。

-E 修改网卡EEPROM byte。

-k 显示网卡Offload参数的状态:on 或 off,包括rx-checksumming、tx-checksumming等。

-K 修改网卡Offload参数的状态。

-p 用于区别不同ethX对应网卡的物理位置,常用的方法是使网卡port上的led不断的闪;N指示了网卡闪的持续时间,以秒为单位。

-r 如果auto-negotiation模块的状态为on,则restarts auto-negotiation。

-S 显示NIC- and driver-specific 的统计参数,如网卡接收/发送的字节数、接收/发送的广播包个数等。

-t 让网卡执行自我检测,有两种模式:offline or online。

-s 修改网卡的部分配置,包括网卡速度、单工/全双工模式、mac地址等。

3、数据来源

Ethtool命令显示的信息来源于网卡驱动层,即TCP/ip协议的链路层。该命令在Linux内核中实现的逻辑层次为:

最重要的结构体struct ethtool_ops,该结构体成员为用于显示或修改以太网卡配置的一系列函数指针,见下表中的第二列。

网卡驱动负责实现(部分)这些函数,并将其封装入ethtool_ops结构体,为网络核心层提供统一的调用接口。因此,不同的网卡驱动会给应用层返回不同的信息。Ethtool命令选项、struct ethtool_ops成员函数、Ethtool命令显示参数的来源,三者间的对应关系如下表所示:

\

由上可见,ethtool命令用于显示/配置网卡硬件(寄存器)。  

4、实例

查看机器上网卡的速度:百兆还是千兆,请输入:

ethool eth0

操作完毕后,输出信息中Speed:这一项就指示了网卡的速度。停止网卡的发送模块TX,请输入:

ethtool -A tx off eth0

操作完毕后,可输入ethtool -a eth0,查看tx模块是否已被停止。查看网卡eth0采用了何种驱动,请输入:

ethtool -i eth0

操作完毕后,显示 driver: bnx2;version: 1.4.30 等信息。关闭网卡对收到的数据包的校验功能,请输入:

ethtool -K eth0 rx off

操作完毕后,可输入ethtool –k eth0,查看校验功能是否已被停止。如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:

ethtool -p eth0 10

操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。查看网卡,在接收/发送数据时,有没有出错?请输入:

ethtool –S eth0

将千兆网卡的速度降为百兆,请输入:

ethtool -s eth0 speed 100

Linux enable命令的用法及解释

Linux enable命令用于临时关闭或者激活指定的shell内部命令。若要执行的文件名称与shell内建命令相同,可用enable -n来关闭shell内建命令。若不加-n选项,enable可重新启动关闭的命令。

linux shell命令执行时,shell总是先在自己的shell builtin中查找该命令,如果找到则执行该命令;如果找不到该命令,则会从环境变量$PATH指定的路径中依次去查找待执行的命令。因为了解了这一点,所以看起来好像没有办法编写用户自己的命令来替代shell builtin命令。幸运的是,有了enable命令我们就能做到了。

1、语法

enable(选项)(参数)

2、选项

-n:关闭指定的内部命令;

-a:显示所有激活的内部命令;

-f:从指定文件中读取内部命令。

3、参数

内部命令:指定要关闭或激活的内部命令。

4、实例

使用enable命令显示所有激活的内部命令:

[root@localhost ~]# enable -a

enable .

enable :

enable [

enable alias

enable bg

enable bind

enable break

enable builtin

enable caller

enable cd

enable command

enable compgen

enable complete

enable continue

enable declare

enable dirs

enable disown

enable echo

enable enable

enable eval

enable exec

enable exit

enable export

enable false

enable fc

enable fg

enable getopts

enable hash

enable help

enable history

enable jobs

enable kill

enable let

enable local

enable logout

enable popd

enable printf

enable pushd

enable pwd

enable read

enable readonly

enable return

enable set

enable shift

enable shopt

enable source

enable suspend

enable test

enable times

enable trap

enable true

enable type

enable typeset

enable ulimit

enable umask

enable unalias

enable unset

enable wait