UNIXUNIX(此名称源于以前的多路信息与计算服务——Multiplexed Information and Computing Service,Multics——操作系统)于1969 年由AT&T Bell Labs 发明,是一种健壮、灵活且对开发人员友好的计算环境。
UNIX 最初是为PDP 微型计算机的Digital Equipment Corporation(DEC)系列编写的,目前它是最受欢迎的多用户通用操作系统,并在所有计算领域——甚至包括曾被大型机垄断的领域——占据主导地位。
AIX 于1986 年1 月推出,是IBM 的UNIX 操作系统实现。
AIX 5L基于标准的开放操作系统,符合The Open Group 的Single UNIX Specification Version 3的要求。
它为以各种可伸缩性并发运行的32 位和64 位应用程序提供完全集成支持。
AIX 5L 支持IBM eServer p5、IBM eServer pSeries、IBM eServer i5 和IBM RS/6000 服务器产品系列,以及IntelliStation POWER 和RS/6000 工作站。
目录布局您已经了解了如何在目录中移动并获取清单,现在可以开始研究典型的UNIX 分发版中的目录布局了。
您可以通过几种不同的方式来组织UNIX 文件系统。
本教程讨论了一些在大多数类UNIX 分发版中常见的根级目录。
当然还有其他一些重要的根级目录,但下面这些是最常见的:/home (or /users)/etc/bin/sbin/usr/car/tmp/home 用来存放用户目录。
例如,tuser用户位于/home/tuser。
/etc 是用来存储系统范围设置的目录,包括启动脚本和网络配置文件。
该目录中的大多数文件都需要使用root 用户进行编辑。
/bin 和/sbin 是用来存储系统可执行文件(比如在本教程中学习的命令)的目录。
/sbin 用于存放系统命令,如shutdown,而/bin 用于存放用户命令。
应用程序通常安装在/usr 中。
/usr/local/ 中的子目录通常用来包含一些安装的应用程序,而这些应用程序并不属于基本分发版中的一部分。
/var 是用来存放类似日志文件这样的内容的目录,需要不断地对其进行更新和存储。
临时文件存储在/tmp 中。
系统中所有的用户都可以对该目录进行写入,并且在一些系统中,会周期性地删除其中的旧文件。
文件既然您已经知道了如何使用命令行在文件系统中移动,那么现在可以开始对文件进行处理了。
本部分内容将介绍如何创建示例文件、复制文件、删除文件,以及查看和更改基本的文件权限。
在像UNIX 这样的多用户操作系统中,必须了解所有权和权限的概念。
touch首先,创建一个空文件,您将在本教程中使用到该文件。
touch命令可以用来创建一个空文件(对文件使用touch命令,通常用来更新文件的修改日期和访问日期)。
返回到用户home 目录中的TUTORIAL 目录,并输入下面的命令创建一个文件:cpcp命令用来复制文件。
输入cp加上需要复制的文件的名称,再加上需要将该文件复制到的目录(您还可以使用相应的选项来指定新文件的名称)。
例如,尝试将example.txt 文件复制到/tmp/:您应该可以在/tmp/ 中看到example.txt。
现在,将/tmp/ 中的文件复制回您的当前目录,但是为它取一个新的名称:请注意,这里使用一个点号来指定需要将这个新文件放到您的当前目录。
在本示例中,不需要包括 ./(因为复制操作的缺省路径就是您的当前工作目录),但是它可以清楚地说明您要完成的任务。
后面的ls命令则显示了在当前工作目录中有两个示例文件。
mv移动(move)文件可以使用mv命令来完成。
对于移动和复制操作来说,大多数语法和命令行选项都是相同的。
如果您希望将新文件example2.txt 移出当前目录并放入到/tmp/,那么可以输入下面的命令:请注意,这里再次使用了点号显式地说明您正在进行的操作。
rm要对系统进行清理,可以删除在/tmp/ 中创建的文件。
rm命令用来从文件系统中删除文件。
这与将文件移动到回收站或垃圾箱不同,该命令删除了文件指针,所以在使用rm命令时应当格外小心。
输入以下命令:/tmp/ 中的那两个示例文件都应该消失了。
根据您所使用的类UNIX 操作系统的不同,您还可以使用其他的删除命令,如srm或can。
尝试输入man srm和man can以查看是否存在这些命令。
srm用作安全版本的rm,它对删除的文件使用随机数据进行覆盖,以防止对其进行恢复。
can在一些方法上与srm相反,can可以保留文件,而将其移动到一个特殊的垃圾箱目录,类似于Windows 的回收站。
所有权和权限在类UNIX 操作系统中,文件所有权和权限是非常重要的概念。
UNIX 从一开始就是多用户的操作系统。
尽管现在新版本的Windows 也可以用作多用户系统,但如果追溯到早期的个人计算机和DOS 时期,Windows 的祖先是单用户的。
即使在今天,有些Windows 用户也很少考虑多用户系统中关于多个帐户和文件权限的问题。
对于UNIX 用户来说,理解文件所有权和权限是至关重要的。
chown、chgrpchown:changes the owner or the group associated with a file.chgrp: changes the group ownership of a file or directory.可以使用ls -l查看UNIX 中的文件所有权,可以使用chown和chgrp对其进行更改。
输入下面的命令:使用-l指定需要查看长格式的文件清单。
长格式包括关于权限、所有权、修改日期和文件大小等信息。
您应该看到与下面所示类似的内容:当详细显示目录清单时,您可以分别在第 3 和第 4 列中看到文件的用户所有权和组所有权。
该文件由tuser用户和admin组所有。
现在,暂时不管这个文件,输入下面的命令可以得到更多的信息:该命令的基本语法是使用用户名或组名作为第 1 个输入,后面是需要进行操作的文件或文件列表。
例如:Chmod: changes file mode.在UNIX 中,使用与每个文件相关联的一组9 个标志来处理基本文件权限。
这些标志分别对应于不同用户类别(用户、组和其他用户)和三种文件操作(读取、写入和执行)。
输入下面的命令:您应该看到与下面所示类似的内容:当您阅读目录的长格式清单时,其中的第 1 列显示了文件权限。
请注意,该列中有10 个字符(而不是9 个)。
第 1 个字符表示您正在处理的文件的类型。
例如,短横线-,告诉您这是一个常规文件。
d表示目录,而不是普通文件。
现在,我们重点关注于其他的9 个字符,每个字符可以为下列几种情况其中之一:-、r、w或x。
如果关闭了某个文件所有的权限,那么它应该与下面所示类似:如果打开了某个文件所有的权限,那么它应该与下面所示类似:您可以看到 3 组rwx。
如前所述,有 3 种不同的用户类别(用户、组和其他用户)。
每一组rwx对应于其中的一个类别:∙第1 组rwx表示user的权限。
换句话说,这可以告诉您,该文件的拥有者可以对其进行哪些操作。
∙第2 组对应于group。
这可以告诉您,组成员可以对该文件进行哪些操作。
∙第3 组对应于other。
这可以告诉您,系统中所有的用户可以对该文件进行哪些操作,无论该文件属于谁。
让我们更仔细地研究一下example.txt 文件当前的权限:第1 组三个标志表示该文件的所有者可以对其进行读取、写入操作,但是不能执行它(其中有r和w,但没有x)。
从第 2 组三个标志中您可以看出,拥有该文件的组可以对其进行读取,但不能写入或执行(其中有r,但没有w或x)。
第 3 组三个标志显示了,所有其他的用户可以读取该文件,但不能对其进行写入或执行操作(其中有r,但没有w或x)。
这里给出了一个很好的示例,说明了详细的man页面非常重要。
您可以停下来,并输入下面的命令:现在,可以考虑一下这样的可能性,即该文件中保存了私有的信息,而您不希望任何其他的用户进行读取。
您可能希望删除其他组和所有其他用户的读取权限。
可以使用chmod更改这些权限。
与UNIX 中的许多操作一样,使用chmod的方法很多,本部分内容重点关注其中之一。
使用三个字母(u、g 和o)来表示三种类别(用户、组和其他用户)。
使用三个字母(r、w 和x)来表示三种权限(读取、写入和执行)。
要更改这些权限,可以使用chmod,加上需要更改的类别的字母,再加上一个加号或减号(分别表示打开或关闭),然后使用相应的字母给出需要更改的权限。
最后,加上需要进行更改的文件的名称。
最好通过一个示例来进行说明:您应该看到下面的结果:在这个示例中,您指定了其他用户和组(o 和g),并使用减号表示希望对这些类别关闭某些权限。
然后,使用(r) 表示需要关闭读取访问权限。
现在,文件的所有者tuser 仍然可以对该文件进行读取和写入操作,但系统中所有其他的用户(除了超级用户之外)都不能访问该文件。
注意:超级用户(root) 可以重写所有的文件权限。
r - 4;w - 2;1 - x; chmod 742 file 对应的权限为:-rwxr---w-处理多个文件现在,您已经了解了如何遍历目录和处理单个文件。
本教程中的下一个内容是,了解如何处理一组文件。
几乎所有的UNIX 命令除了可以处理单个文件外,还可以处理文件列表。
通过显式地输入需要使用的每个文件的名称,或使用通配符表示需要使用的、具有共同名称特征的所有文件,您可以输入文件的列表。
通配符对于处理多个文件,最常用的方法就是使用*通配符。
通过使用*来表示任何字符或任何数量的字符,您可以选择文件列表。
为了创建更多的文件以进行演示,可以输入下列命令:现在,输入下面的命令:您应该仅看到扩展名为 .txt 的文件。
接下来,输入:这次,您应该看到两个示例文件,但不应该看到script.sh。
任何能够处理多个文件的命令行应用程序都可以使用通配符。
递归许多用来处理文件的命令行应用程序都具有一个-R选项。
当使用了-R时,该应用程序将递归地进入一个目录及其所有的子目录,并且针对其中的每个文件执行所需的命令。
例如,您可以返回您的home 目录,然后复制整个TUTORIAL 目录:现在,可以删除该目录,以便对系统进行清理:这就删除了整个目录,包括其中包含的所有文件。
请注意:您可能会比原计划删除更多的数据,尤其是当通配符和-R一同使用时。
存档和压缩许多日常的文件操作都可以使用单个文件、目录和通配符来完成,但对于那些对备份、将文件集传输给其他用户、或仅为了节省空间感兴趣的用户来说,了解如何使用存档和压缩是非常重要的。