问 题场景:要在服务器上配置环境,但是我的电脑无法直接连到服务器上,通常要经过好几次ssh跳转。配环境需要设置好几个用户,这自然需要同时打开好几个连 接服务器的终端窗口,每个连接到服务器的终端窗口都要经过好几次ssh才能连接,不胜其烦。中转的电脑没有root权限,不能用iptables等工具设 置端口映射。
解决方法:在从我电脑起的下一跳电脑上使用screen创建好几个session窗口,每次连接到下一跳电脑上就可以直接进行配置环境的操作。
screen用法:
对一个事物最基本的操作就是增删改,用于screen就是掌握以下几种基本的操作:
- 如何创建一个新的session;
- 如何进入一个已经创建的session;
- 如何从一个已经创建的sesion退出而不销毁这个session;
- 如何销毁一个session;
- 如何修改一个session;
- 如何查询当前有多少个session
现在总结操作:
如何查询当前有多少个session:
[whb@jcwkyl misc]$ screen -ls
There are screens on:
3708.pts-1.jcwkyl (Detached)
3863.pts-1.jcwkyl (Detached)
3915.lxi (Attached)
3 Sockets in /var/run/screen/S-whb.
如何创建一个新的session:
[whb@jcwkyl misc]$ screen -S whb_login
其中-S参数表示为session指定一个名称,这样在查询的时候更容易知道应该连接到哪个session。
如何从一个已经创建的session中退出:
同时按下ctrl a两个键,松开后按下d。
[whb@jcwkyl misc]$ screen -ls
There are screens on:
3708.pts-1.jcwkyl (Detached)
3863.pts-1.jcwkyl (Detached)
3915.lxi (Attached)
4021.whb_login (Detached)
4 Sockets in /var/run/screen/S-whb.
如何进入一个已经创建的session:
[whb@jcwkyl misc]$ screen -r 3863
其中3863是进程pid,在screen -ls命令中显示出来的第一个域。
一个有用的选项是-x,它可以进入一个已经attach过的session。
[whb@jcwkyl misc]$ screen -ls
There are screens on:
3708.pts-1.jcwkyl (Detached)
3915.lxi (Attached)
4021.whb_login (Detached)
3 Sockets in /var/run/screen/S-whb.
[whb@jcwkyl misc]$ screen -x 3915
如何销毁一个session:
kill掉这个进程就可以
[whb@jcwkyl misc]$ kill 3863
[whb@jcwkyl misc]$ screen -ls
There are screens on:
3708.pts-1.jcwkyl (Detached)
3915.lxi (Attached)
4021.whb_login (Detached)
3 Sockets in /var/run/screen/S-whb.
如何修改一个session:
可以看session的帮助,
[whb@jcwkyl misc]$ man session
或者进入一个session以后,同时按下ctrl a,再按下?键。
---------------------------------------------------------------------------------
Screen
Installing:
in Ubuntu:
sudo apt-get install screen
in Gentoo:
sudo emerge app-misc/screen
Running:
sudo screen /dev/ttyUSB0 115200 8n1
Quitting screen: Ctrl-a k
参考文章===>http://wiki.eluaproject.net/Terminal%20Emulators%20for%20eLua