linux 命令行 多任务,如何在Linux终端上使用screen命令进行多任务处理

c04e21ff916888ec269389467abd2d46.png

如果您是Linux用户,那么您将不得不在某个时候开始使用Linux终端。有些终端命令可能很流行,有些则模糊不清,但在很多情况下,通过终端窗口运行命令比通过GUI运行命令更容易。

但是如果你需要一次运行几个命令会发生什么?GNU Screen使终端多任务处理变得如此简单; 让我们开始使用它。

什么是GNU screen?

GNU Screen是Linux终端的一个工具,它将一个终端分成几个终端。这意味着您可以运行一个命令,例如wget下载图像文件,同时切换到运行一秒,例如   systemctl,检查驱动器的S.M.A.R.T状态。

它允许您在单独的会话中运行这些独立的命令,您可以随意连接和断开连接。

它不仅对您自己的电脑有用; 如果您正在管理远程服务器,这几乎是必不可少的。如果您通过SSH在服务器上运行命令,在断开连接时会发生什么?该命令可能仍在运行,但您将无法轻松监视或与之交互。

screen为您处理该问题。如果您失去连接,或者中断连接,screen仍在后台继续运行直到您需要再次访问它为止,您仍可以重新连接到screen会话。如何安装screenc04e21ff916888ec269389467abd2d46.png

大多数Linux发行版都没有screen,但是因为它早于Linux,所以它具有很好的支持。

如果要在基于Ubuntu或Debian的发行版上安装它,请运行以下命令:

sudo apt-get update

sudo apt-get install screen

同样,如果您正在运行Arch,请打开shell窗口并运行:

sudo pacman -Syu

sudo pacman -S screen

如果您正在使用Fedora,请改为运行:

sudo yum update

sudo yum install screen

开始screen会话开始screen会话很简单。打开终端,或建立SSH连接,然后输入   screen。你会看到屏幕介绍窗口,点击空格或回车键可以关闭它。

fce62c7ed90ac2ed668ec28f4f4496f7.png一旦你点击空格或回车键,终端屏幕将恢复正常。没有明显的迹象表明你正在运行一个屏幕会话,但是从这一点开始运行的每个命令,都将在你现在可以分离并随意重新连接的会话中运行。查看和分离屏幕如果您打算再次使用它,您将想知道如何连接和断开屏幕会话。如果您已经在屏幕会话中,请按Ctrl + A, 然后按字母d(小写)。

当前正在运行的会话和命令分离后,将继续在后台运行,以备稍后重新连接。假设您只有一个正在运行的Screen会话,请输入:

screen -r

这将重新连接您的会话。如果您需要远程强制分离会话,想自己重新连接,请输入:

screen -rd

您可以运行多个屏幕会话。如果要重新连接到特定会话,则需要查找会话进程ID号。输入screen -ls 或   screen -r 列出它们。83b4809c007e8a52d39d0e8424c5b77c.png

如上图所示,输入   screen -r 后跟每个会话开始时的初始ID号。例如:

screen -r 25407

如果要关闭会话并取消其中的任何正在运行的命令,请重新连接并输入exit。

要记住的其他屏幕终端命令

对于想要充分利用它的用户来说,Screen有一些技巧。以下是一些最常见的终端命令供您记住。列表屏幕键盘快捷键像所有好的终端程序一样,Screen有键盘快捷键供您使用。你已经使用了一个,Ctrl + A和   d来分离现有的屏幕。

如果你想看到其余部分,只需输入   Ctrl + A,然后输入   ?给你一个可以使用的列表。在会话窗口之间的创建和切换为了运行命令,您无需在会话之间切换; 你也可以在一个会话中切换窗口。2db4c606a7ac5e420e6be8e15ed0673d.png

要在会话中创建新窗口,请按Ctrl + A,然后按   c (小写),创建新窗口。你的第一个窗口从0开始   ,你的下一个窗口   1,等等。

击中Ctrl + A键,然后通过数字0-9进行过滤。要列出每个,请使用   Ctrl + A 然后使用   w(小写)查看具有一位数ID的会话列表。使用名称创建会话随机生成的ID很难记住; 重命名会话会使事情变得更容易。如果要使用名称启动会话,请输入:

screen -S examplename

如果要按名称重新连接到此会话,请输入:

screen -X examplename

分享屏幕会话

想与同事或朋友分享终端会话?感谢Screen,你可以输入:

screen -rx

您只需加入它,不需要与当前连接到此会话的任何人进行分离,其他用户将看到您输入的内容和您运行的命令; 如果他们也这样做,你也可以看到其他用户。将屏幕输出记录到文件出于维护或审核原因,您可能需要将屏幕输出记录到文件中。为此,请输入:

screen -L

会话将能够在主目录中以 screenlog.x(其中X是数字,从零开始)的文件名开始记录。要在会话中启动日志,请输入Ctrl + A,然后输入   H(Shift + h)。锁定屏幕会话如果要保护屏幕会话,可以使用现有Linux密码锁定会话。

输入   Ctrl + A后跟   x(小写),锁定当前连接的会话。0eeacfc0560fd1fc209a204ff049413a.png

这将锁定在您当前的终端窗口中; 输入您的帐户密码即可解锁。终端多任务处理不能简单感谢GNU Screen,您不必担心等待终端命令完成。如果您希望控制远程服务器,它会很有用,但如果您需要从一个窗口运行多个命令,它也是家用电脑的绝佳工具。

它是系统管理员的完美工具。然而,这不是Linux终端工具箱的唯一命令,这就是为什么你应该将这个重要Linux命令的备忘录加入书签的原因   。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值