当前位置:首页 >> IT/计算机 >>

unix基础


UNIX 基础知识 第一章 UNIX 操作系统概述 1.1 引言 所有操作系统都向它们运行的程序提供服务。 典型的服务是执行一道新程序、 打开一个 文件 、读一个文件、分配一个存储区、获得当前时间等等。 本章对不熟悉 Unix 的程序设计人员介绍、概述 Unix 提供的各种服务。 1.2 登录(Logging ln) 登录名 当我们向 Unix 系统登录时,先键入登录名,然后键入口令字。系统在其口令文件,通 常是/etc/passwd 文件中查看我们的登录名。 在口令文件中的登录项,由 7 个以冒号分隔的字段组成:登录名,加密口令字,数字用 户 ID(224),数字组 ID(20),注释字段,起始目录 (/home/stevens),以及 shell 程序 (/bin/ksh)。 很多比较新的系统已将加密口令字移到另一个文件中。 shell 我们登录后,系统先典型地显示一些消息,然后我们就可以向 shell 程序键入命令。 shell 是一个命令行解释器,它读用户输入,然后执行命令,用户通常用终端,有时则 通过文件(称为 shell 脚本)向 shell 进行输入。常用的 shell 是: ·Bourne shell,/bin/sh ·Cshell,/bin/csh ·Kornshell,/bin/ksh 系统从口令字文件中与我们相关的登录项的最后一个字段了解到应为我们执行那一个 shell 。自 Version 7(第七版)以来,一直在使用 Bourne shell,几乎每一个现存的 Unix 系统都提供 Bourne shell。CShell 是在 Berkeley(贝克莱)开发的,所有 BSD 版本都提供这 种 shell。另外,Cshell 也由 AT&T 系统 V 386 R3 2 和系统 VR4(SVR4)提供。 1.3 文件和目录

文件系统(Filesystem) Unix 文件系统是目录和文件的一种分层次的安排,目录的起点称为根(root),其名字是一 个字符(/)。 一个目录是一个包含目录项的文件,在逻辑上,我们可以认为每个目录项都 包含一个文件名,同时还包含说明该文件属性的信息。文件属性是:文件类型,文件长度, 文件属主,文件的许可权(例如,其他用户能否存取该文件)文件的最后修改时间等。stat 和 fstat 函数返回一个包含所有文件属性的信息结构。 文件名(Filename) 一个目录中的各个名字称为文件名。 不能出现在文件名中的字符只有两个, 它们是斜线 (/) 和空操作(null)字符, 斜线分隔构成路径名(在下面说明)的各文件名, 空操作符则终止 一个路径名,尽管如此,一个好的习惯是只使用印刷字符的一个子集作为文件名字符(只使 子集的理由是: 如果在文件名中使用了某些 shell 特殊字符, 则必须使用 shell 的引号机制 来引用文件名)。 当创建一个新目录时,自动创建了两个文件名: (称为点)和(称为点-点)。点引用当前 目录,点-点则引用文目录。在最高层次的根目录中,点-点与点相同。 某些 Unix 文件系统限制文件名的最大长度为 14 个字符, BSD 版本则将这种限制扩展为 255 个字符。 路径名(Pathname) 0 个或多个以斜线分隔的文件名序列(可以任选地以斜线开头)构成路径名, 以斜线开头 的路径名称为绝对路径名,否则称为相对路径名。Cd /usr/newepr cd newepr 工作目录(Working Directory) 每个进程都有一个工作目录(有时称为当前工作目录)。 所有相对路径名都从工作目录开 始解释。 例如,相对路径名 doc/memo/joe 指的是文件 joe,它在目录 memo 中,而 memo 又在目 录 doc 中,doc 则应是工作目录中的一个目录项。从该路径名可以看出,doc 和 memo 都应当 是目录, 但是我们却不清楚 joe 是文件还是目录。 路径名/urs/Lib/Lint 是一个绝对路径名, 它指的是文件(或目录)Lint,而 Lint 在目录 lib 中,lib 则在目录 usr 中,usr 则在根目录 中。 起始目录(Home directory) 当我们登录时, 工作目录设置为起始目录, 该起始目录从口令字文件中我们的记录项中 取得。

第二章 UNIX 系统操作入门 2.1 基本命令: env 显示设置命令执行环境 env [ - | -i ] [ name=valuess ] ... [ command [args] ] date 显示和设置时间 date [ -u ] [ +format ] date [ -u ] [ MMDDhhmm[YY] | -t [CC]YYMMDDhhmm[.SS] ] clear 清除当前屏幕 grep 找到与字符串匹配的行 sed awk wc 计算字、行数、字节数 cat 显示文件内容 more 分屏显示文件内容 2.2 文件系统操作 ls 列文件名 cp 拷贝文件 mv 移动文件 rm 删除文件 r f cd 目录切换 cd .. cd - / cd /usr/newepr

mkdir 建目录 mkdir /usr/home rmdir 删除目录 pwd 显示当前所在目录 find 搜索文件 sort 对文件进行排序 –k 11 11 cut 对文件进行列切割 33 44

paste 对文件进行列组合 >> ln 文件或目录链接 2.3 进程管理 ps 显示当前进程状态 kill 杀死进程 2.4 用户和权限管理 scoadmin useradd 添加用户 userdel 删除用户 usermod 修改用户 userls 列可用用户 passwd 修改口令 chmod 修改文件目录权限 r w x chown 修改文件目录属主 chown –R who 显示当前在线用户 who am I finger 显示用户信息 2.5 设备和终端管理 mkdev 设备管理 hwconfig 显示当前设备信息 stty 设置终端模式 enable 打开终端 disable 关闭终端 2.6IPC 管理 Ipcs 显示 IPC 状态 Ipcrm 删除信号量集、消息队列、共享内存 newepr:group file

2.7 网络 telnet 登录远程服务器 ftp 文件传输 -inv ftp –inv 10.247.0.111<<eof user hnlk hnlk ftp>prom mget I*.txt by

route 路由管理 –net –netmask netstat 显示网络状态 traceroute 跟踪网络访问路由 netconfig 网络配置管理 这些是 unix 操作系统中比较常用的命令,下面我们给出个别命令的具体使用方法,详 细用法请参阅操作手册。 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或文件......] [说明]: ls 命令列出指定目录下的文件,缺省目录为当前目录 ./,缺省输出顺序为纵向 按字符顺序排列。 -R 递归地列出每个子目录的内容 -a 列出所有文件,包括第一个字符为“.”的隐藏文件 -d 若后面参数是目录,则只列出目录名而不列出目录内容,常与-l 选项连用以显示目录状 态。 -C 输出时多列显示 -x 横向按字符顺序排列 -m 输出按流式格式横向排列,文件名之间用逗号(,)分隔 -l 长列表输出,显示文件详细信息,每行一个文件,从左至右依次是: 文件存取模式 链接数 文件主 文件组 文件字节数 上次修改时间其中文件存取模式用 10 个字母表示,从左至右的意义如下: 第一个字母表示文件种类,可以是以下几种情况: d 为目录文件 l 为链接 b 为块文件

