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. Git Workflow简介

    1. Git WorkFlow介绍 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git进行源代码管理时的一套行为 ...

  2. 在阿里云 ECS 搭建 nginx https nodejs 环境(二、https)

    在阿里云 ECS 搭建 nginx https nodejs 环境(二) 这次主要内容是 如何在 ubuntu 的nginx 下配置 二级域名. 一. 域名解析 首先你需要去到你的 域名服务商那边 进 ...

  3. ionic3 笔记

    ionic3的常用命令: //新建项目.ionic start ionic_tab tabs // 新建页面ionic g page NewPage// 查看usb链接的手机adb devices c ...

  4. python3函数

    一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...

  5. 【.Net边角料系列】1-单例模式(我真不是你想的那样)

    什么事边角料? 边角料就是你编程的时候,很少能够用上,或者说你压根就不知道得东西,我就称这些东西为边角料.这个叫.net边角料可能有点大,其实这个系列是纯粹的C#边角料系列. 为什么写.net边角料呢 ...

  6. [转]scp用法

    从本地复制到远程 复制目录命令格式: scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folde ...

  7. html页面的音频问题

    导火线 : 负责了项目中的话务间模块,处理音频出了一点问题 之前的处理 : //循环播放声音 var dialAudioDocument = document.createElement('audio ...

  8. Google学术搜索镜像网站搜集

    Google学术搜索镜像网站: http://scholar.glgoo.com/ https://xie.lu/ https://g.wen.lu/ http://www.gfsoso.com/sc ...

  9. CSS基础之盒子模型及浮动布局

    盒模型 谈到盒模型,有经验的小伙伴一定滚瓜烂熟,无非就是 内容(content).填充(padding).边框(border).边界(margin): 这些属性我们可以把它转移到我们日常生活中的盒子( ...

  10. Spring学习日志之Spring Security配置

    依赖引入 <dependency> <groupId>org.springframework.security</groupId> <artifactId&g ...