使用 GNU Screen 就可以了。screen 可以在一个控制台(如Xshell、secureCRT) 登录 shell 中创建和管理多个 shell 窗口。可以从一个 shell 窗口迅速切换到另一个窗口,最重要的是一天的工作完了之后,不必退出这n多shell窗口,而只是将它们detach,然后退出登录,下次登录的时候可以使用screen重新恢复上次连接的多个窗口。可以理解为是一个虚拟的远程主机,假如有一批服务开启了,如果你退出再次登录,他们都还在运行。
安装就不说了,配置会在后面说,先说下几个简单实用的命令吧,详细的命令man一下吧。
screen:第一次使用的时候,输入screen,即新建了一个session,然后默认有一个shell窗口,下面会有状态栏显示窗口的名称,通常是“0 bash”。
ctra a + A:假如你想重命名这个窗口,按ctra a,然后A,就可以重命名
ctrl a + c:新建窗口
screen -t name:新建名字为name的窗口
ctrl a + n or p:切换窗口,n next,p previous
ctrl a + ":列出所有的窗口,也可以在状态栏观察到
screen -S name:新建一个session 名字为name
ctra a + d:使得当前的session detached,这个是很重要的一个命令,这个命令使得你临时退出了该session,而下次可以进行重新连接
screen -ls:想进行重新连接的时候,你需要知道你的screen session是哪一个,然后使用screen -r id命令,ls列出了所有的screen session的id,当然假如你使用screen -S name创建的session的话,会有一个名字,更便于记忆
screen -r id/name:重新连接screen session id/name,即恢复访问你之前打开的诸多窗口
exit:退出当前的窗口
ctrl a + K:kill当前窗口
这些命令目前对于我来说已经足够了,然后来说说配置,默认的screen的配置是无法在状态栏上显示所有的窗口的,只能显示当前窗口的状态,当然你可以用列表的方式,或者切换来访问其他的窗口。其实可以展示成类似标签的更好的方式,即可以使用状态栏在视觉上进一步区分各个窗口。启动您喜欢的文本编辑器,在主目录中创建包含以下代码的 .screenrc 文件:
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a
然后每个新窗口就会显示在状态栏,包含编号和名称,如“0 econsh”。
刚刚开始使用screen,虽然只是菜鸟级别,但是确实是个
参考资料:
对话 UNIX: 使用 Screen 创建并管理多个 shell
linux 技巧:使用 screen 管理你的远程会话
linux下的screen工具配置(针对 string escape)
No comments:
Post a Comment