c 为字符型文件 p 为命名管道(FIFO) - 为普通文件 后面 9 个字母分别表示文件主、同组用户、其他用户对文件的权力,用 r 表示可读,w 表示 可写,x 表示可执行。如果是设备文件,则在文件字节数处显示:主设备 从设备。 -n 与-l 选项相同,只是文件主用数字(即 UID)显示,文件组用数字 (即 GID)表示 -o 与-l 选项相同,只是不显示文件组 -g 与-l 选项相同,只是不显示文件主 -r 逆序排列 -t 按时间顺序排列而非按名字 -u 显示时间时使用上次访问时间而非上次修改时间 -c 显示时间时使用上次修改 i 节点时间而非上次修改时间 -p 若所列文件是目录文件,则在其后显示斜杠(/) -F 在目录文件后加’/’,在可执行文件后加’*’ -b 文件名中若有非打印字符,则用八进制显示该字符 -q 文件名中的打印字符用’?’表示 -i 显示节点号 -s 显示文件长度时使用块长度而非字节长度 -f 将后面的参数解释为目录并列出其中的每一项 -1 每行仅列一项 [例子]: ls 列出当前目录下的文件 ls -al /bin 以长列表的形式列出目录 /bin 下的所有文件,包括隐藏文件 2.2 pwd [语法]: pwd [说明]: 本命令用于显示当前的工作目录 [例子]: pwd 显示出当前的工作目录 2.3 cd [语法]: cd [目录] [说明]: 本命令用于改变当前的工作目录, 无参数时使用环境变量$HOME 作为其参数, $HOME 一般为注册时进入的路径。 [例子]: cd 回到注册进入时的目录 cd /tmp 进入 /tmp 目录 cd ../ 进入上级目录 2.4 mkdir [语法]: mkdir [-m 模式] [-p] 目录名 [说明]: 本命令用于建立目录,目录的存取模式由掩码(umask)决定,要求对其父目录具有 写权限,目录的 UID 和 GID 为实际 UID 和 GID -m 按指定存取模式建立目录 -p 建立目录时建立其所有不存在的父目录

[例子]: mkdir tmp 在当前目录下建立子目录 tmp mkdir -m 777 /tmp/abc 用所有用户可读可写可执行的存取模式 建立目录 /tmp/aaa ,存取模式参看命令 chmod mkdir -p /tmp/a/b/c 建立目录 /tmp/a/b/c ,若不存在目录 /tmp/a 及/tmp/a/b 则建立之 2.6 cat [语法]: cat [-u] [-s] [-v[-t] [-e]] 文件... [说明]: 显示和连接一个或多个文件至标准输出 -u 无缓冲的输出(缺省为有缓冲输出) -s 对不存在的文件不作提示 -v 显示出文件中的非打印字符,控制字符显示成^n ,n 为八进制数字, 其他非打印字符显示成 M-x , x 为该字符低 7 位的 8 进制数值 -t 在使用-v 选项时,将制表符(tab) 显示成 ^I,将换页符 (formfeed)显示成 ^ L -e 在使用-v 选项时,在每一行的行尾显示 $ [例子]: cat file 显示文件 cat -s -v -e file1 file2 file3 逐个显示文件 file1 file2 file3 2.7 head [语法]: head [-n] [文件 ...] [说明]: 将文件的头 n 行显示输出,缺省值为 10 行,显示多个文件时,在每个文件的前面 加上 ==> 文件名 <== [例子]: head -9999 file1 file2 显示文件 file1 和 file2 的头 9999 行 2.9 cp [语法]: cp [ -p ] [ -r ] 文件 1 [ 文件 2 ...] 目标 [说明]: 将文件 1(文件 2 ...)拷贝到目标上,目标不能与文件同名, 若目标是文件名,则 拷贝的文件只能有一个,若目标是目录, 则拷贝的文件可以有多个,若目标文件不存在, 则建立这个文件,若存在,则覆盖其以前的内容,若目标是目录,则将文件拷贝到这个目录 下。 - i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止 - p 不仅拷贝文件内容,还有修改时间,存取模式,存取控制表, 但不拷贝 UID 及 GID - r 若文件名为目录,则拷贝目录下所有文件及子目录和它们的文件,此时 目标必须为目录 [例子]: cp file1 file2 将文件 file1 拷贝到文件 file2 cp file1 file2 /tmp 将文件 file1 和文件 file2 拷贝到目录 /tmp 下 cp -r /tmp /mytmp 将目录 /tmp 下所有文件及其子目录拷贝至目录/mytmp 2.10 mv [语法]: mv [-f] [-i] 文件 1 [文件 2...] 目标 [说明]: 将文件移动至目标,若目标是文件名,则相当于文件改名

