GNU/Linux 命令行工具总结

Gareth Anderson

      
        
    

Chris Karakas - 从 LyX 转换到 DocBook SGML,索引生成

修订历史
修订版 1.22006 年 4 月 15 日修订者:GA
更正了打字错误,生成了新的、更小的索引(我认为更准确)。更新了 TLDP 文档中的错误。
修订版 1.12006 年 2 月 28 日修订者:CK
更正了错别字,生成了新的索引(9000 个索引条目!)。
修订版 1.02006 年 2 月 6 日修订者:GA
重大重组,现在采用 docbook book 格式。 删除了大量内容并修改了其他部分(删除了章节并划分了一些区域)。 这可能是作者的最终版本,我希望有人发现本指南有用,因为我不打算继续从事本指南的工作。
修订版 0.7.12005 年 2 月 25 日修订者:CK
在数学模式下设置特殊字符,使用 OT1 编码中的 Computer Modern 字体生成 PDF 和 PS,并为按键组合创建正确的 SGML。
修订版 0.72004 年 12 月 5 日修订者:GA
更新了文档并进行了新的语法审查。 重新排列了整个文本部分。 删除了很多内容。
修订版 v0.62004 年 4 月 20 日修订者:GA
试图根据 TLDP 的批评来修复文档。 添加了注释和提示更多章节。 现在符合 UNIX
系统商标的开放组标准。 文档应该可以用于 TLDP 站点。
修订版 v0.52003 年 10 月 6 日修订者:GA
根据评论修复了各种错误,并对文档进行了一些一致性改进。
修订版 v0.42003 年 7 月 15 日修订者:GA
根据 TLDP 的全面审查(到目前为止)对文档进行了小的改进,提高了文档的一致性并添加了少量内容。
修订版 v0.32003 年 6 月 26 日修订者:GA
修复了小错误,更新了附录,其中包含有关从何处查找工具的信息。 修复了引用/引用问题,并改进了进一步阅读和介绍部分,添加了音频部分。
修订版 v0.22003 年 4 月 20 日修订者:GA
这是最初的公开发布版本。 添加了比以前更多的代码样式,将文本部分分解为更多子部分。 提高了文档的一致性并修复了各种索引条目。
修订版 v0.12003 年 3 月 27 日修订者:GA
这是最初的草稿发布版本(第一个从 LyX 转换为 DocBook SGML 的版本)。

本文档旨在总结基于 GNU/Linux 的操作系统可用的有用命令行工具,所列工具旨在使大多数用户受益,并且是作者自行选择的。 本文档不是基于 GNU/Linux 的系统可用的个现有工具的综合列表,也没有对工作方式的深入解释。 这是一个摘要,可用于了解和学习如何使用基于 GNU/Linux 的操作系统可用的许多工具。


目录
1. 介绍
1.1. 谁会想阅读本指南?
1.2. 谁不想阅读本指南?
1.3. 源代码的可用性
1.4. 本指南中使用的约定
1.5. 用于创建本文档的资源
1.6. 反馈
1.7. 贡献者
2. 法律
2.1. 免责声明
2.2. 许可证
3. Unix 工具哲学
4. Shell 技巧
4.1. 一般 Shell 技巧
4.2. 命令行历史记录
4.3. 其他按键组合
4.4. 虚拟终端和 screen
5. 帮助
6. 重定向输入/输出
6.1. 概念定义
6.2. 用法
6.3. 命令替换
6.4. 执行多个命令
7. 使用文件系统
7.1. 在文件系统中移动
7.2. 使用文件和文件夹
7.3. 批量重命名/复制/链接工具
8. 查找有关系统的信息
8.1. 日期/时间/日历
8.2. 查找有关分区的信息
9. 控制系统
9.1. 挂载和卸载(软盘/CDROM/硬盘分区)
9.2. 关闭/重启系统
9.3. 控制进程
9.4. 控制服务
10. 管理用户
10.1. 用户/组
11. 文本相关工具
11.1. 文本编辑器
11.2. 文本查看工具
11.3. 文本信息工具
11.4. 文本操作工具
11.5. 文本转换/过滤工具
11.6. 在文件中查找文本
12. 数学工具
13. 网络命令
13.1. 网络配置
13.2. 特定于互联网的命令
13.3. 远程管理相关
14. 安全
14.1. 一些基本的安全工具
14.2. 文件权限
15. 存档文件
15.1. tar (磁带归档器)
15.2. rsync
15.3. 压缩
16. 图形工具(基于命令行)
17. 使用 MS-DOS 文件
18. 调度命令在后台运行
19. 杂项
20. 迷你指南
20.1. RPM:Redhat 软件包管理系统
20.2. 检查硬盘是否存在错误
20.3. 复制磁盘
20.4. 通配符
A. 附录
A.1. 查找软件包/工具
A.2. 进一步阅读
A.3. GNU 自由文档许可证
参考书目
索引

第 1 章. 介绍

本文档旨在总结基于 GNU/Linux 的操作系统可用的许多基于命令行的工具。 本指南不是一个完整的列表(我怀疑是否有可能记录所有可用的程序),本文档列出了 GNU/Linux 系统可用的许多工具,这些工具对大多数用户有用或可能有用。

每个工具描述都提供了其功能的快速概述以及该单个工具的一些有用选项。

需要 GUI 的工具,通常是 X 窗口系统,列在图形工具部分。 所有其他工具都是完全基于命令行的,不需要 GUI 才能运行。

如果您正在寻找有关基于 GUI 的工具的信息,您需要到其他地方查找。

另请注意,本指南中的一些工具是 bash(Bourne-Again-SHell)特有的,本文档中未列出其他 shell 特有的工具。

对于一些更难使用或执行更复杂任务的工具,本文档中有几个迷你教程(或迷你指南;第 20 章)。

如果认为迷你指南是不必要的,则会提供详细的描述,详细解释特定工具的工作原理,以及如何使用它的一些示例。

请注意,“工具”一词与“命令”一词可以互换使用,两者具有相同的含义(至少在本指南中)。 有关更详细的解释,请在此处阅读有关 UNIX 工具哲学的信息:第 3 章或访问附录中的链接,第 A.2.2.1 节

Tip要找出哪些工具是 bash 特有的
 

要找出哪些工具是 bash 特有的,您可以键入

enable -a


1.1. 谁会想阅读本指南?

任何有兴趣了解在使用基于 GNU/Linux 的操作系统时可用的工具(也称为命令)的人。

为什么要学习如何使用命令行(和可用工具)? Command Line-Interface (CLI) 虽然很难学习,但对于许多不同的任务来说,它是使用计算机最快和最有效的方式。 CLI 是大多数 UNIX 系统管理员、程序员和一些高级用户的常用方法。 虽然 GUI 更适合某些任务,但许多操作最适合 CLI。

学习 GNU/Linux CLI 的主要动机是作者认为,一般来说,对于软件,花费在学习上的时间越多,花费在执行特定任务上的时间就越少(仅作者观点)

本指南面向想要了解可用命令行工具的初学者到中级用户。 高级用户可能希望将其用作命令参考,但是本文档旨在列出感兴趣的命令,这由作者的观点判断,它并非旨在完全全面,请参阅附录,第 A.2.1 节以获取更多信息。 或者,如果您不是在寻找命令参考指南,而是在寻找对 GNU/Linux 的更温和的介绍,您可能会对 Machtelt Garrels 编写的 Linux 指南介绍感兴趣。

本指南也可以被认为是 Linux Cookbook 的简要版本。 如果您正在寻找对每个工具进行更详细描述的书籍,请查看 Linux Cookbook 主页,还可以查看 “Linux in a Nutshell 3rd Edition”中的命令列表,以获取 300 多个命令及其说明的索引。


1.2. 谁不想阅读本指南?

如果对命令行不感兴趣,或者正在寻找所有可用的 GNU/Linux 工具的详细参考,请不要阅读此文档。这只是一个概述,虽然它列出了许多命令,但它不是一个完整的列表(我认为无论如何也不可能创建一个完整的列表)。

对于那些已经对命令行界面有专家级知识且不需要任何参考信息的人来说,本文档不会引起他们的兴趣。对于那些需要每个命令的详细选项列表的读者,man 页面更适合此目的。


1.3. 源代码的可用性

原始书籍(英文)的可修改源代码以 LyX 格式(LyX 文档处理器)或机器翻译的 SGML(SGML 标记语言)提供。

LyX 是一个完全免费的基于 LaTeX 的文档处理器,可从LyX 主页下载。

请参阅本文档的可修改源代码。这些是官方版本。我们(翻译者和当前的维护者)计划继续致力于此文档,并添加新的章节和增强功能。 如果您想查看我们当前正在处理的版本(“前沿”版本),请不时查看GNU/Linux 命令行工具摘要主页(由 Chris Karakas 友情托管)。


1.4. 本指南中使用的约定

本指南中使用以下约定

斜体

任何以斜体显示的文本,像这样,要么是一个可执行命令,要么是强调的文本。工具(可执行命令)以斜体显示是为了防止混淆。有些工具的名称是真正的英语单词,例如 “locate” 工具。

按键组合

用'-'(短划线)表示组合键,这些键必须组合使用。所有组合也以斜体打印,以提高清晰度。 例如 CTRL-Z 表示按住 Control 键 并按下 z

提示

提示是用一些小图片来强调对读者来说重要的事情。

使用的五种类型是

Note这是一个注意
 

注意通常提供有关工具的重要信息。

Tip这是一个技巧
 

这将提供一个有用的开关或使用工具的有用方法。

Important这是一些重要的信息
 

这被认为是非常重要的。把它看作是一个具有额外重要性的注意,它们通常是为了节省读者的时间。

Caution这是一个警告
 

这将通知您需要小心的事情(因为它可能对您的系统有害)。

Warning这是一个严重警告
 

这将通知您不应该做的事情(因为它可能会破坏您系统中的某些东西)。

代码示例

大多数命令都显示了代码示例。

以下是代码示例

Hello World, I'm a code example. :)
命令语法

(或类似的短语)只是显示了您通常如何使用该命令。通常使用实际的示例,而不是解释命令语法。

短语“命令语法” 总是后跟您在 shell 中键入命令的方式。

任何工具的标准语法通常是

command -options file

Note注意
 

请注意,某些工具不接受选项。

通配符

另请注意,大多数命令,即使没有明确说明,也会使用标准通配符(或 globbing 模式),例如 *、[A-Z] 和各种其他标准通配符。 有关更多信息,请参阅第 20.4.1 节

访问键

访问键允许您在文档中导航,而无需依赖鼠标。 以下键在本文件中被赋予了特殊含义

P

上一页。

N

下一页。

H

文档的主页(目录)。

U

向上(将您向上移动一个节层级)。

如果您碰巧正在从其原始位置阅读文档,则还可以使用以下访问键

S

开始(将您带到作者的起始页)。

T

当前(“This”)页面,没有左侧的 Sitemenu。

M

框架集中的当前页面,其中左侧框架包含菜单。

要使用访问键,您必须同时按下一个修饰键,该键可能因浏览器而异。 例如,在 NN6+/Mozilla 中,修饰键是 ALT,因此您必须使用 ALT-N 转到下一页,使用 ALT-P 返回上一页。 在其他浏览器(如 IE6)中,访问键只是将焦点放在关联的链接上,因此顺序变为 ALT-N Enter 。 试试看,你会喜欢的!

内联图形


1.5. 用于创建本文档的资源

为了创建 GNU/Linux 命令行工具摘要,我使用了文档处理器 LyX。 为了将 LyX 文件转换为 DocBook SGML,我使用了 lyxtox 脚本,由 Chris Karakas 创建。

您可能还想查看 Dr. B Guillion 创建的 db2lyx 包,该包可用于将 LyX 文件转换为 XML DocBook,并将 XML DocBook 转换回 LyX。

我还得到了各种 Linux 文档项目志愿者的帮助(有关具体细节,请参阅贡献者部分第 1.7 节)。


1.6. 反馈

反馈对于本指南的改进至关重要。 鼓励积极的建设性批评。 如果您对本指南有任何想法、建议、建议或问题,请发送电子邮件至作者 Gareth Anderson

Important贡献
 

如果您希望做出贡献,建议(如果可能)阅读本文档的 LyX 文件。它们包含您在其他版本中看不到的各种注释。

这些注释突出显示了需要贡献的领域、我无法理解的某些工具、尚未添加的工具或已删除的工具。 这些注释还解释了本文档的一些结构。


1.7. 贡献者

您可能会看到,本指南的部分内容基于 GNU/Linux 上的各种建议专栏,直接引用自文章的任何内容都可以在本文档的参考资料参考书目部分中找到。

以下是按大致时间顺序对本文档做出重大贡献的人员的列表。

Chris Karakas:

Chris 允许使用他的 lyxtox 脚本将文档的 LyX 文件转换为可用的 DocBook SGML 输出(要了解如何自己使用 lyxtox 脚本,请参阅 使用 LyX 和 SGML 进行文档处理)。

  • Chris 提供了有用的建议和意见,并为许多命令添加了索引列表。

  • Chris 还负责本文档的精美 HTML 文件(CSS 文件和 HTML 自定义完全由他完成)。

  • Chris 还帮助修复了文档中的问题(多次),尤其是在 docbook/sgml 和 LyX 相关问题方面。

  • Chris 还通过添加标签和修复小错误来改进文档的结构。

William West

William 按照 Linux 文档项目的要求,对本文档进行了彻底的审查。 他负责对本文档的质量进行各种改进。

他的贡献包括

  • 提高了本文档的可读性。

  • 改进了本文档的结构和一致性。

  • 改进了文档中的各种语法。

  • 修复了一些小的技术错误。

Tabatha Persad/Marshall:

Tabatha 作为 Linux 文档项目审查协调员(当时),也对本文档进行了简要审查。 她的总体建议用于改进文档的结构、语言和语法。

Rahul Sundaram:

Rahul 为 Linux 文档项目提供了本文档的简要审查。 来自他的简要审查的建议被整合到本文档中,以提高可读性和结构,并添加了 Rahul 推荐的几个参考资料。

David Lawyer:

David 对文档的批评(通过 TLDP 讨论列表)得到了倾听,并尝试改进文档。 他的一些批评得到了解决和改进。

George Harmon

George 提供了第二次语言审查。 他对材料的详细审查使我能够改进文档的总体语法和一些小错误。

Machtelt Garrels (tille):

Machtelt 提供了有关从本指南中引用正确的 LDP 文档的提示。 以及关于改进指南的一般建议。

Michael Kerrisk

Michael 在讨论列表中代表 TLDP 进行简要审查后,指出了文档中的许多技术错误。


第 2 章. 法律

法律章节提供有关适用于整个文档的免责声明和许可信息的信息。


2.1. 免责声明

不对本文档的内容承担任何责任。 使用概念、示例和其他内容风险自负。 可能存在错误和不准确之处,当然可能会损害您的系统。 尽管这种情况不太可能发生,但您应该谨慎行事。 作者对造成的任何损失不承担任何责任。

除非另有特别说明,否则所有版权均由其各自所有者持有。 在本文档中使用某个术语不应被视为影响任何商标或服务标志的有效性。

命名特定产品或品牌不应被视为认可。

UNIX 是 The Open Group 的注册商标。


2.2. 许可证

版权所有 © 2003 - 2006 Gareth Anderson。 允许根据 GNU 自由文档许可证(版本 1.1 或自由软件基金会发布的任何后续版本)的条款复制、分发和/或修改本文档; 没有不变部分,没有封面文本,也没有封底文本。 许可证的副本可以在名为 GNU 自由文档许可证的部分或 GNU 文档许可证站点中找到。


第 3 章. Unix 工具哲学

工具是一个简单的程序,通常设计用于特定目的,有时(至少在本文档中)被称为命令。

“Unix 工具哲学” 出现在 UNIX 操作系统的创建过程中,在管道 '|' 的突破性发明之后(有关使用管道的信息,请参阅第 6 章)。

管道允许将一个程序的输出发送到另一个程序的输入。 工具哲学是拥有小型程序来完成特定任务,而不是尝试开发大型的、整体式的程序来完成大量任务。 为了完成更复杂的任务,工具只需使用管道连接在一起。

所有的核心 UNIX 系统工具都设计成可以协同工作。 最初的基于文本的编辑器(甚至包括 TeX 和 LaTeX)都使用 ASCII(美国文本编码标准;一个开放标准),并且你可以将 sedawkvigrepcatmoretr 和其他各种基于文本的工具与这些编辑器结合使用。

基于这种理念,程序员避免在他们更大的程序中编写已经由其他人编写过的程序(这可以被认为是一种代码重用形式)。 例如,命令行拼写检查器被许多不同的应用程序使用,而不是让每个应用程序创建自己的拼写检查器。

这种理念在今天的 GNU/Linux 和各种其他基于 UNIX 系统的操作系统(FreeBSD、NetBSD、OpenBSD 等)中依然存在。

有关 UNIX 工具哲学的更多信息(文章),请参阅延伸阅读部分:A.2.2.1 节


第 4 章 Shell 技巧

Shell 技巧章节提供了在使用 GNU/Linux Shell(命令行界面)时可能希望使用的一些实用技巧。 这些信息包括有用的快捷键组合、Shell 的命令历史记录以及有关虚拟终端的信息。

Tip如果无法启动系统
 

如果启动系统时遇到问题,您可能希望使用 Shell,以便启动系统并尝试修复问题。

为此,您需要在启动之前将 “init=/bin/sh” 传递给您的系统。

如果您不知道如何执行此操作,请参阅第 14 章,该技术相同,只是这次您传递的是 “init=bin/sh” 而不是 “single”。


4.1. 通用 Shell 技巧

自动命令补全

使用 TAB 键,bash 将尝试自动补全命令。 您可以使用它来补全命令(工具)名称。 您还可以在使用文件系统、更改目录、复制文件等时使用它。

还有其他一些鲜为人知的方式来使用自动命令补全(例如,补全用户名):[1]

ESC-Y (Y:特殊字符)

测试自动索引。 将尝试为您补全命令名称。 如果失败,它将列出可能的补全项(如果存在)。 如果没有,它只会发出嘟嘟声(和/或)闪烁屏幕。

CTRL-X-Y (Y:特殊字符)

列出可能的补全项(不会尝试为您补全)或在没有可能的补全项时发出嘟嘟声。

特殊字符

将以下特殊字符与 ESC-YCTRL-X-Y 结合使用,其中 Y 是一些特殊字符。 例如,ESC-$CTRL-X-$ 来补全环境变量名称。

  • ~(波浪号)补全用户名

  • @(at 符号)补全机器名

  • $(美元符号)补全环境变量名称

  • !(感叹号)一个用于补全命令名或文件名的魔术字符。 ! 特殊字符与 TAB 键具有相同的功能。 它在其他一些情况下也有效; 例如,在补全 man page 名称时。

alias

alias 命令将列出您当前的别名。 您可以使用 unalias 删除别名(要仅针对一个命令禁用它,请在命令前添加一个“\”(反斜杠))。..

别名允许一个命令被另一个命令替换。 这用于使命令执行其他操作或自动添加某些选项。 这可以在一个会话中使用 alias 命令完成(见下文),或者可以将信息添加到 * .bashrc* 文件(位于用户主目录中)。

以下是 * .bashrc* 文件中的别名部分可能如下所示的示例

# my personal aliases
alias cp='cp -vi' #to prompt when copying if you want to overwrite and will tell you where information is going 
alias rm='rm -i' #Prompts you if you really want to remove it.
alias mv='mv -i' #Prompts you if you are going to overwrite something

在任何 Mandriva GNU/Linux 系统上,全局别名(对于所有用户)都在 /etc/profile.d/alias.sh 中。 上面列出的命令以及其他几个常用命令已经有别名。

set -x

set 是 bash 的内置命令之一,请尝试在 bash 手册中查找其许多使用选项。

set -x 选项一起使用将使 bash 在运行每个命令之前打印它将要运行的每个命令。

这对于找出某些命令正在发生的事情很有用,例如包含可能导致问题的通配符或特殊符号的引用,或者复杂的别名。 使用 set +x 将其关闭。

示例

在使用 set -x 之后,您可以运行命令

ls

在命令运行之前打印的输出(例如)

+ ls -F --color=auto 

这意味着该命令实际上是使用 -F--color=auto 选项运行 ls 的别名。 在命令前使用“\”(反斜杠)来运行它,而无需别名。

\(反斜杠)

反斜杠转义字符可以在 shell 命令之前使用,以覆盖任何别名。

例如,如果 rm 被设为 rm -i 的别名,那么键入“rm”实际上会运行 rm -i

但是,键入 \rm 可以让 shell 忽略别名并仅运行 rm(它完全按照您键入的内容运行),这样它就不会确认您是否要删除内容。

Caution使用 rm
 

请注意,删除命令的别名是有原因的。 不正确地使用它可能会删除您不想删除的文件。

仅在您确切知道自己在做什么的情况下才使用 \rm(恢复文件不容易,rm 不会将东西发送到回收站)。

“\”字符可以在特殊字符(例如空格或通配符)之前使用,以阻止 bash 尝试展开它们。 您可以使用反斜杠在其中创建一个带有空格的目录名称。 例如,您可以键入 cd My\ Directory\ With\ Spaces,这通常不起作用。

“\”字符还可以用于阻止 bash 展开某些符号(作为替代方法,您可以使用单引号,尽管您可能需要同时使用两者)。

TipTAB 键
 

请注意,使用 TAB 键(自动命令补全)会自动为空格使用转义符(因此您不必手动键入它们)。

script

script” 命令创建一个打字稿,或者 Shell 会话的“捕获日志” - 它将您的会话的副本写入文件,包括您键入的命令及其输出。

~(波浪号字符)

波浪号字符用作用户主目录的别名。

例如,如果您的用户名是“fred”,则可以简单地键入 cd ~.,而不是键入 cd /home/fred 。 或者要进入 fred 的 tmp 目录(在他的主目录下),您可以键入 cd ~/tmp.

Tip主目录快捷方式
 

~(波浪号)也可以用作其他用户主目录的快捷方式,只需键入:~user_name,它会将您带到用户的主目录。 请注意,您需要准确地拼写用户名,没有通配符。

set bell-style none

此特定的 set 命令将从命令行关闭系统提示音(对 X windows 使用 xset -b)。 如果您希望提示音永久关闭(没有可听见的提示音),那么您可以将此命令添加到您的“.bashrc”或“.bash_profile”(只需将其添加到您拥有别名的那个即可...)。

reset

reset 命令重新初始化您当前的终端。 当终端中的文本变得混乱时,这可能很有用,只需键入 “reset” 即可修复您的终端。

exit

关闭您当前的终端(使用 x-terminals)或注销。 也可以尝试 CTRL-D

logout

注销终端,也可以尝试 CTRL-D

echo

一个小命令,可以重复您键入的任何内容。

示例

echo “hello world”

简单地显示 “ hello world”。

示例

echo rm -R *

这将输出将传递给 rm 命令的内容(因此也是将被删除的内容),在命令前放置 echo 使其无害(它只是展开通配符,以便您知道它将做什么)。

也可以尝试将 -e 选项与 echo 一起使用。 这将允许您使用转义字符序列来格式化行的输出。 例如,'\t' 表示制表符,'\n' 表示换行符等。

Tip使用 echo 防止事故
 

键入:echo command(s) 可以 避免您意外地做一些您不期望的事情的麻烦。

使用 echo 允许您展开通配符以了解在实际运行命令之前会发生什么。


4.2. 命令行历史记录

使用命令历史记录

使用向上和向下键滚动浏览以前键入的命令。 按 [Enter] 执行它们,或使用向左和向右箭头键先编辑命令。 另请参阅 history(如下)。

history 命令

history 命令可用于列出 Bash 键入命令的日志

此日志称为 “history”。 要访问它,请键入

history n

这将仅列出最后 n 个命令。 键入 “history”(不带选项)以查看整个历史记录列表。

您也可以键入 !n 来执行命令编号 n。 使用 !! 执行您键入的最后一个命令。

!-n 将在之前执行命令 n 次(换句话说,!-1 等效于 !!)。

!string 将执行以上次以 “string” 开头的命令,!?string? 将执行包含单词 “string” 的最后一个命令。 例如

!cd

将重新运行您上次键入的以 “cd” 开头的命令。

“ commandName !*” 将使用您在最后一个命令中使用的任何参数执行 “commandName”。 如果您犯了一个拼写错误,这可能会有用。 例如,如果您键入

emasc /home/fred/mywork.java /tmp/testme.java

尝试在上述两个文件上执行 emacs,这显然会失败。 所以您可以做的是键入

emacs !*

这将使用您上次在命令行中键入的参数执行 emacs。 换句话说,这等效于键入

emacs /home/fred/mywork.java /tmp/testme.java
搜索命令历史记录( CTRL-R

使用 CTRL-R 键执行 “反向 i 搜索”。 例如,如果您想使用上次使用 snort 时使用的命令,您将键入

CTRL-R 然后键入 “snort”。

您将在控制台窗口中看到的内容是

(reverse-i-search)`':

在键入您要查找的内容后,使用 CTRL-R 键组合向后滚动浏览历史记录。

重复使用 CTRL-R 以查找您输入的字符串的每个引用。 找到要查找的命令后,使用 [Enter] 执行它。

或者,使用向右或向左箭头键将命令放置在实际的命令行上,以便您可以编辑它。


4.3. 其他键组合

GNU/Linux Shell 有许多快捷键,您可以使用它们来加快工作速度,以下是一些的粗略列表(另请参阅命令历史记录部分中的 CTRL-R,此处:第 4.2 节)。

CTRL-D

“文件结束” (EOF) 键组合可用于快速注销任何终端。 CTRL-D 也用于诸如 “at” 之类的程序中,以表示您已完成键入命令(EOF 命令)。

CTRL-Z

键组合用于停止进程。 它可以用来暂时将某些内容放在后台。

例如,如果您正在使用 vimemacs 编辑文件,只需按 CTRL-Z 即可重新获得对终端的控制权,执行您想要执行的操作,然后键入 fg 将其带回。

有关更多信息,请参阅第 9.3 节

Tip如果 fg 无效
 

如果fg不起作用,您可能需要输入jobs,然后输入fg 任务名 或 fg 任务编号

CTRL-ACTRL-E

这些组合键用于在命令行中跳转到行首和行尾。 使用 CTRL-A 跳转到行首,使用 CTRL-E 跳转到行尾。

CTRL-K

此组合键可用于剪切或删除光标当前位置之后的内容。

CTRL-Y

此组合键可用于粘贴您上次删除的内容 (使用 CTRL-KCTRL-W )。

CTRL-W

此组合键可用于剪切或删除已键入的整行内容。


4.4. 虚拟终端和 screen

使用组合键 ALT-F* 键,您可以切换到不同的虚拟终端。 您通常会设置几个(通常是 6 个)虚拟终端,每个终端都有一个 shell。 通常,数字 7 设置为 X,您需要使用 CTRL-ALT-F* 从 X(X 窗口系统)中切换到终端。

screen

是一个很棒的程序,它允许您在使用的一个物理终端上切换多个虚拟终端。 它是一个基于命令行的窗口管理器,如果您确实有虚拟终端,这显然不是那么有用,但是当您使用 ssh 等远程登录到机器时,它非常有用,请参阅第 13.3 节。 它通过组合键工作,您输入

screen

在命令行中开始。 现在,默认情况下您从一个虚拟终端开始,但是使用组合键 CTRL-A,然后按“C”,您可以创建另一个虚拟终端来使用。

使用 CTRL-N 转到下一个虚拟终端,使用 CTRL-P 转到上一个虚拟终端。 也可以尝试按 CTRL-A 在两个特定终端之间来回切换。

screen 还具有您可以测试的各种其他能力。 文档和指南写得很好,请随时阅读手册页或尝试在互联网上搜索。


第 5 章 帮助

帮助章节提供有关如何访问 GNU/Linux 系统文档的信息。 通常,有一份文档描述了您安装的每个工具,即使它只是简要的...

man

此命令从在线手册显示有关程序的摘要信息。 例如,输入man man将显示 man(手册页查看器)的手册页。 注意:q 是退出键。

命令语法

man program_name

Tip也可以尝试
 

指定手册页的节,有时同一个工具在不同节的手册页是不同的,注意节的编号为 1 到 9。使用 apropos 查找要查找的节号。

查看不同节的语法是

man section_number tool_name
例如
man 2 time
这将显示第 2 节中名为 time 的手册页,第 1 节中的等效页面完全不同

man -K 关键字

在手册页中搜索字符串,例如,它将在每个单独的手册页中搜索所有手册页中的特定字符串,然后提示您是否要查看它将找到的每个页面。 如果您键入的字符串中有空格,请使用双引号“和”。

Caution速度问题
 

请注意,这种方法将会非常非常慢。 您正在搜索*所有*手册页中的字符串

man -f 命令

这将列出与该命令关联的详细信息。 根用户必须先运行makewhatis(见下文),此命令才能工作。

Note等效于whatis
 

此命令与运行whatis相同

info

提供有关特定命令的更详细的超文本手册,这仅适用于某些命令。

命令语法

info program_name
whatis

显示程序的功能的单行描述。 该字符串需要完全匹配,否则whatis不会输出任何内容。 依赖于 whatis 数据库(见下文)。

命令语法

whatis program_name
makewhatis

aproposwhatis man -f 创建 whatis 数据库。

NoteRoot 权限
 

这需要一些时间,并且您需要 root 权限才能执行此操作。

apropos

在 whatis 数据库中搜索字符串,类似于whatis,但它会查找并打印与字符串(或字符串的任何部分)匹配的任何内容。 还依赖于 whatis 数据库(见上文)。

命令语法

apropos string

Note等效于...
 

apropos 与执行man -k (小写 k) 相同。

Note请注意
 

您需要运行makewhatis(以 root 身份),以便whatisman -fapropos 能够工作。

Tip也可以尝试
 

使用带有-?--h--help-h 选项的程序,它们将显示有关命令使用选项的非常简短的摘要信息。


第 6 章 重定向输入/输出

重定向输入/输出章节解释了如何使用程序并将其输出发送到文件或您希望使用的另一个命令。 这项技术非常强大,并且有多种方法可以做到这一点。


6.1. 概念定义

以下三个定义都称为“文件流”。 它们保存从某处接收或发送到某处的信息。 在 UNIX 系统中,键盘输入(标准输入)、打印到屏幕的信息(标准输出)和错误输出(也打印到屏幕)被视为单独的文件流。

标准输出

标准输出是程序打印到屏幕的输出,不包括错误输出(见下文)。

标准输入

标准输入是来自用户的输入。 通常,键盘在 UNIX 系统中用作标准输入设备。

标准错误

标准错误是来自程序的错误输出。 此输出也发送到屏幕,通常会与标准输出混合在一起显示。 标准输出和标准错误之间的区别在于,标准错误是未缓冲的(它会立即显示在屏幕上),并且标准错误仅在出现问题时才会打印(它会为您提供有关出现问题原因的详细信息)。


6.2. 用法

>

大于号用于将信息发送到某个地方(例如文本文件)

示例

cat file1 file2 > file1_and_2.txt

这将把文件连接成一个名为“file1_and_2.txt”的大文件。 请注意,这将覆盖任何现有文件。

<

小于号将从某个地方(文本文件)插入信息,就像您自己键入的一样。 通常与仅设计用于从标准输入获取信息的命令一起使用。

例如(使用 tr)

tr '[A-Z]' '[a-z]' < fileName.txt > fileNameNew.txt

上面的示例会将“fileName.txt”的内容插入到tr的输入中,并将结果输出到“fileNameNew.txt”。

>>

“>>”符号将信息追加(添加)到文件末尾,如果该文件不存在,则创建一个文件。

<<

“<<”符号有时与使用标准输入来获取信息的命令一起使用。 您只需在命令末尾键入<< 单词(其中单词可以是任何字符串)。 但是,它的主要用途是在 shell 脚本中。

该命令会获取您的输入,直到您键入“单词”,这会导致该命令终止并处理输入。

使用“<<”类似于使用 CTRL-D (EOF 键) 只是它使用一个字符串来执行文件结束功能。 这种设计允许它在 shell 脚本中使用。

例如,键入 "cat"(不带任何选项...),它将作用于标准输入。

要停止输入标准输入,您通常会按 CTRL-D

或者,您可以键入“cat << FINISHED”,然后键入您想要的内容。

完成之后,您可以键入“FINISHED”而不是按 CTRL-D,它会结束(单词 FINISHED 不会被记录)。

2>

重定向错误输出。 例如,要将错误输出重定向到 /dev/null,以便您看不到它,只需将其附加到另一个命令的末尾...

例如

make some_file 2> /dev/null

这将在文件上运行 make,并将所有错误输出发送到 /dev/null

|

“管道”命令允许将一个命令的输出发送到另一个命令的输入。

例如

cat file1.txt file2.txt | less

将文件连接在一起,然后在它们上面运行less。 如果您只想查看单个文件,您只需在文件上使用less...

tee

将程序的输出发送到文件和标准输出。 将它想象成一个 T 形交叉口...它有两个方向。

例如

ls /home/user | tee my_directories.txt

列出文件(在屏幕上显示输出)并将输出发送到文件:“my_directories.txt”。

&>

将标准输出和错误输出重定向到特定位置。

例如

make &> /dev/null

将错误输出和标准输出都发送到 /dev/null,这样您就不会看到任何内容...


6.3. 命令替换

命令替换基本上是另一种执行管道的方法,您可以互换使用管道和命令替换,这取决于您发现哪种方法更容易...

命令替换可以通过两种不同的方式完成。

方法一 (反引号)

只需键入

command_1 `command_2 -options`

这将执行“command_2”,它的输出将成为“command_1”的输入。

Tip反引号键
 

反引号键通常位于与波浪号相同的位置,在 [Tab] 键上方。

方法二 (美元符号)

只需键入

command_1 $(command_2)

这将执行“command_2”,它的输出将成为“command_1”的输入。

使用管道代替

如果您不知道什么是管道,您当然可以使用管道来做同样的事情,请参阅第 6.2 节。 例如,与其执行

less $cat file1.txt file2.txt

您可以执行

cat file1.txt file2.txt | less

并最终获得完全相同的结果,这取决于您发现哪种方式更容易。


6.4. 执行多个命令

仅当第一个命令成功时才执行第二个命令

要执行此操作,您需要键入

command1 && command2

如果 command1 成功完成,command2 将被执行(如果 command1 失败,command2 将不会运行)。 这称为逻辑与。

仅当第一个命令失败时才执行第二个命令

要执行此操作,您需要键入

command1 || command2

如果 command1 未成功完成,则 command2 将被执行(如果 command1 成功,则 command2 将不会运行)。 这称为逻辑或。

按顺序执行命令

要按顺序执行命令,而不管上一个命令的成功/失败,您只需键入

command1; command2

command1 完成后,command2 将执行。

Tip超过两个命令
 

您可以继续使用 ';' (分号) 字符在一行上执行越来越多的命令。


第 7 章 使用文件系统

使用文件系统章节解释了许多用于在文件系统层次结构中移动和操作文件的命令。 还解释了查找文件以及如何批量重命名文件。


7.1. 在文件系统中移动

cd

更改目录。 使用“cd ..” 上移一个目录。

一个点 '.' 代表当前目录,而两个点 '..' 代表父目录。

“ cd -” 会将您返回到上一个目录(有点像“撤消”)。

您还可以使用 cd 绝对路径cd 相对路径(见下文)

绝对路径

“绝对路径”很容易从前导斜杠 / 识别。/ 表示您从顶级目录开始并向下继续。

例如,要到达 /boot/grub,您应该输入

cd /boot/grub

这是一个绝对路径,因为您从层次结构的顶部开始,然后从那里向下移动(无论您在文件系统中的哪个位置输入命令,都无关紧要)。

相对路径

“相对路径”没有前导斜杠。 当您从低于顶级目录结构的目录开始时,请使用相对路径。 这取决于您在文件系统中的位置。

例如,如果您位于 root 的主目录中,并且想要到达 /root/music,则输入

cd music

请注意,上面的 cd 命令中没有 /。 使用 / 会使其成为绝对路径,从层次结构的顶部向下工作。

ls

列出文件和目录。 输入 “ls” 将列出文件和目录,但不会列出以完整句点 “.” 开头的隐藏文件或目录。

示例选项

  • ls -l --- 长格式,这将列出权限、文件大小、修改日期、所有权。

  • ls -a --- 这意味着“显示所有”,这将显示隐藏文件,默认情况下,任何以 '.' 开头的文件或目录都不会显示。

  • ls -d --- 列出目录条目而不是内容(见下面的例子)

  • ls -F --- 将符号附加到特定文件,例如 *(星号)表示可执行文件。

  • ls -S --- 按大小降序对命令的输出进行排序。

  • ls -R --- (递归) 列出当前目录以及下方目录中的所有内容。

命令语法,或者

ls -options

这只是列出当前目录中的所有内容,不需要选项(例如-l-a 等选项)。

ls -options string

这将使用某个字符串列出文件。 该字符串可以包含标准通配符以列出多个文件,要了解有关标准通配符的更多信息,请阅读 第 20.4.1 节

您可以使用 ls -d 来显示与精确字符串匹配的目录,或者使用标准通配符。 输入 “ ls -d */” 列出当前目录的所有子目录。 根据您的别名设置(请参阅 第 4 章),您可能只需键入 lsd 即可等效于 ls -d */

ls -d 的示例

ls -d */

列出当前目录的所有子目录。

ls -d string*

列出以 “string” 开头的目录。

ls -d /usr/*/*/doc

列出 /usr/ 目录下方两级并且包含名为 “doc” 的目录的所有目录,此技巧有时非常方便。

Tip您也可以使用
 

根据您的别名(请参阅 第 4 章)的设置方式,您还可以使用 lla (列出所有) 和 ll (列出长格式) 来执行上述命令。

pwd

打印工作目录。 打印用户当前所在的目录的绝对(完整)路径。

命令语法

pwd

这将告诉您您所在目录的完整路径,例如,如果您当前位于该目录中,它可能会输出 “/usr/local/bin”。

tree

输出一个从给定目录(默认为当前目录)开始的 ASCII 文本树/图。 此命令以递归方式列出所有文件和所有目录。

换句话说,它将列出当前目录下方目录中的文件,以及当前目录中的所有文件。

tree 有大量的选项,请参阅手册页以了解详细信息。

命令语法

tree

或者

tree -option(s) /optional/directory/to/list

7.1.1. 查找文件

find

find 是一个在文件系统上查找文件的工具。 find 有大量的选项,可用于自定义搜索(请参阅手册/信息页)。

请注意,find 可以与标准通配符一起使用,第 20.4.1 节,并且可以与正则表达式一起使用,第 20.4.2 节

基本示例

find / -name file

这将查找名为 “file” 的文件,并从根目录开始(它将搜索所有目录,包括已挂载的文件系统)。

`-name' 选项区分大小写,您可以使用 `-iname' 选项查找不区分大小写的内容。

使用 '-regex''-iregex' 根据正则表达式查找内容(分别区分大小写或不区分大小写)。

'-exec' 选项是更高级的 find 操作之一。 它对其找到的文件执行命令(例如移动或删除它或任何其他操作...)。

要使用 -exec 选项:使用 find 查找内容,然后在末尾添加 -exec 选项,然后

command_to_be_executed (1)  then '{}' (curly brackets) (2) then the arguments (for example a new directory)  and finally a ';' (3). 

有关使用此命令的示例,请参见下文。

(1)
这是您要在 find 定位的文件上执行的工具。 例如,如果您想删除它找到的所有内容,则可以使用 -exec rm -f
(2)
花括号用于 find 来表示已找到的当前文件。 即,如果它找到文件 shopping.doc,则 {} 将被替换为 shopping.doc。 然后它将继续为它找到的每个文件替换 {}。 通常用反斜杠 (\) 或单引号 (') 保护括号,以防止 bash 扩展它们(尝试将它们解释为特殊命令,例如通配符)。
(3)
这是 find 用于发出命令结束信号的符号。 它通常受反斜杠 (\) 或引号保护,以防止 bash 尝试扩展它。
find / -name '*.doc' -exec cp '{}' /tmp/ ';'

上面的命令会找到所有扩展名为 '.doc' 的文件并将它们复制到您的 /tmp 目录中,显然这个命令是相当无用的,这只是 find 可以做什么的一个例子。 请注意,引号在那里是为了防止 bash 尝试将其他字符解释为其他内容。

使用 find 排除特定文件夹可能相当令人困惑,但如果您想搜索主磁盘(而不搜索每个已挂载的文件系统),则可能有必要这样做。 使用 -path 选项排除特定文件夹(请注意,末尾不能有 '/' (正斜杠)),并使用 -prune 选项排除子目录。 以下是一个例子

find / -path '/mnt/win_c' -prune -o -name "string" -print

此示例将搜索您的整个目录树(在其下挂载的所有内容),排除 /mnt/win_c 和 /mnt/win_c 下的所有子目录。 使用 -path 选项时,可以使用通配符。

请注意,如果您愿意,您可以添加更多 -path '/directory' 语句。

find 有很多不同的选项,有关更多详细信息,请参阅手册(和信息)页。

slocate

slocate 输出系统上所有与模式匹配的文件的列表,并给出它们的完整路径名(它不必是完全匹配,任何包含该单词的内容都会显示出来)。

Note替换 locate
 

Secure locate 是 locate 的替代品,两者具有相同的语法。 在大多数发行版中,locate 是 slocate 的别名。

命令语法

slocate string

Note除非
 

您需要运行 updatedb(以 root 身份)或 slocate -u (以 root 身份)才能使 slocate 工作。

whereis

whereis 查找特定程序的二进制文件、源代码和手册页,它仅使用完全匹配,如果您只知道名称的一部分,请使用 slocate

命令语法

whereis program_name
which

实际上与 whereis 相同,除了它只查找可执行文件(物理程序)。 它只查看用户 shell 的 PATH(环境变量)。

使用 -a 选项列出路径中特定 program_name 的所有出现次数(因此如果有多于一个,您可以查看它)。

命令语法

which program_name

7.2. 处理文件和文件夹

mkdir

创建一个目录。 使用 mkdir -p 自动创建子目录。

Note目录是文件夹
 

在其他操作系统(例如 Microsoft Windows)中,目录有时称为文件夹。

示例

mkdir -p /home/matt/work/maths

这将在 matt 的主目录下创建目录 “work” 和 “maths”(如果 matt 的主目录不存在,它也会创建该目录)。

mkdir foo

这将在当前路径中创建一个名为 “foo” 的目录。

rm

删除/删除文件或目录。 您可以将标准通配符与此命令一起使用 第 20.4.1 节

命令语法

rm -options file_or_folder

当然,您可以使用标准通配符删除多个文件或多个目录和文件。

使用 -R-r 选项以递归方式删除,这将删除子目录中的所有内容。 也可以尝试 -f 选项强制删除(当您不想被提示时很有用)。

Tip禁用别名(每次执行)
 

在某些系统(例如 Mandrake)上,别名会将 rm 发送到 rm -i(提示您删除的每个文件)。 要覆盖此设置,请使用:\rm -R directory (使用 \ 仅在此运行中禁用别名)

rmdir

删除一个空目录。 如果要删除包含文件的目录,请键入 “ rm -R directory”,请阅读上面的关于 rm -R 的信息

命令语法

rmdir directory

如果目录为空,这将只会删除目录,否则它将退出并显示错误消息。

mv

将文件或目录移动到新位置或重命名文件/目录。

重命名示例

mv filename1 filename2

将 filename1 重命名为 filename2。

要移动文件或目录,只需输入

mv original_file_or_folder new_location

请注意,此命令可以使用标准通配符 第 20.4.1 节 来移动文件(不用于重命名)。

Tip移动并重命名
 

请注意,您也可以在一个命令中移动并重命名文件。 区别在于目标(右侧),您将文件名更改为文件的新名称。

例如,键入

mv /etc/configuration.txt /home/joe/backupconfig

这将把文件 "configuration.txt" 移动到 /home/joe/ 并将其重命名为 "backupconfig"

cp

复制文件。 有许多有用的选项,例如 -R (或 -r),它以递归方式复制目录和子目录。

命令语法

cp -options file_or_files new_location

示例

cp file1 file2

只需将 file1 复制到 file2(在同一目录下)。

cp /tmp/file1 ~/file2 /mnt/win_c

其中最后一个选项是要复制到的目录。 上面的例子将文件系统中不同区域的两个文件复制到 /mnt/win_c

cp -R directory_and_or_files new_location

此命令将复制目录(和所有子目录)和/或文件到 new_location

请注意,此命令可以使用标准通配符 第 20.4.1 节 来复制多个文件。

您可能还想在移动大型目录时尝试 “-u”,仅当源文件比您要复制到的目标文件更新,或者根本不存在目标文件时,才会复制。

ln

创建指向文件的链接。 有两种类型的链接

硬链接

硬链接被认为是指向文件的指针(数字通过输入 ls -l 列出)。每个硬链接都是对文件的引用。

只有当所有硬链接都被删除时,文件本身才会消失。 如果您删除原始文件并且有指向它的硬链接,则原始文件将保留。

示例

ln target_name link_name 

将创建一个名为 link_name 的到 target_name 的 “硬链接”,您需要删除这两个链接才能删除该文件。

符号链接

通过键入 “ln -s” 来创建符号链接。 当您删除原始文件时,符号链接会断开,符号链接类似于 windows “快捷方式”。

符号链接的优点在于,目标可以是另一个文件系统上的内容,而硬链接只能存在于同一文件系统上。

例如

ln -s target_name link_name

这将创建一个名为“link_name”的指向“target_name”的符号链接。如果删除原始文件,则符号链接将无法工作(它会变成一个损坏的链接)。

shred

通过先覆盖文件来安全地删除文件。防止数据被软件(甚至大多数硬件)恢复。请在使用shred时非常小心,因为您可能永远无法检索您在其上运行应用程序的数据。

例如

shred -n 2 -z -v /dev/hda1

“这告诉shred,使用随机数据覆盖分区2次(-n 2),然后通过用零覆盖(-z)来完成它,并显示其进度(-v)。当然,将/dev/hda1更改为正确的分区。每次传递可能需要一些时间,这就是为什么我将其设置为仅执行2次随机传递,而不是默认的25次。当然,您可以根据您特定的偏执程度和拥有的时间来调整此数字。

由于shred在如此低的级别上写入,因此实际上文件系统是什么类型并不重要 - 一切都将无法恢复。一旦shred完成,您可以关闭机器,并安心地出售或丢弃驱动器。

...但是,即使是shredding设备也并非总是完全可靠的。例如,大多数磁盘都会以应用程序不可见的方式映射出坏扇区;如果坏扇区包含敏感数据,则`shred'将无法销毁它。[shred info page]。”[2]

NoteShredding文件并非适用于所有文件系统
 

请注意,正如shred手册页(请参阅手册,最好是信息页以获取更多信息)中所述。shred在日志结构化或带日志的文件系统(例如JFS,ReiserFS,XFS,Ext3和许多其他现代文件系统)上无法正常工作

Tip使用shred的替代方案
 

在文件系统上运行时,shred有其缺点。首先,由于必须安装它,因此您无法在操作系统的文件系统上运行shred,而且由于无法在此计算机上安装 shred,因此您也无法在windows计算机上轻松使用shred。

您可能想尝试诸如DBAN项目之类的替代方案,该项目创建可以完全擦除机器硬盘的自启动软盘。

您可能还想看看chattr如何在删除文件后协助您shredding文件(它与shred有类似的问题,仅适用于ext2和ext3样式的文件系统...),请参阅第14.2节

du

显示有关文件大小的信息。使用 du 文件名显示特定文件的大小。如果您在目录上使用它,它将显示目录和每个子目录中文件大小的信息。

du的选项(使用 du -选项

  • -c -- 这将使 du 在处理完所有参数后打印总计。

  • -s -- 总结每个参数(打印总计)。

  • -h -- 以“人类可读”模式打印内容;例如,打印1M(兆字节)而不是1,024,000(字节)。

在目录上使用 -hs 选项将显示该目录和所有子目录的总大小。

命令语法

du -options file_directory_or_files

示例

du -hs *

此命令将列出当前目录中所有文件的大小,并且将列出子目录的大小。它将以人类可读的大小列出内容,使用1024 Kb为1兆字节,M代表兆字节,K代表千字节等。

file

尝试找出文件类型,例如,它可能会说它是:二进制文件,图像文件(它会说jpeg,bmp等),ASCII文本,C头文件和许多其他类型的文件,这是一个非常有用的实用程序。

命令语法

file file_name
stat

告诉您有关文件的详细信息,包括inode号创建/访问日期。还具有许多高级选项和用法。

对于简单的使用,键入

stat file
dd

在非常低的级别上复制数据,可用于创建磁盘副本第20.3节和许多其他内容(例如CD映像文件)。

dd 还可以对文件执行转换,并更改写入文件时使用的块大小。

命令语法,请注意块大小和计数是可选的,您可以改用文件而不是设备...

Note请注意
 

dd 是一个高级且难以使用的命令。它也非常强大,因此请小心使用它

命令语法

dd if=/dev/xxx of=/dev/xxx bs=xxxx count=x 

Warning警告
 

命令 dd 用于在非常低的级别上工作。它可以用于覆盖重要信息,例如您的主引导记录或硬盘的各个重要部分。使用它时请小心(尤其是在使用设备而不是文件时)。

touch

此命令用于创建空文件,只需执行 touch 文件名。它也用于更新文件上的时间戳。

touch 可以用于更改文件的时间和/或日期

touch -t 05070915 my_report.txt[3]

此命令将更改my_report.txt上的时间戳,使其看起来像您在9:15创建了它。前四个数字代表5月7日(0507),采用MM-DD(美式风格),后四个数字(0915)代表时间,早上9:15。

您可以不使用纯数字来更改时间,而可以使用类似于date工具的选项。例如

touch -d '5 May 2000' some_file.txt

您也可以使用 --date= 而不是 -d。 另请参阅第8.1节下的date命令,以获取有关使用 -d--date= 的示例(使用 -d--date 时,日期部分的语法完全相同)。

split

将文件拆分为几个较小的文件。

使用 -b�xx 选项将其拆分为 xx 字节,还可以尝试 -k 代表千字节,-m 代表兆字节。您可以使用它来拆分文本文件和任何其他文件... 您可以使用 cat 重新组合文件。

如果您必须将某些内容传输到软盘或希望将文本文件划分为特定大小,这可能很有用。

命令语法

split -options file

这将把输入文件分割成每个文件1000行输入(这是默认值...),并输出(使用上面的示例),输入名称为file,“fileaa”(文件的第一部分),“fileab”(文件的第二部分),“fileac”(文件的第三部分)等等,直到文件没有剩余部分要分割。


7.3. 批量重命名/复制/链接工具

在GNU/Linux中,有几种不同的方法可以执行文件的批量重命名(是的,可以进行批量重命名!)。还有一个perl脚本可以重命名文件上的扩展名,请参阅第19章

以下是使用命令 mmvrename (一个perl脚本)或一些bash shell脚本执行文件批量重命名的三种方法。

mmv

mmv 是一个批量移动/复制/重命名工具,它使用标准通配符来执行其功能。

mmv的手册页很难理解,我对这个工具的理解有限。但是 mmv 支持一些标准通配符。

根据手册,“;”通配符对于匹配目录树中任何深度的文件都很有用(即它将递归地进入当前目录的下面)。

下面显示了如何使用 mmv 的一个示例

mmv \*.JPG \#1.jpg 

第一个模式匹配任何带有“.JPG”的内容,并将每个文件(“#1”匹配第一个通配符)重命名为“.jpg”。

每次使用\(通配符)时,都可以使用#x来获取该通配符。其中x是一个从1开始的正数。

Tipmmv主页
 

您可以在Web上 这里找到 mmv

还要注意,与 mmv 一起使用的某些选项也适用于该套件中的其他工具,这些工具包括 mcp(批量复制),mad(将源文件的内容批量附加到目标名称),mln(批量链接到源文件)。

Tip提示
 

有一个Java替代 mmv 的方案,它可以在GNU/Linux和Windows上运行,Esomaniac

rename

rename 是一个perl脚本,可用于根据正则表达式批量重命名文件。

将所有“.JPG”文件重命名为“.jpg”的示例是

rename 's/\.JPG$/.jpg/' *.JPG 

Note查找重命名
 

您可以从各个地方获得重命名。我建议尝试CPAN搜索站点,我在这里找到了该脚本 重命名脚本版本1.4

Bash脚本

Bash脚本是重命名文件的一种方法。您可以开发一组指令(一个脚本)来重命名文件。如果您没有mmvrename,脚本会很有用...

下面显示了一种方法

for i in *.JPG; 
do mv $i `basename $i JPG`jpg; 
done 

请注意,上面的脚本来自Usenet帖子。不幸的是,我不知道作者的名字。

第一行说找到所有带有“.JPG”扩展名(仅限大写字母,因为UNIX系统区分大小写)。

第二行使用带有'$i'参数的basename(键入man basename以获取更多详细信息)。'$i'是一个包含匹配文件名称的字符串。该行的下一部分从末尾删除JPG扩展名,并将jpg扩展名添加到每个文件。命令 mv 在输出上运行。

另一种方法是

for i in *.JPG; 
do mv $i ${i%%.JPG}.jpg; 
done

上面的脚本使用内置的bash函数重命名文件。有关bash脚本编写的更多信息,您可能想查看高级bash脚本编写指南,由Mendel Cooper撰写。


第8章. 查找有关系统的信息

time

如果您正在寻找如何更改时间,请参考这里的 date第8.1节

time 是一个用于测量程序执行所需时间的实用程序。它还会测量CPU使用率并显示统计信息。

使用 time -v(详细模式)以显示有关特定程序的更多详细统计信息。

用法示例

time program_name options
/proc

/proc(进程信息伪文件系统)下的文件显示有关系统的各种信息。 可以将其视为内核使用的信息的窗口。

例如

cat /proc/cpuinfo

显示有关CPU的信息。

less /proc/modules 

使用上面的命令查看有关系统上加载了哪些内核模块的信息。

dmesg

dmesg 可用于打印(或控制)“内核环形缓冲区”。dmesg 通常用于打印内核显示的启动消息的内容。这通常在调试问题时很有用。

只需键入

dmesg
df

显示有关已挂载文件系统上的空间的信息。使用 -h 选项使 df 以“人类可读”的格式列出空间。也就是说,如果还剩下1024千字节(大约),那么 df 会说还剩下1MB。

命令语法

df -options /dev/hdx

后一部分是可选的,您可以简单地使用带或不带选项的 df 来列出所有文件系统上的空间。

who

显示有关哪些用户已登录到系统的信息,包括他们登录的时间。

命令语法

who
w

显示有关谁已登录到系统以及他们正在做什么(即,他们正在运行的进程)的信息。它类似于 who,但显示的信息略有不同。

命令语法

w
users

who 非常相似,除了它仅打印出当前已登录的用户名。(不需要或不接受任何选项)。

命令语法

users 
last

显示有关各种用户何时登录或注销的记录。这包括有关计算机何时重新启动的信息。

要执行此操作,只需键入

last
lastlog

显示用户列表以及他们登录系统的时间/日期。

只需键入

lastlog
whoami

告诉用户当前以什么身份登录,这通常是他们登录时使用的用户名,但可以使用诸如 su 之类的命令进行更改。whoami 不需要或不接受任何选项。

只需键入

whoami
free

显示内存统计信息(总计、可用、已用、缓存、交换)。 使用 -t 选项显示所有内容的合计,使用 -m 选项以兆字节为单位显示内存。

示例

free -tm

这将显示包括以兆字节为单位的总计的内存使用情况。

uptime

打印计算机已经“启动”了多久,即计算机已经运行了多久。 它还显示用户数量和处理器负载(CPU 的工作强度...)。

Tipw 命令
 

运行 w 命令时,它会显示 uptime 命令的输出。 您可以使用 w 命令代替 uptime。

uname

uname 用于打印系统信息,例如操作系统类型、内核版本等。

一些 uname 选项

  • -a --- 打印所有可用的信息。

  • -m --- 仅打印与机器本身相关的信息。

  • -n --- 仅打印机器主机名。

  • -r --- 打印当前内核的版本号。

  • -s --- 打印操作系统名称

  • -p --- 打印处理器类型。

命令语法

uname -options
xargs

请注意,xargs 是一个高级、令人困惑但功能强大的命令。 xargs 是一个用于多次运行其他命令的命令,这样可以防止任何类型的过载... 当您运行一个命令然后添加一个 “| xargs command2” 时,command1 的结果将传递给 command2,可能逐行传递或类似的方式。

理解 xargs 往往非常困难,而且我的解释也不是最好的。 请参考下面的示例或尝试 参考文献 中的 [6] 以获取另一个 xargs 教程。

Note使用 xargs 的替代方案
 

请注意,下面对 xargs 的解释不是最强的(在撰写本文时,我找不到更好的解释:)。

替代方案可能包括编写一个简单的 bash 脚本来完成这项工作,这并不是世界上最困难的任务。

示例

ls | xargs grep work

第一个命令很明显,它将列出当前目录中的文件。 对于 ls 的每一行输出,xargs 将在该特定行上运行 grep 并查找字符串“work”。每次在新的行上执行 grep 时,输出看起来像

file_name: results_of_grep 

如果 grep 没有找到该单词,则不会有任何输出,如果它有错误,则会输出该错误。 显然,这并不是非常有用(你可以直接做

grep 'word' *

这只是一个简单的例子...

xargs 也接受各种选项

  • -nx --- 将前 x 个命令分组在一起

  • -lx --- xargs 将为每 x 行输入执行该命令

  • -p --- 提示是否执行这个特定的字符串

  • -t --- (tell) 详细,在执行每个命令之前回显它

  • -i --- 将使用类似于 find 的 -exec 选项的替换,它将在某些事物上执行某些命令。

示例

ls dir1 | xargs -i mv dir1/'{}' dir2/'{}'

{} 将被替换为当前输入(在本例中为目录中列出的当前文件/目录)。 上面的命令会将 dir1 中列出的每个文件移动到 dir2。 显然,这个命令不会太有用,去 dir1 并键入 mv * ../dir2 会更容易。

这是一个更有用的例子

\ls *.wav | xargs -i lame -h '{}' '{}'.mp3

这将在当前目录中查找所有 wave 文件并将它们转换为 mp3 文件(使用 lame 编码)并在文件名末尾附加“.mp3”,不幸的是它不会删除 .wav,所以它不是太有用...但它有效。


8.1. 日期/时间/日历

在类 UNIX 系统上,有一个命令可以更改日期和时间,即 date,还有一个简单的日历实用程序,cal。 如果您希望更改文件的时间戳,请参阅 第 8 章

date

告诉你日期(和时间),也用于设置日期/时间。

要设置日期,键入 date MM:DD:YYYY (美式日期格式),其中 MM 是月份,DD 是该月的天数,YYYY 是年份。

例如,要将日期设置为 2000 年 1 月 1 日,您将键入

date 01:01:2000

要设置时间(其中 -s 选项用于设置新时间),键入

date -s hh:mm:ss

您可以使用的另一个有用的选项是 --date=“string”(或 -d “string”)选项,以显示 x 天前或 x 天后的日期(或 x 周、月、年等)。 请参阅下面的示例。

示例

date --date="3 months 1 day ago"

将打印从当前日期起 3 个月零 1 天前的日期。 请注意,--date=”x month x day ago”-d “x month x day ago” 是等效的。

date -d "3 days"

上面的命令将打印从现在起 3 天后的日期。

cal

键入 cal 会在您的屏幕上显示当前月份的日历,采用漂亮的标准日历格式。 有各种选项可以自定义日历,请参阅 info/man 页面。

示例

cal -y year

将显示特定年份的日历,只需使用 cal -y 即可打印当前年份的日历。

cal 2 2004

这将显示 2004 年 2 月的日历


8.2. 查找有关分区的信息

有很多方法可以找到有关硬盘驱动器的信息,有关已挂载分区的信息,也可以尝试第 8 章中的 df

使用 proc 文件系统

您可以浏览 proc 文件系统中相关区域的信息,位于 /proc/ide/ 或 /proc/ide?/hd? 目录下的信息,其中第一个问号是一个数字,第二个问号是一个字母(从“a”开始)。

例如

cd /proc/ide0/hda

在此目录下,将有关于连接的硬盘驱动器或 cdrom 的各种信息。

使用 fdisk

使用带有 -l 选项的 fdisk 将输出有关连接到系统的任何硬盘驱动器的信息以及有关其分区的信息(例如,分区类型)。

有关使用 fdisk 对硬盘进行分区的相关信息可以在您的发行版文档、fdisk 手册页或在线找到。

Note需要 Root 权限
 

此命令需要 root 权限才能工作


第 9 章. 控制系统

控制系统一章详细介绍了您可能希望用于与系统上的设备交互的命令,然后详细介绍了如何控制进程和服务/守护进程。

eject

eject 只是告诉设备打开(弹出)驱动器。 适用于 cdrom/DVD 驱动器。

例如,下面的命令将弹出 cdrom 驱动器(如果您的 cdrom 链接到 /dev/cdrom)

eject /dev/cdrom

Note除非
 

只有当用户有权挂载该分区时,此操作才会有效。 请参阅 第 9.1 节中的提示以获取更多信息。


9.1. 挂载和卸载(软盘/CDROM/硬盘分区)

Tip允许用户挂载分区
 

默认情况下,UNIX 系统将允许普通用户卸载分区。 但是,除非超级用户授予权限,否则用户将不允许挂载分区。

除非用户有权挂载该设备,否则下面列出的命令对普通用户无效。

如果您的特定发行版设置为不允许用户挂载分区,则更改它并不难,只需编辑 /etc/fstab 文件(以 root 身份)并

Replace the word "defaults" with "user" or
Add "user" to the end of the options list for the particular partition(s).

mount

挂载设备。 将设备附加到文件系统层次结构(树 ( / ))。 需要这样做才能访问驱动器(请参阅下面的 第 9.1 节 中的示例)。

umount

“卸载”设备。 命令 umount (没有 'n') 卸载设备。 它将其从文件系统层次结构(树 ( / ))中删除。 在您移除软盘/CDROM 或任何其他可移动设备之前,需要这样做(请参阅下面的 第 9.1 节 中的示例)。

smbmount //wincomp/c /mnt/win

其中“win”是您希望挂载的位置,“wincomp”是您的 windows 计算机的 IP 地址或名称。

Note请注意
 

如果您的 /etc/hosts 文件中列出了计算机,则使用计算机名称而不是 IP 地址的 ping/smbmount/ssh 或其他 UNIX 系统程序才能正常工作。 这是一个例子

192.168.1.100 new 
这行表示有一台名为“new”的计算机,其 IP 地址为 192.168.1.100。 现在它存在于 /etc/hosts 文件中,我不再需要键入 IP 地址,只需键入名称“new”即可。

smbmount 是 samba 包中的一个工具,它可以将远程 windows 文件系统挂载到您当前的计算机上。

卸载使用的语法与上面列出的“umount”相同,或者您可能喜欢使用

smbumount /mountpoint

以下是有关如何挂载文件系统的一些示例

mount -t ext2 /dev/fd0 /mnt/floppy (1)
mount -t iso9660 /dev/hdb /mnt/cdrom (2)
mount -t iso /tmp/image_file /mnt/iso_file/ -o loop (3)
(1)
windows 文件系统被称为 vfat(Windows 9x 上的标准)或 NFTS(Windows 2000 和 XP 上的标准)。
(2)
对于 CDROM
(3)
这将挂载图像文件(通常是 CD 图像文件),以便您可以查看/更改文件(它看起来像任何其他设备)。

Note-t 选项
 

在运行较新版本的 Linux 内核的任何系统上,-t 选项并不总是必需的,可以省略。

如何卸载文件系统的示例(在弹出/移除磁盘之前是必需的)

umount /mount_point

一个卸载点示例可能是“/mnt/floppy”或“/mnt/cdrom”


9.2. 关闭/重启系统

shutdown now

立即关闭计算机(不要断电)。 请注意,在 UNIX 系统中,这种关闭意味着进入“单用户模式”。 单用户模式是一种只有管理员(root)才能访问计算机的模式,这种模式专为维护而设计,通常用于修复。

例如,这将使您进入单用户模式

shutdown now
shutdown -h now

立即关闭计算机(-h = halt)。 它开始关闭过程,按 CTRL-C (中断键)来停止它。 在命令结束后,您还可以在引号中留下一条消息,该消息将广播给所有用户,例如

shutdown -h now "Warning system malfunction, self-destruct imminent"

这将停止系统并将消息发送给当前登录的任何人。

Tip在特定时间关闭
 

您还可以设置系统应关闭的时间,而不是“now”。 键入“+x minutes”(任何分钟数都是合适的),或者您甚至可以设置一个确切的时间。 例如,要在 11:50 关闭,键入

shutdown -h 11:50

NoteShutdown -h vs poweroff
 

在某些系统中,shutdown -hhalt 实际上并不会关闭系统的电源。对于那些无法通过这些命令关闭电源的系统,请使用 poweroff 命令。

halt

shutdown -h now 相同,不接受任何选项,该命令会立即关闭系统。

shutdown -r now

立即关闭(-r = 重启)计算机。它会开始重启过程,按 CTRL-C (中断键) 可以停止。命令结束后,您还可以用引号引住消息,将其广播给所有用户,例如:

shutdown -r now "Warning system rebooting, all files will be destroyed"

这会重启系统,并将消息发送给所有已登录的用户。

Tip在特定时间重启
 

您可以指定系统应该重启的时间,而不是 "now"。输入 "+x minutes" (任何分钟数都可以)或者您可以设置一个确切的时间。例如,要在 11:50 重启,输入:

shutdown -r 11:50

reboot

shutdown -r now 相同,不接受任何选项,只是立即重启计算机。

CTRL-ALT-DEL

(组合键) 可用于从终端重启或关闭系统,具体取决于您的系统配置。请注意,这不适用于 xterminal。CTRL-ALT-DEL 会立即开始重启/关闭过程,用户无需登录。

Tip您可以更改 CTRL-ALT-DEL 的行为,使其不再重启。
 

要禁用 CTRL-ALT-DEL 重启您的计算机(或让它执行其他操作),您可以编辑 /etc/inittab 文件(作为 root 用户)。

以下是在 Mandrake/Mandriva Linux 系统上的样子:

# Trap 
CTRL-ALT-DEL

ca::ctrlaltdel:/sbin/shutdown -t3 -r now 

请注意,# 表示注释(不会被使用)。如果您只是在命令前添加一个 # (井号),则会禁用该命令(它将成为注释)。

您还可以更改它运行的命令,例如,如果您将 -r 更改为 -h,计算机将关闭而不是重启,或者您可以让它执行任何您想要的操作。您可以发挥创造力,让它做一些有趣的事情。


9.3. 控制进程

ps

将为您提供系统上正在运行的进程列表。如果没有选项,ps 将列出属于当前用户并具有控制终端的进程。

示例选项包括:

  • -aux --- 列出所有正在运行的进程(由所有用户运行,并包含一些信息)。

  • -a --- 列出所有用户的进程。

  • -u --- 列出更多信息,包括用户名、CPU 使用率百分比和内存使用率百分比等。

  • -x --- 列出没有控制终端的进程。

  • -l --- 显示不同的信息,包括 UID 和 nice 值。

  • --forest --- 这使得更容易看到进程层次结构,这将让您了解系统上各种进程之间的相互关系(尽管您也应该尝试 pstree)。

例如,要列出所有正在运行的进程以及其他信息,只需输入:

ps -aux
pstree

以树形结构显示进程(类似于 tree 对目录的操作)。

使用 -p 选项显示进程 ID。

示例

pstree -p

这将列出所有进程及其 ID。

pgrep

当您知道进程名称的一部分时,此命令对于查找特定进程的进程 ID 非常有用。

使用 -l 选项列出进程的名称,并使用 -u 选项通过特定用户进行搜索。

通常,pgrep 只会返回 PID 号;这样您就可以将其与其他命令一起使用。

示例

kill $(pgrep mozilla)

这将终止任何以 mozilla 开头的进程名称。 请注意,这与使用 pkill(见下文)相同。

如果您不熟悉此命令的 $(...) 部分,请参阅第 6.4 节

要列出进程 ID 和名称,输入:

pgrep -l process_name
top

显示“top”(如 CPU 使用率)进程,提供比 ps 更多的详细信息。

top 还提供更新的显示,它有许多选项,可以完全自定义,有关详细信息,请参阅手册或信息页面。

kill

要终止系统上的进程,您需要它们的 PID 或 ID。 使用 pspstree 查找进程 ID (PID),或使用 jobs 查找 ID。

Tipkillall 和 pkill - 按名称终止进程
 

pkillkillall 可能比 kill 更容易使用。 pkill 允许您输入进程名称的一部分来终止它,而 killall 则需要完整的进程名称。 有关更多信息,请参见下文。

示例

kill pid

只需终止一个进程(允许它有时间保存文件并退出)

kill %id

与上面相同,只是它使用 ID 而不是 PID,使用 ID 终止时需要使用 % (百分号)。

kill -kill pid

强制终止一个进程(不允许保存或更新文件); 仅在必要时使用,因为程序拥有的所有数据都将丢失。

还有许多其他的 kill 选项,例如 kill -HUP (挂起)... 有关更多信息,请参阅手册/信息页面。

killall

按名称终止进程,使用名称而不是进程 ID (PID)。 使用 -v 使 killall 报告终止是否成功,使用 -i 进入交互模式(尝试终止之前会提示您)。

Tippkill - 类似于带有正则表达式的 killall
 

pkill 是另一个允许终止进程的命令,但它使用正则表达式。 有关更多信息,请参见下文。

例如

killall -iv mozilla

这将终止任何名为 "mozilla" 的进程,并在每次终止之前提示您,并报告终止是否成功。 不幸的是,您需要获得正确的名称才能使 killall 工作,您需要使用 "mozilla-bin" 来终止 mozilla 浏览器。 如果您想要不需要知道确切名称的东西,请尝试 pkill(如下)。

pkill

pkill 用于根据扩展的正则表达式终止进程。 使用 -u 选项使用用户名和进程名称终止(例如,仅终止特定用户的进程)。 pkill 还可以将特定信号发送到进程。

对于正常用法,只需键入:

pkill process_name

请注意,“process_name” 不必完全匹配...

或者,要仅终止用户 "fred" 和 "anon" 的 "process_name",键入:

pkill -u fred anon process_name
skill

skill 用于将特定信号发送到命令/用户名/tty。

skill 有许多可用选项来确保正确解释(否则它只会猜测它是什么),只需输入 skill -option(s)

  • -L --- 列出可以发送的各种信号

  • -u --- 指定用户名; 显然,这之后是用户名或空格分隔的用户名列表。

  • -p --- 进程 ID(后跟进程 ID)

  • -c --- 命令名称(这与 killall 相同)

  • -t --- (tty 编号)

  • -v --- 详细模式

  • -i --- 交互模式。

skill 可用于使用用户名、命令名称或进程 ID 停止、继续或终止进程(或向他们发送您喜欢的任何信号)。

有用的示例

skill -STOP abusive_user_name

上面的命令将停止该用户的所有进程,这将导致他的屏幕冻结,直到您输入:

skill -CONT abusive_user_name

这将告诉所有进程可以像以前一样继续。 请注意,这仅在您是 root 用户时才有效。 另请注意,您可以在命令中列出多个用户名,以便它适用于多个用户。

CTRL-C

中断键,将终止(中断、停止)在您的终端上运行的进程。

jobs

打印当前正在运行的作业,即您在 shell 中执行的进程。

bg

在后台运行进程。 要在后台启动程序(使其不接管终端),请在命令末尾使用 "&" (与符号)。 您通常使用 CTRL-Z 暂停您当前正在使用的进程。 您可以简单地使用 bg 在后台恢复上次暂停的作业...

命令语法

bg job_number

或者

bg job_name
fg

将进程带到前台,以便您可以与之交互。 该进程将使用您当前的终端。 请注意,只需使用 fg 将上次暂停的作业编号置于前台...

您可以按名称或编号将作业置于前台(使用 jobs 查找编号)。

命令语法

fg job_number

或者

fg job_name
nice

设置进程的优先级。 nice -20 是最大优先级(只有管理用户可以分配负优先级),nice 20 是最小优先级。 您必须是 root 用户才能给进程更高的优先级,但是您始终可以降低自己的进程的优先级...

示例

nice -20 make

将执行 make,它将以最大优先级运行。

renice

更改现有命令的优先级。 您可以使用选项 -u 更改特定用户名的所有进程的优先级,使用 -g 更改特定组的所有进程的优先级。 默认是按进程 ID 号更改。

示例

renice +20 2222

这将进程 2222 的优先级更改为 +20(最低优先级)。

snice

snice 的工作方式与 skill 非常相似,只是它更改了进程的优先级。 它的功能与 renice 相似。

要使用选项(以确保正确解释),您只需键入 snice -option(s):

  • -u --- 指定用户名; 显然,这之后是用户名或空格分隔的用户名列表。

  • -p --- 进程 ID(后跟进程 ID)

  • -c --- 命令名称(这与 killall 相同)

  • -t --- tty 编号

  • -v --- 详细模式

  • -i --- 交互模式。

示例

snice -10 -u root

这将提高所有 root 进程的优先级。


9.4. 控制服务

概念定义

UNIX 系统使用脚本来控制“守护进程”,这些“守护进程”提供“服务”(例如您的声音输出)来运行 UNIX 系统。 UNIX 系统由各种服务(守护进程)组成。

“守护进程”是在后台(零交互)运行的系统进程,执行特定任务。

守护进程的名称通常以“d”结尾,并且侦听特定事件或执行系统任务,例如,sshd 侦听对特定机器的安全 shell 请求并在发生时处理它们。

守护进程通常执行关键的系统任务,例如控制交换空间、内存管理和各种其他任务。

service

service 是 Mandrake/Mandriva 和 Redhat 系统上可用的 shell 脚本,允许您对服务执行各种任务。

  • 使用 -s 选项打印所有可用服务的状态

  • 使用 -f 选项,后跟服务名称,以重新启动该特定服务。

  • 使用 -R 选项重新启动所有服务(请注意,这将终止当前正在运行的所有服务,包括 X window 系统)。

例如,要重新启动守护进程 sshd,您将键入:

service -f sshd
直接使用脚本

您也可以直接从 /etc/init.d 执行 shell 脚本。 只需转到该目录,然后键入 ./script_name

执行脚本应返回它可以接受的选项,默认情况下它们将是:

  • restart --- 这将使服务停止然后再次启动。

  • start --- 此选项将启动服务(假设它未运行)。

  • stop --- 此选项将停止服务(假设它正在运行)。

  • status --- 此选项将告诉您有关服务的信息


第 10 章. 管理用户

su username

(切换用户),更改为其他用户。

使用 su - 切换到 root 用户,或使用 su username 切换到其他用户名。

Tip使用 sudo
 

通常认为使用 sudo 命令而不是切换到 root 用户是一种更好的做法。

sudo 命令允许您以 root 用户身份执行操作,但会记录您执行的操作(因此您可以跟踪您自己或其他人对系统所做的任何事情)。 sudo 有一个非常好的手册页,提供了大量有关它的信息。

使用 sudo 的方式和使用普通命令类似,只需在命令前加上 sudo,例如:

 sudo rpm -U myrpm.i386.rpm 

这能让您安装 rpm 包,即使您拥有正确的 sudo 权限。

请注意,如果您想返回到您原来的用户,不要再次使用 su,而是输入 exit 或者按下 CTRL-D

简单地输入 su 会赋予您一些 root 权限,但会存在一些和环境变量相关的次要问题。通常认为使用 su - 是更好的做法,因为它没有限制。

root

超级用户。这个用户拥有对所有事物的控制权,可以对系统做任何事情(包括破坏它,当然也可以修复它 :) )。这个用户被用于执行系统上大多数的管理功能。


10.1. 用户/组

通常,所有用户信息都列在 “/etc/passwd” 文件中,而组信息列在 “/etc/groups” 文件中。

如果您需要编辑任何一个文件,建议您使用 vipw 编辑密码文件,使用 vigr 编辑组文件。这些特定的命令会在编辑文件前后处理文件锁定。

有很多关于添加/删除/控制用户和组的信息,这里只提供最基本的信息。

chsh

用于更改您的登录 shell。

要列出可用的 shell,输入

chsh --list-shells

只需输入 chsh 然后 [Enter],然后输入您每次登录时想要使用的 shell 的名称。

chfn

更改 finger 信息。

此命令更改的信息会反映在 /etc/passwd 文件中,使用此实用程序更新您的真实姓名、办公室和家庭电话号码(如果存在)。

使用 -f 选项来更改用户的全名。您可以将此工具用作 chfnchfn user_name (仅 root 用户可用)。

命令语法

chfn user_name
passwd

更改用户的密码。 如果您想更改其他用户的密码,您需要成为 root 用户。

只需输入 passwd 即可更改您自己的密码,或者要更改其他用户的密码,输入

passwd username

第 11 章. 文本相关工具

文本相关工具章节是本指南中最大的章节,在 GNU/Linux 机器上,您的大部分时间都将花费在与文本交互上。本章简要介绍文本编辑器,并深入介绍查看文本、使用工具操作文本、在文件中查找文本以及在基于 Windows 的系统和基于 GNU/Linux 的系统之间更改文本格式。


11.1. 文本编辑器

vi

一个传统的 UNIX 系统文本编辑器,应该存在于任何 UNIX 系统上。它需要学习一些组合键,但是非常强大,而且非常小巧。 vi 以其对资源的最小化使用而闻名。

Notevim
 

vim - vi improved(vi 的改进版)。vi 编辑器的一个更新版本。许多系统使用 vim 而不是 vi

emacs

不仅仅是一个文本编辑器。这个文本编辑器具有陡峭的学习曲线,但也非常强大,它既高级又庞大。emacs 可以做任何事情,上网、聊天、玩游戏和许多其他任务。

其他

这里列出的文本编辑器种类太多了。您可以在互联网上查找它们,可以使用任何搜索引擎,或者您可以在 SourceforgeFreshmeat 上找到它们中的许多。


11.2. 文本查看工具

head

在没有选项的情况下,它显示文本文件的前十行。

使用 head -n x(其中“x”是一个数字)来显示前 x 行。

尝试 head -F 使用 head 的持续更新版本(如果文件发生更改,它将被重新加载并显示),请注意,使用此选项将以连续循环运行 head,因此您需要使用 CTRL-C 退出。

例如

head -n 20 somelog.txt 

将显示文件 “somelog.txt” 的前 20 项条目。

tail

在没有选项的情况下,它显示文件的最后十行。

使用 tail -n x(其中“x”是一个数字)来显示最后的 x 行。

尝试 tail -F 使用 tail 的持续更新版本(如果文件发生更改,它将被重新加载并显示),请注意,使用此选项将以连续循环运行 tail,因此您需要使用 CTRL-C 退出。

例如

tail -n 20 somelog.txt

将显示文件 “somelog.txt” 的最后 20 项条目。

less

查看文本,可以向后和向前滚动。 具有许多不同的选项,这些选项都在手册页中进行了描述。

less 已经在运行时,使用 :n 和 :p (输入一个冒号,然后输入字符) 移动到下一个和上一个文件(当有多个打开的文件时)。

命令语法

less filename.txt

或者使用一个工具 (在本示例中是 cat)

cat file.txt | less
more

一次显示一整页文本,比 less 更有限。 在这种情况下,lessmore 更好。

more filename.txt

或者使用一个工具 (在本示例中是 cat)

cat file.txt | more
cat

将多个文档合并(连接)到一个文档中。 也可以在单个文件上使用。

一些有用的选项

  • -b --- 给所有非空白行编号

  • -n --- 给所有行编号。

也可以尝试使用 nl 来给行编号(它可以进行更复杂的编号),您可以在本节的 11.4 节 中找到它

示例

cat filepart1 filepart2 filepart3 > wholefile.txt

这将把 filepart1、filepart2 和 filepart3 合并(连接)到单个文件 “wholefile.txt” 中。

tac

将多个文档合并(连接)到一个文档中,并以相反的顺序输出它们。 也可以在单个文件上使用。请注意,taccat 的反写。

示例

tac filepart1 filepart2 filepart3 > wholefile.txt

这将把 filepart1、filepart2 和 filepart3 合并(连接)到单个文件中,但每个文件都以相反的顺序写入。

z* 命令

许多命令可以以 “z” 作为前缀,以便在 gzip 压缩文件中读取/工作。

一些示例是 zcat、zless、zmore、zgrep、zcmp、zdiff

有很多实用程序可以处理压缩文件中的文本,而无需尝试先手动解压缩它们……大多数都以 “z” 开头。您可以在 15.3 节 中找到其中一些。

bz* 命令

还有一些命令以 “bz” 作为前缀,以便在用 bzip2 压缩的文件中读取/工作。

这些工具是 bzcat、bzless、bzgrep。您可以在 15.3 节 中找到其中一些。


11.3. 文本信息工具

wc

字数统计,计算文本文档中有多少个单词。 也可以用于计算文件中的行数或字节数。

使用选项 -w 代表单词,-l 代表行,-c 代表字节。 或者简单地运行 wc 而不使用任何选项来获取全部三个。

命令语法

wc -option file.txt
style

在特定的文本文件上运行各种可读性测试。 将输出许多不同可读性测试的分数(没有选项)。

命令语法

style -options text_file

Note在 diction 包中查找 style
 

此命令是 diction 包的一部分,现在似乎不经常使用

cmp

确定两个文件是否不同,适用于任何类型的文件。 与 diff 非常相似,只是它在二进制级别上进行比较,而不仅仅是文本。

diff

比较两个文本文件并输出差异报告(有时称为“diff”),其中包含两个文件之间不同的文本。

可用于创建“patch”文件(可以被 patch 使用)。

示例

diff file1.txt file2.txt

对于第一个文件中没有但在第二个文件中有的每一行,diff 将输出一个“>”(后跟该行);对于第一个文件中有但在第二个文件中没有的每一行,它将输出一个“<”(后跟该行)。

sdiff

它不是给出差异报告,而是将文件以两列并排输出,并用空格分隔。

diff3

diff 相同,只是用于三个文件。

comm

逐行比较两个文件,并打印 file1 特有的行(第 1 列)、file2 特有的行(第 2 列)以及两个文件共有的行(第 3 列)。

使用带有 -1、-2 或 -3 的 comm 来禁止打印这些特定行。 只需运行 comm 即可列出所有三行(即文件 1 和 2 特有的行以及两个文件共有的行)。

命令语法

comm file1 file2
look

输出系统词典中以给定字符串开头的单词列表——这对于查找以特定短语或前缀开头的单词很有用。

将字符串作为参数给出; 它不区分大小写。

命令语法

look string

11.4. 文本操作工具

Tip另请参阅
 

另请参阅 11.2 节中的 taccat,因为它们也可以执行文本操作

sort

在没有选项的情况下对文本进行排序,排序是按字母顺序进行的。 可以在文本文件上运行以按字母顺序对它们进行排序(请注意,它也会连接文件),也可以与管道“|”一起使用以对命令的输出进行排序。

使用 sort -r 反转排序输出,使用 -g 选项进行“数字”排序(即读取整个数字,而不仅仅是第一位数字)。

示例

cat shoppinglist.txt | sort

以上命令将在购物清单上运行 cat,然后对结果进行排序并按字母顺序显示它们。

sort -r shoppinglist.txt

以上命令将在一个文件上运行 sort,然后以反字母顺序对该文件进行排序。

高级排序命令

sort 是一个强大的实用程序,以下是一些更难以学习(和使用较少)的命令。使用 -t 选项使用特定符号作为分隔符,然后使用 -k 选项指定您要排序的列,其中第 1 列是分隔符之前的第一列。如果数字排序无法正常工作,也可以使用 -g 选项(如果没有 -g 选项,排序只会查看数字的第一位数字)。这是一个复杂的例子

sort -t : -k 4 -k 1 -g /etc/passwd | more 

这将对 “/etc/passwd” 文件进行排序,使用冒号“:”作为分隔符。 它将通过第 4 列(文件中的 GID 部分)进行排序,然后在该排序中使用第一个(名称)来解决任何联系。 -g 在这里是为了通过完整数字进行排序,否则它会在 50 之前拥有 4000(它只会查看第一个数字......)。

join

将把两行放在一起,假设它们在相关行上至少共享一个共同值。 如果它们没有共同值,它将不会打印行。

命令语法

join file1 file2
cut

打印所选的行部分(文本文件的),换句话说,删除行的某些部分。 您可能希望根据制表符或逗号或您可以想到的任何其他内容删除内容...

cut 的选项:

  • -d --- 允许您指定另一个分隔符,例如:“:” 通常与 /etc/passwd 一起使用

    cut -d ':' (and probably some more options here) /etc/passwd
  • -f --- 此选项通过列来处理文本,根据分隔符进行分隔。 例如,如果您的文件有类似“result,somethingelse,somethingelse”的行,而您只想得到 result,您可以使用

    cut -d ',' -f 1 /etc/passwd 

    这只会让你得到 /etc/passwd 中的用户名

  • “,” (逗号) --- 用于分隔数字,这些数字允许您剪切特定的列。 例如

    cut -d ':' -f 1,7 /etc/passwd

    这将仅显示每个人在 /etc/passwd 中设置的用户名和 shell。

  • “-” (连字符) --- 用于显示从第 x 行到第 y 行,例如 1-4, (将是从第 1 行到第 4 行)。

    cut -c 1-50 file1.txt

    这将剪切(显示)每一行的字符(列)1 到 50 (并且该行上的任何其他内容都会被忽略)

  • -x --- 其中 x 是一个数字,用于从第 1 行剪切到 “x”

  • x- --- 其中 x 是一个数字,表示从“x”处截断到结尾。

    cut -5, 20-, 8 file2.txt

    这将显示(“截断”)字符(列)1到5,8和从20到结尾。

ispell/aspell

要以交互方式拼写检查文件,程序会提示你替换单词或继续。aspell 据说在建议替换词方面更好,但最好自己尝试一下。

aspell 示例

aspell -c FILE.txt

这将在名为“FILE.txt”的特定文件上运行 aspellaspell 将以交互方式运行并提示用户输入。

ispell 示例

ispell FILE.txt

这将在名为“FILE.txt”的特定文件上运行 ispellispell 将以交互方式运行并提示用户输入。

chcase

用于将文件名中的大写字母更改为小写(或反之亦然)。

你也可以使用 tr 来做同样的事情...

cat fileName.txt | tr '[A-Z]' '[a-z]'  > newFileName.txt

以上命令将使用文件“fileName.txt”作为输入,并将结果输出到“newFileName.txt”,从而将大写转换为小写。

cat fileName.txt | tr '[a-z]' '[A-Z]' > newFileName.txt

以上命令将使用文件“fileName.txt”作为输入,并将结果输出到“newFileName.txt”,从而将小写转换为大写。

chcase(一个 perl 脚本)可以在 chcase 主页 上找到。

fmt

(格式化)一个简单的文本格式化工具。使用带有 -u 选项的 fmt 可以输出具有“统一间距”的文本,其中单词之间的空格减少为一个空格字符,而句子之间的空格减少为两个空格字符。

示例

fmt -u myessay.txt

这将确保句子之间的空格数为两个空格,单词之间的空格数为一个空格。

paste

将两个文件中的行放在一起,可以是每个文件的行并排(通常以制表位分隔,但你可以使用任何符号...),或者可以使每个文件的单词(第一个文件,然后是第二个文件)并排。

要获得并排的行列表,即第一个文件的第一行在左侧,以制表位分隔,然后是第二个文件的第一行,你可以输入

paste file1.txt file2.txt

要以串行方式显示列表,首先是第一个文件的第一行,[制表符],第一个文件的第二行,然后是第三行和第四行,直到第一个文件结束,你可以输入

paste --serial file1.txt file2.txt

Tip如果你给自己做一个示例,就很容易理解这个命令。
 

如果你自己创建一个示例会更容易。我用“第一个文件的第一行”和“第二个文件的第一行”等等作为一个快速示例,只用了几行。

expand

将制表符转换为空格并输出。使用选项 -t num 来指定“制表位”的大小,即每个制表符之间的字符数。

命令语法

expand file_name.txt

unexpand

将空格转换为制表符并输出。

命令语法

unexpand file_name.txt
uniq

从文件中删除重复条目,有时可以大大简化显示。

uniq 选项

  • -c --- 统计每个重复项的出现次数

  • -u --- 仅列出唯一条目

  • -d --- 仅列出重复条目

例如

uniq -cd phone_list.txt

这将只显示任何重复条目,并显示该条目出现的次数。

tr

(转换)。一个有用的过滤器,用于替换文本文件中字符的所有实例或“压缩”空白。

示例

cat some_file | tr '3' '5' > new_file

这将在某个文件上运行 cat 程序,此命令的输出将被发送到 tr 命令,tr 将用 5 替换 3 的所有实例,就像搜索和替换一样。你也可以做其他的事情,比如

cat some_file | tr '[A-Z]' '[a-z]' > new_file

这将在 some_file 上运行 cat 并将任何大写字母转换为小写字母(你也可以使用它来更改文件名的大小写......)。

Tip替代方案
 

你还可以使用单行 Perl 命令进行搜索和替换,请阅读本节末尾的内容。

nl

行号工具,它的默认操作是将其输入(作为参数给出的文件名或标准输入)写入标准输出。

行号被添加到每一行,并且文本被缩进。

此命令可以执行一些更高级的编号选项,只需阅读关于它的信息页面。

这些高级选项主要与编号的自定义相关,包括用于节/页/页脚等的不同形式的分隔。

也可以尝试 cat -n(给所有行编号)或 cat -b(给所有非空白行编号)。有关 cat 的更多信息,请查看此部分: 第 11.2 节

有两种使用 nl 的方法

nl some_text_file.txt

以上命令将为 some_text_file 的每一行添加编号。你可以使用 nl 来为如下示例所示的输出编号;

grep some_string some_file | nl
Perl 的搜索和替换文本

要在文件中搜索和替换文本,可以使用以下单行 Perl 命令[4]

$ perl -pi -e "s/oldstring/newstring/g;" filespec [RET]

在此示例中,“oldstring” 是要搜索的字符串,“newstring 是要替换它的字符串,而“filespec”是要处理的文件名或多个文件名。你可以将它用于多个文件。

示例:要将当前目录中所有文件中的字符串“helpless”替换为字符串“helpful”,请键入

$ perl -pi -e "s/helpless/helpful/g;" * [RET]

也可以尝试使用 tr 来做同样的事情(请参阅本节前面部分)。

Tip如果这些工具太原始
 

如果这些文本工具对于你的目的来说太简单了,那么你可能需要进行一些编程或脚本编写。

如果你想了解更多关于 bash 脚本的信息,请参阅 Mendel Cooper 撰写的 高级 bash 脚本指南

sed 和 awk 是传统的 UNIX 系统工具,用于处理文本,本指南没有提供对它们的解释。sed 在逐行的基础上执行替换,而 awk 可以执行类似的任务,或者通过处理文件和打印出某些信息来提供帮助(它是一种编程语言)。

你通常会在你的 GNU/Linux 系统上找到它们,并且会在互联网上找到许多教程,如果你必须对文本文件执行许多类似的操作,请随意查找它们。


11.5. 文本转换/过滤工具

过滤器(UNIX 系统/dos 格式)

以下过滤器允许你将文本从 Dos 样式更改为 UNIX 系统样式,反之亦然,或将文件转换为其他格式。另请注意,许多现代文本编辑器都可以为你做到这一点...

为什么要使用过滤器?

因为 UNIX 系统和 Microsoft 使用两种不同的标准来表示 ASCII 文本文件中的行尾。

这有时会在不熟悉其他操作系统行尾样式的编辑器或查看器中引起问题。以下工具允许你解决此差异。

有什么区别?

区别很简单,在 Windows 文本文件中,换行符由回车符后跟换行符表示,在 ASCII 中为 '\r\n'。

UNIX 系统上,换行符只是一个换行符,在 ASCII 中为 '\n'。

dos2unix

这会将 Microsoft 样式的行尾字符转换为 UNIX 系统样式的行尾字符。

只需键入

dos2unix file.txt
fromdos

这与 dos2unix (如上所述)相同。

只需键入

fromdos file.txt

fromdos 可以从 from/to dos 网站 获取。

unix2dos

这会将 UNIX 系统样式的行尾字符转换为 Microsoft 样式的行尾字符。

只需键入

unix2dos file.txt
todos

这与 unix2dos(如上所述)相同。

只需键入

todos file.txt

todos 可以从 from/to dos 网站 获取。

antiword

此过滤器将 Microsoft Word 文档转换为纯 ASCII 文本文件。

只需键入

antiword file.doc

你可以从 antiword 主页 获取 antiword

recode

在各种格式之间转换文本文件,包括 HTML 和数十种不同的文本编码形式。

使用 recode -l 获取完整列表。它也可以用于在 WindowsUNIX 系统格式之间转换文本(因此你不会得到奇怪的符号)。

Caution警告
 

默认情况下,recode 会覆盖输入文件,使用 '<' 仅将 recode 用作过滤器(并且不覆盖文件)。

示例

UNIX 系统文本到 Windows 文本

recode ..pc file_name

Windows 文本到 UNIX 系统文本

recode ..pc/ file_name

UNIX 系统文本到 Windows 文本,而不覆盖原始文件(并创建一个新的输出文件)

recode ..pc < file_name > recoded_file
tr

(仅适用于 Windows 到 UNIX 系统样式转换)。虽然 tr 不是专门设计用于通过以下方式将文件从 Windows 格式转换为 UNIX 系统格式的

tr -d '\r' < inputFile.txt > outputFile.txt

-d 开关表示简单地删除字符串的任何出现。由于我们正在寻找 '\r',即回车符,它将删除它找到的任何回车符,使该文件成为 UNIX 系统文本文件。你可以在这里阅读更多关于 tr 的信息,第 11.4 节


11.5.1. 转换工具

enscript

将文本文件转换为 postscript、rtf、HTML(使用 ghostview 查看 postscript 文件)。enscript 有大量的选项可以用来定制输出。

示例:[5]

enscript --language=html input_file.txt -o output_file.html

这将获取某个文件并将其作为 html 文件输出。

enscript --help-highlight

显示有关使用突出显示功能的帮助(列出所有不同类型的可用突出显示)

enscript --help-highlight

突出显示(美化打印),示例

enscript -E --color --language=html --toc --output=foo.html *.h *.c 

将所有带有 .h 和 .c(C 源代码和头文件)的文件添加到名为 foo.html 的文件中,使用颜色并添加目录

有关更多选项,请参阅 enscript 的精心编写的手册页。

figlet

用于创建 ASCII “艺术字”。Figlet 可以创建几种不同形式(字体)的 ASCII 艺术字,它是周围比较不寻常的程序之一。


11.6. 在文件中查找文本

grep

在文件中查找文本。例如

grep this_word this_file.txt 

示例选项

  • -v --- 此选项用于显示不包含指定字符串的行。

  • -n --- 此选项显示行号。

  • -w --- 此选项使 grep 匹配整个单词。

  • -A x -B x(其中 x 是一个数字)--- 显示在找到特定单词的段落之后或之前的 “x” 行。

  • -rrgrep --- 递归地搜索文件中的文本。

此命令使用正则表达式。有关更多信息,请参阅第 20.4.2 节

例如,此命令将在文件 “rpmlist.txt” 中查找以 “rpm” 开头的任何内容。

grep rpm rpmlist.txt

或者您可以像这样使用它来搜索另一个文件的输出。

rpm -qa | grep ogg

第一个命令列出系统上安装的所有 RPM,第二个命令查找包含字符串 “ogg” 的任何 RPM 并输出它们。

rgrep

grep 的“递归”版本(这是一个与grep不同的程序)。它将在当前目录及其所有子目录中搜索所有文件,并打印文件名和匹配的行。遵循与 grep 类似的语法(参见上文)。您也可以使用 grep-r 选项来实现相同的效果。

fgrep

这个版本的 grep 调用 grep 并使用 -F 选项。这将仅查找文字字符串,它不会使用或扩展任何类型的正则表达式。

例如,您可以输入

fgrep 'a$*b?' file.txt

fgrep 将在文件 “file.txt” 中查找字符串 “a$*b?”。

Tip其他版本
 

grep 有多种版本,旨在执行不同的操作,请尝试在互联网上或您的发行版中搜索它们。


第 12 章 数学工具

Notenum-utils 主页
 

“num-utils” 主页,Num Utils, 包含各种命令行程序,这些程序在 GNU/Linux 机器上执行数学运算时可能很有用。

units

在不同的比例之间转换测量单位。例如,厘米转换为英寸,升转换为加仑。

只需运行该程序即可,我建议按如下方式运行它

units --verbose

这将运行该程序,它会准确地告诉你它在做什么。

例如:您输入“60 米”,然后希望以“千米”计算。第一行会告诉你它计算的结果。

如果您想要“米”到“千米”的转换率,请阅读输出的第二行(它会告诉你 米/1000)。

Note要退出
 

完成使用 units 后,按 CTRL-D(文件结束键)。

python

Python 是一种非常强大、易于学习、通用的解释型编程语言。它也是一个很棒的计算器!如果您没有安装计算器,只需键入 python,然后按 [Enter]。

这将在交互模式下执行 Python 解释器。像使用计算器一样输入你的算式。请注意,如果您想计算分数,请确保使用小数点和零来获得正确的答案(否则它将使用整数除法)。

要在交互模式下启动 python,只需键入

python

启动 python 后,您可以使用它来加总算式,或者进行一些 python 编程。

使用 CTRL-D(文件结束键)退出 Python 解释器。

numgrep

有点像 grep,只是它是专为数字设计的。

使用 '/'(正斜杠)包含每个表达式。

使用 m<n> 查找数字 n 的倍数,并使用 f<n> 查找数字 n 的因子。

使用逗号分隔表达式,并使用 ..(两个点)表示范围。

例如,要从标准输入输入,您可以简单地输入

numgrep

要从文件输入并查找介于 1 和 1000 之间的数字,您可以输入

numgrep /1..1000/ file_name

Note此工具来自 num-utils 包
 

请注意,此工具是 num-utils 包的一部分。


第 13 章 网络命令

网络命令章节解释了各种工具,这些工具在与网络内和互联网上的其他计算机进行网络连接时可能很有用,可以获取有关其他计算机的更多信息。 本章还包括有关网络配置、文件传输和使用远程计算机的工具的信息。

netstat

显示 /proc/net 文件的内容。 它与 Linux 网络子系统一起工作,它会告诉你端口的状态,即。 打开、关闭、等待、伪装连接。 它还会显示各种其他内容。 它有很多不同的选项。

tcpdump

这是一个嗅探器,一个从网络接口捕获数据包并为你解释它们的程序。它理解所有基本的互联网协议,并且可以用来保存整个数据包以供以后检查。

ping

ping 命令(以主动声纳系统的声音命名)向您在命令行上指定的主机发送回显请求,并列出收到的响应及其往返时间。

您只需将 ping 用作

ping ip_or_host_name

注意:要停止 ping(否则它会永远运行),请使用 CTRL-C(中断)。

Note请注意
 

如果您的 /etc/hosts 文件中列出了计算机,则使用计算机名称而不是 IP 地址的 ping/smbmount/ssh 或其他 UNIX 系统程序才能正常工作。 这是一个例子

192.168.1.100 new 
这行表示有一台名为“new”的计算机,其 IP 地址为 192.168.1.100。 现在它存在于 /etc/hosts 文件中,我不再需要键入 IP 地址,只需键入名称“new”即可。

hostname

告诉用户他们登录的计算机的主机名。注意:可能被称为 host。

traceroute

traceroute 将显示数据包的路由。 它尝试列出您的数据包在到达给定目标的过程中所经过的一系列主机。 另请查看 xtraceroute(该程序的几个图形等效项之一)。

命令语法

traceroute machine_name_or_ip
tracepath

tracepath 执行与 traceroute 非常相似的功能,主要区别在于 tracepath 不接受复杂的选项。

命令语法

tracepath machine_name_or_ip
findsmb

findsmb 用于列出有关响应 SMB 名称查询的计算机的信息(例如,基于 windows 的共享其硬盘的计算机)。

命令语法

findsmb

这将找到所有可能的机器,您可能需要指定一个特定的子网来仅查询这些机器...

nmap

“网络探索工具和安全扫描器”。 nmap 是一种非常先进的网络工具,用于查询机器(本地或远程)是否已启动以及这些机器上打开了哪些端口。

一个简单的使用示例

nmap machine_name

这将查询您自己的机器,了解它保持打开的端口。 nmap 是一个非常强大的工具,文档可在 nmap 站点以及手册页中的信息中找到。


13.1. 网络配置

ifconfig

此命令用于配置网络接口,或显示其当前配置。除了使用“up”和“down”设置激活和停用接口之外,如果您没有 ifcfg 脚本,则此命令对于设置接口的地址信息是必要的。

使用 ifconfig 作为

ifconfig

这将简单地列出所有当前启动的网络设备上的所有信息。

ifconfig eth0 down

这将使 eth0(假设该设备存在)关闭,在您再次将该设备“启动”之前,它将无法接收或发送任何内容。

显然,此工具还有更多选项,您需要阅读手册/信息页以了解有关它们的更多信息。

ifup

使用 ifup device-name 通过遵循脚本(其中包含您的默认网络设置)来启动接口。只需键入 ifup ,您将获得有关使用该脚本的帮助。

例如,键入

ifup eth0

如果 eth0 当前已关闭,则将其启动。

ifdown

使用 ifdown device-name 使用脚本(其中包含您的默认网络设置)来关闭接口。只需键入 ifdown ,您将获得有关使用该脚本的帮助。

例如,键入

ifdown eth0

如果 eth0 当前已启动,则将其关闭。

ifcfg

使用 ifcfg 配置特定的接口。只需键入 ifcfg 即可获得有关使用此脚本的帮助。

例如,要将 eth0 从 192.168.0.1 更改为 192.168.0.2,您可以执行

ifcfg eth0 del 192.168.0.1
ifcfg eth0 add 192.168.0.2

第一个命令关闭 eth0 并删除存储的 IP 地址,第二个命令使用新地址重新启动它。

route

route 命令是用于显示或修改路由表的工具。要添加网关作为默认网关,您可以键入

route add default gw some_computer

13.2. 互联网专用命令

请注意,如果您的机器上未正确配置 DNS,则需要编辑“/etc/resolv.conf”才能使一切正常工作...

host

执行互联网地址的简单查找(使用域名系统,DNS)。 只需键入

host ip_address

或者

host domain_name
dig

“域名信息搜索器”工具。 比 host 更高级... 如果您提供主机名作为参数,则输出有关该主机的信息,包括其 IP 地址、主机名和各种其他信息。

例如,要查找有关“www.amazon.com”的信息,请键入

dig www.amazon.com

要查找给定 IP 地址的主机名(即反向查找),请使用 dig`-x' 选项。

dig -x 100.42.30.95

这将查找地址(可能存在也可能不存在),并返回主机的地址,例如,如果这是“http://slashdot.org”的地址,则它将返回“http://slashdot.org”。

dig 采用大量的选项(达到过多的程度),有关更多信息,请参阅手册页。

whois

(现在是 BW whois)用于从“whois”数据库中查找联系信息,这些服务器可能只保存主要的站点。 请注意,联系信息可能被隐藏或限制,因为它经常被破解者和其他人滥用,他们寻找对组织造成恶意损害的方法。

wget

(GNU Web get)用于从万维网上下载文件。

要存档单个网站,请使用 -m--mirror(镜像)选项。

使用 -nc (不覆盖)选项来阻止 wget 在您已经拥有文件的情况下覆盖该文件。

使用 -c--continue 选项来继续一个被 wget 或另一个程序未完成的文件。

简单的使用示例

wget url_for_file

这将简单地从一个站点获取一个文件。

wget 还可以使用标准通配符检索多个文件,这与 bash 中使用的类型相同,如 *、[]、?。 只需按照正常方式使用 wget,但在 URL 上使用单引号 (' '),以防止 bash 扩展通配符。 如果您从 http 站点检索,则会出现复杂情况(参见下文...)。

高级使用示例,(从 wget 手册页中使用)

wget --spider --force-html -i bookmarks.html

这将解析文件 bookmarks.html 并检查所有链接是否存在。

高级用法:这是您如何使用 http 下载多个文件(使用通配符...)。

注意:http 不支持使用标准通配符进行下载,ftp 支持,因此您可以将通配符与 ftp 一起使用,并且它会正常工作。 下面显示了此 http 限制的解决方法

wget -r -l1 --no-parent -A.gif http://www.website.com[6]

这将递归地下载(到深度为 1),换句话说,在当前目录中,而不是在它下面。 此命令将忽略对父目录的引用,并下载任何以 “.gif” 结尾的内容。 如果您想下载,例如,也以“.pdf”结尾的任何内容,请在网站地址之前添加 -A.pdf。 只需更改网站地址和要下载的文件类型即可下载其他内容。 请注意,执行 -A.gif 与执行 -A “*.gif” 相同(仅双引号,单引号不起作用)。

wget 有更多选项,请参阅手册页的示例部分,此工具的文档非常完整。

Note替代网站下载器
 

您可能想尝试 httrack 等替代方案。 一个完整的 GUI 网站下载器,用 python 编写,可用于 GNU/Linux

curl

curl 是另一个远程下载工具。这个远程下载工具被设计为无需用户交互即可工作,并支持多种协议,可以上传/下载,并且针对各种情况有大量的技巧/变通方法。它可以访问字典服务器 (dict)、ldap 服务器、ftp、http、gopher,请参阅手册页以获取完整详细信息。

要访问此命令的完整手册(内容庞大),请输入

curl -M

对于一般用法,您可以像使用 wget 一样使用它。您还可以使用用户名登录,方法是使用 -u 选项并输入您的用户名和密码,如下所示

curl -u username:password http://www.placetodownload/file

要使用 ftp 上传,请使用 -T 选项

curl -T file_name ftp://ftp.uploadsite.com

要继续传输文件,请使用 -C 选项

curl -C - -o file http://www.site.com

13.3. 远程管理相关

ssh

安全 shell,远程登录到运行 sshd 守护进程的机器上。登录后,您将拥有一个安全的 shell,并且能够在该计算机上执行各种命令,例如复制文件、重启计算机,就像它是您自己的 GNU/Linux PC 一样。

或者,您可以使用带有完整主机名的 ssh 连接到远程计算机(例如跨 Internet)。

示例

ssh hostname

使用您当前的用户名连接到远程系统,您显然需要另一台机器上用户的密码。

ssh username@hostname 

使用不同的用户名连接到远程系统,您显然需要另一台机器上用户的密码。

scp

安全复制,ssh 包的一部分。 允许您将文件从一台计算机复制到另一台计算机,使用 -r 递归复制(复制整个目录和子目录)。

scp 的语法始终是

scp machineToBeCopiedFrom machineToBeCopiedTo

其中任一台机器可以是本地目录(在当前文件系统 / 上)或远程机器。远程机器通常是 机器完整名称:/目录(如果省略目录部分,它将仅假定您登录的用户的 home 目录)。

下面的示例将所有文件从当前目录(不包括任何目录)复制到名为“new”的远程计算机的根目录(可能在 LAN 上),该命令将使用当前登录到本地计算机的人员的用户名登录到“new”。

scp * new:/

您还可以将文件从另一台计算机复制到另一台计算机。 假设您在一台名为“p100”的计算机上。 并且您想将文件(和目录)从 “hp166”(在 /tmp 目录及其下的任何内容)复制到 “new” 并将文件放入 new 的临时目录中。 你可以这样做

scp -r hp166:/tmp new:/tmp

假设您以 “fred” 身份登录,您将需要计算机 hp166 和 new 上用户 “fred” 的密码。 在计算机名称之前添加一个 user_name@ 以使用不同的用户名登录。

例如,要使用 hp166 上的用户 “root” 和 new 上的 “anon” 执行上述命令,您将输入

scp -r root@hp166:/tmp anon@new:/tmp

要从远程机器复制到本地计算机,您只需反过来操作

scp remoteMachine:/mystuff/* .

这会将远程机器上 “mystuff” 目录中的文件复制到您的本地计算机。

Note远程机器
 

请注意,在使用远程机器时,即使您想要将其文件放在其 home 目录中,也需要在机器名称后加一个 :(冒号)。 否则,该命令将失败。

sftp

安全 ftp,ssh 包的另一部分。 此命令类似于 ftp,但使用加密隧道连接到 ftp 服务器,因此比普通的 ftp 更安全。

命令用法与 ftp(命令行工具)非常相似,sftp(一旦运行)使用诸如 help(获取帮助)、put(将文件发送到服务器)、get(从服务器下载文件)和各种其他命令,有关更多详细信息,请参阅手册页和内部文档。

Tip图形程序
 

有时使用 GUI 管理文件更容易,许多这些程序都有很好的 GUI 等效项,尝试在互联网或诸如 SourceforgeFreshmeat. 之类的网站上搜索。


第 14 章. 安全性

安全章节旨在让用户对 GNU/Linux 操作系统中的安全性有一个非常基本的了解。 本章还包含有关大多数 GNU/Linux 机器上使用的 UNIX 系统样式文件权限的信息。

可以在 Linux 文档项目中找到更全面的指南,例如由 Kevin Fenzi 和 Dave Wreski 撰写的 Linux 安全 howto

还有诸如 Linux 安全之类的网站。 如果您正在寻找一个程序来帮助锁定您的操作系统,您可能需要查看在基于 RPM 的发行版(Redhat/Mandriva/SuSE)上运行的 Bastille Linux

更改 root 密码

如果您忘记了超级用户密码,此技巧效果很好,在 LILO/Grub 提示符下键入 linux single。 然后在系统启动并在控制台中时键入 passwd

Grub

如果您正在使用 grub,请转到相关行(带有内核和各种选项的那一行),然后按 'e' 进行编辑,并在引导内核的行末尾添加 “single”。 然后点击 [Enter] 并按 'b'(引导)。

Lilo

如果您正在使用 lilo,请按 escape 键并键入 “ linux single”,然后点击 [Enter] 引导。

Caution安全警告
 

如果其他人正在使用您的计算机并且您担心安全性,这也是一个基本的安全隐患,您可能希望在 LILO 或 Grub 提示符下添加密码以阻止这种情况发生。

umask

umask 是由 shell 设置的值。 它控制在该 shell 会话期间创建的任何文件的默认权限。 此信息是从 shell 的父进程继承的,通常由 root 用户在某些配置文件(在我的情况下是 /etc/profile)中设置。

umask 有一种不寻常的方式来做事……要设置 umask,您必须通过说明将禁用哪些文件权限来描述文件权限。

您可以通过执行 777 减去您想要的文件权限来做到这一点。 请注意,umask 仅适用于数字,有关解释,请参阅 第 14.2 节

例如

您希望特定 shell 会话期间的默认设置等效于 chmod 750(用户具有 r/w/x,组具有 r/x,其他用户没有权限),那么您将使用的命令是

umask 027

14.1. 一些基本的安全工具

md5sum

计算文件 “file_name” 的 md5 校验和 (128 位) 以验证其完整性。 您通常使用 “ md5sum -c” 选项来对照给定的文件(通常带有 “.asc” 扩展名)进行检查,以检查各种文件是否正确,这在下载 iso 时非常方便,因为检查是自动化的。

命令语法

md5sum file_name
mkpasswd -l 10

此命令将生成一个长度为十个字符的随机密码。 此密码生成器创建的密码旨在难以猜测。 在互联网上散布着类似的替代程序。


14.2. 文件权限

使用 ls -l 查看文件权限(列表-长)。 它们将如下所示,请注意,我在权限之间添加了空格以使其更易于阅读

其中:r = 读取,w = 写入,x = 执行

  -  rwx   rw-   r--  1 (1) newuser newuser
type(2)owner(3)group(4)others(5)
(1)
此数字是指向此文件的硬链接(指针)的数量。 您可以使用 ln 创建另一个指向该文件的硬链接。
(2)
这是文件类型。 '-' 表示常规文件,'d' 表示目录,'l' 表示链接。 还有其他类型,例如字符设备的 “c” 和块设备的 “b”(在 /dev/ 目录中找到)。
(3)
这些是文件所有者(创建文件的用户)的权限。
(4)
这些是组的权限,属于与创建文件的用户同一组的任何用户都将具有这些权限。
(5)
这些是所有其他人的权限。 组外的任何用户都将具有对该文件的这些权限。

结尾的两个名称分别是用户名和组。

chmod

更改文件的文件访问权限。

有两种方法可以使用 chmod 更改权限; 字母或数字。

字母方法

使用 + 或 -(加号或减号)分别为文件添加或删除权限。 使用等号 = 指定新权限并删除特定类型的用户的旧权限。

您可以使用 chmod letter,其中字母是

a (all (所有人)), u (user), g (group) 和 o (other)。

示例

chmod u+rw somefile

这将授予用户读取和写入权限。

chmod o-rwx somefile

这将删除其他用户的读取/写入/执行权限(不包括您组内的用户)。

chmod a+r somefile

这将授予所有人对该文件的读取权限。

chmod a=rx somefile

这将授予所有人对该文件的执行和读取权限,如果有人具有写入权限,则将删除该权限。

数字方法

您还可以使用数字(而不是字母)来更改文件权限。 其中

r (read) = 4 w (write) = 2 x (execute) = 1

数字可以加在一起,因此您可以指定读取/写入/执行权限; 读取 + 写入 = 6,读取 + 执行 = 5,读取 + 写入 + 执行 = 7

示例

chmod 777 somefile

这将授予所有人对 “this_file” 的读取/写入/执行权限。 第一个数字是用户,第二个是组,第三个是所有人(其他)。

chmod 521 somefile

这将授予用户读取和执行权限,并授予组写入权限(但不授予读取权限!)并授予所有人执行权限。 (请注意,这只是一个例子,这样的设置实际上没有意义……)。

chown

更改文件的所有权(因此得名 'chown' - change owner)。 此程序只能由 root 用户使用。

使用 -R 选项以递归方式更改内容,换句话说,包括子目录中的所有匹配文件。

命令语法

chown owner:group the_file_name
sticky bit(粘滞位)

只有在目录中创建文件的人才能删除该文件,即使其他人拥有写权限。 您可以通过键入以下命令来启用它:

chmod 1700 somedirectory (where 1 = sticky bit)

或者(其中t代表粘滞位)

chmod +t somedirectory

要关闭它,您需要键入:

chmod 0700 somefile (where the zero would mean no sticky bit)

或者(其中t 代表粘滞位)

chmod -t somefile

请注意,权限与数字示例无关,仅第一个数字(1 = 开启,0 = 关闭)相关。

粘滞目录的一个例子通常是 /tmp

suid

允许SUID/SGID(切换用户ID/切换组ID)访问。 通常您会使用chmod为特定文件启用或禁用此功能。 suid 通常被认为是安全隐患,因此请谨慎使用。

示例

chmod u+s file_name

这将赋予每个人使用设置+s开关的用户的权限执行该文件的权限。

Caution安全隐患
 

这显然是一个安全隐患。 除非必要,否则应避免使用suid标志。

chattr

更改文件系统属性(适用于 ext2fs 及可能其他文件系统...)。 使用 -R 选项递归地更改文件。 chattr 可以在文件上设置大量属性,请阅读手册页以获取更多信息。

示例

chattr +i /sbin/lilo.conf[7]

这会在文件上设置“immutable”标志。 使用“+”添加属性,使用“-”删除属性。 +i 将阻止对 “lilo.conf” 文件的任何更改(偶然或其他)。 如果您想修改 lilo.conf 文件,您需要取消设置 immutable 标志: chattr -i。 请注意,某些标志只能由 root 用户使用; -i-a 以及可能许多其他标志。

请注意,chattr 可以更改许多不同的属性,以下是一些可能有用的属性:

  • A (no Access time) --- 如果文件或目录设置了此属性,则无论何时访问它(无论是读取还是写入),都不会更新其上次访问时间。 例如,这对于经常被读取的文件或目录非常有用,特别是由于此参数是在 inode 打开时唯一更改的参数。

  • a (append only) --- 如果文件设置了此属性并且打开以进行写入,则唯一可能的操作是将数据附加到其先前内容中。 对于目录,这意味着您只能向其中添加文件,但不能重命名或删除任何现有文件。 只有 root 用户可以设置或清除此属性。

  • s (secure deletion) --- 当删除设置了此属性的文件或目录时,它在磁盘上占用的块将被写回零(类似于使用 shred)。 请注意,这在 ext2 和 ext3 文件系统上有效,但不太可能在其他文件系统上有效(请参阅您正在使用的文件系统的文档)。 您可能还想查看 shred,请参阅第 7 章

lsattr

(列出属性)。 这将列出文件是否具有任何特殊属性(由 chattr 设置)。 使用 -R 选项递归列出,并尝试使用 -d 选项将目录像其他文件一样列出,而不是列出其内容。

命令语法

lsattr

这将列出当前目录中的文件,您可能还想指定目录或文件

lsattr /directory/or/file

第 15 章。 存档文件

存档文件章节提供了一些关于简单程序的基本信息,您可以使用这些程序来存档文件。 当您尝试在不使用包管理工具的情况下安装程序时,您经常会看到这些程序。

Note这不是备份指南
 

请注意,虽然 tar 对于常规目的很有用,并且可能与 bash 脚本或其他类似脚本结合使用会变得有用,但它不是执行实际数据备份的好程序。

如果您正在寻找 GNU/Linux 上的备份程序,请尝试搜索互联网,或尝试 SourceforgeFreshmeat 以获取您可以使用的程序。 您可能还想查看 rsync,第 15.2 节


15.1. tar(磁带归档器)

输入 tar,然后输入 -选项

选项列表

  • -c --- 创建。

  • -v --- 详细,提供更多输出,显示正在处理的文件(提取或添加)。

  • -f --- 文件(从文件创建或提取)- 应该始终是最后一个选项,否则命令将不起作用。

  • -z --- 将文件通过 gzip 压缩,或首先在文件上使用 gunzip。

  • -x --- 从 tarball 中提取文件。

  • -p --- 保留原始文件的日期、权限。

  • -j --- 通过 bzip2 发送存档。

  • --exclude=pattern --- 这将阻止某些文件被存档(使用标准通配符模式)或单个文件名。

tar 示例

tar -cvpf name_of_file.tar files_to_be_backed_up

这将创建一个磁带存档(不压缩)。

tar -zxvpf my_tar_file.tar.gz

这将从 gzipped 磁带存档中(详细地)提取文件。


15.2. rsync

rsync

rsync 是旧的 rcp(远程复制)命令的替代品。 它可以使用 ssh 进行加密,并且是一个非常灵活的工具,它可以从本地机器复制到本地机器,从本地复制到远程(反之亦然),以及到和从 rsync 服务器复制。

rsync 使用一种高级的差异算法,因此当复制或同步某些内容时,它将 (a) 仅复制新的/更改的文件,并且 (b) 如果文件已更改,它将复制文件之间的差异(而不是整个文件)。 使用这种方法,rsync 可以节省时间和带宽。

rsync 还具有类似于 GNU tar 的高级排除选项。 rsync 有一个写得很好的手册页,有关更多信息,请阅读在线 rsync 文档或输入

man rsync

如果您想访问 rsync 站点,您可以在 这里 找到它


15.3. 压缩

GNU/Linux 中使用了两个主要的压缩实用程序。 通常首先“tar”一堆文件(当然是使用 tar 程序),然后使用 bzip2gzip 压缩它们。 当然,这两个工具中的任何一个都可以在没有 tar 的情况下使用,尽管它们并非设计为处理多个文件(它们使用 UNIX 工具哲学,让 tar 对文件进行分组,它们将进行压缩......这简化了它们的程序)。 通常使用 tar,然后使用这些工具处理它们,或者使用带有正确选项的 tar 来使用这些压缩程序。

GNU zip (gzip)

gzip 是 GNU zip 压缩程序,并且可能是类 UNIX 操作系统上最常见的压缩格式。

gzip your_tar_file.tar

这将使用 GNU zip 压缩 tar 存档,通常带有 .gz 扩展名。 Gzip 可以压缩任何类型的文件,它不必是 tar 存档。

gunzip your_file.gz 

这将解压缩一个 gzipped 文件,并将内容留在当前目录中。

bzip2

bzip2 是一个较新的压缩程序,与 gzip 相比,它提供了更高的压缩率,但代价是更多的处理器时间。

bzip2 your_tar_file.tar 

这将使用 bzip2 压缩程序压缩 tar 存档,通常带有 .bz 扩展名。 bzip2 可以压缩任何类型的文件,它不必是 tar 存档。

bunzip2 your_file.tar.bz2 

这将解压缩 bzip2 压缩的文件,并将内容留在当前目录中。

zipinfo

使用 zipinfo 查找有关 zip 存档的详细信息(通常由 ms-dos 和 windows 使用的存档,例如 winzip)。

命令语法

zipinfo zip_file.zip
zipgrep

将运行 grep 以在 zip 文件中查找文件(ms-dos 样式,例如 winzip),而无需手动首先解压缩文件。

命令语法

zipgrep pattern zip_file.zip
bzip2recover

用于从损坏的 bzip2 存档中恢复文件。 它只是将所有工作块作为它们自己的 bzip2 存档提取出来,然后您可以在每个文件上使用 bzip2 -t 来测试它们的完整性并提取工作文件。

bzme

会将 zipped 或 gzipped 文件转换为使用 bzip2 压缩的文件。

命令语法

bzme filename

Tip提示
 

gzip 和 bzip2 都提供工具来处理压缩文件中的文件,例如列出存档中的文件,在其上运行 less,使用 grep 在存档中查找文件等等。

对于 gzip,命令以 z 为前缀,zcat, zless, zgrep

对于 bzip2,命令以 bz 为前缀,bzcat, bzless, bzgrep


第 16 章。 图形工具(基于命令行)

图形工具章节解释了一些可以从命令行调用的图像程序。 虽然我找到了可以从命令行使用的图像程序,但 zgv 是我唯一听说过的,我发现它们不太有用。 列出的所有工具都使用 X 窗口系统来工作,并且只是从命令行运行(因此如果需要,可以对其进行脚本编写/自动化)。

montage

创建一个“montage”,这是一个由许多其他图像创建的图像,以随机方式排列。

命令语法

montage r34.jpg r32.jpg skylines* skyline_images.miff

以上将创建一个图像“montage”(它将平铺一定数量的图像)到名为“skyline_images.miff”的合成图像中,您始终可以使用 display 来查看该图像。

Note注意
 

请注意,图像被转换为相同的大小(缩放),以便可以将它们平铺在一起。

convert

要将图像的文件格式转换为另一种图像格式。 convert 用于更改文件格式,例如从 jpeg 到 bitmap 或其他许多格式之一。 convert 也可以操作图像(请参阅手册页或 ImageMagick 站点)。

从 Jpeg 到 PNG 格式的示例

convert JPEG: thisfile.jpg PNG: thisfile.png 
import

从 X 服务器捕获屏幕截图,并将其保存到文件中。 X 正在执行的操作的屏幕转储。

命令语法

import file_name
display

display 用于在屏幕上显示(输出)图像。 打开后,您还可以执行编辑功能并能够读取/写入图像。 它具有各种有趣的选项,例如能够将图像显示为幻灯片,以及能够捕获屏幕上单个窗口的屏幕截图。

命令语法(用于显示图像)

display image_name

要显示图像幻灯片,请打开您想要的图像,可能使用通配符,例如

display *.jpg

然后单击图像以调出菜单,然后在杂项菜单下查找幻灯片选项。

Caution速度警告
 

打开多个大尺寸图像时(尤其是在慢速计算机上),并在图像更改之间设置较小的延迟时要小心。 您的处理器将过载,并且需要大量时间才能关闭 ImageMagick。

identify

将识别图像的类型及其大小、颜色深度和各种其他信息。 使用 -verbose 选项显示特定文件的详细信息。

命令语法

identify image_name
mogrify

mogrify 是另一个 ImageMagick 命令,用于以多种不同的方式转换图像,包括缩放、旋转和各种其他效果。 此命令可以处理单个文件或批量处理。

例如,要将大量 tiff 文件转换为 jpeg 文件,您可以输入

mogrify -format jpeg *.tiff

此命令具有批量执行许多操作的能力,包括制作图像集的缩略图。

为此,您可以输入:[8]

mogrify -geometry 120x120 *.jpg
showrgb

showrgb 用于反编译 rgb 颜色名称数据库。 默认情况下,它是 X 所使用的数据库。 此数据库可用于查找特定颜色的正确颜色组合(至少可以作为粗略的指南)。

要列出 X 数据库中的颜色,只需输入

showrgb

Note请注意
 

除了 showrgb 之外,所有列出的工具都是 ImageMagick 软件包的一部分。 输入 man ImageMagick 可获得可用命令的完整列表。 或者访问 ImageMagick 网站 ImageMagick 以获取更多信息。


第 17 章. 使用 MS-DOS 文件

使用 mtools 程序处理基于 ms-dos 的文件,执行 mtools 可获得可用 m* 工具的完整列表。 mtools 软件包中有很多用于处理 ms-dos 磁盘的文件,也可以尝试 mtools 的 info 文档以获取更多详细信息。

Note斜杠的使用
 

请注意,使用 mtools 命令时,您可以对 a: 部分使用任何方向的斜杠(即,反斜杠(windows 风格)或正斜杠(UNIX 系统风格))。

mformat

将未挂载的磁盘格式化为 ms-dos 软盘。 用法与 ms-dos format 实用程序类似,要格式化第一个软盘,您可以输入

mformat a:
mcopy

从未挂载的 ms-dos 磁盘复制文件。 与 ms-dos copy 命令类似,但更高级。

命令语法

mcopy a:/file_or_files /destination/directory
mmount

挂载 ms-dos 磁盘,无需使用普通的 UNIX 系统挂载。

例如

mmount a: /mnt/floppy

这会将软盘挂载到 /mnt/floppy 下(此选项可能是必要的,也可能不是必要的,具体取决于您的 /etc/fstab 设置)。

mbadblocks

扫描 ms-dos(fat 格式磁盘)中的坏块,它将任何未使用的坏块标记为“bad”,以便不会被使用。

示例

mbadblocks a:
dosfsck

此程序用于检查和修复基于 ms-dos 的文件系统。 使用 -a 选项自动修复文件系统(即,不询问用户问题),使用 -t 选项将不可读取的簇标记为坏簇,并使用 -v 选项使其更加详细(打印更多信息)。

示例

dosfsck -at /dev/fd0

这将检查您的软盘是否存在任何错误(和坏扇区)并自动修复它们。


第 18 章. 安排命令在后台运行

有两个主要工具用于执行计划任务,atcron。 如果您的计算机没有持续运行,您可能还想尝试 anacron,因为 cron 只有在您的计算机保持开启状态时才能工作(anacron 可以在下次计算机启动时赶上计划任务......)。

at

'at' 在特定的日期和时间执行一次命令。 at 将添加一个要执行的特定命令。

示例

at 21:30

然后输入要执行的命令,然后按文件结束键(通常是 CTRL-D )。 也可以尝试

at now + time

这将以当前时间 + 您指定的小时/分钟/秒运行(使用 at now + 1 hour 在 1 小时后运行命令...)

您还可以使用 -f 选项让 at 执行特定文件(shell 脚本)。

at -f shell_script now + 1 hour

这将在一小时后运行 shell 脚本。

atq

将列出当前在队列中等待用户执行的作业,如果 root 执行 at,它将列出 at 守护程序的所有队列中的作业。 不需要或接受任何选项。

atrm

将从 'at' 队列中删除作业。

命令语法

atrm job_no

将删除作业“job_no”(使用 atq 查找作业编号)

cron

cron 可用于计划在每分钟、每小时、每天、每周或每月执行特定功能。

通常使用 crontab 来执行编辑功能,因为这可以自动化 cron 守护程序的进程,并使普通用户更容易使用 cron。

TipAnacron
 

anacron 是为并非始终开启的系统(例如家用计算机)设计的另一种工具

虽然如果计算机关闭,cron 将不会运行,但 anacron 只需在计算机下次启动时运行命令(它会赶上进度)。

crontab

crontab 用于编辑、读取和删除 cron 守护程序读取的文件。

crontab 的选项(使用 crontab -option(s)

  • -e --- 编辑文件。

  • -l --- 列出文件的内容。

  • -u username --- 将 -u 与用户名参数一起使用以处理另一个用户的 crontab 文件。

使用 crontab -e 时,您有多个字段 (6),它们的含义如下所示

字段

允许的值

分钟

0-59

小时

0-23

月份中的某天

1-31

月份

1-12(或名称,请参见下文)

星期几

0-7(0 或 7 是星期日,或使用三个字母的名称)

还有许多用于常见任务的快捷方法,包括:[9]

  • @reboot --- 在重新启动时运行命令

  • @yearly --- 与 0 0 1 1 * 相同

  • @annually --- 与 @yearly 相同

  • @monthly --- 与 0 0 1 * * 相同

  • @weekly --- 与 0 0 * * 0 相同

  • @daily --- 与 0 0 * * * 相同

  • @midnight --- 与 @daily 相同

  • @hourly --- 与 0 * * * * 相同

[10]

请注意,*(星号)用于表示任何内容(类似于通配符)。 例如,如果您将 day 部分(第 5 位)留为星号,则表示每天。

允许使用列表。 列表是由逗号分隔的一组数字(或范围)。 示例:``1,2,5,9''、``0-4,8-12”。

步长值可以与范围结合使用。 在范围后跟``/<number>''指定通过范围跳过的数字值。 例如,``0-23/2''可以在小时字段中使用,以指定每隔一小时执行命令(V7 标准中的替代方法是``0,2,4,6,8,10,12,14,16,18,20,22'')。 也允许在星号后使用步长,因此如果您想说``每隔两小时'',只需使用``*/2''。

编写 crontab 条目时,只需输入六个用空格分隔的字段,前五个是表中列出的那些(使用数字或字母和数字,具体取决于情况),第六个字段是要执行的命令和任何选项,cron 将读取所有内容直到换行符。

示例

5 4 * * sun echo "run at 5 after 4 every sunday"

这将每星期日 4:05 运行带有显示字符串的 echo 命令。


第 19 章. 杂项

杂项章节包含的命令实际上并不适合本指南的其他部分。

重命名扩展名

要将当前目录中的所有文件从“.htm”扩展名重命名为“.html”,请输入

$ chcase -x 's/htm/html/' '*.htm'

您可以在此处获取 chcase perl 脚本的副本。

对于更复杂的重命名,您应该阅读第 7.3 节

rel[11]

使用 rel 分析文本文件与给定的一组关键字的相关性。 它输出与给定关键字相关的文件名,按相关性排序; 如果某个文件不符合条件,则不会在相关性列表中输出。

units man 页面

有一个 man 页面,它是 Linux 程序员手册的一部分,名为“units”。 它显示了各种科学测量值(例如兆、吉等)的各种信息。 此手册页还简要讨论了关于应使用哪个标准来测量数据的争论(即,kibibyte 与 kilobyte)。

要访问此 man 页面,请输入

man 7 units
fortune

fortune 是一个工具,它将打印随机的、希望是有趣的引言或有趣的短篇小说。 有一些选项可以自定义格言应来自哪个区域。 只需输入 fortune 即可从任何部分获取随机格言。

只需键入

fortune

第 20 章. 迷你指南

迷你指南章节是文档的一部分,它比通常的命令描述更深入地描述了某些概念。 列出的信息相当具体,因为我试图避免过多重复已在线存在的信息。


20.1. RPM:Redhat 软件包管理系统

检查

已安装的 RPM

使用 rpm -V 选项检查软件包是否已被修改。

例如

rpm -V textutils

如果 textutils 软件包中的任何文件都没有更改,则 rpm 将退出而不输出任何数据。 另一方面,如果程序已更改,您可能会看到类似的内容

U.5....T /bin/cat

这并不像它看起来那么神秘。 从 rpm -V 返回的行包含任意数量的八个字符加上文件的完整路径。 以下是字符及其含义:[12]

  • S --- 文件大小不同

  • M --- 模式不同(包括权限和文件类型)

  • 5 --- MD5 总和不同

  • D --- 设备主/次编号不匹配

  • L --- ReadLink(2) 路径不匹配

  • U --- 用户所有权不同

  • G --- 组所有权不同

  • T --- mTime 不同

TipMandriva 用户注意事项
 

Mandriva Linux 使用了 RPM 的自定义版本,称为 urpmi(它由 urpm* 命令组成,urpmi 用于安装,urpme 用于删除,urpmf 和 urpmq 用于查询)。

与标准 RPM 相比,此自定义版本具有优势,包括自动依赖关系解决和 Debian apt-get 风格函数(能够通过互联网下载程序并自动解决所有依赖关系)。

urpm* 命令都在 Mandriva 的文档和各种在线资源中详细描述。


20.2. 检查硬盘驱动器是否存在错误

在 GNU/Linux 中,很少需要检查主驱动器上的硬盘驱动器是否存在错误,如果需要,大多数检查会在启动时自动进行。 如果确实需要检查硬盘驱动器是否存在错误,则首先需要卸载它。 然后使用文件系统检查器 fsck

fsck.file_system_type

如果您有 ext3 文件系统,则会是

fsck.ext3

Tip也可以尝试
 

您也可以尝试使用

fsck -t file_system_type


20.3. 复制磁盘

这个简单的技巧展示了如何在 GNU/Linux 系统中使用 dd 命令复制软盘。虽然这项技术现在不像以前那么有用了,但仍然可以用于创建 CD 的镜像(尽管最好使用 CD 刻录程序来完成)。

此信息来自 Linux 在线课堂,更多详情请参阅参考文献中的[4]。

$ dd if=/dev/fd0 of=floppy-image
$ dd if=floppy-image of=/dev/fd0 

第一条 dd 命令创建一个软盘的精确镜像到文件 floppy-image,第二条命令将镜像写入软盘。(用户可能在执行第二条命令之前更换了软盘。否则,这一对命令的用处值得怀疑)。

类似的技术可以用于创建启动盘,您只需使用 dd 命令将镜像传输到软盘即可。


20.4. 通配符

通配符在 GNU/Linux 系统和各种其他用途中都非常有用。命令可以使用通配符一次对多个文件执行操作,或者在文本文件中查找短语的一部分。通配符有很多用途,主要有两种不同的使用方式:一种是 globbing 模式/标准通配符,通常由 shell 使用。另一种是正则表达式,在许多其他命令中很受欢迎,并常用于文本搜索和操作。

Tip提示
 

如果您的文件中包含通配符表达式,则可以使用单引号来阻止 bash 展开它们,或者使用反斜杠(转义字符),或者两者都使用。

例如,如果您想创建一个名为 'fo*'(fo 和星号)的文件,您必须这样做(请注意,您不应该创建像这样的名称的文件,这只是一个例子)

  touch 'fo*' 
  

请注意,关于通配符的两个小节的部分内容至少部分基于 grep 手册和信息页面。 请参阅参考文献以获取更多信息。


20.4.1. 标准通配符(globbing 模式)

标准通配符(也称为 globbing 模式)被各种命令行实用程序用于处理多个文件。 有关标准通配符(globbing 模式)的更多信息,请通过键入以下命令参考手册页:

man 7 glob

Note可被以下命令使用:
 

标准通配符几乎可以被任何命令使用(包括 mv、cp、rm 和许多其他命令)。

? (问号)

这可以代表任何单个字符。 如果您在命令行中指定了诸如“hd?”之类的内容,GNU/Linux 将查找 hda、hdb、hdc 以及 a-z、0-9 之间的每个其他字母/数字。

* (星号)

这可以代表任意数量的字符(包括零,换句话说,零个或多个字符)。 如果您指定了“cd*”,它将使用“cda”、“cdrom”、“cdrecord”以及任何以“cd”开头的名称,也包括“cd”本身。 "m*l" 可以是 mill、mull、ml 以及任何以 m 开头并以 l 结尾的名称。

[ ] (方括号)

指定一个范围。 如果您执行 m[a,o,u]m,它可以变成:mam、mum、mom。如果您执行 m[a-d]m,它可以变成任何以 m 开头和结尾并且中间有任何字符 a 到 d 的名称。 例如,以下名称将有效:mam、mbm、mcm、mdm。 这种类型的通配符指定一个“或”关系(您只需要一个匹配)。

{ } (花括号)

术语由逗号分隔,每个术语必须是某个名称或通配符。 此通配符将复制任何匹配通配符或确切名称的内容(“或”关系,两者之一)。

例如,以下内容是有效的:

cp {*.doc,*.pdf} ~

这会将任何以 .doc 或 .pdf 结尾的内容复制到用户的 home 目录。 请注意,逗号后(或任何其他地方)不允许有空格。

[!]

此构造与 [ ] 构造类似,不同之处在于它不会匹配括号内的任何字符,而是会匹配任何字符,只要它未列在 [ 和 ] 之间即可。 这是一个逻辑 NOT。 例如, rm myfile[!9] 将删除所有 myfiles*(即 myfiles1、myfiles2 等),但不会删除名称中任何位置包含数字 9 的文件。

\(反斜杠)

用作“转义”字符,即保护随后的特殊字符。 因此,“\\” 搜索反斜杠。 请注意,您可能需要使用引号和反斜杠。


20.4.2. 正则表达式

正则表达式是一种用于处理文本的 globbing 模式。 它们用于对文本的多个部分进行任何形式的操作,以及用于处理文本的各种编程语言。 有关正则表达式的更多信息,请参阅手册页或尝试在线教程,例如 IBM Developerworks 使用正则表达式。 对于手册页类型

类型

man 7 regex

Note正则表达式可以被以下命令使用:
 

正则表达式被grep 使用(并且可以被find 和许多其他程序使用)。

Tip提示
 

如果您的正则表达式似乎不起作用,那么您可能需要在句子周围使用单引号,然后在每个特殊字符上使用反斜杠。

. (点)

将匹配任何单个字符,相当于标准通配符表达式中的 ?(问号)。 因此,“m.a”匹配“mpa”和“mea”,但不匹配“ma”或“mppa”。

\(反斜杠)

用作“转义”字符,即保护随后的特殊字符。 因此,“\\” 搜索反斜杠。 请注意,您可能需要使用引号和反斜杠。

.* (点和星号)

用于匹配任何字符串,相当于标准通配符中的 *。

* (星号)

前面的项目将被匹配零次或多次。 即 n* 将匹配 n、nn、nnnn、nnnnnnn,但不匹配 na 或任何其他字符。

^ (插入符号)

表示“行的开头”。 因此,“^a”表示查找以“a”开头的行。

$ (美元符号)

表示“行的结尾”。 因此,“a$”表示查找以“a”结尾的行。

例如,此命令在文件 myfile 中搜索以“s”开头并以“n”结尾的行,并将它们打印到标准输出(屏幕)

cat myfile | grep '^s.*n$'
[ ] (方括号)

指定一个范围。 如果您执行 m[a,o,u]m,它可以变成:mam、mum、mom。如果您执行 m[a-d]m,它可以变成任何以 m 开头和结尾并且中间有任何字符 a 到 d 的名称。 例如,以下名称将有效:mam、mbm、mcm、mdm。 这种类型的通配符指定一个“或”关系(您只需要一个匹配)。

|

此通配符在通配符之间建立逻辑 OR 关系。 这样,您可以搜索某事物或另一事物(可能使用两个不同的正则表达式)。 您可能需要在该命令之前添加“\”(反斜杠)才能使其工作,因为 shell 可能会尝试将其解释为管道。

[^]

这相当于标准通配符中的 [!]。 这执行逻辑“非”。 这将匹配未在方括号中列出的任何内容。 例如, rm myfile[^9] 将删除所有 myfiles*(即 myfiles1、myfiles2 等),但不会删除名称中任何位置包含数字 9 的文件。


20.4.3. 字符的有用类别(由 POSIX 标准定义)

此信息来自 grep 信息页面,并进行了少量编辑,更多详情请参阅参考文献中的[10]。

  • [:upper:] 大写字母

  • [:lower:] 小写字母

  • [:alpha:] 字母(字母)表示大写 + 小写(包括大写字母和小写字母)

  • [:digit:] 十进制数字,0 到 9

  • [:alnum:] 字母数字表示字母 + 数字(任何大写或小写字母或任何十进制数字)

  • [:space:] 空白字符表示空格、制表符、换行符等

  • [:graph:] 图形可打印字符,不包括空格

  • [:print:] 可打印字符,包括空格

  • [:punct:] 标点符号表示图形字符减去字母和数字

  • [:cntrl:] 控制字符表示非打印字符

  • [:xdigit:] 十六进制数字的字符。

Note这些与以下命令一起使用:
 

上述命令适用于大多数处理文本的工具(例如:tr)。

例如(高级示例),此命令扫描 dir 命令的输出,并打印包含大写字母后跟数字的行

ls -l | grep '[[:upper:]][[:digit:]]'

该命令 grep 查找 [大写字母][任何数字],表示任何大写字母后跟任何数字。 如果您删除中间的 [ ](方括号),它将查找大写字母或数字,因为它将变为 [大写字母 任何数字]


附录 A. 附录

A.1. 查找软件包/工具

A.1.1. 查找更多有用的工具

如果您正在寻找更多工具,GNU 项目(GNU's Not Unix)维护一个目录,一个网站,其中列出了各种自由软件工具的分类链接(他们认为这些工具很有用),称为GNU 目录。

也可以尝试 Sweet Code 等网站,这些网站提供他们发现的有用工具的邮件列表。

您还可以尝试查看 SourceForgeFreshMeat 上评分最高、最活跃或下载次数最多的程序。


A.1.2. 查找特定工具

本指南中列出的许多工具都是工具包的一部分,例如 diffutils,其中包含用于查找文件之间差异的各种工具,例如 diff、sdiff、diff3、cmp。 大多数小型工具都以这种方式捆绑在一起。 大多数主要发行版都将提供搜索功能,以帮助您按文件搜索软件包,您当然可以通过命令行界面或 GUI 执行此操作。

如果您需要通过命令行搜索发行版的可用软件包,该方法会因您使用的发行版而异,请参阅下面的小节或查阅发行版的文档(或者当然是互联网)


A.1.2.1. Mandriva (urpm* 命令,基于 rpm)

要查找特定文件来自何处,请使用 urpmf

命令语法

urpmf file_name

结果通常是压倒性的,因为此特定命令将采用一个字符串,并列出其数据库中包含特定关键字的每个软件包的每个文件(即未安装和已安装的软件包)。 要优化结果,您可能需要添加管道并通过 grep -w file_name 发送它(-w 选项将只显示您完全匹配(整个单词))。 下面是如何执行此操作的:

urpmf file_name | grep -w file_name

有关 urpm* 命令的更多信息,请参阅本节末尾的提示:第 20.1 节


A.1.2.2. Red Hat (rpm)

要查找特定文件来自哪个软件包,请使用带有 -qf 选项的 rpm

命令语法

rpm -qf /path/to/the/file

这将找到该文件来自哪个软件包。 您需要将 rpm -qf 与实际文件的位置一起使用,而不是与关键字一起使用。 要查找有关列出的特定软件包的更多信息,请使用带有 -qi 选项的 rpm

命令语法

rpm -qi package_name

请注意,软件包名称是不带结尾 .arch.rpm(通常为 .i386.rpm)扩展名的软件包名称。

有关 rpm 用法的更多信息,请参阅本节 第 20.1 节


A.1.2.3. Debian (deb)

要查找特定文件来自何处,请使用带有 -S 选项的 dpkg。

有两种方法可以做到这一点:

dpkg -S file_name

或者

dpkg -S /path/to/file

您可能还想尝试(如果已安装,它通常比 dpkg 搜索快得多):

dlocate -S file_name

有关 dpkg 和 dlocate 的更多信息,请参阅相关的手册页和在线信息来源。


A.1.3. 查找软件包

可以通过互联网使用以下站点查找软件包:

  • RPMFind,用于基于 RPM 的软件包。

  • Debian 软件包列表,用于 deb 软件包。

  • RPMSeek,此站点旨在索引 Debian 软件包以及 RPM。

  • TuxFinder,您可以在其中搜索 deb、rpm、tgz、iso 甚至文档。

也可以试试作者的主页以及大型站点,如FreshMeatSourceForge。


A.2. 进一步阅读

A.2.1. 一般性进一步阅读

本指南只是一个关于基于GNU/Linux的发行版中一些可用工具的简短总结。如果您发现某个特定的命令有趣且有用,您可以查找在线手册或/和信息页面,以了解更多关于如何使用该命令的信息,或者查看Linux Documentation Project上的在线HOWTO。

手册/信息页面始终是关于如何使用命令的最新信息来源。 还可以查看安装在您发行版上的文档,通常位于 /usr/share/doc 中。

请查看本文档的参考文献部分,参考文献,其中包含一些用于创建本文档的有用资源的链接。

当然,如果您在某个特定命令上遇到问题,请尝试使用搜索引擎,例如GoogleAllTheWeb,或者搜索Usenet新闻组Google Groups.。 如果您仍然找不到解决方案,请寻找与您遇到问题的相关主题的邮件列表,或尝试与该主题相关的论坛。

想要获取更多命令参考资料的读者可以参考:

如果您想了解有关 GNU/Linux 的各种主题的更多信息,还可以查看 IBM Developerworks 发布的各种在线(免费)教程。

如果您正在寻找关于 GNU/Linux 所有内容的通用参考资料,请尝试 Rute 用户教程和说明。或者查看您发行版的文档,Debian维护着全面的文档,debian文档站点。


A.2.2. 具体进一步阅读

查找文档最明显的地方是找到该程序的主页。 尽管有时还有其他信息来源,例如Linux Documentation Project或各种在线HOWTO或类似指南。 通常可以使用搜索引擎轻松找到它们。 尝试大型站点,例如(ibiblio)公共图书馆和数字档案馆TuxFinder,可以搜索文档。

以下是一些更复杂的工具的一些进一步阅读的简短列表


A.2.2.1. UNIX 工具哲学进一步阅读

  • 核心工具文档(安装在几乎每个 GNU/Linux 发行版上)中的一篇文章提供了对UNIX工具哲学的进一步解释。 要访问该文章,只需键入

    info coreutils

    然后输入/(斜杠;运行搜索),然后输入字符串“toolbox”(toolbox 是要搜索的字符串),然后按 Enter 键(按照超链接),然后向下到“Toolbox introduction”部分并按 Enter 键。 这将让您访问该文章。

  • 其他在线文章包括:Orielly 关于UNIX工具哲学的文章。

  • 哲学的重要品质列表。

  • Linux揭秘:Unix哲学解释

  • 或者一本被认为是理解UNIX系统构建背后哲学的权威指南的整本书。 这本书叫做“The Unix Philosophy”,ISBN:1555581234。


A.2.3. 在线手册和信息页面

虽然手册页和信息页面通常与程序本身一起安装,但如果您需要它们,它们也可以在线获得,列出的链接通常按类别或手册页部分列出。


A.2.3.2. 可下载的手册页


A.2.3.3. 在线信息页面网站


A.3. GNU 自由文档许可证

GNU 自由文档许可证

版本 1.1, 2000 年 3 月

Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 允许任何人复制和分发此许可证文档的完整副本,但不允许更改它。


A.3.1. 序言

本许可证的目的是使手册、教科书或其他书面文档在自由的意义上“自由”:确保每个人都有效地拥有复制和重新分发它的自由,无论是否修改它,无论是商业用途还是非商业用途。 其次,本许可证为作者和出版商保留了一种为他们的工作获得认可的方式,同时不被认为对他人所做的修改负责。

本许可证是一种“反版权”,这意味着该文档的衍生作品本身必须以相同的意义自由。 它是GNU通用公共许可证的补充,后者是为自由软件设计的反版权许可证。

我们设计本许可证是为了将其用于自由软件的手册,因为自由软件需要自由文档:一个自由程序应该附带提供与软件相同自由的手册。 但本许可证不限于软件手册; 它可以用于任何文本作品,无论主题或是否作为印刷书籍出版。 我们主要为目的为指导或参考的作品推荐本许可证。


A.3.2. 适用性和定义

本许可证适用于包含版权所有者发布的声明,声明可以在本许可证的条款下分发的任何手册或其他作品。 下面的“文档”是指任何此类手册或作品。 任何公众成员都是被许可人,并被称为“您”。

文档的“修改版本”是指包含文档或其一部分的任何作品,无论是逐字复制,还是经过修改和/或翻译成另一种语言。

“二级章节”是指文档的指定附录或扉页部分,仅涉及文档的出版商或作者与文档的总体主题(或相关事项)的关系,并且不包含可能直接属于该总体主题的内容。 (例如,如果文档部分是数学教科书,则二级章节可能不解释任何数学内容。)这种关系可能是与主题或相关事项的历史联系,或者与它们的法律、商业、哲学、道德或政治立场有关。

“不变章节”是某些二级章节,其标题被指定为不变章节,在声明该文档根据本许可证发布的声明中。

“封面文本”是某些简短的文本段落,这些段落在声明该文档根据本许可证发布的声明中列为封面文本或封底文本。

文档的“透明”副本是指机器可读的副本,以通用文本编辑器或(对于由像素组成的图像)通用绘画程序或(对于绘图)一些广泛可用的绘图编辑器可以直接、简单地查看和编辑其内容的格式表示,并且适合输入到文本格式化程序或自动翻译成适合输入到文本格式化程序的各种格式。 以其他方式在透明文件格式中制作的副本,其标记旨在阻止或阻止读者进行后续修改的副本不是透明的。 不是“透明”的副本称为“不透明”。

透明副本的合适格式示例包括没有标记的纯ASCII、Texinfo 输入格式、LaTeX 输入格式、使用公开可用的 DTD 的 SGML 或 XML 以及为人工修改设计的符合标准的简单 HTML。 不透明格式包括 PostScript、PDF、只能由专有文字处理器读取和编辑的专有格式、DTD 和/或处理工具通常不可用的 SGML 或 XML,以及某些文字处理器仅为输出目的而生成的机器生成的 HTML。

“标题页”对于印刷书籍是指标题页本身,以及为清晰地容纳本许可证要求出现在标题页中的材料所需的以下页面。 对于没有标题页格式的作品,“标题页”是指文本最显眼地出现作品标题附近,在文本主体开始之前。


A.3.3. 逐字复制

您可以在任何媒介中复制和分发本文件,无论是商业用途还是非商业用途,但前提是本许可协议、版权声明和说明本许可协议适用于本文件的许可声明必须在所有副本中复制,并且您不得在本许可协议中添加任何其他条件。您不得使用技术措施来阻止或控制您制作或分发的副本的阅读或进一步复制。但是,您可以接受报酬来交换副本。如果您分发足够多的副本,您还必须遵守第 3 节中的条件。

您也可以在上述相同条件下借出副本,并且您可以公开展示副本。


A.3.4. 大量复制

如果您出版的文档印刷副本数量超过 100 份,并且文档的许可声明要求封面文本,您必须将这些副本装在封面上,这些封面必须清晰且易读地携带所有这些封面文本:正面封面的正面文本和背面封面的背面文本。两个封面还必须清晰且易读地表明您是这些副本的出版商。封面必须以同等突出和可见的所有文字呈现完整标题。您还可以在封面上添加其他材料。仅限于封面的更改的复制,只要它们保留文档的标题并满足这些条件,就可以在其他方面被视为逐字复制。

如果任一封面的所需文本过于庞大而无法清晰阅读,您应该将列出的第一个(尽可能多地合理地)放在实际封面上,并将其余的放在相邻页面上。

如果您出版或分发数量超过 100 份的文档的不透明副本,您必须包括每个不透明副本的机器可读透明副本,或者在每个不透明副本中或与其一起声明一个公众可访问的计算机网络位置,其中包含文档的完整透明副本,不包含任何添加的材料,并且使用公共标准网络协议,一般网络用户公众可以匿名下载,无需付费。如果您使用后一种选择,您必须采取合理谨慎的措施,当您开始大量分发不透明副本时,以确保此透明副本将保持在该指定位置可访问,直到您向公众分发该版本的最后一个不透明副本(直接或通过您的代理商或零售商)至少一年后。

我们建议但不要求您在重新分发大量副本之前与文档的作者联系,以便让他们有机会为您提供文档的更新版本。


A.3.5. 修改

您可以根据上述第 2 节和第 3 节的条件复制和分发文档的修改版本,前提是您以本许可协议发布修改版本,修改版本扮演文档的角色,从而将修改版本的发行和修改许可给拥有该版本副本的任何人。此外,您必须在修改版本中执行以下操作

A. 在标题页(以及封面,如果有的话)上使用与文档标题不同的标题,以及与以前版本的标题不同的标题(如果以前有的话,应在文档的历史记录部分中列出)。如果该版本的原始出版商允许,您可以使用与以前版本相同的标题。

B. 在标题页上,将负责修改版本中修改的作者的一个或多个人员或实体,以及文档的至少五名主要作者(如果少于五名,则为其所有主要作者)列为作者。

C. 在标题页上,将修改版本的出版商的名称声明为出版商。

D. 保留文档的所有版权声明。

E. 在其他版权声明旁边为您所做的修改添加适当的版权声明。

F. 在版权声明之后立即包含许可声明,允许公众根据本许可协议的条款使用修改版本,如下面的附录所示。

G. 在该许可声明中保留文档的许可声明中给出的不变部分和所需封面文本的完整列表。

H. 包括本许可协议的未修改副本。

I. 保留标题为“历史记录”的部分及其标题,并在其中添加一个项目,至少说明标题页上给出的修改版本的标题、年份、新作者和出版商。如果文档中没有标题为“历史记录”的部分,则创建一个说明标题页上给出的文档的标题、年份、作者和出版商,然后添加一个项目,如上一句所述描述修改版本。

J. 保留文档中给出的任何用于公众访问文档透明副本的网络位置,以及文档中给出的其所基于的以前版本的网络位置。这些可以放在“历史记录”部分中。您可以省略在文档本身发布前至少四年发布的作品的网络位置,或者如果其所指的版本的原始出版商允许。

K. 在任何标题为“致谢”或“献词”的部分中,保留该部分的标题,并保留该部分中给出的每个贡献者致谢和/或献词的所有实质和语气。

L. 保留文档的所有不变部分,其文本和标题均未修改。章节编号或等效项不被视为章节标题的一部分。

M. 删除任何标题为“背书”的部分。这样的部分不能包含在修改版本中。

N. 不要将任何现有部分重新命名为“背书”或与任何不变部分的标题冲突。

如果修改版本包含符合辅助部分条件且不包含从文档复制的材料的新封面部分或附录,您可以选择将其中一些或全部部分指定为不变的。为此,请将它们的标题添加到修改版本许可声明中的不变部分列表中。这些标题必须与任何其他部分标题不同。

您可以添加一个标题为“背书”的部分,前提是它仅包含各方对您的修改版本的认可,例如,同行评审声明或文本已被组织批准为标准的权威定义。

您可以添加一个最多五个单词的段落作为封面文字,以及一个最多 25 个单词的段落作为背面文字,添加到修改版本中封面文字列表的末尾。任何一个实体只能添加一个封面文字段落和一个背面文字段落(或通过其安排)。如果文档已经包含相同封面的封面文字,该封面文字先前由您或通过您代表的同一实体安排添加,则您不得添加另一个;但是,您可以替换旧的,但前提是获得添加旧的封面的先前出版商的明确许可。

文档的作者和出版商未通过本许可协议授予使用其姓名进行宣传或断言或暗示对任何修改版本的认可的许可。


A.3.6. 合并文档

您可以根据上述第 4 节中定义的修改版本条款,将文档与根据本许可协议发布的其他文档合并,前提是您在合并中包含所有原始文档的所有不变部分,未修改,并在其许可声明中将它们全部列为您的合并作品的不变部分。

合并后的作品只需要包含本许可协议的一个副本,并且可以将多个相同的不变部分替换为单个副本。如果存在多个具有相同名称但内容不同的不变部分,请通过在末尾括号中添加该部分的原始作者或出版商的姓名(如果已知)或唯一编号,使每个此类部分的标题都是唯一的。对合并作品的许可声明中不变部分列表中的部分标题进行相同的调整。

在合并中,您必须合并各个原始文档中标题为“历史记录”的任何部分,形成一个标题为“历史记录”的部分;同样合并任何标题为“致谢”的部分以及任何标题为“献词”的部分。您必须删除所有标题为“背书”的部分。


A.3.7. 文档集合

您可以创建一个由文档和根据本许可协议发布的其他文档组成的集合,并将各个文档中的本许可协议的单独副本替换为集合中包含的单个副本,前提是您在所有其他方面都遵循本许可协议对每个文档进行逐字复制的规则。

您可以从此类集合中提取单个文档,并根据本许可协议单独分发它,前提是您将本许可协议的副本插入到提取的文档中,并在所有其他方面都遵循本许可协议有关该文档的逐字复制的规定。


A.3.8. 与独立作品的聚合

将文档或其衍生作品与其他单独且独立的文档或作品汇编在一起,无论是在卷或存储或分发介质上,都不算作文档的修改版本,前提是没有对该汇编提出汇编版权要求。这种汇编被称为“聚合”,并且本许可协议不适用于与文档一起汇编的其他自包含作品,因为它们是这样汇编的,如果它们本身不是文档的衍生作品。

如果第 3 节的封面文字要求适用于这些文档副本,那么如果文档小于整个聚合的四分之一,则文档的封面文字可以放置在仅围绕聚合中的文档的封面上。否则,它们必须出现在整个聚合的封面上。


A.3.9. 翻译

翻译被认为是一种修改,因此您可以根据第 4 节的条款分发文档的翻译。用翻译替换不变部分需要其版权持有人的特殊许可,但您可以包含一些或所有不变部分的翻译,以及这些不变部分的原始版本。您可以包含本许可协议的翻译,前提是您还包含本许可协议的原始英文版本。如果翻译与本许可协议的原始英文版本之间存在分歧,则以原始英文版本为准。


A.3.10. 终止

除非本许可协议明确规定,否则您不得复制、修改、再许可或分发本文件。任何其他复制、修改、再许可或分发本文件的企图都是无效的,并将自动终止您在本许可协议下的权利。但是,根据本许可协议从您那里收到副本或权利的各方,只要这些各方始终完全遵守本许可协议,其许可就不会终止。


A.3.11. 本许可协议的未来修订

自由软件基金会可能会不时发布 GNU 自由文档许可协议的新的修订版本。此类新版本在精神上与当前版本相似,但可能会在细节上有所不同,以解决新的问题或疑虑。请参阅 Copyleft。

每个版本的许可证都有一个不同的版本号。如果文档指定此许可证的特定编号版本“或任何更高版本”适用于它,您可以选择遵循该指定版本或自由软件基金会发布的任何更高版本(非草案)的条款和条件。如果文档未指定此许可证的版本号,您可以选择自由软件基金会发布的任何版本(非草案)。


参考书目

(1) Tony Steidler-Dennison, Lockergnome Penguin Shell Series, Lockergnome.

对本文档中列出的许多命令负责。特别是Lockergnome启发了通配符部分的很多内容:第20.4节

(2) Brandon Rhodes, Linux 网络命令页面

负责网络命令部分的一部分:第13章

(3) Michael Stutz, Linux Cookbook 首页, No Starch Press。

许多这些命令都来自 Linux Cookbook(1.2 版)。我强烈向任何新手或中级 GNU/Linux 用户推荐这本书,先在线浏览一下,然后当然要购买它 :)。

(4) Michael Jordan, Linux 在线课堂, Linux Online。

本文档的一些非常小的部分取自 Linux Online 网站上的入门课程。

(5) man 和 info 页面.

本文档中列出的各种工具的 man 和 info 页面已被用作创建本文档的资源。 它们是有关程序的最新信息的有用资源,当您需要有关特定工具的信息时,应查阅它们。

(6) 关注 Unix -- Unix.about.com.

unix.about.com 站点的 高级命令部分下的一些教程用于构建本指南。 特别是 xargs 命令的部分:第8章 和 cut 命令的部分:第11.4节 是从他们的教程中使用的。

(7) MandrakeSoft 命令行手册, MandrakeSoft

为 Mandake Linux 9.0 开发的命令行手册用于创建本文档。 本文档中使用了一个小节(关于命令行完成)。 如果您正在运行 mandrake,您很可能会在此处找到本指南 这里。

(8) MandrakeSoft 入门指南, MandrakeSoft

为 Mandake Linux 9.0 开发的 MandrakeSoft 入门指南用于创建本文档。 本文档中使用了一个小节(关于如何从系统冻结中恢复)。 如果您正在运行 mandrake 系统,您很可能会在此处找到该文档 这里。

(9) Hrvoje Niksic, Wget 手册页面, Free Software Foundation。

本指南使用了 wget 手册页的一部分,来自此页面,Wget 手册页面。 特别是关于在使用 http 协议时下载多个文件。

(10) Grep, Free Software Foundation。

两个通配符小节都基于 grep 手册和 info 页面。 字符的有用类别(根据 POSIX 标准定义)取自 grep info 页面。

(11) Marc Ewing, Jeff Johnson, 和 Erik Troan, RPM 手册页面, Red Hat。

RPM 手册页面的一个小节用于创建 RPM 验证小节,没有任何编辑。

(12) Markku Rossi, Enscript 手册页面, Free Software Foundation。

enscript 的示例基于 enscript 手册页面中显示的示例。

(13) Paul Vixie, Cron 手册页面, 4th Berkeley Distribution。

crontab 部分的信息(包括表格)取自 crontab 手册页(未经编辑,但有少量添加)。 键入 man 1 crontabman 5 crontab 以访问 2 个不同的手册页面。

(14) IBM Developerworks.

IBM Developerworks 教程的一些部分已用于创建本文档。 IBM Developerworks 经常发布有关各种主题的新教程,请访问 IBM Developerworks Linux 站点(请参阅上面的链接)以获取有关其 GNU/Linux 教程的更多信息。

(15) Suso Banderas, Num-utils 首页

num-utils 手册页面用于创建数学部分。 特别是,num-utils 工具的所有描述都基于 num-utils 首页上的手册页面。

(16) Carla Schroder, LinuxChix 帖子存档

此特定的 LinuxChix 帖子是通过 TechTalk 邮件列表下关于 cron 的邮件列表讨论发布的。 海报的首页是 http://www.tuxcomputing.com

(17) Joe Barr, CLI for noobies: import, display, mogrify

Joe Barr 的这篇特定文章用于描述 mogrify 工具,特别是关于创建缩略图的示例。

(18) Kyle Rankin, 请,为了所有可恢复的东西,粉碎你的硬盘驱动器!

Kyle Rankin 的这篇特定文章(只有一个段落)用于提供有关 shred 命令的信息。


索引

符号

!, 通用 Shell 技巧
!!, 命令行历史
!-n, 命令行历史
!n, 命令行历史
!string, 命令行历史
$, 通用 Shell 技巧, 正则表达式
%cpu, 控制进程
%mem, 控制进程
&&, 执行多个命令
&>, 用法
*, 标准通配符(globbing 模式), 正则表达式
--color=auto, 通用 Shell 技巧
--date=, 使用文件和文件夹, 日期/时间/日历
--forest, 控制进程
--h, 帮助
--help, 帮助
--mirror, 互联网特定命令
--verbose, 数学工具
-?, 帮助
-a, 在文件系统中移动, 查找文件, 查找有关系统的信息, 控制进程, 在文件中查找文本, 互联网特定命令, 使用 MS-DOS 文件
-b, 使用文件和文件夹, 文本查看工具, 文本操作工具, 在文件中查找文本
-c, 使用文件和文件夹, 控制进程, 文本信息工具, 文本操作工具, 互联网特定命令, 一些基本安全工具, tar (磁带归档器)
-CONT, 控制进程
-d, 在文件系统中移动, 使用文件和文件夹, 日期/时间/日历, 文本操作工具, 文本转换/过滤器工具, 文件权限
-e, 通用 Shell 技巧, 安排命令在后台运行
-exec, 查找文件, 查找有关系统的信息
-F, 通用 Shell 技巧, 帮助, 在文件系统中移动, 使用文件和文件夹, 控制服务, 文本查看工具, 文本操作工具, tar (磁带归档器), 安排命令在后台运行
-format, 图形工具(基于命令行)
-g, 控制进程, 文本操作工具
-geometry, 图形工具(基于命令行)
-h, 帮助, 使用文件和文件夹, 查找有关系统的信息, 关闭/重启系统
-HUP, 控制进程
-i, 通用 Shell 技巧, 使用文件和文件夹, 查找有关系统的信息, 控制进程, 文件权限
-iregex, 查找文件
-jj, tar (磁带归档器)
-k, 使用文件和文件夹, 文本操作工具
-kill, 控制进程
-l, 在文件系统中移动, 查找有关分区的信息, 控制进程, 文本信息工具, 文本转换/过滤器工具, 文件权限, 安排命令在后台运行
-lx, 查找有关系统的信息
-m, 使用文件和文件夹, 查找有关系统的信息, 互联网特定命令
-n, 使用文件和文件夹, 查找有关系统的信息, 文本查看工具, 文本操作工具, 在文件中查找文本, 互联网特定命令
-name, 查找文件
-nx, 查找有关系统的信息
-o, 查找文件
-p, 使用文件和文件夹, 查找有关系统的信息, 控制进程, tar (磁带归档器)
-path, 查找文件
-print, 查找文件
-prune, 查找文件
-q, 在文件中查找文本
-R, 在文件系统中移动, 处理文件和文件夹, 查找关于系统的信息, 关闭/重启系统, 控制服务, 文本操作工具, 在文件中查找文本, 远程管理相关, 文件权限
-regex, 查找文件
-S, 在文件系统中移动, 处理文件和文件夹, 查找关于系统的信息, 日期/时间/日历, 控制服务
-STOP, 控制进程
-t, 处理文件和文件夹, 查找关于系统的信息, 挂载和卸载 (软盘/CDROM/硬盘分区), 控制进程, 文本操作工具, 互联网特定命令, 文件权限, 压缩, 处理 MS-DOS 文件, 检查硬盘错误
-u, 查找文件, 处理文件和文件夹, 控制进程, 文本操作工具, 互联网特定命令, 计划在后台运行的命令
-v, 处理文件和文件夹, 查找关于系统的信息, 控制进程, 在文件中查找文本, tar (磁带归档器), RPM: Redhat 软件包管理系统
-verbose, 图形工具 (基于命令行)
-w, 文本信息工具, 在文件中查找文本
-x, 通用 Shell 提示, 控制进程, 文本操作工具, 互联网特定命令, tar (磁带归档器), 其他
-y, 日期/时间/日历
-z, 处理文件和文件夹, tar (磁带归档器)
., 在文件系统中移动, 正则表达式
.*, 正则表达式
.bz, 压缩
.doc, 标准通配符 (globbing 模式)
.gz, 压缩
.h, 转换工具
.pdf, 标准通配符 (globbing 模式)
/, 在文件系统中移动
/dev/null, 用法
/etc/groups, 用户/组
/etc/hosts, 挂载和卸载 (软盘/CDROM/硬盘分区), 网络命令
/etc/init.d, 控制服务
/etc/inittab, 关闭/重启系统
/etc/passwd, 用户/组, 文本操作工具
/etc/profile, 安全
/etc/resolv.conf, 互联网特定命令
/proc, 查找关于系统的信息, 查找关于分区的信息
/proc/net, 网络命令
192.168.0.1, 网络配置
192.168.0.2, 网络配置
192.168.1.100, 挂载和卸载 (软盘/CDROM/硬盘分区), 网络命令
1MB, 查找关于系统的信息
2>, 用法
:n, 文本查看工具
:p, 文本查看工具
;, 执行多个命令, 批量重命名/复制/链接工具
<, 用法
<<, 用法
>, 用法
>>, 用法
?, 标准通配符 (globbing 模式)
@, 通用 Shell 提示
[ ], 标准通配符 (globbing 模式), 正则表达式
[!], 标准通配符 (globbing 模式), 正则表达式
[http://www.linuxexposed.com/Articles/General/Linux Exposed, UNIX 工具哲学进一步阅读
[http://www.tldp.org/dman pages, 在线手册页网站:
[^], 正则表达式
\, 通用 Shell 提示, 标准通配符 (globbing 模式), 正则表达式
\r, 文本转换/过滤器工具
^, 正则表达式
{ }, 标准通配符 (globbing 模式)
|, 用法, 正则表达式
||, 执行多个命令
~, 通用 Shell 提示

A

A, 文件权限
a-z, 标准通配符 (globbing 模式)
abilities, 虚拟终端和 screen
ability, 图形工具 (基于命令行)
able, 处理文件和文件夹, 网络配置, 远程管理相关, 图形工具 (基于命令行)
absolute, 在文件系统中移动
Absolute path, 在文件系统中移动
access, 命令行历史, 挂载和卸载 (软盘/CDROM/硬盘分区), 关闭/重启系统, 互联网特定命令, 文件权限, 其他
access keys, 本指南中使用的约定
access time, 文件权限
accessed, 文件权限
add, 通用 Shell 提示, 查找文件, 文本操作工具, 转换工具, 数学工具, 网络配置, 互联网特定命令, 远程管理相关, 安全, 文件权限, 计划在后台运行的命令, 正则表达式
addition, 网络配置
additional, 控制进程
address, 网络配置, 互联网特定命令
addressed, 贡献者
adjust, 处理文件和文件夹
administration, 管理用户
administrative, 控制进程
administrator, 关闭/重启系统
administrators, 谁会想阅读本指南?
admonitions, 本指南中使用的约定
advanced, 查找文件, 处理文件和文件夹, 查找关于系统的信息, 文本编辑器, 文本操作工具, 网络命令, 互联网特定命令, rsync, 处理 MS-DOS 文件
advanced bash scripting, 批量重命名/复制/链接工具
advanced bash scripting guide, 文本操作工具
advancement, 反馈
advantage, 处理文件和文件夹
advice, 反馈, 贡献者
affect, 在文件中查找文本
algorithm, rsync
alias, 通用 Shell 提示
aliases, 通用 Shell 提示
allow, 通用 Shell 提示, 控制进程, 文本操作工具
allowed, 计划在后台运行的命令, 标准通配符 (globbing 模式)
allows, 虚拟终端和 screen, 控制服务, 文本操作工具
AllTheWeb, 通用进一步阅读
alpha, 有用的字符类别 (由 POSIX 标准定义)
alphabetic, 有用的字符类别 (由 POSIX 标准定义)
alphabetical, 文本操作工具
alphabetically, 文本操作工具
alphanumeric, 有用的字符类别 (由 POSIX 标准定义)
alternative, 通用 Shell 提示, 用法, 批量重命名/复制/链接工具, 计划在后台运行的命令, 通配符
alternatively, 命令行历史
alternatives, 一些基本的安全工具
American text encoding standard, Unix 工具哲学
amount, 处理文件和文件夹, 查找关于系统的信息, 文本操作工具, 有用的字符类别 (由 POSIX 标准定义)
anacron, 计划在后台运行的命令
analyze, 其他
AND, 执行多个命令
antiword, 文本转换/过滤器工具
antiword homepage, 文本转换/过滤器工具
append, 在文件系统中移动, 查找关于系统的信息, 文件权限
appendix, 介绍, 谁会想阅读本指南?
application, Unix 工具哲学, 处理文件和文件夹
apply, 控制进程
apropos, 帮助
apt-get, RPM: Redhat 软件包管理系统
archive, 互联网特定命令, 归档文件, 压缩
archived, tar (磁带归档器)
archives, 压缩
archiving, 归档文件
argument, 处理文件和文件夹, 批量重命名/复制/链接工具, 文本信息工具, 文本操作工具, 互联网特定命令, 计划在后台运行的命令, 其他
arguments, 命令行历史, 处理文件和文件夹
arranged, 图形工具 (基于命令行)
arrow, 命令行历史
arrow keys, 命令行历史
art, 转换工具
article, 贡献者
ASCII, Unix 工具哲学, 在文件系统中移动, 处理文件和文件夹, 文本转换/过滤器工具, 转换工具
aspell, 文本操作工具
assign, 控制进程
assist, 处理文件和文件夹, 安全
assistance, 用于创建本文档的资源
关联的, 帮助
星号, 计划在后台运行的命令
at, 关闭/重启系统, 计划在后台运行的命令
atq, 计划在后台运行的命令
atrm, 计划在后台运行的命令
Attach, 挂载和卸载 (软盘/CDROM/硬盘分区)
尝试, 通用 Shell 技巧, 命令行历史, 正则表达式
尝试中, 控制进程
尝试, 处理文件和文件夹, 网络命令
属性, 文件权限
属性, 文件权限
可听见的, 通用 Shell 技巧
作者, 反馈, 免责声明
编写, 谁会想阅读本指南?, 安全
作者, 谁会想阅读本指南?
作者的观点, 谁会想阅读本指南?
自动化的, 一些基本安全工具, 检查硬盘错误
自动化, 计划在后台运行的命令
自动命令补全, 通用 Shell 技巧
自动地, 通用 Shell 技巧, 处理文件和文件夹, 处理 MS-DOS 文件
可用的, 源代码的可用性, 查找有关系统的信息, 控制进程, 控制服务, 用户/组, 网络命令, 处理 MS-DOS 文件
避免, 迷你指南

B

退避, 通用 Shell 技巧
封底, 许可证
后台, 控制进程, 控制服务
后台进程, 控制进程
反斜杠, 通用 Shell 技巧, 标准通配符(globbing 模式), 正则表达式
带宽, rsync
基于, 贡献者
bash, 简介, 通用 Shell 技巧, 查找文件, 批量重命名/复制/链接工具, 互联网专用命令, 具体拓展阅读
bash 脚本, 批量重命名/复制/链接工具, 具体拓展阅读
基本, 查找文件, 网络命令, 安全, 归档文件
Bastille Linux, 安全
批处理, 图形工具 (基于命令行)
beep, 通用 Shell 技巧
初学者, 谁会想阅读本指南?
开始, 正则表达式
铃声, 通用 Shell 技巧
bg, 控制进程
二进制, 查找文件, 处理文件和文件夹, 文本信息工具
位, 数学工具, 文件权限
位图, 图形工具 (基于命令行)
块, 处理文件和文件夹
块, 文件权限, 压缩, 处理 MS-DOS 文件
bmp, 处理文件和文件夹
书籍, 谁会想阅读本指南?, 源代码的可用性
bookmarks.html, 互联网专用命令
启动, 安全
启动盘, 复制磁盘
启动, 安全
启动, 查找有关系统的信息
Bourne-Again-SHell, 简介
括号, 标准通配符(globbing 模式)
品牌, 免责声明
中断键, 控制进程
广播的, 关闭/重启系统
损坏的, 处理文件和文件夹
内置的, 图形工具 (基于命令行)
内置的, 批量重命名/复制/链接工具
一堆, 压缩
刻录, 复制磁盘
字节, 处理文件和文件夹, 文本信息工具
bz* 命令, 文本查看工具
bzgrep, 文本查看工具
bzip2, 文本查看工具, tar (磁带归档器), 压缩
bzip2recover, 压缩
bzless, 文本查看工具
bzme, 压缩

C

缓存的, 查找有关系统的信息
cal, 日期/时间/日历
计算器, 数学工具
日历, 日期/时间/日历
调用, 在文件中查找文本
大写, 文本操作工具, 有用的字符类别(由 POSIX 标准定义)
捕获, 图形工具 (基于命令行)
捕获, 网络命令
小心, 处理文件和文件夹, 文件权限
回车, 文本转换/过滤工具
回车符, 文本转换/过滤工具
cat, 用法, 文本操作工具
捕获, 计划在后台运行的命令
导致, 通用 Shell 技巧, 在文件系统中移动, 控制进程, 互联网专用命令
导致, 文本转换/过滤工具
注意, 免责声明
cd, 通用 Shell 技巧, 在文件系统中移动, 复制磁盘
cdrecord, 标准通配符(globbing 模式)
cdrom, 查找有关分区的信息, 控制系统, 标准通配符(globbing 模式)
cdrom-drive, 控制系统
厘米, 数学工具
更改, 处理文件和文件夹, 查找有关系统的信息, 日期/时间/日历, 控制进程, 管理用户, 用户/组, 文本转换/过滤工具, 网络配置, 互联网专用命令, 文件权限, 图形工具 (基于命令行)
更改所有者, 文件权限
字符, 通用 Shell 技巧, 文本操作工具, 计划在后台运行的命令, 标准通配符(globbing 模式), 正则表达式
字符串, 通用 Shell 技巧
字符, 查找文件, 文本操作工具, 一些基本安全工具, RPM:Redhat 软件包管理系统, 标准通配符(globbing 模式), 有用的字符类别(由 POSIX 标准定义)
聊天, 文本编辑器
chattr, 处理文件和文件夹, 文件权限
chcase, 文本操作工具, 杂项
chcase 主页, 文本操作工具
检查, 文本操作工具, 互联网专用命令, 安全, 一些基本安全工具, 处理 MS-DOS 文件, RPM:Redhat 软件包管理系统, 检查硬盘错误
检查器, Unix 工具哲学
检查中, 一些基本安全工具, RPM:Redhat 软件包管理系统, 检查硬盘错误
chfn, 用户/组
chmod, 安全, 文件权限
chown, 文件权限
Chris Karakas, 源代码的可用性, 用于创建本文档的资源
按时间顺序, 贡献者
chsh, 用户/组
清晰, 本指南中使用的约定
CLI, 谁会想阅读本指南?
点击, 图形工具 (基于命令行)
已关闭, 网络命令
簇, 处理 MS-DOS 文件
cmp, 文本信息工具, 寻找特定的工具
代码, 本指南中使用的约定, Unix 工具哲学
冒号, 文本查看工具, 文本操作工具
颜色, 转换工具, 图形工具 (基于命令行)
颜色, 图形工具 (基于命令行)
列, 文本操作工具
列, 贡献者, 文本信息工具, 文本操作工具
组合, 本指南中使用的约定
组合, 本指南中使用的约定
组合, 文本查看工具
组合, 文本查看工具
comm, 文本信息工具
命令历史, Shell 技巧, 命令行历史
命令行界面, 谁会想阅读本指南?
命令列表, 谁会想阅读本指南?
命令名称, 通用 Shell 技巧
命令编号, 命令行历史
命令替换, 命令替换
命令语法, 本指南中使用的约定
命令行, 谁会想阅读本指南?, 谁不想阅读本指南?, 用于创建本文档的资源, Unix 工具哲学, Shell 技巧, 通用 Shell 技巧, 命令行历史, 虚拟终端和 screen, 图形工具 (基于命令行), 寻找特定的工具
命令行界面, 谁不想阅读本指南?, 寻找特定的工具
基于命令行, 简介
命令列表, 通用拓展阅读
command1, 执行多个命令, 查找有关系统的信息
command2, 执行多个命令, 查找有关系统的信息
commandName, 命令行历史
逗号, 文本操作工具, 数学工具, 安排命令在后台运行, 标准通配符 (globbing 模式)
命令, 查找文件
常用, 文本信息工具, 文本操作工具, 压缩, 安排命令在后台运行
通常, 通用Shell技巧
比较, 文本信息工具
完整, 谁不想读这本指南?, 通用Shell技巧
补全, 通用Shell技巧
复杂, 简介, Unix工具哲学, 通用Shell技巧, 文本查看工具, 文本操作工具, 杂项
复杂化, 网络命令
复合, 图形工具 (基于命令行)
全面, 谁会想读这本指南?, 安全
压缩, 压缩
已压缩, 文本查看工具, 压缩
压缩, 压缩
Comptechdoc的Linux命令速查手册, 通用扩展阅读
计算机, 查找系统信息, 远程管理相关, 安排命令在后台运行
计算机, 网络命令
连接, 用法
连接, 用法, 文本操作工具
概念, 免责声明, 迷你指南
配置, 网络配置, 安全
配置, 网络配置
确认, 通用Shell技巧
令人困惑, 查找系统信息
连同, Unix工具哲学, 安排命令在后台运行
连接, 远程管理相关
连接, Unix工具哲学, 查找关于分区的信息
一致性, 贡献者
控制台, 命令行历史记录, 安全
联系, 互联网特定命令
内容, 免责声明
内容, 免责声明, 用法, 在文件系统中移动, 查找系统信息, 转换工具, 网络命令, 文件权限, 压缩, 安排命令在后台运行
连续, 文本查看工具
贡献, 贡献者
贡献, 贡献者
贡献者, 创建本文档所用的资源
控制, 控制系统, 控制服务, 字符的有用类别 (由 POSIX 标准定义)
Control 键, 本指南中使用的约定
控制, 控制系统, 控制进程
控制, 安全
约定, 本指南中使用的约定
转换, 文本转换/过滤工具, 数学工具
转换, 创建本文档所用的资源, 查找系统信息, 文本操作工具, 数学工具, 压缩
转换, 文本转换/过滤工具
复制, 处理文件和文件夹, 远程管理相关, rsync
复制, 许可证, 通用Shell技巧, 查找文件, 处理文件和文件夹, 远程管理相关, 杂项
复制, 通用Shell技巧, 处理文件和文件夹
版权, 许可证
版权, 免责声明
核心, Unix工具哲学
coreutils, UNIX工具哲学进一步阅读
正确, 贡献者, 控制进程, 数学工具, 一些基本安全工具, 压缩, 图形工具 (基于命令行)
正确地, 互联网特定命令
成本, 压缩
计数, 处理文件和文件夹, 文本信息工具, 文本操作工具
cp, 处理文件和文件夹
CPU, 查找系统信息, 控制进程
破解者, 互联网特定命令
标准, 杂项
关键, 控制服务
批评, 反馈, 贡献者
批评, 贡献者
cron, 安排命令在后台运行
crontab, 安排命令在后台运行
神秘, RPM: Redhat Package Management System
CSS, 贡献者
CTRL-A, 其他键组合, 虚拟终端和screen
CTRL-ALT-DEL, 关闭/重启系统
CTRL-ALT-F*, 虚拟终端和screen
CTRL-C, 关闭/重启系统, 控制进程, 文本查看工具, 网络命令
CTRL-D, 通用Shell技巧, 其他键组合, 用法, 管理用户, 数学工具, 安排命令在后台运行
CTRL-E, 其他键组合
CTRL-K, 其他键组合
CTRL-N, 虚拟终端和screen
CTRL-P, 虚拟终端和screen
CTRL-R, 命令行历史记录, 其他键组合
CTRL-W, 其他键组合
CTRL-X-$, 通用Shell技巧
CTRL-X-Y, 通用Shell技巧
CTRL-Y, 其他键组合
CTRL-Z, 本指南中使用的约定, 其他键组合, 控制进程
curl, 互联网特定命令
当前, 本指南中使用的约定, 在文件系统中移动, 查找系统信息, 挂载和卸载 (软盘/CDROM/硬盘分区), 文本操作工具, 互联网特定命令, 文件权限, 压缩, 杂项
当前目录, 在文件系统中移动
可定制, 控制进程
定制, 文本操作工具
定制, 贡献者
定制, 查找文件, 日期/时间/日历, 转换工具, 杂项
cut, 文本操作工具

D

守护进程, 控制服务, 远程管理相关, 安排命令在后台运行
守护进程, 控制服务
损坏, 免责声明, 互联网特定命令
损坏, 压缩
短划线, 本指南中使用的约定
数据, 处理文件和文件夹, 控制进程, 文件权限, RPM: Redhat Package Management System
数据库, 图形工具 (基于命令行)
数据库, 互联网特定命令
日期, 在文件系统中移动, 处理文件和文件夹, 日期/时间/日历
日期, tar (磁带归档工具)
Dave Wreski, 安全
David Lawyer, 贡献者
日, 日期/时间/日历, 安排命令在后台运行
天, 日期/时间/日历
db2lyx, 创建本文档所用的资源
dd, 处理文件和文件夹, 日期/时间/日历, 复制磁盘
停用, 网络配置
deb, Debian (deb), 查找软件包
Debian 文档, 通用扩展阅读
Debian 包列表, 查找软件包
调试, 查找系统信息
降序, 在文件系统中移动
十进制, 数学工具, 字符的有用类别 (由 POSIX 标准定义)
解压, 压缩
默认, 在文件系统中移动, 处理文件和文件夹, 控制进程, 控制服务, 文本操作工具, 网络配置, 安全, 图形工具 (基于命令行)
定义, 概念定义
delete, 通用 Shell 技巧, 处理文件和文件夹, 文本转换/过滤工具, 文件权限, 计划命令在后台运行
deleted, 处理文件和文件夹, 文件权限
delimiter, 文本操作工具
dependent, 在文件系统中移动
Depending, 在文件系统中移动
depth, 批量重命名/复制/链接工具, 文本相关工具, 互联网特定命令, 迷你指南
describe, 安全
described, 文本查看工具
describes, 迷你指南
description, 简介, 帮助
descriptions, 迷你指南
designed, 谁会想阅读本指南?, Unix 工具哲学, 用法, 关闭/重启系统, 数学工具, 互联网特定命令, 安全, 一些基本的安全工具, 压缩
destination, 处理文件和文件夹, 网络命令
destroy, 处理文件和文件夹, 管理用户
detail, 控制进程
detailed, 简介, 谁不想阅读本指南?, 贡献者, 帮助, 处理文件和文件夹, 查找有关系统的信息, 压缩, 图形工具(基于命令行)
details, 帮助, 在文件系统中移动, 控制系统, 互联网特定命令, 处理 MS-DOS 文件, 复制磁盘
develop, 批量重命名/复制/链接工具
device, 控制系统, 挂载和卸载(软盘/CDROM/硬盘分区), 网络配置, RPM:Redhat 包管理系统
devices, 处理文件和文件夹, 控制系统
df, 查找有关系统的信息, 查找有关分区的信息
dictionary, 互联网特定命令
diff, 文本信息工具, 查找特定工具
diff3, 文本信息工具, 查找特定工具
difference, 概念定义, 文本信息工具, 文本转换/过滤工具, 网络命令
differences, rsync
different, 查找文件, 管理用户, 文本信息工具, 文本转换/过滤工具, 在文件中查找文本, 远程管理相关, 文件权限, 通配符
diffutils, 查找特定工具
dig, 互联网特定命令
digit, 文本操作工具, 有用的字符类别(由 POSIX 标准定义)
digits, 处理文件和文件夹, 有用的字符类别(由 POSIX 标准定义)
dir, 有用的字符类别(由 POSIX 标准定义)
dir1, 查找有关系统的信息
dir2, 查找有关系统的信息
directories, 在文件系统中移动, 查找文件, 处理文件和文件夹, 远程管理相关, 文件权限
directory, 通用 Shell 技巧, 在文件系统中移动, 处理文件和文件夹, 查找有关系统的信息, 查找有关分区的信息, 控制服务, 文本操作工具, 在文件中查找文本, 互联网特定命令, 压缩, 杂项, 标准通配符(globbing 模式)
disable, 通用 Shell 技巧
disabled, 安全
disclaimer, 法律
discuss list, 贡献者
disk, 查找文件, 查找有关分区的信息, 文件权限, 处理 MS-DOS 文件, 检查硬盘是否有错误
disks, 处理文件和文件夹, 查找有关分区的信息, 处理 MS-DOS 文件, 复制磁盘
display, 处理文件和文件夹, 查找有关系统的信息, 日期/时间/日历, 文本查看工具, 文本操作工具, 在文件中查找文本, 网络配置, 图形工具(基于命令行)
distinct, 命令替换
distribute, 许可
distributions, 查找有关分区的信息, 安全
divide, 处理文件和文件夹
dlocate, Debian (deb)
dmesg, 查找有关系统的信息
DNS, 互联网特定命令
DocBook, 用于创建本文档的资源
document, 简介, 贡献者, 帮助, 文本查看工具, 迷你指南
document processor, 源代码的可用性, 用于创建本文档的资源
documentation, 虚拟终端和 screen, 帮助, 查找有关分区的信息, 网络命令, 远程管理相关, 文件权限, rsync, 处理 MS-DOS 文件
documents, 贡献者, 免责声明, 文本查看工具, 文本转换/过滤工具
domain information groper, 互联网特定命令
Dos-style, 文本转换/过滤工具
dos2unix, 文本转换/过滤工具
dosfsck, 处理 MS-DOS 文件
dot, 在文件系统中移动
dots, 在文件系统中移动
double, 帮助
download, 互联网特定命令
downloadable, 源代码的可用性
downloaded, 互联网特定命令
downloader, 互联网特定命令
downloading, 互联网特定命令, 一些基本的安全工具
downloads, 互联网特定命令
downwards, 在文件系统中移动
dpkg, Debian (deb)
dpkg -S, Debian (deb)
Dr. B. Guillion, 用于创建本文档的资源
drive, 处理文件和文件夹, 查找有关分区的信息, 挂载和卸载(软盘/CDROM/硬盘分区)
drives, 查找有关分区的信息, 控制系统
du, 处理文件和文件夹
duplicate, 文本操作工具, 复制磁盘
duplication, 迷你指南

E

echo, 通用 Shell 技巧, 查找有关系统的信息, 计划命令在后台运行
edit, 命令行历史记录, 用户/组, 互联网特定命令, 安全, 计划命令在后台运行
editing, 用户/组, 图形工具(基于命令行), 计划命令在后台运行, 有用的字符类别(由 POSIX 标准定义)
editor, 文本编辑器
editors, Unix 工具哲学, 文本相关工具, 文本编辑器, 文本转换/过滤工具
effects, 图形工具(基于命令行)
efficient, 谁会想阅读本指南?
eject, 控制系统
emacs, 命令行历史记录, 文本编辑器, 特定深入阅读
email, 反馈
emerged, Unix 工具哲学
emphasize, 本指南中使用的约定
emphasized, 本指南中使用的约定
empty, 处理文件和文件夹
enable, 简介, 本指南中使用的约定
encodings, 文本转换/过滤工具
encouraged, 反馈
encrypted, 远程管理相关
encryption, rsync
end, 用法, 查找文件, 批量重命名/复制/链接工具, 文本操作工具, 安全, 正则表达式
end-of-file, 计划命令在后台运行
end-of-line, 文本转换/过滤工具
ending, 标准通配符(globbing 模式), 正则表达式
endorsements, 免责声明
ends, 互联网特定命令, 标准通配符(globbing 模式), 正则表达式
english, 本指南中使用的约定
enhancements, 源代码的可用性
enscript, 转换工具
enter, 数学工具
entered, 命令行历史
entries, 文本查看工具
entry, 文本操作工具, 计划在后台运行的命令
environment, 管理用户
environment variable, 通用 Shell 技巧
epigram, 杂项
epigrams, 杂项
equals, 文件权限
equivalent, 命令行历史, 在文件系统中移动, 日期/时间/日历, 安全, 正则表达式
error, 概念定义, 处理文件和文件夹, 查找系统信息
Error output, 概念定义, 用法
errors, 贡献者, 免责声明, 处理 MS-DOS 文件, 检查硬盘错误
ESC-$, 通用 Shell 技巧
ESC-Y, 通用 Shell 技巧
escape, 通用 Shell 技巧, 安全
escape character, 标准通配符(globbing 模式), 正则表达式
eth0, 网络配置
evaluates, 数学工具
events, 控制服务
everyday, 计划在后台运行的命令
everyone, 文件权限
everything, 在文件系统中移动, 处理文件和文件夹, 批量重命名/复制/链接工具, 查找系统信息, 管理用户, 计划在后台运行的命令
exact, 帮助, 在文件系统中移动, 查找文件, 关闭/重启系统, 控制进程, 复制磁盘, 标准通配符(globbing 模式)
exactly, 通用 Shell 技巧, 命令替换, 处理文件和文件夹, 控制进程, 数学工具
examples, 介绍, 本指南中使用的约定, 免责声明, 在文件系统中移动, 处理文件和文件夹, 查找系统信息, 文本查看工具, 计划在后台运行的命令
exclude, 查找文件
exclude=pattern, tar (磁带归档工具)
Excluding, 查找文件, 有用的字符类别(由 POSIX 标准定义)
executable, 本指南中使用的约定, 在文件系统中移动, 查找文件
execute, 命令行历史, 命令替换, 查找系统信息, 控制进程, 数学工具, 远程管理相关, 文件权限, 处理 MS-DOS 文件
execution, 计划在后台运行的命令
exist, 用法, 处理文件和文件夹, 互联网特定命令
existing, 用法, 控制进程, 文件权限
exit, 通用 Shell 技巧, 处理文件和文件夹, 文本查看工具, 数学工具, RPM:Redhat 软件包管理系统
expand, 通用 Shell 技巧, 文本操作工具, 在文件中查找文本
expanding, 通用 Shell 技巧, 互联网特定命令
expands, 通用 Shell 技巧
expert, 谁不想阅读本指南?
explaining, 本指南中使用的约定
explains, 重定向输入/输出, 网络命令, 图形工具(基于命令行)
explanation, 查找系统信息, 安全
explanations, 谁想阅读本指南?
explicitly, 本指南中使用的约定
expression, 数学工具
expressions, 数学工具, 正则表达式
ext2, 处理文件和文件夹, 文件权限
ext3, 处理文件和文件夹, 文件权限, 检查硬盘错误
extended, 控制进程
extension, 查找文件, 批量重命名/复制/链接工具, 杂项
extentions, 批量重命名/复制/链接工具
extract, tar (磁带归档工具), 压缩

F

factors, 数学工具
fail, 命令行历史
fails, 执行多个命令
familiar, 文本转换/过滤工具
fdisk, 查找分区信息
Feedback, 反馈
fg, 其他组合键, 控制进程
fgrep, 在文件中查找文本
field, 计划在后台运行的命令
fields, 计划在后台运行的命令
figlet, 转换工具
file access, 文件权限
file name, 通用 Shell 技巧
file permissions, 安全
File Streams, 概念定义
file system, 处理文件系统
file-system, 通用 Shell 技巧, 处理文件系统, 处理文件和文件夹, 挂载和卸载(软盘/光盘/硬盘分区)
file-systems, 查找系统信息
file1, 处理文件和文件夹, 文本信息工具
file2, 处理文件和文件夹, 文本信息工具
filename1, 处理文件和文件夹
filename2, 处理文件和文件夹
filepart1, 文本查看工具
filepart2, 文本查看工具
filepart3, 文本查看工具
filespec, 文本操作工具
filesystem, 在文件系统中移动, 查找文件, 处理文件和文件夹, 查找分区信息, 远程管理相关, 文件权限, 处理 MS-DOS 文件
filesystems, 处理 MS-DOS 文件
filter, 文本操作工具, 文本转换/过滤工具
filters, 文本转换/过滤工具
find, 通用 Shell 技巧, 命令行历史, 查找文件, 处理文件和文件夹, 查找系统信息, 控制进程, 文本操作工具, 数学工具, rsync, 图形工具(基于命令行), 通配符
finding, 处理文件系统, 控制进程, 文本信息工具
finding tools, 查找特定工具
finds, 帮助, 查找文件, 文本转换/过滤工具, 在文件中查找文本
findsmb, 网络命令
finger, 用户/组
finish, 处理文件和文件夹
finished, 用法, 处理文件和文件夹, 数学工具
five, 计划在后台运行的命令
fix, 通用 Shell 技巧, 管理用户
fixing, 贡献者
flag, 文件权限
flags, 文件权限
flash, 通用 Shell 技巧
flexible, rsync
floppy, 处理文件和文件夹, 处理 MS-DOS 文件, 复制磁盘
floppy-image, 复制磁盘
fmt, 文本操作工具
folders, 查找文件
followed, 控制进程, 控制服务, 有用的字符类别(由 POSIX 标准定义)
following, 通用 Shell 技巧, 概念定义, 文本操作工具, 文本转换/过滤工具, 计划在后台运行的命令
Follows, 在文件中查找文本, 数学工具
force, 处理文件和文件夹, 控制进程
foreground, 控制进程
forgotten, 安全
form, 控制进程, 正则表达式
format, 源代码的可用性, 通用 Shell 技巧, 查找系统信息, 文本转换/过滤工具, 压缩, 图形工具(基于命令行), 处理 MS-DOS 文件
formats, 文本相关工具, 文本转换/过滤工具, 图形工具(基于命令行), 处理 MS-DOS 文件
formatted, 处理 MS-DOS 文件
forms, 文本操作工具
fortune, 杂项
forwards, 文本查看工具
找到,贡献者命令行历史查找关于分区的信息文本操作工具在文件中查找文本安全性图形工具(基于命令行)
分数,数学工具
框架,本指南中使用的约定
框架集,本指南中使用的约定
free,查找关于系统的信息
自由软件基金会,许可证
FreeBSD,Unix工具哲学
freeze,控制进程
Freshmeat,文本编辑器归档文件寻找更多有用的工具寻找软件包
Freshmeat.,远程管理相关
from/to dos网站,文本转换/过滤器工具
fromdos,文本转换/过滤器工具
封面,许可证
FSF,许可证
ftp,Internet特定命令
full,文本操作工具文本转换/过滤器工具Internet特定命令使用MS-DOS文件RPM:Redhat软件包管理系统
函数,简介通用Shell技巧控制进程网络命令计划命令在后台运行
函数,批量重命名/复制/链接工具管理用户
进一步阅读,Unix工具哲学特定进一步阅读

G

加仑,数学工具
乱码,通用Shell技巧
Gareth Anderson,反馈许可证
网关,网络配置
general,贡献者数学工具Internet特定命令
生成器,一些基本的安全工具
George Harmon,贡献者
GFDL,许可证GNU自由文档许可证
吉咖,杂项
全局别名,通用Shell技巧
globbing,通配符
globbing模式,正则表达式
globbing模式,本指南中使用的约定标准通配符(globbing模式)
GNU,许可证压缩寻找更多有用的工具
GNU目录,寻找更多有用的工具
GNU文档许可证站点,许可证
GNU自由文档许可证,许可证GNU自由文档许可证
GNU手册,在线信息页面网站:
GNU/Linux工具摘要主页,源代码可用性
Google,通用进一步阅读
Google Groups,通用进一步阅读
gopher,Internet特定命令
语法,贡献者
盛大,使用文件和文件夹
已授予,许可证
图,在文件系统中移动
图形化,网络命令有用类别的字符(由POSIX标准定义)
图形化可打印,有用类别的字符(由POSIX标准定义)
图形,简介图形工具(基于命令行)
伟大,数学工具
更大,用法
极大地,文本操作工具
grep,查找关于系统的信息在文件中查找文本数学工具通配符有用类别的字符(由POSIX标准定义)Mandriva(urpm*命令,基于rpm)
组,查找关于系统的信息控制进程用户/组安全性文件权限RPM:Redhat软件包管理系统
组,用户/组
grub,安全性
GUI,简介谁会想读这本指南?寻找特定的工具
指南,简介贡献者文本相关工具图形工具(基于命令行)
gunzip,tar(磁带归档器)
gzip,文本查看工具tar(磁带归档器)压缩
gzipped,tar(磁带归档器)压缩

H

halt,关闭/重启系统
手,RPM:Redhat软件包管理系统
句柄,控制服务
方便,Shell技巧一些基本的安全工具
硬链接,使用文件和文件夹
硬链接,使用文件和文件夹
硬链接,使用文件和文件夹
无害,通用Shell技巧
hda,标准通配符(globbing模式)
hdb,标准通配符(globbing模式)
hdc,标准通配符(globbing模式)
head,文本查看工具
标头,使用文件和文件夹转换工具
帮助,帮助网络配置远程管理相关
十六进制,有用类别的字符(由POSIX标准定义)
隐藏,在文件系统中移动Internet特定命令
层次结构,使用文件系统挂载和卸载(软盘/CDROM/硬盘分区)
更高,控制进程
高亮,转换工具
高亮显示,转换工具
高度,免责声明
历史记录,命令行历史其他按键组合
命中,数学工具安全性
命中,用法
主目录,本指南中使用的约定通用Shell技巧在文件系统中移动使用文件和文件夹用户/组远程管理相关标准通配符(globbing模式)
主机,网络命令Internet特定命令
托管,源代码可用性
主机名,网络命令Internet特定命令远程管理相关
主机,网络命令
小时,计划命令在后台运行
小时,计划命令在后台运行
HOWTO's,特定进一步阅读
hp166,远程管理相关
HTML,贡献者文本转换/过滤器工具转换工具
http,Internet特定命令
http://slashdot.org,Internet特定命令
httrack,Internet特定命令
巨大,Internet特定命令
人类可读,使用文件和文件夹
人类可读,使用文件和文件夹

I

ibiblio,特定进一步阅读
IBM Developerworks,正则表达式通用进一步阅读
id,控制进程
id's,控制进程
想法,谁会想读这本指南?
想法,反馈
identify,图形工具(基于命令行)
ifcfg,网络配置
ifconfig,网络配置
ifdown,网络配置
ifup,网络配置
图像,使用文件和文件夹图形工具(基于命令行)复制磁盘
ImageMagick,图形工具(基于命令行)特定进一步阅读
图像,图形工具(基于命令行)
不可变,文件权限
import,图形工具(基于命令行)
重要性,本指南中使用的约定
改进,贡献者
改进,贡献者
改进,贡献者
不准确之处,免责声明
内置,通用Shell技巧
英寸,数学工具
包括,贡献者文件权限
包括,查找关于系统的信息网络命令
包括,通用Shell技巧查找文件使用文件和文件夹查找关于系统的信息文本操作工具Internet特定命令远程管理相关文件权限图形工具(基于命令行)计划命令在后台运行标准通配符(globbing模式)有用类别的字符(由POSIX标准定义)
增加,控制进程
缩进,文本操作工具
索引,谁会想读这本指南?贡献者
指示,控制进程
个体,帮助文本查看工具
信息,帮助控制进程文本操作工具网络命令使用MS-DOS文件通配符有用类别的字符(由POSIX标准定义)通用进一步阅读
信息页面,在线信息页面网站:
信息, 谁不想读这份指南?, 法律声明, 通用 Shell 技巧, 帮助, 文件和文件夹的操作, 批量重命名/复制/链接工具, 查找系统信息, 查找分区信息, 进程控制, 用户/组, 在文件中查找文本, 网络命令, 网络配置, 互联网特定命令, 安全, 文件归档, rsync, 杂项, 迷你指南, 磁盘复制, 正则表达式
inode, 文件权限
输入, Unix 工具哲学, 概念定义, 用法, 文件和文件夹的操作, 查找系统信息, 文本处理工具, 数学工具
不区分大小写, 查找文件
插入, 用法
内部, 标准通配符(globbing 模式)
检查, 网络命令
安装, 文件归档
已安装, 帮助, 在文件中查找文本, 数学工具, RPM:Redhat 软件包管理系统
实例, 文本处理工具
指令, 批量重命名/复制/链接工具
整数, 数学工具
集成, 贡献者
完整性, 一些基本的安全工具, 压缩
交互, 系统控制, 进程控制
交互式, 进程控制, 数学工具
可互换, 简介, 命令替换
接口, 网络命令, 网络配置
接口, 网络配置
中级, 谁想阅读本指南?
内部, 远程管理相关
互联网, 虚拟终端和 screen, 文本编辑器, 网络命令, 互联网特定命令, 一些基本的安全工具
解释, 查找文件, 正则表达式
已解释, 数学工具
解释, 网络命令
相互关联, 进程控制
Linux 指南简介, 谁想阅读本指南?
不变的, 许可证
发明, Unix 工具哲学
IP 地址, 挂载和卸载(软盘/光盘/硬盘分区), 网络配置
ispell, 文本处理工具
问题, 贡献者
斜体, 本指南中使用的约定
斜体, 本指南中使用的约定

L

lang, 转换工具
语言, 贡献者
语言审核, 贡献者
最后, 命令行历史, 文件和文件夹的操作, 查找系统信息, 文本查看工具, 文件权限
lastlog, 查找系统信息
LaTeX, 源代码的可用性, Unix 工具哲学
ldap, 互联网特定命令
前导, 在文件系统中移动
学习, 谁想阅读本指南?, 贡献者, 在文件系统中移动, 文本处理工具, 数学工具, 网络配置
学习, 谁想阅读本指南?, 文本编辑器
至少, 文本处理工具, 通配符
法律声明, 法律声明
长度, 一些基本的安全工具
less, 用法, 文本查看工具
更少, 通用 Shell 技巧, 文本处理工具
let, 压缩
字母, 查找分区信息, 字符的有用类别(由 POSIX 标准定义)
字母, 文件权限, 安排命令在后台运行, 字符的有用类别(由 POSIX 标准定义)
级别, 本指南中使用的约定, 安全
级别, 在文件系统中移动
责任, 免责声明
许可证, 许可证, GNU 自由文档许可证
许可, 法律声明
lilo, 安全
有限, 批量重命名/复制/链接工具
行, 通用 Shell 技巧, 批量重命名/复制/链接工具, 查找系统信息, 文本信息工具, 文本处理工具, 在文件中查找文本, RPM:Redhat 软件包管理系统, 正则表达式
逐行, 文本信息工具
行, 文件和文件夹的操作, 查找系统信息, 文本信息工具, 文本处理工具, 在文件中查找文本, 正则表达式, 字符的有用类别(由 POSIX 标准定义)
链接, 文件和文件夹的操作
已链接, 系统控制
链接, 文件和文件夹的操作, 互联网特定命令
link_name, 文件和文件夹的操作
linux, 安全
Linux Cookbook, 谁想阅读本指南?
Linux 文档项目, 贡献者, 安全, 一般延伸阅读, 特定延伸阅读
Linux in a Nutshell, 一般延伸阅读
Linux in a Nutshell 3rd Edition, 谁想阅读本指南?
Linux Newbie Admin guide, 一般延伸阅读
Linux Online Classroom, 磁盘复制
Linux 安全, 安全
Linux Security howto, 安全
列表, 谁想阅读本指南?, 贡献者, 通用 Shell 技巧, 命令行历史, 帮助, 在文件系统中移动, 查找文件, 文件和文件夹的操作, 查找系统信息, 进程控制, 用户/组, 文本处理工具, 网络命令, 文件权限, tar (磁带归档器), 图形工具(基于命令行), 安排命令在后台运行
已列出, 简介, 通用 Shell 技巧, 文件和文件夹的操作, 查找系统信息, 文本信息工具, 网络命令, 图形工具(基于命令行), 安排命令在后台运行, 标准通配符(globbing 模式)
listen, 控制服务
listens, 控制服务
listing, 谁不想阅读本指南?, 贡献者, 文本转换/过滤工具, 文件权限, 处理 MS-DOS 文件
lists, 谁不想阅读本指南?, 用法, 在文件系统中移动, 在文件中查找文本, 网络命令, 安排命令在后台运行
literal, 在文件中查找文本
litres, 数学工具
ln, 处理文件和文件夹
loaded, 查找关于系统的信息
local, 远程管理相关, rsync
locates, 查找文件
location, 用法
locking, 用户/组, 安全
log, 命令行历史, 虚拟终端和 screen
logged, 查找关于系统的信息, 关闭/重启系统, 网络命令, 远程管理相关
logging, 远程管理相关
logical, 执行多个命令, 标准通配符 (globbing 模式), 正则表达式
login, 用户/组, 互联网特定命令, 远程管理相关
logout, 通用 Shell 技巧
logs-out, 通用 Shell 技巧
long, 在文件系统中移动, 查找关于系统的信息, 标准通配符 (globbing 模式)
look, 用法, 查找文件, 处理文件和文件夹, 查找关于系统的信息, 查找关于分区的信息, 文本信息工具, 在文件中查找文本, 数学工具, 压缩, 标准通配符 (globbing 模式)
looking, 简介, 查找关于系统的信息, 日期/时间/日历, 文本转换/过滤工具, 互联网特定命令, 安全
looks, 查找文件, 文本处理工具
lookup, 互联网特定命令
lost, 控制进程
low, 处理文件和文件夹
low-level, 处理文件和文件夹
lowercase, 文本处理工具, 有用的字符类别(由 POSIX 标准定义)
ls, 通用 Shell 技巧, 在文件系统中移动, 处理文件和文件夹, 文件权限
lsattr, 文件权限
lsd, 在文件系统中移动
LyX, 源代码的可用性, 贡献者
lyxtox, 用于创建本文档的资源, 贡献者

M

machine, 处理文件和文件夹, 查找关于系统的信息, 控制服务, 文本相关工具, 网络命令, 互联网特定命令, rsync
machine name, 通用 Shell 技巧
Machine-translated, 源代码的可用性
machines, 网络命令, 安全
Machtelt Garrels, 谁想阅读本指南?, 贡献者
magic character, 通用 Shell 技巧
maintainers, 源代码的可用性
maintenance, 关闭/重启系统
major, 互联网特定命令, 通配符
majority, 简介
makewhatis, 帮助
man, 帮助, 批量重命名/复制/链接工具, 图形工具(基于命令行)
man -f, 帮助
man -K, 帮助
man page, 通用 Shell 技巧
man pages, 谁不想阅读本指南?
management, 控制服务
Mandrake, 控制服务
Mandriva, 控制服务, RPM:Redhat 软件包管理系统
manipulate, 使用文件系统, 文本相关工具, 图形工具(基于命令行)
manipulation, 通配符, 正则表达式
manual, 虚拟终端和 screen, 帮助, 在文件系统中移动, 批量重命名/复制/链接工具, 查找关于分区的信息, 文本查看工具, 网络命令, 互联网特定命令, 文件权限, 杂项, 通配符, 正则表达式, 通用扩展阅读
manually, 压缩
map, 处理文件和文件夹
mark, 处理 MS-DOS 文件
marks, 关闭/重启系统, 处理 MS-DOS 文件
markup language, 源代码的可用性
masquerade, 网络命令
mass, 批量重命名/复制/链接工具
mass rename, 批量重命名/复制/链接工具
mass renaming, 批量重命名/复制/链接工具
mass-rename, 使用文件系统
match, 在文件系统中移动, 查找文件, 标准通配符 (globbing 模式), 正则表达式
matched, 正则表达式
matching, 帮助, 批量重命名/复制/链接工具, 在文件中查找文本, 文件权限, 标准通配符 (globbing 模式)
material, 贡献者
maximum, 控制进程
mbadblocks, 处理 MS-DOS 文件
mbm, 标准通配符 (globbing 模式), 正则表达式
mcm, 标准通配符 (globbing 模式), 正则表达式
mcopy, 处理 MS-DOS 文件
md5, 一些基本安全工具, RPM:Redhat 软件包管理系统
md5sum, 一些基本安全工具
mdm, 标准通配符 (globbing 模式), 正则表达式
measure, 查找关于系统的信息, 杂项
measurement, 数学工具
measurements, 杂项
measures, 查找关于系统的信息
mega, 杂项
Megabyte, 处理文件和文件夹
megabytes, 处理文件和文件夹, 查找关于系统的信息
memory, 查找关于系统的信息, 控制服务
Mendel Cooper, 批量重命名/复制/链接工具, 文本处理工具
Menu, 本指南中使用的约定, 图形工具(基于命令行)
message, 关闭/重启系统
meters, 数学工具
method, rsync
methods, 文件权限
mformat, 处理 MS-DOS 文件
Michael Kerrisk, 贡献者
Microsoft, 文本转换/过滤工具
middle, 有用的字符类别(由 POSIX 标准定义)
mind, 处理文件和文件夹
mini-guide, 简介
mini-guides, 简介, 迷你指南
mini-tutorials, 简介
minimal, 用户/组, 文本编辑器
minimum, 控制进程
minor, 贡献者, 管理用户
minus, 安全, 文件权限, 有用的字符类别(由 POSIX 标准定义)
minute, 安排命令在后台运行
minutes, 关闭/重启系统
mis-match, RPM:Redhat 软件包管理系统
miscellaneous, 图形工具(基于命令行), 杂项
mixed, 概念定义
mkdir, 处理文件和文件夹
mmount, 处理 MS-DOS 文件
mmv, 批量重命名/复制/链接工具
mode, 处理文件和文件夹, 关闭/重启系统, 控制进程
modifiable, 源代码的可用性
modification, 在文件系统中移动
modified, RPM:Redhat 软件包管理系统
modify, 许可证, 网络配置, 文件权限
mogrify, 图形工具(基于命令行)
mom, 标准通配符 (globbing 模式), 正则表达式
montage, 图形工具(基于命令行)
month, 日期/时间/日历, 安排命令在后台运行
months, 日期/时间/日历
更多,查找文件处理文件和文件夹查找有关系统的信息控制进程文本相关工具文本操作工具转换工具网络命令网络配置远程管理相关压缩处理 MS-DOS 文件杂项通配符正则表达式
早晨,处理文件和文件夹
动机,谁想阅读本指南?
挂载,挂载和卸载(软盘/CDROM/硬盘分区)处理 MS-DOS 文件
已挂载,查找文件查找有关系统的信息查找有关分区的信息挂载和卸载(软盘/CDROM/硬盘分区)处理 MS-DOS 文件
鼠标,本指南中使用的约定
移动,处理文件和文件夹批量重命名/复制/链接工具查找有关系统的信息文本查看工具
正在移动,查找文件处理文件和文件夹
mozilla,控制进程
mp3,查找有关系统的信息
ms-dos,压缩处理 MS-DOS 文件
mTime,RPM:Redhat 软件包管理系统
mtools,处理 MS-DOS 文件
mull,标准通配符(globbing 模式)
多个,处理文件和文件夹控制进程文本查看工具标准通配符(globbing 模式)正则表达式
mum,标准通配符(globbing 模式)正则表达式
必须,控制进程
mv,处理文件和文件夹
myfile,正则表达式
myfiles1,标准通配符(globbing 模式)正则表达式
myfiles2,标准通配符(globbing 模式)正则表达式

N

命名,查找文件控制进程
命名,免责声明
NetBSD,Unix 工具哲学
netstat,网络命令
网络,网络命令网络配置
联网,网络命令网络配置
新,处理文件和文件夹查找有关系统的信息日期/时间/日历挂载和卸载(软盘/CDROM/硬盘分区)文本转换/过滤工具网络命令网络配置远程管理相关文件权限
更新,处理文件和文件夹压缩
换行符,常规 Shell 技巧文本转换/过滤工具计划命令在后台运行
换行符,有用的字符类别(由 POSIX 标准定义)
newstring,文本操作工具
new_location,处理文件和文件夹
下一步,本指南中使用的约定批量重命名/复制/链接工具文本查看工具
NFTS,挂载和卸载(软盘/CDROM/硬盘分区)
ng,批量重命名/复制/链接工具
nice,日期/时间/日历控制进程
nl,文本操作工具
nmap,网络命令
nmap 站点,网络命令
nn,正则表达式
nnnn,正则表达式
nnnnnnn,正则表达式
非空白,文本查看工具文本操作工具
无,常规 Shell 技巧RPM:Redhat 软件包管理系统
正常,控制进程互联网特定命令压缩处理 MS-DOS 文件计划命令在后台运行
NOT,标准通配符(globbing 模式)
数字,定向输入/输出处理文件系统查找文件处理文件和文件夹查找有关系统的信息查找有关分区的信息关闭/重启系统控制进程文本查看工具文本操作工具数学工具互联网特定命令文件权限图形工具(基于命令行)计划命令在后台运行RPM:Redhat 软件包管理系统正则表达式
行号,文本操作工具
编号,文本操作工具
数字,用户/组数学工具安全文件权限计划命令在后台运行有用的字符类别(由 POSIX 标准定义)
数字的,文本操作工具
numgrep,数学工具

O

占用,文件权限
出现次数,查找文件文本操作工具文本转换/过滤工具
关闭,网络命令文件权限通配符
办公室,用户/组
官方,源代码的可用性
旧,文件权限rsync
oldstring,文本操作工具
省略,远程管理相关
屏幕上,图形工具(基于命令行)
单行,文本操作工具
在线,帮助查找有关分区的信息迷你指南
在线信息页面,在线手册和信息页面
在线手册页,在线手册和信息页面
打开,控制系统文本查看工具网络命令图形工具(基于命令行)
OpenBSD,Unix 工具哲学
已打开,文件权限
OpenSSH,特定延伸阅读
操作,Unix 工具哲学
运行,查找有关系统的信息文本转换/过滤工具安全
操作,查找文件
选项,常规 Shell 技巧查找文件处理文件和文件夹查找有关系统的信息控制进程控制服务文本查看工具文本操作工具在文件中查找文本互联网特定命令一些基本安全工具文件权限图形工具(基于命令行)处理 MS-DOS 文件RPM:Redhat 软件包管理系统
可选,处理文件和文件夹查找有关系统的信息
选项,简介谁不想阅读本指南?常规 Shell 技巧在文件系统中移动处理文件和文件夹查找有关系统的信息日期/时间/日历关闭/重启系统控制进程文本查看工具文本操作工具转换工具网络命令互联网特定命令rsync图形工具(基于命令行)计划命令在后台运行杂项
OR,执行多个命令正则表达式
顺序,在文件系统中移动文本操作工具杂项
Orielly,UNIX 工具哲学延伸阅读
原始,源代码的可用性本指南中使用的约定处理文件和文件夹管理用户文本转换/过滤工具tar (磁带归档)
OS,查找有关系统的信息
输出,Unix 工具哲学常规 Shell 技巧帮助命令替换在文件系统中移动处理文件和文件夹查找有关系统的信息文本信息工具在文件中查找文本数学工具互联网特定命令tar (磁带归档)有用的字符类别(由 POSIX 标准定义)
输出,在文件系统中移动查找文件文本查看工具文本信息工具在文件中查找文本杂项
覆盖,常规 Shell 技巧
覆盖,用法处理文件和文件夹
正在覆盖,处理文件和文件夹文本转换/过滤工具互联网特定命令
所有权,在文件系统中移动文件权限RPM:Redhat 软件包管理系统

P

软件包,用于创建本文档的资源远程管理相关处理 MS-DOS 文件RPM:Redhat 软件包管理系统Mandriva (urpm* 命令,基于 rpm)Red Hat (rpm)
软件包管理,归档文件
软件包,查找特定工具Mandriva (urpm* 命令,基于 rpm)查找软件包
数据包,网络命令
数据包,网络命令
页码, 本指南中使用的约定, 虚拟终端和屏幕, 在文件系统中移动, 查找文件, 使用文件和文件夹, 日期/时间/日历, 控制进程, 文本查看工具, 文本操作工具, 转换工具, 网络命令, 互联网特定命令, 文件权限, rsync, 图形工具 (基于命令行), 杂项, 标准通配符 (globbing 模式), 正则表达式, 有用的字符类别 (由 POSIX 标准定义)
页面, 控制进程
偏执, 使用文件和文件夹
父级, 互联网特定命令, 安全
父目录, 在文件系统中移动
解析, 互联网特定命令
部分, 查找文件, 使用文件和文件夹, 查找有关系统的信息, 控制进程, 远程管理相关
特定的, 常规 Shell 提示, 使用文件和文件夹, 查找有关系统的信息, 控制进程, 控制服务, 用户/组, 文本信息工具, 文本操作工具, 在文件中查找文本, 网络命令, 文件权限, 图形工具 (基于命令行), 计划命令在后台运行
分区, 使用文件和文件夹, 查找有关分区的信息
分区, 查找有关分区的信息
部分, 贡献者, 通配符, 正则表达式
通过, 使用文件和文件夹
通过, 常规 Shell 提示, 查找有关系统的信息
通过, 使用文件和文件夹
passwd, 用户/组
密码, 用户/组, 远程管理相关, 一些基本安全工具
密码, 用户/组, 远程管理相关, 一些基本安全工具
粘贴, 文本操作工具
路径, 在文件系统中移动, 查找文件, 使用文件和文件夹, RPM: Redhat 包管理系统
模式, 查找文件, 批量重命名/复制/链接工具
PC, 远程管理相关
和平, 使用文件和文件夹
人, 贡献者, 文件权限
执行, 命令行历史记录, 用法, 使用文件和文件夹, 控制服务, 远程管理相关, 图形工具 (基于命令行), 计划命令在后台运行, 通配符
执行, 查找有关系统的信息, 控制服务
执行, 网络命令, 正则表达式
perl, 批量重命名/复制/链接工具, 文本操作工具, 杂项
权限, 许可, 文件权限
权限, 安全, 文件权限, RPM: Redhat 包管理系统
允许, 计划命令在后台运行
人, 文本操作工具, 远程管理相关, 文件权限
pgrep, 控制进程
哲学, Unix 工具哲学, 压缩
短语, 文本信息工具, 通配符
物理, 虚拟终端和屏幕, 查找文件
图片, 本指南中使用的约定
pid, 控制进程
pid 的, 控制进程
块, 杂项
ping, 网络命令
管道, Unix 工具哲学, 用法, 命令替换, 文本操作工具, 正则表达式
管道, Unix 工具哲学, 命令替换
pkill, 控制进程
放置, 命令行历史记录, 挂载和卸载 (软盘/光盘/硬盘分区)
纯文本, 使用文件和文件夹, 文本转换/过滤器工具, 远程管理相关
播放, 文本编辑器
PNG, 图形工具 (基于命令行)
指针, 使用文件和文件夹
流行的, 通配符
端口, 网络命令
积极的, 反馈, 批量重命名/复制/链接工具
可能, 常规 Shell 提示, 网络命令
可能, 图形工具 (基于命令行)
发布, 批量重命名/复制/链接工具
postscript, 转换工具
能力, 管理用户, 图形工具 (基于命令行)
关闭电源, 关闭/重启系统
高级用户, 谁想阅读本指南?
强大的, 重定向输入/输出, 查找有关系统的信息, 文本编辑器, 文本操作工具, 数学工具, 网络命令
poweroff, 关闭/重启系统
练习, 管理用户
前面的, 在文件系统中移动
前缀, 文本信息工具
前缀, 文本查看工具
存在, 日期/时间/日历
保留, tar (磁带存档器)
按, 关闭/重启系统, 管理用户, 数学工具, 安全, 计划命令在后台运行
阻止, 互联网特定命令, 文件权限
阻止, 使用文件和文件夹
先前的, 本指南中使用的约定, 执行多个命令, 在文件系统中移动, 文本查看工具
主要的, 检查硬盘是否存在错误
打印, 在文件系统中移动, 使用文件和文件夹, 查找有关系统的信息, 控制服务, 文本操作工具, 在文件中查找文本, 杂项
打印工作目录, 在文件系统中移动
可打印的, 有用的字符类别 (由 POSIX 标准定义)
打印的, 本指南中使用的约定, 常规 Shell 提示, 概念定义
打印, 使用文件和文件夹, 文本信息工具
打印, 帮助, 使用文件和文件夹, 查找有关系统的信息, 控制进程, 文本信息工具, 文本操作工具, 正则表达式, 有用的字符类别 (由 POSIX 标准定义)
优先级, 控制进程
优先级, 控制进程
权限, 管理用户
可能, 文本操作工具, 远程管理相关, 文件权限, 压缩
问题, 反馈, 贡献者, 使用文件和文件夹, 查找有关系统的信息, 文本转换/过滤器工具
proc 文件系统, 查找有关分区的信息
过程, 关闭/重启系统
继续, 免责声明
进行, 正则表达式
进程, 用法, 控制进程, 计划命令在后台运行
进程 id, 控制进程
进程信息, 查找有关系统的信息
已处理, 使用文件和文件夹
进程, 查找有关系统的信息, 控制系统, 控制进程
处理, 用户/组
处理器, 查找有关系统的信息, 压缩
产品, 免责声明
程序, Unix 工具哲学, 帮助, 查找有关系统的信息, 控制进程, 文本操作工具, 数学工具, 互联网特定命令, 安全, 压缩, 使用 MS-DOS 文件, RPM: Redhat 包管理系统
程序员, 谁想阅读本指南?, Unix 工具哲学, 杂项
编程, 数学工具, 正则表达式
程序, 概念定义, 转换工具, 归档文件, 压缩, 图形工具 (基于命令行), 使用 MS-DOS 文件
program_name, 查找文件
提示符, 帮助, 查找有关系统的信息, 控制进程, 文本操作工具, 安全
提示符, 文本操作工具
保护, 标准通配符 (globbing 模式), 正则表达式
协议, 网络命令, 互联网特定命令
提供, 控制服务
已提供, 简介, 贡献者
提供, 帮助, 控制进程, 归档文件
ps, 控制进程
pstree, 控制进程
标点符号, 有用的字符类别(由POSIX标准定义)
目的, 谁不想阅读本指南?
放置, 通用 Shell 技巧
pwd, 在文件系统中移动
python, 数学工具

R

r, 文件权限
Rahul Sundaram, 贡献者
随机, 处理文件和文件夹, 一些基本的安全工具, 图形工具(基于命令行), 杂项
范围, 数学工具, 安排命令在后台运行, 标准通配符(globbing 模式), 正则表达式
范围, 安排命令在后台运行
排名, 杂项
rcp, rsync
重新组合, 处理文件和文件夹
可读性, 贡献者, 文本信息工具
阅读者, 本指南中使用的约定
阅读者, 谁不想阅读本指南?
阅读, 本指南中使用的约定, 文件权限
读取, 安排命令在后台运行
重启, 关闭/重启系统
已重启, 查找有关系统的信息
重启, 关闭/重启系统
接收, 网络配置
已接收, 概念定义
recode, 文本转换/过滤工具
已识别, 在文件系统中移动
推荐, 数学工具
已推荐, 贡献者, 用户/组
记录, 查找有关系统的信息
恢复, 压缩
已恢复, 处理文件和文件夹
递归, 在文件中查找文本
递归地, 处理文件和文件夹, 文件权限
Redhat, 控制服务
重定向, 用法
参考, 本指南中使用的约定, 在文件系统中移动, 查找文件, 查找有关系统的信息, 日期/时间/日历, 控制进程, 互联网特定命令, 远程管理相关, 标准通配符(globbing 模式), 正则表达式
参考, 谁想阅读本指南?, 谁不想阅读本指南?, 命令行历史, 处理文件和文件夹
参考资料, 贡献者, 互联网特定命令, 一般延伸阅读
参考, 贡献者
被引用, Unix 工具哲学
反映, 用户/组
认为, 免责声明
无论如何, 查找文件
常规, 在文件中查找文本
正则表达式, 批量重命名/复制/链接工具, 控制进程
正则表达式, 查找文件, 在文件中查找文本
rel, 杂项
关系, 标准通配符(globbing 模式), 正则表达式
相对路径, 在文件系统中移动
发布编号, 查找有关系统的信息
相关性, 杂项
相关, 查找有关分区的信息, 文本操作工具, 安全, 文件权限, 杂项
可靠, 处理文件和文件夹
已重新加载, 文本查看工具
远程, 挂载和卸载(软盘/光盘/硬盘分区), 互联网特定命令, 远程管理相关, rsync
远程机器, 网络命令
远程地, 远程管理相关
可移除, 挂载和卸载(软盘/光盘/硬盘分区)
移除, 通用 Shell 技巧, 处理文件和文件夹, 挂载和卸载(软盘/光盘/硬盘分区), 文本操作工具, 文本转换/过滤工具, 文件权限, 安排命令在后台运行, 标准通配符(globbing 模式), 正则表达式
移除, 处理文件和文件夹, 挂载和卸载(软盘/光盘/硬盘分区), 文本操作工具, 网络配置
移除, 查找文件
重命名, 处理文件和文件夹, 批量重命名/复制/链接工具, 文件权限, 杂项
重命名, 处理文件和文件夹, 批量重命名/复制/链接工具
重命名, 批量重命名/复制/链接工具, 杂项
重命名扩展名, 杂项
呈现, 通用 Shell 技巧
renice, 控制进程
修复, 贡献者, 处理 MS-DOS 文件
修复, 关闭/重启系统
重复地, 命令行历史
重复, 通用 Shell 技巧
替换, 文本操作工具
替换, rsync
报告, 控制进程
表示, 在文件系统中移动, 文本转换/过滤工具, 数学工具, 标准通配符(globbing 模式)
表示, 在文件系统中移动, 文件权限
请求, 网络命令
需要, 贡献者, 在文件系统中移动, 检查硬盘是否存在错误
重置, 通用 Shell 技巧
资源, 文本编辑器
各自所有者, 免责声明
分别, 文件权限
响应, 网络命令
响应, 网络命令
责任, 免责声明
负责, 贡献者
重启, 控制服务
受限制, 互联网特定命令
限制, 管理用户
结果, 命令替换, 文本操作工具
结果, 用法, 查找有关系统的信息, 文本操作工具
检索, 处理文件和文件夹, 互联网特定命令
返回, 在文件系统中移动, 控制进程, 控制服务, 管理用户, 文本转换/过滤工具, 互联网特定命令
已返回, RPM:Redhat 软件包管理系统
返回, 互联网特定命令
反转, 文本查看工具, 文本操作工具, 互联网特定命令, 远程管理相关
审查, 贡献者
审查协调员, 贡献者
rgb, 图形工具(基于命令行)
rgrep, 在文件中查找文本
权限, 文件权限
风险, 免责声明
rm, 通用 Shell 技巧, 处理文件和文件夹, 标准通配符(globbing 模式), 正则表达式
rm -i, 通用 Shell 技巧
rmdir, 处理文件和文件夹
root, 帮助, 控制进程, 管理用户, 远程管理相关, 文件权限, 安排命令在后台运行
根目录, 查找文件
root 的密码, 安全
旋转, 图形工具(基于命令行)
粗糙, 贡献者, 图形工具(基于命令行)
循环, 网络命令
路由, 网络命令, 网络配置
路由, 网络配置
RPM, 安全, RPM:Redhat 软件包管理系统, Red Hat (rpm), 查找软件包, 特定延伸阅读
rpm -qf, Red Hat (rpm)
rpm -qi, Red Hat (rpm)
RPMFind, 查找软件包
RPMSeek, 查找软件包
rsync, 归档文件, rsync, 特定延伸阅读
rsync 站点, rsync
rtf, 转换工具
运行, 通用 Shell 技巧, 帮助, 处理文件和文件夹, 批量重命名/复制/链接工具, 控制进程, 文本查看工具, 文本信息工具, 数学工具, 压缩, 图形工具(基于命令行), 计划命令在后台运行
正在运行, 查找有关系统的信息, 控制进程, 控制服务, 文本查看工具, 数学工具, 远程管理相关
Rute 用户教程和说明, 通用延伸阅读

S

s, 文件权限
samba, 挂载和卸载(软盘/光盘/硬盘分区), 特定延伸阅读
保存, 控制进程, 网络命令
已保存, 控制进程
保存, rsync, 图形工具(基于命令行)
刻度, 数学工具
缩放, 图形工具(基于命令行)
扫描仪, 网络命令
扫描, 处理 MS-DOS 文件, 有用的字符类别(由 POSIX 标准定义)
分散, 一些基本安全工具
计划, 计划命令在后台运行
已计划, 计划命令在后台运行
科学的, 杂项
分数, 文本信息工具
scp, 远程管理相关
screen, 通用 Shell 技巧, 虚拟终端和 screen, 概念定义, 日期/时间/日历, 控制进程, 图形工具(基于命令行)
screen-dump, 图形工具(基于命令行)
屏幕截图, 图形工具(基于命令行)
脚本, 通用 Shell 技巧, 批量重命名/复制/链接工具, 控制服务, 网络配置
脚本编写, 批量重命名/复制/链接工具
脚本, 贡献者, 批量重命名/复制/链接工具, 控制服务
滚动, 命令行历史, 文本查看工具
sdiff, 文本信息工具, 查找特定工具
搜索, 帮助, 查找文件, 控制进程, 文本编辑器, 文本操作工具, 正则表达式
搜索和替换文本, 文本操作工具
搜索, 帮助, 标准通配符(globbing 模式), 正则表达式
正在搜索, 虚拟终端和 screen, 查找文件, 通配符
部分, 本指南中使用的约定, 用于创建此文档的资源, 贡献者, 文本查看工具, 文本操作工具, 在文件中查找文本, 安全, 杂项, 迷你指南
部分, 许可证, 文本操作工具, 杂项
扇区, 处理文件和文件夹
安全, 远程管理相关
安全复制, 远程管理相关
安全 ftp, 远程管理相关
安全 shell, 远程管理相关
安全, Shell 技巧, 网络命令, 安全, 文件权限
选定的, 文本操作工具
出售, 处理文件和文件夹
发送, 反馈, 重定向输入/输出, 用法, 关闭/重启系统, 控制进程, 网络配置, tar (磁带归档器)
发送, 用法, 网络命令
敏感, 查找文件, 处理文件和文件夹, 文本信息工具
句子, 文本操作工具
分开, 文本操作工具
分开的, 文本信息工具, 文本操作工具, 计划命令在后台运行, 标准通配符(globbing 模式)
分离, 文本操作工具
分隔符, 文本操作工具
顺序地, 执行多个命令
串行, 文本操作工具
系列, 网络命令
服务器, 远程管理相关, 图形工具(基于命令行)
服务器, 特定于 Internet 的命令, rsync
服务, 控制服务
服务标记, 免责声明
服务, 控制服务
会话, 通用 Shell 技巧, 安全
设置, 通用 Shell 技巧, 处理文件和文件夹, 批量重命名/复制/链接工具, 日期/时间/日历, 关闭/重启系统, 安全, 文件权限, 计划命令在后台运行
设置 bell-style, 通用 Shell 技巧
设置, 控制进程, 文件权限, 图形工具(基于命令行)
设置, 网络配置
设置, 网络配置
设置, 在文件系统中移动, 文本操作工具
几个, 贡献者, 通用 Shell 技巧, 处理文件和文件夹, 转换工具, 网络命令
sftp, 远程管理相关
SGML, 源代码的可用性, 用于创建此文档的资源, 贡献者
共享, 网络命令
shell, 本指南中使用的约定, Shell 技巧, 查找文件, 控制进程, 文本操作工具, 安全, 计划命令在后台运行, 通配符
shell 脚本, 用法
shell 脚本, 用法
shells, 简介, 其他组合键, 用户/组
购物, 文本操作工具
快捷方式, Shell 技巧, 其他组合键, 计划命令在后台运行
显示, 在文件系统中移动, 处理文件和文件夹, 查找有关系统的信息, 控制进程, 文本操作工具, 网络命令, tar (磁带归档器), 图形工具(基于命令行)
显示的, 在文件系统中移动, 批量重命名/复制/链接工具, 文本操作工具, 特定于 Internet 的命令
showrgb, 图形工具(基于命令行)
显示, 在文件系统中移动, 文本查看工具
shred, 处理文件和文件夹, 文件权限
粉碎, 处理文件和文件夹
关闭, 关闭/重启系统
shutdown -h, 关闭/重启系统
shutdown -r, 关闭/重启系统
发送信号, 控制进程
信号, 控制进程
已发出信号, 文本转换/过滤工具
信号, 控制进程
单用户, 关闭/重启系统
站点, 特定于 Internet 的命令
站点菜单, 本指南中使用的约定
站点, 安全
六, 计划命令在后台运行
大小, 在文件系统中移动, 处理文件和文件夹, 文本操作工具, 图形工具(基于命令行)
大小, 处理文件和文件夹
技能, 控制进程
幻灯片, 图形工具(基于命令行)
slocate, 查找文件
更小, 处理文件和文件夹
SMB, 网络命令
smbmount, 挂载和卸载(软盘/光盘/硬盘分区)
smbumount, 挂载和卸载(软盘/光盘/硬盘分区)
snice, 控制进程
嗅探器, 网络命令
snort, 命令行历史
软件, 谁会想阅读本指南?, 处理文件和文件夹
some_file, 文本操作工具
some_text_file, 文本操作工具
排序, 在文件系统中移动, 文本操作工具
已排序, 在文件系统中移动
排序, 文本操作工具
声音, 控制服务, 网络命令
源, 查找文件, 处理文件和文件夹, 转换工具
Sourceforge, 文本编辑器, 远程管理相关, 归档文件, 查找更有用的工具, 查找软件包
来源, 源代码的可用性
空格, 通用 Shell 技巧, 查找有关系统的信息, 文本操作工具, 有用的字符类别(由 POSIX 标准定义)
空格分隔, 控制进程
空格, 帮助, 文本信息工具, 文本操作工具, 文件权限, 在后台运行的计划命令, 标准通配符(globbing模式), 有用的字符类别(由POSIX标准定义)
特殊, 本指南中使用的约定, 文件权限
特殊字符, 通用Shell技巧, 标准通配符(globbing模式)
特殊字符, 通用Shell技巧
特殊符号, 通用Shell技巧
特殊字符, 正则表达式
特定, 简介, 用于创建本文档的资源, 用法, 日期/时间/日历, 迷你指南
具体地, 免责声明, 文本转换/过滤工具
指定, 标准通配符(globbing模式)
指定, 在后台运行的计划命令, 标准通配符(globbing模式), 正则表达式
指定, 控制进程, 文本操作工具, 网络命令, 文件权限, 在后台运行的计划命令
速度, 其他组合键
拼写, Unix工具哲学, 文本操作工具
拼写, 命令行历史
花费, 文本相关工具
分割, 使用文件和文件夹
分割, 使用文件和文件夹
平方, 正则表达式
挤压, 文本操作工具
SS64.com 命令列表, 通用扩展阅读
ssh, 虚拟终端和screen, 远程管理相关
sshd, 控制服务
标准, 本指南中使用的约定, 批量重命名/复制/链接工具, 文本操作工具, 数学工具, 杂项
标准错误, 概念定义
标准输入, 概念定义, 用法, 数学工具
标准输出, 概念定义, 用法, 正则表达式
标准通配符, tar (磁带归档)
标准通配符, 正则表达式
标准通配符, 本指南中使用的约定, 在文件系统中移动, 查找文件, 使用文件和文件夹, 批量重命名/复制/链接工具, 互联网特定命令, 标准通配符(globbing模式), 正则表达式
标准, 文本转换/过滤工具
开始, 本指南中使用的约定, 在文件系统中移动, 控制进程, 数学工具
启动, 检查硬盘错误
开始, 数学工具, 安全
开始, 命令行历史, 在文件系统中移动, 批量重命名/复制/链接工具, 在文件中查找文本, 正则表达式
开始, 控制进程, 标准通配符(globbing模式), 正则表达式
stat, 使用文件和文件夹
语句, 查找文件
统计, 查找系统信息
状态, 控制服务, 网络命令
陡峭, 文本编辑器
步骤, 在后台运行的计划命令
步骤, 在后台运行的计划命令
粘滞位, 文件权限
停止, 通用Shell技巧, 用法, 查找文件, 关闭/重启系统, 控制进程, 控制服务, 网络命令, 互联网特定命令, tar (磁带归档)
存储, 网络配置
流, 概念定义
字符串, 命令行历史, 帮助, 用法, 在文件系统中移动, 批量重命名/复制/链接工具, 文本信息工具, 文本操作工具, 在后台运行的计划命令, 正则表达式
字符串, 帮助
结构, 贡献者
样式, 在文件系统中移动, 文本信息工具, 文本转换/过滤工具, 压缩
su, 查找系统信息, 管理用户
子目录, 在文件系统中移动, 查找文件, 使用文件和文件夹, 文件权限
子目录, 使用文件和文件夹
子章节, 通配符
后续, 标准通配符(globbing模式), 正则表达式
替换, 通用Shell技巧, 查找系统信息
替换, 查找系统信息
子系统, 网络命令
成功, 执行多个命令, 控制进程
sudo, 管理用户
建议, 文本操作工具
建议, 反馈, 贡献者
suid, 文件权限
适合, 谁想阅读本指南?, 谁不想阅读本指南?
总和, RPM: Redhat Package Management System
总结, 简介
总结, 谁想阅读本指南?
总结, 使用文件和文件夹
摘要, 谁不想阅读本指南?, 用于创建本文档的资源, 帮助
总和, 数学工具
优越, 压缩
超级用户, 管理用户, 安全
支持, 互联网特定命令
支持, 批量重命名/复制/链接工具, 互联网特定命令
抑制, 文本信息工具
浏览, 文本编辑器
暂停, 控制进程
Sweet Code, 寻找更多有用的工具
切换, 虚拟终端和screen, 管理用户, 文件权限
切换, 复制磁盘
符号, 用法, 文本操作工具
符号链接, 使用文件和文件夹
符号链接, 使用文件和文件夹
符号链接, 使用文件和文件夹
符号, 通用Shell技巧, 在文件系统中移动
同步, rsync
语法, 本指南中使用的约定, 查找文件, 使用文件和文件夹, 挂载和卸载 (软盘/光盘/硬盘分区), 在文件中查找文本, 远程管理相关
系统提示音, 通用Shell技巧

T

TAB, 通用Shell技巧, 文本操作工具
TAB 键, 通用Shell技巧
制表位, 文本操作工具
Tabatha Marshall, 贡献者
Tabatha Persad, 贡献者
表格, 转换工具, 网络配置, 在后台运行的计划命令
目录, 本指南中使用的约定
制表符, 文本操作工具, 有用的字符类别(由POSIX标准定义)
tac, 文本查看工具
tail, 文本查看工具
磁带, tar (磁带归档)
tar, rsync, 压缩
tarball, tar (磁带归档)
target_name, 使用文件和文件夹
任务, 简介, 控制服务
任务, Unix工具哲学, 控制服务, 文本编辑器
tcpdump, 网络命令
技术, 复制磁盘
技术, 定向输入/输出, 复制磁盘
tee, 用法
告诉, 控制进程, 控制服务, 数学工具, 网络命令
告诉, 控制系统
临时, 远程管理相关
倾向于, 查找系统信息
术语, 免责声明, 标准通配符(globbing模式)
终端, 通用Shell技巧, 关闭/重启系统, 控制进程
终止, 用法
条款, 许可证, 标准通配符(globbing模式)
测试, 虚拟终端和screen, 压缩
TeX, Unix工具哲学
文本, 通用Shell技巧, 使用文件和文件夹, 文本相关工具, 文本信息工具, 文本转换/过滤工具, 在文件中查找文本, 通配符, 正则表达式
基于文本, Unix工具哲学
文本, 许可证
textutils, RPM: Redhat Package Management System
Linux文档项目, 用于创建本文档的资源
开放组织, 免责声明
Unix哲学, UNIX工具哲学扩展阅读
抛出, 使用文件和文件夹
缩略图, 图形工具 (基于命令行)
联系, 文本操作工具
tiff, 图形工具 (基于命令行)
波浪号, 通用Shell技巧
平铺, 图形工具 (基于命令行)
tille, 贡献者
time, 处理文件和文件夹, 日期/时间/日历, 控制进程, 用户/组, 文本查看工具, rsync, 安排命令在后台运行, 通配符
times, 命令行历史, 查找系统信息, 文本处理工具, 正则表达式
timestamp, 处理文件和文件夹
timestamps, 处理文件和文件夹, 日期/时间/日历
tiny, 有用的字符类别(由POSIX标准定义)
TLDP, 贡献者
today, Unix工具哲学
todos, 文本转换/过滤工具
top, 在文件系统中移动, 控制进程
total, 处理文件和文件夹
totals, 查找系统信息
touch, 处理文件和文件夹
tr, 用法, 文本处理工具, 文本转换/过滤工具
tracepath, 网络命令
traceroute, 网络命令
trademark, 免责声明
traditional, 文本编辑器
transfer, 处理文件和文件夹, 网络命令, 复制磁盘
transform, 图形工具(基于命令行)
translators, 源代码可用性
travel, 网络命令
tree, 在文件系统中移动, 挂载和卸载(软盘/光盘/硬盘分区), 控制进程
trick, 在文件系统中移动, 安全
tunnel, 远程管理相关
turn, 通用Shell技巧, 文件权限
turn off, 通用Shell技巧
tutorial, 查找系统信息
TuxFinder, 查找软件包, 具体的扩展阅读
types, 处理文件和文件夹, 转换工具
typescript, 通用Shell技巧

U

UID, 控制进程
umask, 安全
umount, 挂载和卸载(软盘/光盘/硬盘分区)
un-readable, 处理MS-DOS文件
unalias, 通用Shell技巧
uname, 查找系统信息
unbuffered, 概念定义
uncompile, 图形工具(基于命令行)
unexpand, 文本处理工具
unfamiliar, 控制进程
unfinished, 互联网特定命令
Unfortunately, 批量重命名/复制/链接工具, 控制进程
uniq, 文本处理工具
unique, 文本信息工具, 文本处理工具
units, 数学工具
units man page, 其他
UNIX, 免责声明, Unix工具哲学, 概念定义, 批量重命名/复制/链接工具, 日期/时间/日历, 关闭/重启系统, 控制服务, 文本编辑器, 文本转换/过滤工具, 安全, 压缩
UNIX system, 谁会想读这本指南?, Unix工具哲学
UNIX tools, UNIX工具哲学扩展阅读
UNIX Tools Philosophy, 简介, Unix工具哲学, UNIX工具哲学扩展阅读
UNIX-like, 压缩
unix-tools, UNIX工具哲学扩展阅读
unix2dos, 文本转换/过滤工具
unmount, 挂载和卸载(软盘/光盘/硬盘分区), 检查硬盘是否存在错误
unmounted, 处理MS-DOS文件
unrecoverable, 处理文件和文件夹
unset, 文件权限
unusual, 转换工具
Up, 本指南中使用的约定
update, 处理文件和文件夹, 用户/组
updated, 控制进程, 文本查看工具, 文件权限
upload, 互联网特定命令
uppercase, 文本处理工具, 有用的字符类别(由POSIX标准定义)
uptime, 查找系统信息
URL, 互联网特定命令
urpm*, RPM:Redhat软件包管理系统, Mandriva(urpm* 命令,基于rpm)
urpme, RPM:Redhat软件包管理系统
urpmf, RPM:Redhat软件包管理系统, Mandriva(urpm* 命令,基于rpm)
urpmi, RPM:Redhat软件包管理系统
urpmq, RPM:Redhat软件包管理系统
usage, 通用Shell技巧, 互联网特定命令, 处理MS-DOS文件
usenet, 批量重命名/复制/链接工具
user name, 通用Shell技巧
user-name, 通用Shell技巧
username, 控制进程, 文本处理工具, 互联网特定命令, 文件权限, 安排命令在后台运行
usernames, 控制进程, 文本处理工具
utilities, 文本查看工具, 压缩, 标准通配符(globbing模式)
utility, 处理文件和文件夹, 查找系统信息, 用户/组, 文本处理工具, 处理MS-DOS文件

注释

[1]

此信息经过编辑后采纳自 Mandrakesoft 的命令行手册,更多信息请参见参考文献中的 [7]。

[2]

引用的此信息来自“请为了所有可恢复的东西粉碎您的硬盘!”文章,即参考文献中的第 18 条。

[3]

这个特定命令和解释已经(经过编辑)使用了来自 Linux 在线课堂的内容,更多信息请参见参考文献中的 [4]。

[4]

此信息(未经编辑)来自 Linux Cookbook。更多信息请参见参考文献中的 [3]。

[5]

这些示例基于 enscript 手册页中的信息,更多信息请参见参考文献中的 [12]。

[6]

这种规避通配符限制的方法已经(经过少量编辑)采纳自 wget 手册页,更多信息请参见参考文献中的 [9]。

[7]

这个示例和解释中的小部分来自 Linux 在线课堂,更多信息请参见参考文献中的 [4]。

[8]

此示例(未经编辑)来自 “CLI for noobies: import, display, mogrify”,更多信息请参见参考文献中的 [16]。

[9]

此信息(未经编辑)来自 LinuxChix techtalk 邮件列表上的帖子,更多信息请参见参考文献中的 [16]。

[10]

此信息来自 cron 手册页,并进行了一些小的补充(原始内容没有更改),请参考参考文献中的 [13] 获取更多信息。

[11]

此信息(未经编辑)来自 Linux Cookbook。更多信息请参见参考文献中的 [3]。

[12]

请注意,第 24.1.2 节下的列表来自 RPM 手册页,更多详细信息请参见参考文献中的 [11]。