Linux下screen命令使用及示例

screen 是一个非常有用的命令,提供从单个 SSH 会话中使用多个 shell 窗口(会话)的能力。当会话被分离或网络中断时,screen 会话中启动的进程仍将运行,你可以随时重新连接到 screen 会话。如果你想运行一个持久的进程或者从多个位置连接到 shell 会话,这也很方便。

在本文中,我们将展示在 Linux 上安装和使用 screen 的基本知识。

如何安装 screen

screen 在一些流行的发行版上已经预安装了。你可以使用下面的命令检查是否已经在你的服务器上安装了。

 
  
  1. screen -v 
  2. Screen version 4.00.03 (FAU)  

如果在 Linux 中还没有 screen,你可以使用系统提供的包管理器很简单地安装它。

CentOS/RedHat/Fedora

 
  
  1. yum -y install screen 

Ubuntu/Debian

 
  
  1. apt-get -y install screen 

如何启动一个 screen 会话

你可以在命令行中输入 screen 来启动它,接着会有一个看上去和命令行提示符一样的 screen 会话启动。

 
  
  1. screen 

使用描述性名称启动屏幕会话是一个很好的做法,这样你可以轻松地记住会话中正在运行的进程。要使用会话名称创建新会话,请运行以下命令:

 
  
  1. screen -S name 

将 “name” 替换为对你会话有意义的名字。

从 screen 会话中分离

要从当前的 screen 会话中分离,你可以按下 Ctrl-A 和 d。所有的 screen 会话仍将是活跃的,你之后可以随时重新连接。

重新连接到 screen 会话

如果你从一个会话分离,或者由于某些原因你的连接被中断了,你可以使用下面的命令重新连接:

 
  
  1. screen -r 

如果你有多个 screen 会话,你可以用 ls 参数列出它们。

 
  
  1. screen -ls 
  2.  
  3. There are screens on
  4. 7880.session    (Detached) 
  5. 7934.session2   (Detached) 
  6. 7907.session1   (Detached) 
  7. 3 Sockets in /var/run/screen/S-root.  

在我们的例子中,我们有三个活跃的 screen 会话。因此,如果你想要还原 “session2” 会话,你可以执行:

 
  
  1. screen -r 7934 

或者使用 screen 名称。

 
  
  1. screen -r -S session2 

中止 screen 会话

有几种方法来中止 screen 会话。你可以按下 Ctrl+d,或者在命令行中使用 exit 命令。

要查看 screen 命令所有有用的功能,你可以查看 screen 的 man 手册。

 
  
  1. man screen 
  2.  
  3. NAME 
  4. screen - screen manager with VT100/ANSI terminal emulation 
  5.  
  6. SYNOPSIS 
  7. screen [ -options ] [ cmd [ args ] ] 
  8. screen -r [[pid.]tty[.host]] 
  9. screen -r sessionowner/[[pid.]tty[.host]]  

顺便说一下,如果你喜欢这篇文章,请在社交网络上与你的朋友分享,或者在评论区留下评论。谢谢。






作者:rosehosting.com
来源:51CTO
### Linux `screen` 命令的功能与使用方法 #### 功能概述 `screen` 是一个全屏窗口管理器,能够在一个物理终端上复用多个进程(通常是交互式 shell)。每个虚拟终端提供了 DEC VT100 终端的功能,并支持 ISO 6429(ECMA 48, ANSI X3.64)和 ISO 2022 标准中的控制功能,例如插入/删除行以及对多种字符集的支持[^2]。此外,每个虚拟终端还具有滚动历史缓冲区和复制粘贴机制,允许在不同窗口之间移动文本区域。 #### 安装方法 在大多数 Linux 发行版中,`screen` 包含在默认的软件库中。可以通过以下命令安装: - **Debian/Ubuntu**: ```bash sudo apt-get install screen ``` - **Red Hat/CentOS**: ```bash sudo yum install screen ``` - **Fedora**: ```bash sudo dnf install screen ``` - **Arch Linux**: ```bash sudo pacman -S screen ``` #### 启动 `screen` 启动 `screen` 的基本命令为: ```bash screen ``` 这将创建一个新的会话并进入交互模式。如果需要指定会话名称,可以使用 `-S` 参数: ```bash screen -S session_name ``` #### 分屏功能 `screen` 支持分屏操作,但有时用户可能会遇到分屏后无法输入命令的问题。这通常是因为快捷键未正确配置或终端设置存在问题。确保使用正确的快捷键组合来切换和操作分屏窗口[^3]。 - 创建垂直分屏: ```bash Ctrl + a | ``` - 创建水平分屏: ```bash Ctrl + a S ``` - 切换分屏窗口: ```bash Ctrl + a Tab ``` #### 实践示例 以下是一个持续输出时间戳的脚本示例,并将其运行在一个 `screen` 窗口中。 1. 编写脚本 `test.sh`: ```bash #!/bin/bash while true do echo "输出`date +%F-%T`" sleep 10 done ``` 2. 创建并进入一个 `screen` 窗口: ```bash screen -S timestamp ``` 3. 在窗口中运行脚本: ```bash bash test.sh ``` #### 其他常用命令 - 列出所有会话: ```bash screen -ls ``` - 恢复已断开的会话: ```bash screen -r session_name ``` - 强制恢复被占用的会话: ```bash screen -d -r session_name ``` #### 注意事项 如果在分屏时遇到无法输入命令的情况,可以尝试重新加载 `screen` 配置文件或检查终端类型设置是否正确[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值