LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1665|回复: 3

没有SecureCRT for linux的权宜之计

[复制链接]
发表于 2009-9-27 18:03:14 | 显示全部楼层 |阅读模式
参考: http://www.linux.com/archive/articles/53729

       昨天在十多台服务器上生成了大篇文本,然后一一下载到自己的笔记本上,同事问为什么不直接在本机记录下来——这是securecrt的基本功能,可是我在linux没有找到替代的方式。
      今天花了半天的时间查找一个可以在linux下使用的类似于SecureCRT的软件,最接近的是putty,可是它要自行打开一个xterm而不是我本来的xfce4-terminal,而且在本来有终端的情况下去寻求另外的终端也是一件怪异的事情。
       忙了一个下午,最后还是决定在shell里面用script来作,感谢网络的方便,感谢前人的贡献。

script是一个执行程序,执行以后终端里面的所有显示都将会被自动记录下来,直到执行exit,比如,我的ip是172.16.20.47,登录到服务器172.16.20.14上面去读取一些系统的配置文件,先执行script然后在用ssh登录服务器,此后一切都会记录在本机的cs.log文件里面:

$ script cs.log
Script started, file is cs.log
$ ssh root@172.16.20.14
Last login: Mon Sep 28 00:56:53 2009 from 172.16.20.47
# ifconfig
eth0      Link encap:Ethernet  HWaddr
          inet addr:172.16.20.14  Bcast:172.16.20.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:76ff:fe16:447b/64 Scopeink
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:584729 errors:0 dropped:0 overruns:0 frame:0
          TX packets:216460 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:464448149 (442.9 MiB)  TX bytes:39043622 (37.2 MiB)
          Interrupt:225

lo        Link encapocal Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3831 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3831 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:561571 (548.4 KiB)  TX bytes:561571 (548.4 KiB)

退出服务器后执行exit
$ exit
exit
Script done, file is cs.log
可以看到文件cs.log记录结束,不过现在还没有完,因为这个文件里面有很多控制符,需要作修改。

里面的^H^M^G的很多,这里有一个在vi里面去掉它们的办法:
[HTML]
:%g/^[/s///g
:%g/^G/s///g
:%g/^M/s///g
:%g/^H/s///g
[/HTML]
执行上面几个命令后,文本的正题部分看起来就很标准了,注意^H^M^H^[的输入方式不是用shift+数字而是用ctrl,比如^H就是ctrl+v+h,^M就是ctrl+v+m,^[是ctrl+v+[

最后据说不用vi修改,用一条命令就可以达到效果 col -fx ,可是我执行后总是被告知
usage: col [-bfhpx] [-l nline]
发表于 2009-9-28 11:39:05 | 显示全部楼层
在 screen 里用 ssh 登录到服务器, screen 可以 log,不知道是否满足你的要求
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-28 17:51:33 | 显示全部楼层
谢谢,现在才知道screen,试了一下,发现screen也记录了控制符,不过比script少些,看起来清爽一些。
回复 支持 反对

使用道具 举报

发表于 2009-9-29 05:27:41 | 显示全部楼层
我这里没有其他的控制符,只有console输出的颜色控制符,只要在log之前把颜色关掉就可以了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表