在提示符下束手无策

作者:Mike List

CLUELESS at the Prompt

多任务处理

欢迎来到“在提示符下束手无策”系列的第三篇。感谢您发来的鼓励邮件。应一些读者的要求,这里提供一些信息,帮助您入门。

如果您熟悉其他窗口系统,您可能了解多任务处理的概念。在一个计算机上同时运行多个应用程序是操作系统(OS)非常理想的特性。

在窗口环境中如何实现这一点相当明显,但在 shell 提示符下则不太明显。以下是一些详细信息。

当您在 shell 提示符下启动一个程序时,您可以输入以下命令停止它

Ctrl-Z

这会将您返回到 shell 提示符。然后输入

bg
程序或作业将在(b)ack(g)round(后台)重新启动。作业也可以从一开始就放在后台运行,方法是在命令末尾输入一个 & 符号,例如,make filename&。在后台运行作业允许您同时运行另一个作业,而无需切换到不同的虚拟控制台(VC)。可以通过输入以下命令将作业调回(f)ore(g)round(前台):fg,如果它是唯一的后台作业,或者 fg jobno,如果有多个后台作业。

您可以使用 Alt-F2(到 F6)命令切换到不同的 VC。这些 VC 中的每一个都可以按照我描述的方式使用,以至于如果您不小心,可能会在深度黑客模式的兴奋中轻易耗尽资源。如果您真的玩得太兴奋,甚至可能会忘记您正在运行哪些作业。放松,您可以通过输入以下命令“记住”它们

jobs

此命令列出所有在后台运行的作业,很像 ps 命令列出当前正在占用您宝贵内存和 CPU 的所有进程。

挂载

当您启动 Linux 时,您的文件系统,或者更确切地说是您的硬盘驱动器,必须被挂载,以便文件系统可以被读取和操作。您的软盘驱动器、磁带备份或 CD-ROM 不能自动挂载,因此您可能需要 mount 实用程序。例如

mount -t ext2 /dev/fd0 /mnt

mount -t msdos /dev/fd0 /mnt
将您的软盘驱动器(在 DOS 中称为 a:)挂载到一个名为 /mnt 的目录,您可以通过该目录访问软盘上的文件。在第一个示例中,/mnt 目录可以读取到 ext2 文件系统,而第二个示例读取以 MS-DOS 格式写入的软盘。要读取软盘驱动器的内容,现在是 /mnt,您可以输入
cd /mnt
然后,lsless filename

以类似的方式,您可以挂载您的其他软盘驱动器、磁带驱动器、CD-ROM 或其他可读/写设备。可以使用以下命令卸载这些设备

umount /dev/fd0

umount /dev/whateveryoumounted<\n>

一些省时技巧...

这里有一些技巧,可以让您的 Linux 生活更轻松一些。

假设您在命令中输入了一个错误,但在按下 Enter 键后才发现。如果环境变量 FCEDIT 设置为 emacs(bash shell 的默认值),您无需重新输入整个命令,只需点击向上箭头键即可调出上一个命令,并使用 emacs 进行编辑。实际上,您可以使用向上箭头键在历史记录文件中向上浏览,如果向上浏览得太远,可以使用向下箭头键返回。如果 FCEDIT 设置为 vi(ksh shell 的默认值),请按 ESC(Escape 键),然后使用 k 向上浏览历史记录文件,使用 j 向下浏览,当然,使用 vi 编辑错误的命令。

要返回到您刚刚离开的目录或扫描子目录,请使用

c -

以下方式。从您的 /home 目录更改为主目录

cd /
然后,要查看每个目录的顶层,例如,输入
cd usr
然后 ls。如果您没有找到您要查找的内容,请输入

cd -

您将再次回到主目录 /。不幸的是,您只能深入一层,但当您安装源代码包并想查看每个子目录的内容时,它仍然很有用。

有时,至少一开始,您可能不知道如何停止正在运行的程序或进程,但您不愿意让它慢慢耗尽您的内存或 CPU 开销。要摆脱它,首先通过输入以下命令找到它的进程 ID(pid)号

ps  -a

以获取所有正在运行的进程的列表。记下 pid 号并输入

kill
还有另一种方法可以做到这一点,实际上更简单。浏览 LSM(Linux 软件地图)以查找一个实用程序,实际上是一个方便的工具,名为 die-1.1。您可以将此实用程序解压缩到一个目录中,或使用 installpkg dopkg 或您使用的任何单包安装实用程序。然后查找 /die-1.1 并 cd 进入它。此目录包含几个文件:一个名为 die11.c 的源文件和一个名为 die.doc 的文档文件。

假设您已安装 GCC 编译器,只需输入

gcc -o die die11.c

按 ENTER 键,瞧,您已经编译了 die 实用程序。只需将其 mv 到您路径中的目录,如果您愿意,可以将 die .doc mv 到 /usr/doc 或它可以与其他帮助文本朋友在一起的某个位置(但不是 man 页面,它们会无情地嘲笑它)。现在,下次当您不知道如何终止进程时,只需输入

die
它就会完成这项工作,而无需查找 pid 号。要了解有关 die 的更多信息,只需输入
die
不带任何参数,它会为您提供您可以尝试向上箭头键的命令摘要。
免责声明

您可能已经注意到,这一栏比前两栏短,大概是因为 Linux 确实是一个容易学习的操作系统,所以我的学习曲线没有那么陡峭;或者可能是因为我为了将 DECvt220 安装到串行端口而几乎发疯,但它拒绝合作。

下次——请告诉我您希望在本专栏中看到什么,我会尽力满足。只需给我发电子邮件(troll@net-link.net)询问;否则,我只会写一些让我遇到麻烦以及我如何克服它的事情。

CLUELESS at the Prompt
Mike List 是一位四个青少年的父亲,音乐家,印刷工(不是激光喷墨),以及最近改过自新的技术恐惧症患者,他自 1996 年 4 月开始接触计算机,自 7 月开始接触 Linux。您可以通过电子邮件 troll@net-link.net 与他联系。
加载 Disqus 评论