Linux下screen命令的学习记录

最近在linux服务器上跑代码,为了防止因为ssh连接断开导致程序中断,了解了screen和jupyter lab。下面是学习screen的一些记录。

安装

sudo apt install screen

基本操作

  • 创建名为s1的screen,你可以把s1换成任何你想要的名字。
screen -S s1
  • 列出所有的screen,显示的格式为<pid>.sockname,pid是系统分配的数字,sockname就是用户起的名字,比如前面我起的s1
screen -ls
  • 与当前的screen分离(detach)
screen -d
  • 重新连接screen
screen -r s1
  • 退出当前的screen
exit
  • 连接到未分离的screen,可以用于多用户同步显示
screen -x s1

快捷键

所有的快捷键都要先按Ctrl+a,再按对应的按键。
连接screen后可以使用快捷键。
下面Ctrl+a都简写为^A^就是指按下Ctrl再加上一个别的按键。

  • ^A ?,即先按下Ctrl+a,松开后再输入?,注意是英文状态。查看所有的快捷键信息。
  • ^A c^A ^C,在当前screen下新建窗口(window)。
  • ^A ^N, ^A n, ^A sp, (sp即空格键,n是next的意思),切换当前screen内的下一个窗口。
  • ^A ^H, ^A ^P, ^A p, (p是previous的意思),切换当前screen内的前一个窗口。
  • ^A ^D, ^A d, 使当前的screen分离(detached),回到原来的终端,对应前面的screen -d
  • ^A ^W, ^A w, 列出当前screen下所有的windows,每个window都是序号+名字
  • ^A N, 显示当前window的序号。
  • ^A 数字键, 显示对应序号的window。
  • ^A ^X, ^A x, 锁定screen,要用用户密码解锁。
  • ^A k, ^A K, 即kill,关闭当前的window,当window全部关闭后,当前screen退出,效果和在window里输入exit一样。
  • ^A \, 关闭当前screen和所有的window。

实际体验时遇到的一些情况

  • 开启多个screen后不知道自己当前是哪个screen,建议只开一个screen,然后开多个window。
  • 可以创建重名(sockname相同)的screen,此时无法用sockname连接,系统会提示你有多个可选择的对象,只能用screen -r <pid>即对应的pid号来连接(不要输入中括号)。
  • 使用screen -S s1,创建名为s1的screen后,再用s1的pid作为名字(sockname)创建新的screen,即此时s1的pid和第二个screen的sockname相同。例如有两个screen:12345.s1和56789.12345,那使用screen -r 12345会打开哪个screen呢?经过测试,系统会和前面一样,提醒你有多个可选择的对象,你可以选择screen -r s1screen -r 56789来避免冲突,也可以采用完整的screen -r <pid>.sockname来打开想要的screen。

所有的快捷键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值