nsh
nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行

1 使用cd命令访问远程主机和文件

  1.1 使用cd命令访问远程主机

beaver $ cd //otter/etc
otter $ pwd
//otter/etc
otter $ uname -a   #查看otter机器的内核信息
Linux otter 2.0.34 #1 Fri May 8 16:05:57 EDT 1998 i586 i386
otter $ vi termcap

  1.2 访问远程主机上的文件

beaver $ vi //otter/etc/termcap

  1.3 访问多个主机上的文件

beaver $ diff //otter/etc/termcap //duckbill/etc/termcap

2 远程访问windows磁盘

访问windows机器时,不需要指定根盘,如果你的根盘默认是c盘
nsh
unix $ cd //windows//
unix $ pwd
nt $ //windows/c
如果选择其他磁盘,则可以指定
unix $ cd //windows/d
nt $ pwd
nt $ //nt/d

3 目录"//"

"//"是一个虚拟目录,目录下只包含主机信息,实际是各个主机的根节点(/),使用"//"可以切换到其他主机,然后使用相对路径进行文件浏览,如:
host1 $ cd //
host1 $ ls
host1 host2 host3 host4
host1 $ cd host2   #切换到机器host2
host2 $ pwd
//host2/
host2 $ cd //host1/etc
host1 $ pwd
//host1/etc
host1 $ cd ../../host2/etc
host2 $ pwd
//host2/etc

4 执行命令行

通过Network Shell可以执行三类命令:原生命令、等价于Network Shell命令的原生命令、纯Network Shell命令。当执行命令时,会有两种状态:在本机执行或者在远程机。等价于Network Shell命令的原生命令默认两种状态都可以执行,如果你想执行原生命令,那么需要把命令所在的全路径写上,例如:
Host$ /bin/tar -cvf /tmp/etc.tar /etc

  4.1 在远程机执行命令行

Network Shell有两种方法可以在远程机上执行命令:默认的"nexec"方法和"remote_cmds"文件方法。默认的"nexec"执行支持ZSH 4.3.4,不支持ZSH 4.0.4,详细参见 nexec的man帮助
当执行的命令在"remote_cmds"文件中时,并且该命令有一个等价的原生命令但位于不同目录,那么系统将执行"remote_cmds"文件中指定路径的那个命令

  4.2 使用remote_cmds文件定制remote commands

remote_cmds文件中包含Network Shell支持的命令列表,这个文件位于share目录下,Linux默认安装时的路径为"/u01/bmc/bladelogic/NSH/share"。
要添加remote commands,需要如下两步操作(此次以last命令为例):
    1 添加last命令的软连接
在bin路径下添加nexec/u01/bmc/bladelogic/NSH/bin
cd nexec/u01/bmc/bladelogic/NSH/bin
ln -s /u01/bmc/bladelogic/NSH/bin/nexec last
    2 修改remote_cmds文件内容
文件有三列构成,每列空三个空格,列对应的内容是:
command_name command_path(可选) max_time(可选)
上面的command_name就是你将来要做nsh中执行的远程命令;command_path是命令所在的绝对路径,此处是/usr/bin/last;max_time指命令执行的最大实际,默认是300s,如果命令执行超时,则会提示错误并放弃执行。所以针对last命令需要如下修改: 
echo "last   /usr/bin/last   -">> /u01/bmc/bladelogic/NSH/share/remote_cmds

5 重定向

重定向在Network Shell中是使用管道来实现的,而不是通常所用的dup()、dup2()的系统调用。当使用重定向的时候有些限制。首先,只支持文件描述符1(标准输出)和2(标准错误),其他文件描述符会导致未知错误。其次,重定向符号<>,被认为是<,而非同时读写。

BSA Network Shell系列-nsh命令的更多相关文章

  1. BSA Network Shell系列-nexec命令

    # nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...

  2. BSA Network Shell系列-scriptutil命令

    scriptutil ## 1 功能概述 scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本. 它的优点就是脚本是non-NSH的脚本.不支持NSH命令,执行起来的效果和runscr ...

  3. BSA Network Shell系列-redi命令

    redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...

  4. BSA Network Shell系列-nlogin命令

    nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...

  5. BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同

    说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...

  6. BSA Network Shell系列-runcmd/runscript命令

    runcmd和runscript ## 1 功能概述 runcmd/runscript:runcmd在一台或多台机器执行Network Shell命令(单个命令),而runscript执行的是脚本,二 ...

  7. BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本

    参考:Running Powershell, VBScript, or bat files via NSH 如果你直接在NSH命令行执行的话,可以参考我翻译的下面的东东,如果想运行NSH 脚本作业的话 ...

  8. Linux Shell系列教程之(八)Shell printf命令详解

    本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...

  9. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

随机推荐

  1. C#高级编程学习一-----------------第五章泛型

    三层架构之泛型应用 概述 1.命名约定 泛型类型以T开头或就是T. 2.泛型类 2.1.创建泛型类

  2. vs2008中xlslib与libxls库的编译及使用

    C++用来操作Excel的方法很多,但是涉及到跨平台,同时又要对Excel的读写操作兼顾,而且免费的库,那应该是要用xlslib和libxls了.由于技术比较菜,折腾这个折腾了一个星期了.最开始是使用 ...

  3. JavaScript图片库(简单的应用案例)

    这个图片库小例子的效果如图所示,点击网页上某个图片链接时你将看到两种效果:占位符图片呗替换成这个链接所指向的图片,同时描述性文字也被替换为这个链接的title属性值.     利用一个简单的图片库应用 ...

  4. C#学习笔记-适配器模式

    什么是适配器模式? 适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口. Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 什么时候运用适配器模式? ...

  5. 一天就学会Android开发四大组件

    这个文章主要是讲Android开发的四大组件,本文主要分为 一.Activity详解二.Service详解三.Broadcast Receiver详解四.Content Provider详解外加一个重 ...

  6. Linux(常用命令) 中常用的压缩丶解压缩格式命令和参数详解

    Linux中常用的压缩格式后缀名有:①.zip  ②.gz  ③.bz2  ④.tar.gz  ⑤.tar.bz2 ①.zip后缀名格式 1.压缩 语法: ①zip 压缩文件名 源文件 (压缩文件) ...

  7. js和native交互方法浅析

    一.背景 最近接触公司项目,需要和原生app做交互,由此业务需求,开始了学习探索之路. 二.解决方案之WebViewJavascriptBridge 想要和app交互,必须在app上先把bridge进 ...

  8. JavaScript练习2

    今天做了一些JS数组的练习题 一.往数组中插入一个数字 var attr = [1,2,3,4,5,6]; var c = 7; for(var i=0;i<attr.length;i++) { ...

  9. visual core 运行 .net core bug处理

    launch: program 'launch: launch.json must be configured. Change 'program' to the path to the executa ...

  10. 开发高性能JAVA应用程序基础(内存篇)

    虽然Java的垃圾回收和当前高配置的服务器可以让程序员大部分时间忘掉OutOfMemoryError的存在,但是访问量增大后频繁的GC会额外消耗CPU (使用top查看结果为us值高),系统响应速度下 ...