UNIX系统管理:文件系统布局

 
UNIX系统管理-第四章:文件系统布局
目标
完成这一章,你能作以下事情:
描述为什么要区分动态文件系统和静态文件系统
描述/sbin,/usr,/stand,/etc,/dev,/var(操作系统相关目录)的主要内容
描述/opt,/etc/opt,和/var/opt(应用程序相关)的主要内容
使用find,和whereis命令在文件系统中查找文件
介绍文件系统范例
许多系统管理任务都要求系统管理员知道系统和应用程序的配置文件和日志文件的位置,并能对这些文件进行操作。所以了解文件系统组织结构,可以让你能找到这些文件并进行系统管理的工作。
下面介绍标准的AT&T SVR4文件系统布局。
文件系统中的文件可以通过不同的方法分类。例如可以分为静态文件和动态文件,可执行文件和配置文件。这些分类原则组成了文件系统的逻辑结构,并且能够简化系统管理的任务。
文件系统可以分为静态和动态两个部分
文件系统中的文件和目录被分为静态和动态两类。静态文件和目录中的内容很少更改,除非是安装补丁或者安装操作系统或安装应用程序。可执行文件,库,和系统启动工具,都被认为是静态的。
动态文件和目录是经常更改的。配置文件。临时文件,和用户文件被认为是动态的。
区分动态和静态数据提供了以下的优点:
系统备份更容易
磁盘空间管理更简单
可执行文件和配置文件
配置数据和可执行代码是分别保存的。分开保存配置文件和可执行文件能够提供了如下优点:
当操作系统升级的时候,对配置数据的更改不会丢失。
可以很容易地通过网络共享可执行文件,同时每个主机自己的配置文件可以存储在本地主机上
文件系统布局
操作系统的可共享部分的数据存在于/usr,和/sbin下面。只有操作系统能够安装文件到这些目录下去。应用程序位于/opt下面。
/usr,/sbin目录和/opt下面的应用程序子目录能够在网络中的主机之间共享。因为它们不包含每个主机特定的信息。每个主机特定的信息位于文件系统的动态数据目录下。
这些目录的通常的定义为:
目录    定义
/usr    可共享的操作系统命令,库,和文档。
/sbin    引导系统和安装其它文件系统的最少需要的命令
/opt    应用程序
/etc    系统配置文件,不再包含可执行文件
/dev    设备文件
/var    动态信息例如日志,脱机打印缓冲文件
/mnt    本地装载的文件系统
/tmp    操作系统临时文件
/stand   内核和引导加载器。
/home    用户目录
/usr目录的更详细的内容
/usr目录包含操作系统的大部分,包括命令,库,和文档。/usr文件系统包含操作系统的文件,例如可执行文件和ASCII文档。
/usr目录下标准的子目录在如下定义;
/usr/bin      操作系统的用户命令
/usr/conf     内核配置文件
/usr/contrib    发布的软件
/usr/lbin     其它命令文件
/usr/local     用户自己安装的软件
/usr/newconfig   默认的操作系统配置数据文件
/usr/sbin      系统管理命令
/usr/share     独立结构的共享文件
/usr/share/man   操作系统帮助手册
/usr/share/doc   技术相关的白皮书
/var目录的详细内容
/var目录中保存各种日志,临时文件,中间文件,和打印缓冲文件。/var目录的大小变化很大。在通常情况下,任何应用程序或者命令在运行时 候创建的文件,对操作系统来说不是关键性的数据,通常都会被放在/var目录的下面。例如,/var/adm中会包含于系统管理相关的日志和其它运行时创 建的文件。/var还包含有可变大小的文件例如crontabs,和打印系统和邮件系统的缓冲区。
通常/var下面的都是一些临时文件,系统管理员如果想要释放磁盘空间,可以通过搜寻/var目录,来查找那些文件可以被清除掉。
/var下面包含的文件有:   
/var/adm     普通的管理文件和日志文件
/var/adm/crash  内核的dump文件
/var/mail     收到的邮件
/var/opt/     应用运行时产生的文件(例如日志,临时文件)。每一个应用程序有自己的目录
/var/spool     操作系统子系统,例如lp(打印),cron等系统的缓冲文件
/var/tmp     /usr目录下的命令产生的临时文件
/var/adm目录下的详细内容
这个目录被用来保存普通的管理文件,日志和数据库,例如,syslog产生的文件,cron使用的文件,内核dump文件。
/var/adm/crash    内核崩溃dump文件会被保存在这个目录下
/var/adm/cron    cron使用的日志文件,
/var/adm/sw     软件发布使用的日志文件
/var/adm/syslog   系统日志,应用程序和内核都可以在这个文件中写日志。syslog守护进程负责写这些日志信息。syslog守护进程的行为能够通过 /etc/syslog.conf来定制。默认的日志文件名为/var/adm/syslog/syslog.log。在启动的时候,这个文件被拷贝为 OLDsyslog.log,新的syslog.log文件被创建。这个文件是一个ASCII码文件。
/var/adm/sulog   这个文件包含所有的su命令的使用记录。sulog是一个ASCII文件。
/var/adm/wtmp   这个文件包含成功登录的记录。这个文件不是ASCII文件。last命令被用来显示这个文件的信息。wtmp文件会持续增长,系统管理员应经常对这个文件进行修剪。
/var/adm/btmp   这个文件包含非成功登录的记录。这个文件不是ASCII文件。lastb命令可以用来显示这个文件中的信息。btmp文件会持续增长,系统管理员应经常对这个文件进行修剪。
/var/adm/utmp   这个文件包含登录到系统的所有用户的记录。write,who等命令会使用这个文件,但它不是ASCII文件,所以不能被直接浏览。
应用程序的目录
每一个应用程序会在/opt,/etc/opt,/var/opt下面有自己的子目录。而应用程序的可共享的,或者静态的部分在它们自己的/opt/application目录下,这个目录的结构同操作系统文件系统的结构类似:
/opt/application/bin     用户命令
/opt/application/share/man 帮助手册
/opt/application/lib     库
/opt/application/lbin    后台命令
/opt/application/newconfig 配置文件的主拷贝
应用程序的日志文件在/var/opt/application目录下,而主机特定的配置文件在/etc/opt/application目录下。
帮助你定位的命令
find     在文件系统层次结构中查找文件
whereis   定位源程序,二进制代码,和帮助手册的位置
which    在你的PATH中定位一个可执行文件
file     判断文件的类型
作为系统管理员,你可能需要在整个文件系统中检索文件。UNIX提供了几个查找文件和执行文件的工具,它们是:
find命令
find命令是一个功能强大的工具。它可以从你指定的点开始在文件系统中查找符合条件的文件。也可以通过名字,属主,和修改时间等等来查找文件。find同时允许你使用找到的文件作为一个参数来执行一个命令。
例子:
查找属于用户grep的所有文件
# find / -user grep
在/tmp目录下查找7天都没有存取的文件
# find /tmp -type f -atime +7
删除core文件
# find / -name core -exec rm {}/;
whereis命令
whereis 命令在你收到“没有发现”错误信息的时候十分有用。它会搜索一个预定义的目录列表。默认的情况下,whereis会去搜索源程序,二进制文件,和帮助手册。你可以使用-b选项来限制它只搜索二进制代码。
例子:
# whereis -b ls
ls: /usr/bin/ls /sbin/ls
which 命令
which命令在在判断将要使用命令的哪一个版本时有用。一些命令有多个home。你到底是执行的哪一个版本,是由你PATH变量中指定的目录的顺序决定的。
file命令
file命令对文件作一系列的测试,然后会试图对文件归类。这个命令在判断一个命令是一个shell脚本还是一个二进制的可执行文件时有用。
例子:
# file /sbin/shutdown
/sbin/shutdown : s800 shared executeable
# file /sbin/rc
/sbin/rc: ascii text
strings 命令
strings命令可以找出一个二进制文件中的可用信息,它会在屏幕上显示出文件中的任何可以打印的字符。

你可能感兴趣的:(UNIX系统管理:文件系统布局)