如果您是Linux用户,则必须在某个时候开始使用Linux终端。 一些终端命令可能很流行,而另一些则晦涩难懂,但是在许多情况下,通过终端窗口运行命令比通过GUI运行命令容易。
但是,如果您需要一次运行多个命令怎么办? GNU Screen使这样的终端多任务处理变得容易。 让我们开始使用它。
GNU Screen是用于Linux终端的工具,可将一个终端分成多个终端。 这意味着您可以运行一个命令,例如wget下载图像文件,同时切换到运行第二个命令(例如systemctl)来检查S.M.A.R.T. 驱动器的状态。
它允许您在单独的会话中运行类似这样的独立命令,可以随意连接和断开连接。
它不仅对您自己的PC有用,还对您的PC有用。 如果要管理远程服务器,这几乎是必不可少的。 如果您通过SSH在服务器上运行命令,那么断开连接会怎样? 该命令可能仍在运行,但是您将无法轻松对其进行监视或与之交互。
屏幕为您解决了该问题。 如果失去连接,您可以重新连接到Screen会话,也可以断开它的连接并使其在后台运行,直到需要再次访问它为止。
屏幕不是大多数Linux发行版都附带的,但是由于它早于Linux,因此受到了很好的支持。
如果要将其安装在基于Ubuntu或Debian的发行版上,请运行以下命令:
类似地,如果您正在运行Arch,请打开Shell窗口并运行:
sudo pacman -Syusudo pacman -S屏幕如果您正在使用Fedora,请改为运行以下命令:
sudo yum更新udo yum安装屏幕启动屏幕会话启动屏幕会话很简单。 打开终端,或建立SSH连接,然后键入屏幕。 您将看到“屏幕介绍”窗口; 按空格键或您的Enter键将其关闭。
完成后,终端屏幕将恢复正常。 没有明显的迹象表明您正在运行Screen会话,但是从现在开始运行的每个命令都将在一个会话中运行,您现在可以随意分离并重新附加该会话。
如果您打算再次使用它,您将想知道如何与Screen会话连接和断开连接。 如果您已经处于“屏幕”会话中,请按Ctrl + A,然后按字母d(小写)。
该会话及其内部当前正在运行的所有命令将分离以在后台运行,以备稍后重新连接。 假设您只有一个正在运行的Screen会话,请键入:
屏幕-r这将重新连接您的会话并允许您继续。 如果您需要强制远程分离会话,然后自己重新连接到该会话,请键入:
screen -rd您可以运行多个Screen会话。 如果要重新连接到特定会话,则需要找出会话进程ID号。 键入screen -ls或screen -r列出它们。
如上图所示,在每个会话开始时,键入screen -r和初始ID号。 例如:
屏幕-r 25407如果要关闭会话并取消其中的任何正在运行的命令,请重新连接到该会话并键入exit。
对于想要从中获得最大收益的用户来说,Screen有很多技巧。 以下是一些最常用的终端命令,您可以记住。
像所有好的终端程序一样,Screen拥有键盘快捷键供您使用。 您已经使用Ctrl + A和d来分离现有屏幕。
如果要查看其余部分,只需键入Ctrl + A,然后输入?。 列出您可以使用的清单。
您无需在会话之间切换即可运行命令。 您还可以在一个会话中在窗口之间切换。
要在会话中创建一个新窗口,请按Ctrl + A,然后按c(小写)以创建一个新窗口。 您的第一个窗口从数字0开始,下一个窗口从1开始,依此类推。
按Ctrl + A,然后过滤数字0-9。 要列出每个会话,请使用Ctrl + A,然后使用w(小写)查看具有一位ID的会话列表。
随机生成的ID很难记住。 给您的会话起个名字可能会使事情变得容易。 如果要使用名称启动会话,请键入:
屏幕-S examplename如果要通过名称重新连接到此会话,请键入:
屏幕-X examplename共享屏幕会话想与同事或朋友共享终端会话吗? 多亏了Screen,您可以做到。 类型:
屏幕-rx您只需加入它,而不是分离当前连接到该会话的任何人。 其他用户将看到您键入的内容和运行的命令。 您也可以观看其他用户(如果他们也这样做的话)。
出于维护或审核的原因,您可能需要将屏幕输出记录到文件中。 为此,请键入:
screen -LA会话将以登录到主目录中名称为screenlog.x(其中X为数字,从零开始)的文件开始的功能。 要在会话中启动日志,请键入Ctrl + A,然后按H(Shift + h)。
如果要保护屏幕会话,则可以使用现有的Linux密码锁定该会话。
在当前重新连接会话时,请按Ctrl + A,然后按x(小写)以锁定会话。
这会将其锁定在您当前的终端窗口中。 输入您的帐户密码以解锁。
感谢GNU Screen,您不必担心等待终端命令完成。 如果您想控制远程服务器,它很有用,但是如果您需要从一个窗口运行多个命令,它对于家庭PC也是一个很好的工具。
它是系统管理员的理想工具。 但是,这不是Linux终端工具箱的唯一命令,这就是为什么您应该将此重要的Linux命令备忘单标记为书签Linux命令参考备忘单Linux命令参考备忘单这个简单的备忘单将帮助您熟悉Linux命令行 终端机。了解更多。
探索有关以下内容的更多信息:GNU屏幕,多任务处理,终端。