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. linux上配置bochs,搭建基于X86架构操作系统的开发环境

    学习操作系统最好的方法就是自己编写新的操作系统,或者修改已有的操作系统.但是如果在真机上完成这个过程,调试会成为一个很大的问题.利用虚拟机来完成,可以使调试过程变得简单,而且能节约很多开关机的时间. ...

  2. MVC异步加载学习笔记

    一.普通的异步请求 1.View层 <input type="text" id="Name" value="" placeholder ...

  3. vue中的checkbox全选和反选

    前几天有个博客园的朋友问小颖,小颖之前写的vue2.0在table中实现全选和反选  .Vue.js实现checkbox的全选和反选,为什么他将里面的js复制下来,但是实现不了全选和反选.小颖当时看他 ...

  4. Two Sum(两个数的相加)

    2017.11.10题目描述:Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, retur ...

  5. 【iOS】控件截图、MP4格式视频流和m3u8格式视频流截取某一帧功能的实现

    最近开发遇到一个点击按钮实现直播视频流截屏的功能,去网上查了一下资料,总结了一下iOS中截屏相关的知识,然后自己做了个demo. demo主要实现了3种截屏方法,分别对应三种不同的应用场景. 1.im ...

  6. 从头开始基于Maven搭建SpringMVC+Mybatis项目(4)

    接上文内容,上一节中的示例中完成了支持分页的商品列表查询功能,不过我们的目标是打造一个商品管理后台,本节中还需要补充添加.修改.删除商品的功能,这些功能依靠Mybatis操作数据库,并通过Spring ...

  7. cs231n spring 2017 Python/Numpy基础 (1)

    本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3. 1. 基本数据类型:可以用 prin ...

  8. HUST 1588 辗转数对

    1588 - 辗转数对 时间限制:1秒 内存限制:128兆 155 次提交 27 次通过 题目描述 假设当前有一个数对(a, b),我们可以通过一步将这个数对变为一个新数对(a + b, b)或者是( ...

  9. isdigit函数

    isdigit是计算机应用C语言中的一个函数,主要用于检查参数c是否为阿拉伯数字0到9. 相关函数 isdigit 表头文件 #include <ctype.h>(C语言),#includ ...

  10. [51nod1206]Picture

    给你一坨矩形,问这些矩形组成的所有多边形的周长之和. 分别求竖着的边和横着的边. 离散化后线段树,维护当前行(或者列)有多少没在多边形里的,添加矩形就变成添加.删除线段. 每次加线段或删线段时累加一下 ...