- i 在覆盖已存在文件时作提示,若回答 y 则覆盖,其他则中止 - f 覆盖前不作任何提示 [例子]: mv file1 file2 将文件 file1 改名为 file2 mv file1 file2 /tmp 将文件 file1 和文件 file2 移动到目录 /tmp 下 2.11 rm [语法]: rm [-f] [-i] 文件... 或 rm -r [-f] [-i] 目录名... [文件] [说明]: 用来删除文件或目录 - f 删除文件时不作提示 - r 递归地删除目录及其所有子目录 - i 删除文件之前先作提示 [例子]: rm file1 删除文件 file1 rm -i /tmp/* 删除目录 /tmp 下的所有文件 rm -r /mytmp 递归地删除目录 /mytmp 2.12 chmod [语法]: chmod [-R] 模式 文件... 或 chmod [ugoa] {+|-|=} [rwxst] 文件... [说明]: 改变文件的存取模式,存取模式可表示为数字或符号串,例如: chmod nnnn file , n 为 0-7 的数字,意义如下: 0400 文件主可读 0200 文件主可写 0100 文件主可执行 0040 同组用户可读 0020 同组用户可写 0010 同组用户可执行 0004 其他用户可读 0002 其他用户可写 0001 其他用户可执行 nnnn 就是上列数字相加得到的,例如 chmod 0777 file 是指将文件 file 存取权限置为所 有用户可读可写可执行。 -R 递归地改变所有子目录下所有文件的存取模式 u 文件主 g 同组用户 o 其他用户 a 所有用户 + 增加后列权限 - 取消后列权限 = 置成后列权限 r 可读 w 可写 x 可执行

[例子]: chmod 0666 file1 file2 将文件 file1 及 file2 置为所有用户可读可写 chmod u+x file 对文件 file 增加文件主可执行权限 chmod o-rwx 对文件 file 取消其他用户的所有权限 2.13 chown [语法]: chown [-R] 文件主 文件... [说明]: 文件的 UID 表示文件的文件主,文件主可用数字表示, 也可用一个有效的用户名 表示,此命令改变一个文件的 UID,仅当此文件的文件主或超级用户可使用。 -R 递归地改变所有子目录下所有文件的存取模式 [例子]: chown mary file 将文件 file 的文件主改为 mary chown 150 file 将文件 file 的 UID 改为 150 2.14 chgrp [语法]: chgrp [-R] 文件组 文件... [说明]: 文件的 GID 表示文件的文件组,文件组可用数字表示, 也可用一个有效的组名表 示,此命令改变一个文件的 GID,可参看 chown。 -R 递归地改变所有子目录下所有文件的存取模式 [例子]: chgrp group file 将文件 file 的文件组改为 group 2.15 cmp [语法]: cmp [-l] [-s] 文件 1 文件 2 [说明]: 比较两个文件,若文件 1 为 "-" ,则使用标准输入, 两个文件相同则无提示, 不同则显示出现第一个不同时的字符数和行号。 -l 显示每个不同处的字节数(10 进制)和不同的字节(8 进制) -s 不作任何提示,只返回码 [例子]: cmp file1 file2 比较文件 file1 和 file2 cmp -l file1 file2 比较文件 file1 和 file2 的每处不同 2.16 diff [语法]: diff [-be] 文件 1 文件 2 [说明]: 本命令比较两个文本文件,将不同的行列出来 -b 将一串空格或 TAB 转换成一个空格或 TAB -e 生成一个编辑角本,作为 ex 或 ed 的输入可将文件 1 转换成文件 2 [例子]: diff file1 file2 diff -b file1 file2 diff -e file1 file2 >edscript 2.17 wc [语法]: wc [-lwc] 文件... [说明]: 统计文件的行、字、字符数,若无指定文件,则统计标准输入 -l 只统计行数 -w 只统计字数 -c 只统计字符数 [例子]:

wc -l file1 file2 统计文件 file1 和 file2 的行数 2.18 split [语法]: split [-n] [ 文件 [名字]] [说明]: split 将指定大文件分解为若干个小文件,每个文件长度为 n 行(n 缺省时为 1000),第一个小文件名为指定的名字后跟 aa,直至 zz,名字缺省值为 x,若未指定大文件 名,则使用标准输入 [例子]: split -500 largefile little 将文件 largefile 每 500 行写入一个文件,第一个文件名为 littleaa 2.19 touch [语法]: touch [-amc] [mmddhhmm[yy]] 文件... [说明]: 将指定文件的访问时间和修改时间改变, 若指定文件不存在则创建之, 若无指定时 间,则使用当前时间,返回值是未成功改变时间的文件个数,包括不存在而又未能创建的文 件。 -a 只改变访问时间 -m 只改变修改时间 -c 若文件不存在,不创建它且不作提示 mmddhhmm[yy] 两位表示 月日时分[年] [例子]: touch file 更新文件 file 的时间 touch 0701000097 HongKong 将文件 HongKong 的时间改为 97 年 7 月 1 日 0 时 0 分 2.20 file [语法]: file [-f 文件名文件] 文件... [说明]: file 对指定文件进行测试,尽量猜测出文件类型并显示出来 -f 文件名文件 文件名文件是一个包含了文件名的文本文件, -f 选项测试 文件名文件中所列出的文件 [例子]: file * 显示当前目录下所有文件的类型 2.24 find [语法]: find 路径名... 表达式 [说明]: find 命令递归地遍历指定路径下的每个文件和子目录,看该文件是否能使表达式 值为真,以下 n 代表一个十进制整数,+n 代表打印 n , -n 代表小于 n ,下面是合法表 达式说明: -name 模式 文件名与模式匹配则为真,(\ 为转意符) -perm [-]八进制数 文件存取模式与八进制数相同则为真若有- 选项,则文件存 取模式含有八进制数规定模式即为真 -size n[c] 文件块长度为 n 则真(一块为 512 字节),若 有 c 选项,则文件字节长度为 n 则真 -atime n 若文件的最近访问时间为 n 天前则为真, find 命令将改变其访问的目录的访问时间 -mtime n 若文件的最近修改时间为 n 天前则为真 -ctime n 若文件状态为 n 天前改变则为真

-exec 命令 { }\; 若命令返回值为 0 则真,{ }内为命令参数, 此命令必须以 \; 为结束 -ok 命令 { }\; 与 exec 相同,只是在命令执行前先提示,若 回答 y 则执行命令 -print 显示输出使表达式为真的文件名 -newer 文件 若文件的访问时间比 newer 指定的文件新则真 -depth 先下降到搜索目录的子目录,然后才至其自身 -mount 仅查找包含指定目录的文件系统 -local 文件在当前文件系统时为真 -type c 文件类型为 c 则真,c 取值可为 b(块文件) c (字符文件) d(目录) l (符号链接) p (命名管道) f (普通文件) \( 表达式 \) 表达式为真则真 -links n 文件链接数为 n 时为真 -user 用户 当文件属于用户时为真,用户可用数字表示 UID -nouser 当文件不属于 /etc/passwd 中的一个用户时为真 -group 文件组 当文件属于文件组时为真,文件组可用数字表示 GID -nogroup 当文件不属于 /etc/group 中的一个组时为真 -fstype 类型 当文件所属文件系统类型为指定类型时真 -inum n 当文件 i 节点号为 n 时为真 -prune 当目录名与模式匹配时,不再搜索其子目录 可以用逻辑操作符将简单表达式连接成复杂表达式 逻辑操作符有 ! 表示非操作, -o 表示或操作,两个表达式并列则表示 与操作 [例子]: find / -name find* -print 从根目录开始搜索文件名如 find* 的文件并显示之 find ./ -exec {rm}\; -print 每秒显示一个当前目录下的文件 find $HOME \(-name a.out -o -name ’*.o’ \) -atime +7 -exec rm {} \; 从$HOME 目录开始搜索,删除所有文件名为 a.out 或 *.o 且访问时间在 7 天前的文件 2.25 grep [语法]: grep [选项] 模式 [文件...] [说明]: 在指定的文件中搜索模式,并显示所有包含模式的行,模式是一个正规表达式,在 使用正规表达式时,最好将其引在单引号(’) 中,若指定文件为缺省,则使用标准输入, 正规表达式可以是: ps –ef|grep mysql grep ^[5-8] file|sort –k6 ls *.txt|mv /home . 匹配任意一个字符 * 匹配 0 个或多个*前的字符 ^ 匹配行开头 $ 匹配行结尾 [] 匹配[ ]中的任意一个字符,[]中可用 - 表示范围, 例如[a-z]表示字母 a 至 z 中的任意一个 \ 转意字符 fi*e grep fi\*e test

:1,$s/ \?\** / /g 命令中的选项为: -b 显示块号 -c 仅显示各指定文件中包含模式的总行数 -i 模式中字母不区分大小写 -h 不将包含模式的文件名显示在该行上 -l 仅显示包含模式的文件名 -n 显示模式所在行的行号 -s 指定文件若不存在或不可读,不提示错误信息 -v 显示所有不包含模式的行 ps –ef|grep mysql|grep –v grep|awk ‘{print $2}’ |kill -9 mysqld mysqldata grep mysql [例子]: grep ’good’ * 在所有文件中搜索含有字符串 good 的行 grep ’ myline$’ mytext 在文件 mytext 中搜索行首出现 myline 字符串的行 2.26 vi [语法]:vi [-wn] [-R] 文件... [说明]: vi 是一个基于行编辑器 ex 上的全屏幕编辑器,可以在 vi 中使用 ex,ed 的全部 命令,vi 选项中 -wn 指将编辑窗口大小置为 n 行,-R 为将编辑的文件置为只读模式, vi 工作模式分为命令模式和输入模式,一般情况下在命令模式下,可敲入 vi 命令,进入输入 模式下时可以编辑要编辑的文本,命令 a A i I o O c C s S R 可进入输入模式,在输入 模式下按 ESC 键可推出输入模式,回到命令模式,在命令模式中敲入: 命令,则可进入 ex 方式,在屏幕底部出现提示符 : ,此时可使用任意 ex 命令,屏幕底行也用来作/ ? ! 命 令的提示行,大多数命令可以在其前面加数字,表示命令执行的重复次数,下面简单介绍一 下 vi 的命令集,^ 表示(CTRL)键 ^B 退回前一页,前面加数字表示重复次数,每次换页时 保留上一页的两行 ^D 在命令模式下,表示下滚屏幕的一半,在输入模式下,表示回退至 左边的自动缩进处 ^E 显示屏幕底线之下的一行 ^F 前进一页,前面加数字表示重复次数,每次换页时 保留上一页的两行 ^G 显示当前文件名,当前行号和文件总行数,并用百分号当前行在 整个文件中的位置 ^H(退格) 在命令模式下,光标左移一格;在输入模式下,删去前面的字符 ^I(TAB) 在输入模式下,产生一串空格 ^J(LF) 光标下移一行 ^L 刷新屏幕,即将屏幕重新显示 ^M(回车) 在命令模式下,光标移动至下行开头

在输入模式下,开辟一新行 ^N 光标下移一行 ^P 光标上移一行 ^Q 在输入模式下,将其后的非打印字符作为正文插入 ^R 刷新屏幕 ^U 屏幕上滚一半,前面加数字时表示上滚的行数,此数字对 以后的^D ^U 命令有效 ^V 在输入模式下,将其后的非打印字符作为正文插入 ^W 在输入模式下,使光标回退一个字 ^Y 显示屏幕底线之上的一行 ^Z 暂停编辑,退回上层 Shell ^[(ESC) 退出输入模式,回到命令模式 ! 暂时退出编辑,执行 Shell 命令 "(双引号) 用于标志有名缓冲区,编号缓冲区 1-9 用于保存被删去的正文,字 母名缓冲区 a-z 供用户存放自定义的正文 $ 将光标移动到当前行尾,前加数字则表示前移行数,如 2$表示移动 到下一行行尾 % 将光标移动到配对的小括号()或大括号{}上去 ( 退回句子开头 ) 前移到句子开头 - 退到上一行第一个非空格字符 . 重复上一次改变缓冲区内容的命令 / 模式 向前搜索模式,将光标移动到模式出现处,模式是一个正规 表达式,(参看 grep) : 在屏幕底部提示: ,其后可使用 ex 命令 ? 功能同 / ,但方向是向前查找 [[ 光标回退至前一节分界处 \ 转意符 ]] 光标前移至节分界处 ^(不是 CTRL) 光标移至当前行第一个非空字符上 ’ 连续两个’’表示将光标移至其移动前的位置,’后跟字母表示光标字 母标记的行首(参看 m 命令) A 在行尾插入正文,进入输入模式 B 光标回退一个字 C 替换光标后的内容 D 删除光标后的内容 E 光标前移到字尾 F 字符 在当前行向左查找指定字符 G 光标移动到其前面数字指定的行,若未指定则移动到最后一行 H 光标移动到屏幕顶行,若前面有数字,则移动到屏幕上该数字 指定的行 I 在行开头插入正文 J 连接两行,若前面有数字则连接数字指定的行 L 光标移动到屏幕底行,若前面有数字,则移动到屏幕底线往上数该

数字指定的行 M 光标移动到屏幕中线 N 使用模式查找/或?时,重复找下一个匹配的模式,但方向与上次相 反,其功能同 n ,但方向相反 O 在当前行上开辟一新行 P 将上次被删除的正文插入光标前面,可在其前面加缓冲区编号,编 号 1-9 用于保存被删去的正文,字母名缓冲区 a-z 供用户存放自定 义的正文 Q 从 vi 推出进入 ex 命令状态 R 替换字符串 S 替换整行 T 字符 向左查找字符 U 将当前行恢复至第一次修改前的状态 W 光标移至下一个字首 X 删除光标前的字符 Y 将当前行存入无名缓冲区,前面加数字表示存入的行数,也可用有 名缓冲区来保存,以后可用命令 p 或 P 将其取出 ZZ 存盘退出 vi a 光标后插入正文 b 光标回退至上一个字首 cw 替换当前字 c) 替换当前句子 dw 删除一个字 dd 删除一行 e 光标移到下一个字末 f 字符 在当前行向前查找字符 h 光标左移一格 i 在光标前插入正文 j 光标下移一行 k 光标上移一行 l 光标右移一格 m 字母 用字母标记当前行,以后可用 ’字母使光标移动到当前行, (参看’命令) n 重复上次 / 或 ? 命令 o 在当前行下开辟一新行 p 将用户缓冲区内容放到光标位置(参看 P 命令) r 替换当前字符 s 用一串字符替换当前字符 t 字符 光标移动至字符前 u 取消上次操作 w 光标移至下一字首 x 删除当前字符 yw 将当前字存入无名缓冲区,前面可加"x,表示存入名字为 x 的有名 缓冲区(x 为 a-z),也可加数字表示存入的字数,以后可用 P 或 p 命

令取出 yy 将当前行存入无名缓冲区,用法参看 yw { 光标移动至前一段开头 | 光标移至行首,若前面加数字,则移到数字指定行的行首 } 光标移至下一段开头 在:提示符下,常用命令如下: :w 当前文件存盘 :w! 强制存盘 :w 文件 将内容写入指定文件 :w! 文件 强制写入指定文件 :x,y w 文件 将 x 至 y 行写入指定文件中 :r 文件 将文件读到光标位置 :r ! 命令 将系统命令的输出读到光标位置 :q 退出编辑 :q! 强制退出 :x 与命令 ZZ 相同 :e 文件名 编辑另一文件 :e ! 重新编辑文件,放弃任何改变 :sh 执行 sh,结束后回到编辑 :! 命令 执行命令后回到编辑 :n 编辑下一文件 :n 文件表 重新定义待编辑文件表 :set 设置 vi 的选项,例如 set nu 表示每行前显示行号,在选项前 加 no 则表示清除该选项,例如 set nonu 表示每行前不显示行 号,下面是一些常用的选项: ai 自动缩进 aw 编辑下一文件前自动存盘 ic 查找字符串时不区分大小写 nu 每行前显示行号 sm 输入)及}时显示与之配对的( 或 { slow 插入时延迟屏幕刷新 ws 使查找能绕过文件尾从头进行 wa 写文件之前不作对文件的检查

操作系统的启动、 第三章 UNIX 操作系统的启动、关闭 系统的启动是指从开始引导操作系统直到系统正常工作的过程。 在启动之初, 操作系统 被装入内存并且开始执行, 这个执行过程中将进行大量初始化操作以提供某些服务如打印服 务,网络服务等。用户,特别是系统管理员必须详细了解系统启动全过程的各个具体细节。 启动是整个系统运行期间最脆弱、最容易出现问题的时候。稍有不慎,整个系统将无法正常 启动,或正常启动了,却无法正常工作。 虽然 UNIX 系统被设计成一种可以可以永不关机的系统, 但实际操作中却由于各种各样

的原因,不得不在一定的时候将机器关闭,如电源出现问题,系统出现严重故障等。UNIX 系统的复杂性不允许我们想关机时就直接切断电源,这样做会对整个系统造成极大的破坏, 如用户数据丢失,文件系统结构的不一致等。所以关机过程必须遵守一定的规范才行。 在这一章中我们主要介绍如下几个问题: 系统的启动过程?? 介绍 UNIX 系统从加电到系统完全可用的全过程 系统的关闭??? ? 介绍关闭系统的方法及关闭系统时应该注意的一些问题。 系统的启动过程 大多数的 UNIX 系统的启动都有两种方式: 自动启动??在这种方式下,系统可以不经任何人工的干预而自动完成启动的全过程。 手工启动??在系统启动过程到达某一点时, 系统管理员可以进行一些人工的干预, 如 对文件系统进行检查,设置系统的日期等等。然后系统将继续进行引导。通常这两种方式的 最终效果是一样的。正常情况下,加电后系统均能自动启动至准备好状态。但在系统遇到一 些人为破坏,如突然断电,系统发生崩溃或者系统管理员做了某种修改时,经常会需要手工 引导。 我们可以把整个 UNIX 系统的启动过程大致划分为如下几个阶段: 操作系统装入程序(PDL)的加载 UNIX 系统核心程序的装入 UNIX 系统内核的初始化 硬件的检测和配置 系统进程的生成 管理人员的干预(自动启动时无此阶段) 系统初始化 shell 脚本的执行 各终端进程的生成 操作系统装入程序的加载 大多数计算机系统的操作系统都是驻留在系统的硬盘中的。 一般可以把硬盘的存储空间 分成几个不同的相互连接的片段, 每个片称为一个硬盘分区。 绝大多数硬盘都可被划分为四 个分区。在各个分区中可以装载不同的操作系统。 (对于专用的工作站或者主机系统,一般 只装载一个 UNIX 系统)在硬盘的多个分区中,有一个分区被称为是系统的活动分区。活动 分区中的操作系统会在系统加电的时候被引导。 大多数机器在加电时均会转移到一特定的地 址去执行存储在 ROM 中的程序。 如果是从软盘上引导, 这个程序将读取软盘上引导扇区 (0 头、0 道、1 扇区)中操作系统核心代码,再将控制交给核心程序,由此开始核心程序的装 入和运行。但对于从硬盘上引导系统的情形,ROM 载入程序装入的不是操作系统而是另外 一段代码,这段代码在被装入到内存中后将获得控制权而得以执行,然后由它去装入 UNIX 系统。 UNIX 系统核心程序的装入 在操作系统获得系统控制权之后, 我们可以说此时 UNIX 系统已经开始运行了, 载入程 序在执行时,将从硬盘活动分区中一个特定的地方(该分区的第一个扇区)装入操作系统的 源代码: UNIX 系统内核。 UNIX 系统内核实际上是一个程序, 其名称一般是/unix 或者/vmunix, 名称随生产厂家的不同可能会有些差异。 在内核被装入的时候,屏幕上会显示: Booting the UNIX system...... 若此时按下任意键,系统核心装入程序将允许用户输入欲装入的其它核心程序的文件 名。此时装入程序会显示: boot: 用户可以在冒号后输入其它的某个核心程序的名称。

为什么要提供这种功能呢?因为在许多情况下我们需要对系统内核进行重新配置, 以生 成新的核心程序, 而老的核心程序可以保留到另外一个文件中。 新的核心程序可能不能成功 地启动系统, 这种情况下我们就可用这种方法装入原来的核心程序引导系统。 如果并不想真 的装入其它内核,可以不作任何操作或者仅仅按一下回车。稍后,装入程序会装入缺省的内 核。系统内核是 UNIX 常驻内存的部分。内核装入程序从磁盘上装入核心程序之后,将把控 制权交给新装入的内核,从而使之得以运行。 系统内核的初始化 核心程序开始执行时,UNIX 系统内核的初始化工作就开始了。内核会检查内存,以前 我们知道, 系统内核会占据物理内存的低端并固定在此空间中运行。 内核将检查系统中内存 的总数,计算出自己占用多少,剩下多少可以供普通进程使用,这就是启动信息中关于内存 的部分。 文件系统高速缓冲部分也会占用部分内存空间。 内核的各种内部数据结构, 如页表, 进程结构表 (proc 结构) 所以系统内存并不是仅仅等于内核的大小加上可用的内存的大小。 , 硬件的检测和配置 内核完成自身的初始化之后, 它将对系统中所安装的各种硬件进行检测。 由于每种系统 的硬件千差万别,很难对这个过程进行一般性的说明。系统管理员在配置内核时,将告诉系 统要处理那些设备,当内核完成初始化之后,它将开始寻找这些设备,并且按照系统管理员 的设置对这些设备进行初始化配置。 大多数情况下, 内核将报告它应该找到但是由于种种原 因没有找到的设备。在配置内核时候,系统管理员说明的设备信息往往是不充分的。这种情 况下,内核将通过检查与设备连接的总线及相应的设备驱动程序来获得关于设备的其它信 息。 如果某设备未被找到或者用于某种原因未能对内核检测作出响应, 内核将标记该设备为 不存在,同时时相应的设备驱动程序不再起作用。此时即使设备和系统连接恢复正常上,该 子系统也不能被使用。要想使用这个设备,只有重新启动系统。 系统进程的生成 在硬件检测、配置完成之后,内核将生成一些系统进程,这些进程并不是系统核心的一 部分,它们将作为一个普通的进程在用户进程空间运行,提供各种系统服务。这些进程的数 量和种类随系统的不同而不同。 在这些系统进程生成之后, 内核在系统启动中的任务就完成 了,后面的工作将由 init 进程来进行,这些工作包括:启动各种服务,生成接受终端注册的 getty 进程等等。 系统初始化 shell 命令脚本的执行 操作系统为了给用户提供各种服务, 通常要生成一些提供这些服务的进程。 这种服务进 程一般被称为守护(daemon)进程。它们不知疲倦地为系统中的用户提供某种特定的服务。 通常这些进程是在内核生成各个系统进程之后,由 init 进程执行一系列特定的 shell 命令而 生成的。init 通过/etc/inittab 文件对各种守护进程进行管理,init 将顺序地读取 inittab 中的各 行并逐个进行处理。 各终端进程的生成 随着整个系统初始化的完成, 整个系统就已经能够正常工作了, 但是此时用户还不能使 用计算机,因为我们暂时还没有办法注册到系统中。为了用户能注册到系统中,必须提供 getty 进程。每个 getty 进程将分别监视某一个通讯端口以检测来自相应终端或者调制解调器 的连接信号,然后 getty 将首先打印注册提示,等待用户输入用户名,然后调用 login 命令 进行注册,注册成功后,系统会生成一个 shell 进程,同时相应的 getty 进程会自动消亡。 当用户从系统中注销时,init 进程将根据/etc/inittab 文件中的相应的数据行重新生成相应的 终端上的 getty 进程。 启动过程中的人工干预 在内核初始化完成之后、系统初始化开始之前,如果系统进入单用户状态(手工启动方

式下) ,那么内核在启动 init 进程时就将通知这一点。这种情况下,init 将首先在控制台上生 成一个 shell 进程,并等待该 shell 进程中止,再进行其它的系统初始化操作。使用这个 shell 进程, 用户可以以超级用户的身份执行所有的可以执行的命令。 但由于此时系统只安装了根 文件系统,这将使得管理员只能执行/bin 或/etc 目录下的文件。如想执行其它文件系统上的 命令,需管理员自己先安装相应的文件系统。一般情况下,系统管理员在此阶段需要做的工 作是对文件系统进行检查(fsck) ,只有在出现某些系统故障的情况下才需要系统管理员对 文件系统进行维护。 在了解 UNIX 系统启动的全过程之后, 我们才可能对系统启动过程中出现的种种问题进 行分析,找出故障发生的原因,进而想办法排除故障。一般而言,无法正常启动的原因有: 硬件故障 启动盘被破坏 文件系统被破坏 内核配置有问题 系统初始化 shell 脚本出现问题 在系统无法正常启动时, 借助启动过程中控制台上显示的信息, 我们可以大致判断到底 哪个阶段出现了问题,从而才能对症下药排除故障。 系统的关闭 在了解系统的引导过程后我们会知道: 系统处于正常工作状态时, 系统中会有许多各式 各样的进程在运行,如 init 进程、各种守护进程,如果有用户登录到系统中,还有许多用户 进程。 另外我们还知道 UNIX 系统为提高机器的响应速度引入了缓冲机制。 所有的这些都将 使得在关闭系统时不能切断电源了事。 事实上, 系统的关闭和启动过程一样也是一个极为复 杂的过程。当然这种复杂指的是系统内部操作上的复杂,而不是用户操作上的复杂。用户只 需要按照一定的要求输入几个命令就能将系统正常地关闭下来。 在各种 UNIX 系统中,都提供有多种正常或者不正常的关机方式。例如,鉴于 init 进程 (1 号进程)在系统中的特殊地位,我们可以通过终止这个进程来使系统关闭下来: # kill -9 1 但是这种方法是不安全的,其造成的后果可能并不亚于直接关闭电源。为了能够使整 个系统正常地停下来,许多系统都提供了专用的关闭系统的命令。 # shutdown -y 将启动关闭的过程, 此时, 在每一个用户的终端屏幕上将出现关于系统即将被关闭的警 告信息,而用户在看到这一信息后应立即中止自己的工作并且从系统中注销退出。shutdown 命令并不会立即关闭系统,在开始实际关闭之前先暂停 60 秒(缺省的时间间隔) ,给用户一 个回旋余地。暂停时间一过,关闭过程就开始了,此时 shutdown 给仍在系统中的用户发送 第二条信息,如用户仍旧不退出,他们正打开的文件可能会损坏。第二条信息发出之后,系 统中所有的活动进程均会被终止, 同时系统将内存缓冲区中的内容尚未写到磁盘上的内容刷 新到磁盘上, 以保持磁盘上内容的一致性 (因为有些正在操作的结构可能只是记录在缓冲区 中而没有被写到磁盘上)这个操作称为同步。同步完成后,系统将停止运行而处于可断电状 态或可重启动状态。 这时你就可以切断电源或者重新启动。 不同的系统都有关闭系统的独特 方法, 如有些系统中设置有一个专门用于关闭系统的帐号, 当管理人员以这个帐号登录到系 统中时,系统将执行关闭命令,这些命令本身都很简单,重要的是我们要认识关闭过程的重 要性,以及关闭系统时系统进行了一些什么操作。 shutdown –g15 –y –f“system to shutdown in 15 min.” -g 在开始关机前设置分钟的数目。 如果要指定关机前的小时和分钟数, 可使用 hh:mm。 。

-y 允许关机在没有任何提示下进行。 -f“mesg”向所有终端发送信息,警告用户存储他们的工作和退出系统。 第四章 用户帐户管理 任何系统管理员的主要任务都是支持用户使用计算机资源的,在使用 unix 系统之前,用 户必须在系统上有帐户。 系统管理员的工作包括为用户创建帐户以及在必要时通过改变用户 环境、口令、组成员来管理这些用户。 一、分析用户帐户需求 在用户登录和使用系统之前,系统管理员必须为该用户创建帐户。用户帐户不仅仅是 一个登录 ID,它还设置了用户的基本工作环境及系统访问的权限。 1、用户 ID 用户 ID 或 UID 是一个识别每个用户的唯一数字,由系统或管理员分配。建议个人帐户 UID 的最小值为 200, 最大值为 6000。 在某个确定的用户访问所有的系统时应当使用相同的 UID。 2、用户名 是在 login 提示符下键入的用户名,尽管用户名可有 1-8 个字符,但为和其他 unix 平台 兼容,建议使用 3-8 个字符长度、不能含有大写字母、不能含有冒号、不能以数字开头。 3、口令 在用户登录系统之前,用户帐户必须有一个口令,并可以设置以下内容的限制: ①、口令最小长度:用户可以拥有的最短口令长度,只能为整个系统设置。编辑 /etc/default/passwd 中的 PASSLENGTH 域来改变系统最小口令长度。 ②、口令期限:用来控制用户口令的期限,只能为整个系统设置。 编辑/etc/default/passwd 中的 MINWEEKS 来设置口令改变之前必须经过的星期数, 可以防止 用户巡回改变以前的口令; MAXWEEKS 设置在口令必须改变之前允许间隔的最大星 期数,用户必须改变口令才被允许登录。 4、登录 shell 是用户在登录后看到的命令 shell,缺省是 Bourne shell,也可设成其它类型的 shell。 5、主目录 是用户在系统上的“工作区”和目录,缺省是/usr/login_name。 6、用户组 组允许一系列用户共享文件,文件或目录上的组权限决定了组成员是否可以访问文件。 用户可以是许多组的成员,用户创建的文件拥有该用户所在登录组的组 ID。 二、创建、删除和闲置用户帐户 1、闲置用户 如果用户帐户暂时不用,可以闲置该用户。 ①、运行 scoadmin,选择 account manager ②、选择适当的用户 ③、选择 user--->retire ④、选择“OK”确认操作 2、激活用户 unretire login_name,之后必须改变口令。 3、控制口令期限 单个用户也可以控制口令期限,按以下步骤更改口令期限:

①、运行 scoadmin,选择 account manager ②、选择适当的用户 ③、选择 users--->password restrictions--->expiration ④、 “days allowed between changes”是变更之间必须经过的天数 ⑤、 “days until password expires”是口令必须更改之前可以经过的最大天数 ⑥、 “days until account is locked”设置了在因未改变口令而帐户被锁定之前必须经过的天数 ⑦、选择“OK”进行确认 4、删除用户 ①、运行 scoadmin,选择 account manager ②、选择适当的用户 ③、选择 user--->delete ④、选择“OK”进行确认 ⑤、把重要的文件移到其它位置 ⑥、删除用户主目录 rm –r /usr/login_name 三、帐户的加锁解锁 试图攻破一个系统的其中一个方法就是不断的猜测某个帐户的口令。可以通过限制不 成功登录次数来保护终端和帐户, 如果不成共功登录的次数超过了某个限度, 系统就将帐户 或终端锁住。 当然如果合法用户忘记了自己的口令,他们的终端或帐户就会被锁住,这种情况下, 可对终端或帐户进行解锁,这些用户才能再次访问系统。 1、设置帐户的登录限制 ①、运行 scoadmin,选择 account manager ②、选择适当的用户 ③、选择 users--->login controls ④、选择 failed login attempts allowed ⑤、输入自己选择的值,或选择 default 值 ⑥、选择“OK”接受更改 2、加锁、解锁用户帐户 ①、运行 scoadmin,选择 account manager ②、选择适当的用户 ③、解锁一个加锁帐户,选择“unlock account” ④、加锁一个解锁帐户,选择“lock account” ⑤、选择“OK”接受更改。在加锁的帐户旁边将显示一个加锁帐户符号 另外,系统管理员也可以使用命令行实现: passwd –l username 对一个帐户加锁 passwd –u username 对一个帐户解锁 3、设置终端的登录限制 ①、运行 scoadmin,选择 system--->terminal manager ②、选择 examine,输入适当的终端设备文件,或按<F3>在列表中选择适当的设备 ③、窗口显示登录信息:最后一次有效登录,最后一次失败登录,最后一次注销和最后一次 成功登录之后的失败登录企图的次数 ④、运行“consecutive unsuccessful logins” ,选择 specify。输入所需的限制,也可以指定一 个登录尝试之间的时间间隔和一个登录超时设定 ⑤、按回车键退出

4、加锁、解锁终端 ①、运行 scoadmin,选择 system--->terminal manager ②、选择 lock,输入适当的终端设备文件,或按<F3>在列表中选择适当的设备。选择“yes” 确认更改 ③、 选择 unlock, 输入适当的终端设备文件, 或按<F3>在列表中选择适当的设备。 “yes” 选择 确认更改 系统管理员也可通过命令行实现: ttylock terminal 加锁一个终端 ttyunlock terminal 解锁一个终端 第五章 文件系统 一个文件系统是一个允许 unix 进行存储和访问文件以及目录的结构。如果一个文件系 统受到损害,那么直到这个文件系统得到修复,用户才能够访问这个文件系统的任何数据。 如果一个文件系统上的空间被占满, 那么文件系统的性能将会降低, 用户将不能够保存他们 的工作。对文件系统进行的维护工作可以确保用户能够访问他们工作所需要的程序和数据。 一、查看文件系统信息 1、查看指定文件系统的类型 例如:fstyp /dev/root 2、查看已安装的文件系统 mount 二、安装和卸载文件系统 文件系统允许分级目录结构很容易扩展,因为存储的信息能够以一种无缝的方式添加 到系统中去。例如:如果想使一个 CD-ROM 变为用户可用的,它上面的文件系统就将出现 在现有的目录结构中。 在用户能够访问一个文件系统的数据之前, 该文件系统必须合并到现 有的目录结构中去,这个过程被称为安装一个文件系统。 1、安装文件系统 大部分永久性的文件系统都安装在 root 目录下,软盘和 CD-ROM 文件系统只有当介质 在相应的驱动器中时才能被安装。在安装一个文件系统时,必须具备两方面的信息:与该文 件系统有关的设备文件和安装点。 ①、文件系统的设备文件 每一个文件系统都有一个相关的设备文件。 下面列举了一些通常的文件系统和各自的设备文 件。 Root 文件系统:/dev/root U 文件系统:/dev/u 软盘文件系统:/dev/fd0 CD-ROM 文件系统:/dev/cd0 ②、安装点 一个安装点是一个现有的目录。如果安装点目录包含有文件,只要一个文件系统被安装 到这个点,就不能再访问那些文件。用一个绝对路径来指定安装点。理想的是安装点应当一 直是一个空目录。任何一个子目录都可以作为一个安装点。 mount /dev/filesystem_device mount_point 2、卸载文件系统 为了卸载一个文件系统,务必确认没有任何用户在使用这个文件系统,可使用下面的命 令来判定:

fuser –u /dev/filesystem_device umount /dev/filesystem_device 或 umount mount_point 三、修理非根文件系统 如果一个文件系统已经崩溃了,你必须修理它,然后才能安全地使用它。如果一个文 件系统在启动的过程中安装, 系统通常配置成在安装之前进行检查和修理。 可以在下面的条 件下手工的检查文件系统。 ①、文件系统在启动的过程中没有被安装 ②、文件系统被配置成在启动的过程中被安装,但系统没有被配置成进行检查 1、引起文件系统崩溃的原因 当一个文件系统崩溃的时候, 无论是实际的数据或者是存放数据的结构都会损坏, 下面几种 情况都能够导致系统崩溃: ①、硬件故障 ②、程序故障 ③、系统崩溃 ④、电源故障 ⑤、不恰当的关闭系统 最后两种情况是导致文件系统崩溃的最常见原因。 2、lost+found 目录 当修理一个文件系统的时候, 系统将试图修复任何丢失的文件, 将它们放置在位于每一个文 件系统中的 lost+found 目录中。 当修理了一个文件系统之后, 请检查这个目录中丢失的文件。 3、手工修理非根目录下的文件系统 ①、卸载文件系统 umount /dev/filesystem_device ②、修理文件系统 fsck –y /dev/filesystem_device 2>log_file ③、安装文件系统 mount /dev/filesystem_device mount_point 四、监视文件系统 当一个文件系统快要变得充塞拥挤的时候,文件系统的性能就会开始受到影响。如果一 个文件系统已经被充满了, 用户和软件就不能保存任何数据到这个文件系统之中。 永远也不 能允许一个文件系统变得完全充满拥塞, 在那种情况发生之前, 就应该增加文件系统空间的 大小,或者删除不再需要的数据。作为系统管理员应该有责任跟踪文件系统的使用,以作出 正确的规划。 1、确定文件系统的自由空间 使用命令:df –kv 其中:-k:用 1KB 区间的方式显示大小 -v:显示已经被使用的空间的百分比,同时也显示已经使用和 自由区间的个数 文件系统的性能在文件系统的自由空间的百分比低于 15%的时候开始降低。 2、确定目录的大小 如果一个文件系统快要变得充塞拥挤,可以通过下面的命令来确定每一个目录占用空间 的情况。 du –ks *|sort –nr|pg 3、确定用户对磁盘的使用情况

如果一个文件系统快要变得充塞拥挤,可以通过下面的命令来确定每一个用户占用空间 的情况。 quot /dev/filesystem_device 五、定位并管理用户文件 所有普通的操作,不管是用户还是程序,都会保存文件到一个文件系统,这些文件的 大部分是普通的数据文件, 但有一些也可能是核心文件, 这些文件是在一个程序出现问题时 创建的,可以通过定期删除这些文件来保持一定数量的自由空间。 1、查找大型文件 使用-size 选项来查找大于某一特定大小的文件: find / -size +n –print 其中 n 表示以 512 字节区间形式表示的文件大小。 2、通过所有者查找文件 使用-user 选项来查找属于一个特定用户的文件: find / -user username –print 3、查找并删除核心(core)文件 核心 (core) 文件是在程序因为出现错误或从用户那里收到一个 “quit”信号 (<ctrl>\或 kill –3) 而终止时创建的,这类文件通常被命名为 core,它包含一个被终止的程序的拷贝。 find / -name core –exec rm {} \; find / -name core –ok rm {} \; 六、管理系统日志文件和临时目录 unix 系统留有许多的日志文件,它们包含着有关系统使用情况的信息。当新的信息产生 时,系统就会将其附加到相应的日志文件中去,这些日志文件很快就变得非常大,所以要定 期检查这些文件,如果有必要的话,通过删除它们的内容来清理它们。 临时文件包含在执行程序时被创建为中间步骤的数据。如果程序出错或者用户在时机尚 未成熟时终止它, 这类程序就可能被保留下来, 在大多数情况下, 用户不需要使用临时文件, 可以删除它们。 1、清理关键的系统日志 >log-filename 下面列举了一些主要的系统范围增长迅速的日志文件: ①、/etc/wtmp:帐户记录 ②、/usr/adm/messages:系统信息日志 ③、/usr/adm/syslog:系统事件日志 ④、/usr/spool/lp/logs/*:打印机日志 2、清理关键的临时目录 下面列举的是一些主要的系统范围的临时目录: ①、lost+found(对每一个文件系统) ②、/tmp ③、/usr/tmp 请定期检查这些目录并删除其中较老的文件。


相关文章:
Unix Linux基础
Unix Linux基础_计算机软件及应用_IT/计算机_专业资料。Unix Linux基础,入门Unix/Linux 基础培训 1 基本 Unix/Linux 知识 1.1 UNIX/Linux 特点 UNIX操作系统是一...
UNIX系统基础知识
UNIX 系统基础知识 (2013 年版) 简介 本课程为 UNIX 系统培训系列的初级部分,通过介绍基础概念、我行 UNIX 使用概 括、 制度规范要求、 相关工作及涉及角色、 ...
UNIX系统操作入门
UNIX系统操作入门_电脑基础知识_IT/计算机_专业资料。unix 入门级命令,学会它天下我有 UNIX 系统操作入门(1) 登录步骤 === login : ___ => 输入 username ...
UNIX入门学习资料
UNIX入门学习资料_IT/计算机_专业资料。unix 入门学习资料 入门学习资料首先, 我们一起看看 UNIX 的目录, 因为清楚了目录, 才能对 UNIX 的框架有个大概的印象! ...
Unix基本操作
Unix基本操作_IT/计算机_专业资料。介绍Unix基本操作命令 1 UNIX 常用的命令 UNIX 常用的指令 1. ls 这是最基本的档案指令。 ls 的意义为 "list",也就 是将...
unix基础
unix基础_计算机软件及应用_IT/计算机_专业资料。unix基础知识的介绍计算机是由硬件和软件构成的 硬件是计算机的基础 CPU 负责处理一切计算过程 内存用来存储数据,所有...
Unix基础介绍
Unix基础介绍_理学_高等教育_教育专区。对UNIX的基础认识Unix 基础介绍 3.1 UNIX 系统简介 Unix 操作系统自 1969 年问世以来,至今已有 20 年的历史,目前这个操作系...
unix 基础
UNIX 基础 ---一、计算机系统组成 ---计算机系统 硬件: 中央处理单元(CPU):执行指令、处理数据 内存储器:临时性存储数据和指令。 外存储器:持久海量存储数据...
Unix 基础
12页 2财富值 UNIX基础大全 46页 5财富值 UNIX基础考题 4页 5财富值如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ...
Unix基础
Unix基础_IT/计算机_专业资料。1 基本 Unix/Linux 知识 1.1 UNIX/Linux 特点 UNIX操作系统是一种非常流行的多任务、多用户操作系统,应用非常广泛。UNIX的主 要...
更多相关标签: