东半球最好的SecureCRT高级教程

东半球最好的SecureCRT的高级教程


搞Linux的用过SCRT的人有很多,但是我发现很少有人能把这个软件用到极致。^_^
我们每天都会在SCRT上敲各种命令,有些命令很长、繁琐、重复,其实好好利用SCRT的一些功能就可以大大的提高效率。

正所谓工欲善其事必先利其器,磨刀不误砍柴工,下面我将给大家说下SCRT的高级教程。

**

1.SecureCRT的常用设置

**
1)快速链接:这个地方可以对常用的会话增加一个桌面快捷方式
东半球最好的SecureCRT高级教程_第1张图片

2)链接后设置会话选项,也就是说下面做的这些设置只针对这个会话有效
东半球最好的SecureCRT高级教程_第2张图片
东半球最好的SecureCRT高级教程_第3张图片
东半球最好的SecureCRT高级教程_第4张图片

东半球最好的SecureCRT高级教程_第5张图片
东半球最好的SecureCRT高级教程_第6张图片
东半球最好的SecureCRT高级教程_第7张图片

东半球最好的SecureCRT高级教程_第8张图片
东半球最好的SecureCRT高级教程_第9张图片

3)最后这个是全局的设置:
东半球最好的SecureCRT高级教程_第10张图片

**

2.其他技巧

**
1)交互窗口:这个功能是打开多个窗口,并且可以对这些窗口同时发送同样的命令。
调出方式是“查看”—“交互窗口”,调出后右键—”发送交互到所有窗口”
东半球最好的SecureCRT高级教程_第11张图片

2)其他快捷键
1. Ctrl+L 或者输入reset可以刷新整个屏幕
2. Ctrl+S 是锁定当前会话窗口的,不小心按到的话,可以按Ctrl+Q解锁
3. Alt+1、Alt+2可以切换窗口

3)按钮栏
调出方法是:“查看”—-“按钮栏”,自己可以右键在上面新建按钮。
这个“Button Bar”可是大杀器啊,你可以把自己常用的命令做成按钮,下次直接点击就可以了,看图
东半球最好的SecureCRT高级教程_第12张图片

比如在登录mysql的时候就可以用到这样的功能。

就这样你可以用一大堆常用的命令把自己的SecureCRT武装起来。
还可以把常用的脚本放上去,至于怎么写脚本,看下节。

**

3.SecureCRT的脚本

**
最早我开始接触SCRT脚本是因为闲着无聊了,发现有个录制脚本的功能,于是就开始录制脚本,保存并开始研究,接着发现这个脚本大有可为,于是开始看用户手册,去官方论坛看别人写的脚本。

其实在安装目录下面的App\VanDyke Clients\Scripts 这个目录下面也有不少自带的脚本,可以研究下。

下面我就分享下几个我写的常用的脚本,因为脚本都比较简单,一看便会,稍微改改就能满足大家自己的要求了,我就不多说了,直接上码。

1.自动登录并输入密码的脚本

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True

' This automatically generated script may need to be
' edited in order to work correctly.
' Time Convert by http://blog.csdn.net/laoshufeifei

Sub Main
    crt.Screen.Send "ssh xx@xxxxcom" & chr(13)
    crt.Screen.WaitForString "[email protected]'s password: "
    crt.Screen.Send "123" & chr(13)
End Sub

或者也可以这样

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True

' Auto Input Password By http://blog.csdn.net/laoshufeifei

Sub Main
    'do while 1
        nResult = crt.Screen.WaitForStrings (_
                                            "[email protected]'s password:",_
                                            "[email protected]'s password:",_
                                            "[email protected]'s password:",_
                                            10)
        If nResult=1 Then
            crt.Screen.Send "mima1" & chr(13)
        ElseIf nResult=2 Then
            crt.Screen.Send "mima2" & chr(13)
        ElseIf nResult=3 Or nResult=4 Or nResult=5  Then
            crt.Screen.Send "1234" & chr(13)
        ElseIf nResult>5 Then
            crt.Screen.Send "123" & chr(13)
        End If

    'loop
End Sub

对于后面这个脚本可以通过快捷键或者按钮栏启动后,然后正常执行跳转、远程拷贝等操作,等屏幕上出现对应的关键字时,就可以发送相应的密码了。

2. 时间戳转换
大家在linux上经常会用到时间戳,但是要想转成直观的时间就比较麻烦了,可以用脚本来解决,选择一个时间戳后,启动该脚本,脚本可以自动获取剪贴板中的数字,自动转成真实时间并显示出来,非常方便。

Python版(推荐):

#$language = "Python"
#$interface = "1.0"
import string
import time

# Time Convert by http://blog.csdn.net/laoshufeifei

def main():
    #crt.Dialog.MessageBox("SecureCRT version is: " + crt.Version)

    #获取当前时间戳
    #Stamp="%d" % time.time()
    #直接运行下面这个命令有错 必须考虑时区的差异
    #Timc="%s" % time.gmtime(Stamp)
    #crt.Dialog.MessageBox(Timc)

    #Clip = crt.Clipboard.Text
    #InTim = crt.Dialog.Prompt("Please Input UnixStamp\n(The Default Text Is From Your Clipboard):", "Time Convert", Clip, False)
    InTim = crt.Clipboard.Text
    if InTim == "":
        return

    InTim = InTim.strip()
    if not InTim.isdigit():
        crt.Dialog.MessageBox("Please Input Digit!")
        return

    Tmp = time.localtime(int(InTim))
    Result = time.strftime('%Y-%m-%d %H:%M:%S %A',Tmp)
    Result = "Unix Stamp:{0}\nTime:{1}".format(InTim, Result)

    crt.Dialog.MessageBox(Result)
main()

或者VBS版:

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True

' Time Convert by http://blog.csdn.net/laoshufeifei

Sub Main
    dim InTime,Output
    InTime=inputbox("请输入要转换的时间戳","时间戳转普通时间")
    InTime=Trim(InTime)
    If IsNumeric(InTime)<>true then
            msgbox("您输入有误!")
            Exit Sub
    end If

    'crt.Screen.Send "echo " & InTime & " | awk '{print strftime (""%F %T"",$0)}'" & chr(13)
    Output=DateAdd("s", InTime, "01/01/1970 08:00:00")
    msgbox(Output)
End Sub

3.大家在遇到乱码的情况的时候需要手动去会话选项中切换“字符编码”,我查了好久的资料终于写了一个脚本,可以在“UTF-8” 、“GB2312”、“GB18030”这几种常用的编码格式中切换。

#$language = "VBScript"
#$interface = "1.0"

crt.Screen.Synchronous = True

' Auto Change Screen Transformer By http://blog.csdn.net/laoshufeifei

Sub Main
        Set curConf = crt.Session.Config
        curForm = curConf.GetOption("Output Transformer Name")
        If curForm = "GB2312" Then
            curConf.SetOption "Output Transformer Name", "UTF-8"
        ElseIf curForm = "UTF-8" Then
            curConf.SetOption "Output Transformer Name", "Default"
        ElseIf curForm = "Default" Then
            curConf.SetOption "Output Transformer Name", "GB2312"
        End If

        'CRT.dialog.messagebox(curConf.GetOption("Output Transformer Name"))
        curConf.Save
        crt.Session.Config.Save

        'Set objDefaultConfig = crt.OpenSessionConfiguration("xxxxx")
        'objDefaultConfig.SetOption "Output Transformer Name", "UTF-8"
        'objDefaultConfig.Save
        'objDefaultConfig.ConnectInTab
        'crt.Session.Connect "xxxxx"
End Sub

我常用的脚本就这些了,欢迎交流,这篇文章就这样了,下篇会分享一些比较实用的Linux命令和脚本。

你可能感兴趣的:(Linux)