本文要介绍如何使用 Screen 命令来操作 Linux 命令行,让工作更有效率。
我想,很多同学在使用 Linux 命令行都会有以下这些的需求或者是困惑:
- 如何让一个程序后台运行?
- 程序后台运行,但是我还想偶尔来看一下程序运行的进度,该怎么弄呢?
- 这个要运行的程序并不是我自己写的,我无法通过修改代码来实现后台运行,并把进度输出到日志文件,该怎么办呢?
- 要是有一款能够像图形化可以让程序运行在 Terminal 终端中,我想看的时候解锁一下屏幕就好了。
以上这些困惑也是笔者经常遇到的一个问题,今天就来跟大家介绍一下一个 Linux 命令行下非常好用的一个工具 —— screen.
0x00 简介
Screen 是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen 可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。
0x01 常见用法
笔者最常用的用法就是:创建一个screen会话,并在会话中执行程序,通过Ctrl+A D将会话挂在后台运行,需要查看程序运行进度时候通过 screen -r {session_name}
命令恢复会话进行查看即可。
下面我们就来讲讲这个过程中我们所用到的命令:
screen -S {session_name}
创建一个 screen 会话,需要指定会话名称。比如:screen -S c9
screen -r {session_name}
恢复后台运行的 screen 会话。screen -list
或者screen -ls
列出当前所有的会话列表。
注:在 screen 会话中,通过 Ctrl+A D 快捷键可以将会话分离至后台运行。
以上者三个命令我相信已经够大部分同学使用了。