screen命令的使用

    平常开一个putty远程登录,经常需要在两个程序之间来回切换,怎么办?ctrl-z和fg、bg?这些太麻烦了。其实我们可以借助linux下的screen命令来实现轻松便捷的切换。

 

————————————————————————————————————

 

screen 命令的package 是screen.i386,如果系统内没有安装,可以用yum进行安装后再使用。
1. yum查找当前的系统使用的screen包
[root@excast82 ~]# yum list screen
Installed Packages
screen.i386                              4.0.3-1.el5            installed       
Available Packages
screen.i386                              4.0.3-1.el5_4.1        updates        

2. 用yum安装screen包
yum install screen*

3. screen 作用
Screen可以使用一个终端窗口处理多个服务器进程的操作,并且不会使操作中断。例如我们需要运行一个case很久,但是又要关闭这个终端窗口或者关闭终端的机器;那么用screen可以解决这个问题。我们用终端登录到server上,然后启动一个screen终端窗口,运行case,退出screen窗口,退出终端。下次我们再次进入screen窗口时,还可以看到上次进入的时启动的case的运行状态,就像是窗口一直没有关闭一样。

4. 经常用的 screen 命令


一般情况下,都需要我们用Screen命令下创建多个段,每个段中再创建多个窗口。

screen -S session名:创建一个新的段
screen -r session名:重新登录一个段

screen -ls :查看所有的段

进入段后,使用Ctrl+A  * 对段进行操作:

Ctrl+A  d 退出当前的段

Ctrl+A  c -> Create,开启新的 window
Ctrl+A  n -> Next,切换到下个 window
Ctrl+A  p -> Previous,前一个 window
Ctrl+A  Ctrl+A  -> Other,在两个 window 间切换
Ctrl+A  w -> Windows,列出已开启的 windows 有那些
Ctrl+A  0...9 -> 切换到第 0 ...9个 window
Ctrl+A  a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首
Ctrl+A  t -> Time,显示当前时间,和系统的 load
Ctrl+A  K(大写) -> kill window,强行关闭当前的 window
Ctrl+A  [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、
复制就像用使用 vi 一样
Ctrl-b Backward,PageUp
Ctrl-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上
C-a ? -> Help,显示简单说明
C-a d -> detach,将目前的 screen session (可能含有多个 windows)

5. screen 各个参数

[sherry@docomo6 ~]$ screen -help
Use: screen [-opts] [cmd [args]]
 or: screen -r [host.tty]

Options:
-a            Force all capabilities into each window's termcap.
-A -[r|R]     Adapt all windows to the new display width & height.
-c file       Read configuration file instead of '.screenrc'.
-d (-r)       Detach the elsewhere running screen (and reattach here).
-dmS name     Start as daemon: Screen session in detached mode.
-D (-r)       Detach and logout remote (and reattach here).
-D -RR        Do whatever is needed to get a screen session.
-e xy         Change command characters.
-f            Flow control on, -fn = off, -fa = auto.
-h lines      Set the size of the scrollback history buffer.
-i            Interrupt output sooner when flow control is on.
-l            Login mode on (update /var/run/utmp), -ln = off.
-list         or -ls. Do nothing, just list our SockDir.
-L            Turn on output logging.
-m            ignore $STY variable, do create a new screen session.
-O            Choose optimal output rather than exact vt100 emulation.
-p window     Preselect the named window if it exists.
-q            Quiet startup. Exits with non-zero return code if unsuccessful.
-r            Reattach to a detached screen process.
-R            Reattach if possible, otherwise start a new session.
-s shell      Shell to execute rather than $SHELL.
-S sockname   Name this session <pid>.sockname instead of <pid>.<tty>.<host>.
-t title      Set title. (window's name).
-T term       Use term as $TERM for windows, rather than "screen".
-U            Tell screen to use UTF-8 encoding.
-v            Print "Screen version 4.00.02 (FAU) 5-Dec-03".
-wipe         Do nothing, just clean up SockDir.
-x            Attach to a not detached screen. (Multi display mode).
-X            Execute <cmd> as a screen command in the specified session.

Screen 原理可以看考文章:http://blog.csdn.net/qingflyer/archive/2010/09/24/5902788.aspx

 

你可能感兴趣的:(windows,session,command,远程登录,终端,output)