top命令简介
top命令是一种常用的 Linux 实时性能监控工具,可以显示系统资源使用情况和进程信息,可以帮助用户了解当前系统的运行状态。
参考文档:
经常遇到的一个需求,是需要Linux后台运行脚本或程序。对于这个需求,有两个最常用的工具:nohup和screen。
nohup - run a command immune to hangups, with output to a non-tty
screen - screen manager with VT100/ANSI terminal emulation
nohup启动一个后台进程,进程的输出输出到非终端。
screen可以在终端中创建和管理多个子终端窗口,通过在子终端窗口中运行程序,实现后台运行的效果。
这两个工具能够实现的功能基本相同。本文中,我们就来学习一下这两个工具的使用方法。
顺便说一下,TTY是电传打字机的缩写,后来发展为虚拟的电子TTY,也就是我们现在说的终端模拟器(terminal emulator)。
参考文档:
1 | #!/bin/sh |
Shell 是什么?
Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。
具体来说,Shell 这个词有多种含义。
首先,Shell 是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(command line interface,简写为 CLI)。Shell 接收到用户输入的命令,将命令送入操作系统执行,并将结果返回给用户。
其次,Shell 是一个命令解释器,解释用户输入的命令。它支持变量、条件判断、循环操作等语法,所以用户可以用 Shell 命令写出各种小程序,又称为脚本(script)。这些脚本都通过 Shell 的解释执行,而不通过编译。
最后,Shell 是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。
对于用户来说,Shell是最重要的实用程序,深入了解和熟练掌握Shell的特性极其使用方法,是用好Unix/Linux系统的关键。可以说,Shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度。
Shell 有两种执行命令的方式:
交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
批处理(Batch):用户事先写一个Shell脚本,其中有很多条命令,让Shell一次把这些命令执行完。
Shell脚本是解释型语言,不需要编译。Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。
Unix/Linux 上常见的 Shell 脚本解释器有 bash、sh、csh、ksh 等,习惯上把它们称作一种Shell。我们常说有多少种 Shell,其实说的是 Shell 脚本解释器。
Bash 是大多数 Linux 标准默认的 Shell,因此是我们学习的重点。
参考文档: