在这一章中,我们将看一下如何通过编译源代码来创建程序。源代码的可用性是至关重要的自由,从而使得 Linux 成为可能。整个 Linux 开发生态圈就是依赖于开发者之间的自由交流。对于许多桌面用户来说,编译是一种失传的艺术。以前很常见,但现在,由系统发行版提供商维护巨大的预编译的二进制仓库,准备供用户下载和使用。
因为我们已经浏览了 Linux 系统,所以一件事已经变得非常清楚:一个典型的 Linux 系统包含很多文件!这就引发了一个问题,“我们怎样查找东西?”。虽然我们已经知道 Linux 文件系统良好的组织结构,是源自类 Unix 的操作系统代代传承的习俗。但是仅文件数量就会引起可怕的问题。在这一章中,我们将察看两个用来在系统中查找文件的工具。
当谈及到网络系统层面,几乎任何东西都能由 Linux 来实现。Linux 被用来创建各式各样的网络系统和装置,包括防火墙,路由器,名称服务器,网络连接式存储设备等等。被用来配置和操作网络系统的命令数目,就如网络系统一样巨大。我们仅仅会关注一些最经常使用到的命令。我们要研究的命令包括那些被用来监测网络和传输文件的命令。
到目前为止我们编写的脚本都缺乏一项在大多数计算机程序中都很常见的功能-交互性。也就是,程序与用户进行交互的能力。虽然许多程序不必是可交互的,但一些程序却得到益处,能够直接接受用户的输入。以这个前面章节中的脚本为例:#!/bin/bash# test-integer2: evaluate the value of an integer.INT=-5if [[ "$INT" =~ ^-?[0-9]+$ ]]; then if [ $INT -eq 0 ];