Unix 初级教程


Unix 初级教程 课程介绍; 《Unix 初级教程》(第三版)【美】Amir Afzal 著,电子工业出版社 课程要求: Unix 特点及使用,Unix 系统的平台配置,系统设计,启动命令操作,文件系统的操作 及vi 等编辑环境和工具的使用。了解 Unix 系统多用户、多任务、分式的特点。 第一章 Unix Unix Unix Unix 系统概述 一、Uninx 的发展史 1965 年,AT&T、MIT 和GE联合开发 Multics; 1969 年,KenThompson 和Dennis Ritchie 在PDP-7 上汇编 Unix; 1970 年,PDP-11 系列机上汇编 Unix v.1; 1975 年,Unix v.6 发布并扩散到大学和科研机构; 1978 年,Unix v.7 发布,这是第一个商业版本; 1981 年,AT&T 发布Unix sys Ⅲ,Unix 开始转向为为社会提供的商品软件; 1983 年,AT&T 发布一个标志性版本 Unix sys Ⅴ,系统功能已趋于稳定和完善; 有代表性的其他的基于 Unix 构架的发行版本有:加州大学伯克利分校发行的 BSD 版本 主要由于工程设计和科学计算;开放源代码的 LInux 等。 二、Unix 系统的特征 1、可移植性强。其大量的代码由 C语言编写,而 C语言具有跨平台性; 2、多用户、多任务的分时操作系统。多个用户可以同时使用,人机间实时交互数据; 3、软件复用。程序由不同的模块组成,每个程序模块完成单一的功能,程序模块可按 需任意组合; 4、与设备独立的 I/O 操作,外部设备作为文件操作; 5、界面方便高效。Shell 命令灵活可编程。 6、安全机制完善。口令、权限、加密等措施完善,具有抗病毒结构,具有误操作的局 限和自动恢复功能。 7、多国语言支持。 8、内部多进程结构易于资源共享,外部支持多种网络协议。 9、系统工具和服务。具有 100 多个系统工具(命令)。 三、Unix 系统的组成 内核:kernel,为操作系统的核心部分,常驻内存,与硬件直接交互; 驻留(基本)模块:完成 I/O 文件、设备、内存及处理器时钟的管理,常驻内存; 系统工具:常称为 Shell,用户与 Unix 系统交互的一种接口,常驻磁盘,用户登录时即 调入内存。 第二章 Unix 使用入门 一、分式操作系统的概念。支持多用户同时使用一台计算机,分式操作系统叫 CPU 的 时间划分为多个时间片,每个用户一次只能运行一个时间片,时间片一到就让出处理机供其 他用户程序使用。 网络操作系统:多台独立工作的计算机用通信线路链接起来,构成一个能共享资源的更 大的信息系统,为 Client-Server 结构。 二、Unix 的外部运行环境 1、用户登录 用户登录时 shell 调入内存,Unix 启动完成后,在终端显示 login: 输入用户名后,启动login 程序来完成登录,login 检查下一步要执行的程序名(即shell) 出现系统提示。 登录的三个基本条件: ①主机启动完毕,②通讯端口打开,③终端开电 系统识别用户身份并允许用户使用的过程称为登录过程。 2、修改口令: $ passwd 不会回显用户输入的口令 3、退出系统 $ exit 或logout 或【Ctrl + D】退出 4、用户基本信息文件/etc/passwd 三、Unix 的启动过程 四、基本命令的使用 1、简单的命令 基本规则:①在命令提示符后发出命令②命令输入完并开始执行的标志是回车换行 ③命令执行完成的标志是出现新的命令提示符。 Who 命令,查看系统中所有已经登录用户状况,同一个登录名可以被同一个人或多 人同时使用多次,终端号可以标明使用者的位置,但并不能肯定(对虚拟终端而言)。 $who am i $who -H(显示各列信息的标题) $who -q (显示简要用户列表和用户总数) 2、通用命令格式: $ 命令名 [-命令选项][命令参数] 命令参数主要用于指明命令的操作对象,通常为文件名,方括号表示其中的内容可 缺省。 3、命令行更正和程序终止 命令输入错误但未执行时可用 BS 键删除或^H键;(约定:^H表示“Ctrl+H”); 若要强行终止当前正在运行的程序时,可按^C、Del 或Break 键。 常用命令:date 、cal finger 显示一个用户的详细命令 clear 执行清屏动作 echo 将命令后跟随的参数显示在屏幕上 wc 统计文件中的行数、单词数及字符数 五、联机手册命令 man 如:$man who 对who 命令的详细说明 Learn 和help 为非标准配置命令 六、shell 的种类,提示符和退出命令 Shell 的基本功能:①命令解释器②程序设计语言 Shell 的常用种类: ①bourne shell 程序名为 sh 提示符为$ ②C shell 程序名为 csh 提示符为% ③korn shell 程序名为 ksh 提示符为$ 另一种提示符为:#(超级用户) Shell 的退出命令: ①exit 主要用于 B_shell ②logout 主要用于 C_shell①②为正规退出命令,包含善后工作 ③^D 用于各类 shell 但^D常含有其他功能含义,尽量少用 经常使 man 命令,可随时了解一个命令的用法。 第三章 Unix 通信 Unix 通信包括两大部分:内部通信,Unix 本身自带的主要用于本机系统内部各用户之 间的通信;外部通信,Unix 系统之外配置的通讯系统,主要用于本机用户与其他主机上的 用户之间的通信。 一、即时通讯 1、交谈命令 write,半双工通信方式 格式为:$write usrname [terminal] Write 用于与一个已经登录系统的用户进行通讯 Write 协议:①消息发送结束用 o (结束) ②结束谈话用 oo (over and out,结束并退出) Write 命令的退出键是^D 2、消息开关命令 mesg Mesg 命令用于查询和开关本终端的消息接收状态 格式:$mesg [-y] [-n] 3、双向通信命令 talk(全双工方式) 4、广播信息命令 wall(write all)常用于通知一些紧急事件。 二、电子邮件 $mail username 发送邮件 $mail 接收邮件 在系统目录/usr/mail 或/var/mail 下,每个用户都有一个以其名字命令的邮箱,个人邮箱 通常为用户自己的主目录下的 mbox 文件:/home/usrname/mbox 1、发送邮件:$mail std01 接收者姓名用其 login-name,即登录名 标题subject 和抄送 cc可以省略 给多用户发送邮件: ①$mail st01 st 02 st03 ……枚举法 ②$mail ST ST 为用户组名 ③$alias usr-list st01 st02 st03 ……建立一个总的别名只在本 shell 中起作用 $mail usr-list ④$mail st01 < my-letter 把已有文件发送 2、接收邮件 $mail 不带任何参数 3、在mail 的命令模式中的常用命令 p 显示本邮件信息 s file 把当前邮件保存到 file 文件中 m usr 给usr 发新邮件 d 删除当前邮件 n 显示下一邮件 q 退出mail r 回复邮件 !执行 shell 命令 ?显示 mail 内部命令 第四章 Unix 的文件系统 一、文件的概念 文件是:数据的集合 字符流或称为字节流 OS不对文件进行任何结构化 在Unix 中,文件是字节序列 二、文件类型 普通文件 没有内部格式,文本数据或代码数据 目录文件 将所有内容组织成一个表,目录内文件名的列表 特殊文件 代表sys 中的设备,在/dev 目录中 三、路径名 有斜杠“/”分割的目录名组成的一个序列,它指示找到一个文件所必须经过的目录。 路径有两种类型:全路径(绝对路径),由根目录/开始;相对路径,由当前目录开始的路径; “.”表示当前目录,“..”表示上级目录。 四、与目录相关的命令 pwd 显示当前工作目录,返回全路径 cd 改变当前工作目录 change director mkdir 创建目录 make director rmdir 删除目录 remove director ls 显示目录中的各项 工作目录:在 Unix 中,用户总出于某个正在工作的这个目录叫工作目录或当前目录。 一次操作多个目录,需要使用带-p参数的命令选项。 如:$mkdir -p dir1/dir2/dir3 有下列二中情况之一时,rmdir 命令无效:①待删除的目录不是空目录②你对待删目录 无写权限。-p 选项一行命令可以创建一个完整的目录结构。 ls 命令的使用: $ls -a 显示所有文件,以“.”开头的文件是隐藏文件 $ls -R 显示所有子目录的内容 $ls -l 列出目录中文件的详细信息 drwxr-xr-x 2 zhang student 48 Sep05 16:35 hist d代表文件类型为目录文件(-表示普通文件,d目录文件,c字符设备,b块设备,p 管道)d后面的 9位可以分为 3组,表示文件保护模式;2表示文件链接数;zhang 为所有 者,student 为所属用户组;48为文件大小 48字节;Sep5 16:35 为最后修改时间;hist 为文 件名。 -F选项功能:如果是目录文件名后加“/”,如果是可执行文件,加“*”表示 -r 以字母反序列表 注意ls 命令每一个选项字母前都要加连字符,命令名和选项之间必须要有空格。 五、Unix 文件系统 1、文件系统的存储结构 Unix 可以把一个能随机存取的存储介质上的存储空间划分成一个到多个区域,每个区 域都可以像独立的物理设备一样单独的进行管理和数据存取,这样的存储区域既是逻辑设 备。在逻辑设备上按照一定的格式进行划分,就构成了逻辑文件系统,简称文件系统。 | 引导块 | 超级快 | i节点表 | 数据存储区 | 引导块:sys 上点时引导加载 OS 超级快:存储文件系统的标题信息 i节点表:其中的每一个表项存放一个文件的静态信息 数据存储区:实际存放数据的地方,以块为单位存取 2、文件系统的建立 #mkfs special blocksize gap blocks specialfile:要建立文件系统的逻辑设备名 blocksiza:块大小,gap 间隔因子,用于提高读写速度 blocks:文件系统的大小(快熟) 3、文件系统的安装与卸载 建立好的文件系统在使用时应挂接到一个目录下: #mount special specialfile directoryname 如:mount /dev/hd03 /mnt 4、文件系统的逻辑结构。 所有静态的对象都属于文件的范畴。 5、目录文件的内容 目录是一种特殊的文件,作用在于把相关的文件组织在一起,每个目录条目包括文件名 (或子目录名)一个相关的 inode(i节点)序数。 6、索引节点(inode,i节点数) 磁盘i节点表中的一个表项,存放文件的静态信息,各文件之间是以 i节点号相互区别 的。 用户访问文件的过程: 指定文件名===>找到相关的 inode 节点序数===>访问inode 节点表===>找到文件位置 ===>访问文件中包含的数据 Inode 节点表中包含了指定文件的各种相关信息。 六、与文件相关的操作命令 常用的有:cp ===>拷贝; mv ===>移动或重命名; ln===>链接文件; Cat(more)===>查看文件;rm ===>删除文件; 1、文件名及其规范 ①文件名长度:14~512 个字符; ②文件名可用字符 A~Z、a~z 下划线“_”、0~9,但不能用空格; Unix 系统中对文件名的含义不作任何解释,文件名后缀的含义由使用者或调用程序 解释。AIX/Linux 系统中的文件名命名规则:①只能使用字母、数字及三个特殊符号#@_ 也可用点“.”②文件名中不包含 shell 使用的特殊符号如*?>翻屏,linux 下没有 pg命令 4、删除文件命令 rm,且rm删除后无法恢复 $rm file1 file2 …… 选项:-i 删除前给出确认提示 -r 递归删除指定的目录及目录中的所有文件和子目录,即删除整个目录 -f 强制删除,无需逐一确认 如:$rm -rf 强制删除某文件夹及其内容 5、打印文件 lp 命令 $lp [-options] files1 [file2 file3 ……] 选项:-d 在指定的打印机上打印 -n 指定打印份数 打印控制命令:$lp stat 显示打印系统中打印请求和打印机状态 $cancel 撤销还未被执行或完成的打印请求 格式户输出命令 pr $pr file1 [file1 file2 ……] 命令pr把文本文件按标准打印格式显示在屏幕上 6、切取文件命令 cut 用于切取文件中的列或字段 参数:-f 指定字段的位置 -c 指定列位置 -d 指定字段分隔符,缺省为制表符 7、链接文件 paste 把文件一行接一行的连接在一起,或将两个或多个文件的域连接到一个新文件。 第五章 文件的权限 一、文件的权限概述 文件权限分为:读(r)、写(w)、执行(x); 文件保护:rwx rwx rwx 三组分别为用户、用户组、其他用户的相应权限; 对普通文件:①r(read)是能够查看文件内容②w(write)是指能够改变和删除文件内 容③x(execute)是指能够将文件名当作命令执行(需同时具备 r) 对目录文件:①r(read)是指能查看目录中有哪些文件②w(write)是指能在目录中创 建或删除文件③x(execute)是指能够进入目录之中(用cd命令进入到目录中或访问其中的 文件) 对于目录,当想访问目录中的任何文件或子目录时,x权限都是必须的,如果想使 w权 限起作用,则它必须同时具备 x权限。 文件权限的检测: 常用ls -l命令。 二、修改文件的权限 常用chmod 命令 $chmod pattern filename …… Pattern 为将要变成的权限,可用字母形式或数字形式 ①字母形式 有用户类型(u、g、o)、如何改变(+、-)和权限(r、w、x)组成。 如:$chmod u+x file1 t(stichy)使文件的正文保留在内存,不被交换到外存 s(setuid)使文件的调用者具有文件属主的权限 ②数字形式 把九位字母形式的权限划分为三组,每组三位在每一位上有对应权限则为 1,没有则为 0,因此把九位权限变成三位八进制数。 如:rwxrw-rw- 对应111 110 110 即八进制的 766 $chmod 754 file 即rwxr-xr-- 若执行$chmod 000 file 可保护文件 三、缺省的文件权限 新建的文件及目录的缺省权限分别为: 文件 - rw- r--r-- 644 目录 drwxr-xr-x 755 可通过更改系统变量 umask 的值修改缺省值,umask 为状态掩码。新建文件或目录的 umask 缺省值为 022,缺省值 022 是在文件/etc/security/user 中设置的。新建文件的最大权限 为666 即-rw-rw-rw-,新建目录的最大权限为 777 即drwxrwxrwx。 新建文件(或目录)的最大权限=状态掩码+新建文件(或目录)缺省值,此时 umask 值为000,即缺省权限=最大权限—状态掩码 umask 如果拥有文件所在目录的写权限,那么你将超越文件本身的权限限制,所以给其他用户 授予目录的写权限时是非常危险的。 使用ls -l命令可以查看文件的具体权限。 第六章 vi编辑器 一、概述 1、编辑器的基本工作流程: ①读入已有文件或建立新文件到内存编辑缓冲区 ②编辑文件 ③将编辑结果写回到磁盘 2、编辑器的类型: ①行编辑器:命令为 edit、e、ex ②屏幕编辑器:以字符为单位,命令为:vi、v、view 二、vi 编辑器简介 1、工作模式: 命令模式:进入 vi 后的初始模式,主要包括移动光标、删除文本、粘贴文本和查找文 本等; 文本输入模式:除 esc 外都作为输入字符键 2、vi 的基本使用 ①从shell 进入vi、$vi filename ②退出vi 返回shell,在命令模式发出“:wq”并按回车 以冒号(:)开始的命令需要按回车才开始执行 三、vi 编辑器的命令与模式使用 vi 的主要功能: 输入文本 <======文本输入模式 移动光标 <======命令模式 删除文本 替换文本 搜索文本 其他辅助操作 保存文件,退出编辑器 1、从命令模式进入文本输入模式的命令键: ①i在光标前插入文本 ②I在光标所在行行首插入文本 ③a在光标后插入文本 ④A在光标所在行行尾插入文本 ⑤o在光标所在行下面一行加一行 ⑥O在光标所在行上一行加一行 Esc 退回到命令模式 2、命令模式: ①光标移动: ↑↓←→上下左右移动 空格键:光标右移 退格键:光标左移 ②删除文本: x删除光标所在字符 dw删除光标到词结尾 d删除光标到行尾 dd删除光标所在行,2dd 删除光标后两行 ③替换文本: 字符替换 r (只替换一个字符) 单词替换 cw (不等长替换) ④搜索文本(/和?) /与?差别在于查找方向不同,一个向后,一个向前 ⑤其他辅助操作: u命令: 取消最近一条修改文本的命令 .命令: 重复最近一条修改命令 p命令: 将最后一次删除粘贴于光标之后 ⑥保存文本退出 vi :wq 保存退出 :w 保存 :w file 把文本另存为 file :q 退出vi :q!强行退出,不保存 四、行编辑器 edit 1、进入行编辑器的两种方法: ①从shell 进入 $edit (或e、ex) file ②从vi 的屏编辑器进入行编辑,在命令模式下按冒号 2、退出编辑: ①从行编辑退回到屏编辑,按 v或vi ②从行编辑退回到 shell ::wq : w filename :w! Filename : q :q! 五、Vi 命令的其他选项 1、恢复上次的编辑副本 $vi -r filename 2、编辑多个文件 $vi file1 file2 …… 3、编辑加密文件 $vi -x filename 若被编辑文件 filename 是经encrypt 加密的,则可使用-x选项回答了口令之后对文本编 辑。 4、vi 除文本编辑之外的功能 ①在vi 中执行 Unix 命令(如!ls),也可以在!前加入 r,可将命令执行的结果嵌入到 vi 中; ②命令行编辑功能($set -o vi)。 第七章 Shell 一、shell 概述 1、Unix OS的组成:有两部分组成:内核和应用。用户与操作系统通过 shell 进行通 信,而基于硬件的操作由内核完成。 2、Shell 的概念:shell 是用户与系统之间的借口。Shell 解释用户的命令以启动应用 程序,并且使用系统工具来管理用户的数据;shell 能使用户与前台的进程进行交互时, 左右台同时运行多个进程。 3、Shell 的定义和功能。 ①shell 是提供 OS内核kernel 与用户之间交互的特殊程序; ②shell 的主要用途是翻译提示符后面的命令; ③shell 的另一个重要功能是通过设置 shell 初始化文件,使用户环境个性化; ④shell 可作为解释型的程序语言。 4、用户与 shell 交互 用户登录→shell 显示提示符→用户输入命令→shell 执行相应的程序→用户与程序交 互→用户退出; Shell 是Unix 中最常用的系统工具,它是一个复杂的程序,用来管理用户与 Unix sys 间的对话。 5、shell 的主要特征: Shell 是放在/bin 目录下的,程序名为 sh ①命令执行 ②文件名替换 ③I/O重定向 ④管道 ⑤环境控制 ⑥后台计算 ⑦shell 脚本 二、通配符 1、异字符是 shell 中有特殊含义的字符 有:< > /;!*?[] $ \"' 2、通配符是异字符的一个子集,主要用来搜索和匹配文件模式 有:*?![]- 3、文件名中的字符替代 在shell 中通配符?可替代任一个单字符*可替代任意个字符,但二者不可替代以.开头 的文件;还可以用[]!- 来代替字符,方括号中的内容可以替代一个字符。 $rm *.* 删除文件名中至少包含一个点号的文件 $rm * 删除所有文件 三、I/O重定向 1、标准文件 Linux 中的标准 shell 是bash shell,对系统的任意进程有三个文件是自动打开的:标 准输入,标准输出,错误输出。标准输入 stdin,指进程获得输入的地方,常指键盘。标准 输出stdout 和标准错误输出 stderr,是进程置放输出的地方,常指屏幕。 2、文件指针(文件描述符) 每个程序都有与之相关的文件指针,当程序启动时,shell 将三个标准文件制定给该程 序。程序打开其他文件时,将由新的指针指向该文件: 文件指针 重定向符号 文件 0(输入) < STDIN 1(输出) > STDOUT 2(错误输出) 2> STDERR 3、输入重定向 使用<符号将输入重定向,由标准输入变成文件输入 Command < filename $mail team01 表示内容从键盘输入; $mail team01 < letter 表示内容从 letter 输入。 4、输出重定向 ①使用>符号,输出由屏幕变为文件,而且会覆盖一个已存在的文件;使用>>符号,将 其附加到制定文件的尾部,可避免覆盖已存在的文件。 $ls >ls.out $who>>whos.there ②使用I/O重定向扩展 cat 命令: 可创建小的新文件:$cat > newfile 可复制文件: $cat myfirst > myfirst.copy $cat < file 与$cat file 等效 ③错误输出重定向: 使用2>符号,使用 2>>追加到一个文件的尾部 $cat filea fileb 2> /dev/null 特殊文件/dev/null 是个黑洞,用户需要的任何数据都可以扔到其中,/dev/null 的最 特殊的属性是它总是空的。 ④重定向的组合: $command outfile 2>errfile 特殊重定向:$command > outfile 2>&1 STDOUT 与STDERR 全指向 outfile ls命令的特殊重定向:$ls -l /*/* >list.file 2>&1 四、管道 多命令之间用“|”分隔开,这就是管道,每一个命令的输出作为下一个命令的标准输 入。格式: cmd1 | cmd2 $ls | wc -w 五、过滤器 过滤器是一条命令,它从标准输入读入数据,将输入的数据进行某种形式的装换后,将 其写向标准输出;因此,它可能被用在管道中间。 格式:command | filter $ls |grep ^n | wc -l (grep 充当过滤器) grep ^n 用于查找所有以字母 n开头的文件名,然后输出通过管道到命令 wc -l。 六、常用的 shell 命令 1、分离输出 tee 命令tee 从标准输入中读取数据,而后将数据发送到标准输出文件;可以获得管道中信 息流的快照,tee 不会更改数据的内容。 $ls |tee /temp/ls.save |wc -c 结果是:①把ls的结果放到/temp/ls.save 中 ②对ls的结果执行 wc -l统计命令,并在屏幕上显示统计结果。 ⑴群命令 当一次执行多个命令,彼此之间以分号“;”分割时,可以放在同一个命令中,这样前 一个命令的输出与后一个命令的输入无任何关系; $ls -R > outfile ;exit ⑵续行符(“\”) 反斜杠(“\”)必须是命令行的最后一个字符,输入它之后必须紧跟回车键; $cat /home/team/myfile \ > /home/team/letter 等效于:$cat /home/team/myfile > /home/team/letter 2、find 命令 在一个或多个目录中,查找符合特定条件的文件名,显示这些匹配的文件名,或是对这 些文件执行操作。 格式:find path expresion Expresion 包括两个选项,查找选项和动作选项。 $find -name 'm*' -exec ls -l {}\; 括号{}代表发现的文件名。“\”表示引用,指shell 不对其内容作做任何特殊解释,有 find 对其解释。 3、文件搜索命令 grep (Global Regular Expression Print) 作用:在标准输入,单个或多个文件中查找匹配特定模式的文本行,是文本搜索和选择 的命令; 分类:简单匹配和正则表达式匹配; 格式:grep [option] pattern [file1 file2 ……] $who |grep team01 $grep -i unix file? 在file?中搜索含 unix 当当文本行,-i对unix 不区分大小写 $grep -vi unix file? 选项-v为不含 unix 的文本行 4、sort 命令 命令sort 的作用在于将制定文件中的行进行排序,并把排序结果输出到标准文件中。 格式:$sort [-t delimiter][+field[.column]][option] 如果没有指定文件名,那么将对标准输入进行排序。 命令sirt 中可用的选项: ①-d 以字典顺序(缺省时用); ②-r 以字典的反序 ③-n 对数字域,以算术值为标准 如:$cat animals Dog.2 Cat.4 Elepha.10 Rabit.7 $sort animals 与以下命令等效:$cat animals |sort -t. -n +1 -t.表示以“.”为分隔符,-n +1表示忽略第一字段。 5、head 命令 用于查看一个文件或多个文件的前面几行内容。 格式:$head [-number_of_lines] files 系统缺省为 10行,用户可指定一个以上的文件名。 $head -5 myfile 6、tail 命令 用于显示从指定行开始直到文件末尾的文件内容。 格式:$tail [-number_of_lines/+number_of_lines] file $tail -20 file 从倒数第 20行到末尾; $tail +20 file 从正数第 20行到末尾。 本章小结: ①通配符?和*替代字符,[]与?相似; ②文件指针(三个):STDIN,STDOUT,STDERR 是自动打开的; ③I/O重定向,改变命令缺省的输入源与输出目的地; ④管道。将前一个命令的输出直接作为下一个命令的输入; ⑤过滤器。对数据进行处理; ⑥tee 命令,将输入送到两个地点:标准输出和文件; ⑦find 命令:用于在目录中递归的搜索包括有特定字符的文件名; ⑧grep 命令。用于选定包含特定模式的文本行; ⑨head 与tail 命令:用于查看特定文件中指定行的内容; ⑩sort 命令:用于安装指定的模式将文件的内容重新排序。 第八章 进程 什么是进程? Unix 是通过对进程的管理来管理用户和系统的各种命令和程序的运行。进程就是一项 任务,一个正在系统中运行的程序就是进程。 一、进程监控 1、进程及进程状态 进程是可运行程序在内存中的运行实例。进程是动态的,它有自己的生命周期和不同状 态,而进程是静态的,通常存放于某种介质;一个程序可以同时在内存中有多个运行实例, 即同时作为多个进程的组成部分。 每个进程运行时都需要经过: 创建→运行→等待→运行……等待→运行→结束的生命周期。 生命周期大致可分为三种状态: ①运行态:进程正占用 CPU和其他资源进行运算; ②就绪态:进程已做好一切准备,等待获得 CPU投入运行; ③睡眠态:进程因等待输入输出或其他系统资源,而让出 CPU资源等待运行条件满足。 在就绪态得到资源可到运行态。 2、获得进场状态信息 ps命令 不带任何参数的 ps命令运行时,显示该用户当前活动进程的基本信息。 $ps PIDTTYTIMECOMMAND 612 tty08 0:37 sh 931 tty08 0:01 ps PID为进程标识号,TTY为启动该进程的终端号,TIME为进程累计占用 cpu 的时间, command 为产生进程的命令。 ps的常用选项有-e(-a)显示系统中所有活动进程的信息;TTY中间?表示系统后台进 程。 Swapper 为交叉进程,init 为初始进程,cron 为定时启动进程; $ps -f 显示该进程的所有信息; UID 为进程所有者的用户标识数; PID 为进程标识数; PPID 为进程的父进程的标识数; C 进程调度参数,反应本进程使用 cpu 的状况。 3、暂停进程运行:sleep 格式:$sleep time $sleep 5 (暂停 5秒) 4、终止进程:kill 三种终止情况: ①进程结束,自动消亡; ②用户用^C或Del 等中断键,强行终止前台进程; ③用户发出 kill 命令,强行终止后台进程或键盘锁住的前台进程。 Kill 命令的三种常用格式: ①kill PID 正常结束,完成善后工作,类似于按 Del 键; ②kill -1 PID 先挂起该进程,终止子进程,完成善后并终止该进程; ③kill -9 PID 立即强行终止,无善后,可能出现资源浪费和孤儿进程;某些用户占用 的空间可能还没有回收。 二、进程的有关概念 1、生存周期:进程从创建进程开始到运行结束的时间; 2、Shell 进程的生存周期:从 login 到logout; 查看当前进程的 ID使用$echo $$ 3、进程的环境 父进程,子进程是父进程的产物,并继承许多父进程的许多重要信息,PPID是父进程 的标识数。 4、控制进程 前台进程,从终端上启动,并在与终端交互; 后台进程,进程启动后,独立地运行,与启动它的终端不交互; 进程可以在后台运行的必要条件: ①不需要键盘输入; ②在调用命令启动它时,命令行的最后一个字符是"&";如:$ls -R > bigfile& 5、中止进程 对前台进程用:^C或kill 命令; 对后台进程用:kill 命令; Root 用户可以使用 kill 中止任何进程。 6、监督进程 daemons 监督进程又叫守护进程,永不中止,用来控制系统资源,伴随于系统启动至关闭;常用 的监督进程有:cron、pdaemon,errdaemon 等。 本章小节 重点掌握 ps命令,了解常用概念,在命令行末尾使用&符号,来启动一个后台进程,使 用kill 中止进程。 第九章 系统管理 系统管理工作是对整个系统所有软硬件的综合应用管理工作,使系统能高效、安全和协 调的工作。通常系统管理工作由具有超级用户权限的系统管理员来完成。 一、磁盘管理 1、磁盘空间检测:df (disk free) df命令显示当前系统中各个逻辑磁盘(文件系统)中空闲的磁盘块( 512 字节/块)数 和空闲的索引节点(即可建立的新文件数)。 $df –k 以1024 字节为单位 $df -t (-t可给出文件系统的磁盘块数)。 2、磁盘使用情况统计:du (单位为磁盘块数) $du 目录名 (缺省情况下为统计当前目录;) $du -a ./run/tmp 统计/run/tmp 目录及其所有子目录和文件的情况。 二、文件系统 fs管理:fsck 由具有超级用户权限的的系统管理员执行,用于检测和修复 fs的错误。 三、文件存储与备份 tar tar 常用于多个文件(包括目录)的或转移。 基本格式:tar -cvf target file1 file2 ……备份file1、file2 备份到档案文件 target; tar -tvf target 检查target 中包含的文件信息; tar -xvf target [file] 从档案文件 target 中提取全部或 file 指定文件;、 $tar -cvf ./data/trans/tar ./scr/*.c $tar -tvf ./data/backup.tar $tar -xvf file.tar $tar -xvf /dev/tape account.c 从磁带上读入 account.c 文件。 四、系统启停 1、系统初始化控制进程 init Init 的主要功能就是根据/etc/inittab 文件所描述的过程,建立各个系统进程;Unix 核心 有多个运行级别,运行级别由 init 命令的参数指定。 #init [1236] 0级 关闭系统资源,关机; 1级 进入单用户状态,拒绝普通用户登录; 2级 进入普通多用户状态,允许普通用户登录; 3级 进入带网络功能的多用户状态;★ 6级 关闭各种系统资源,重启系统。 Init 在引导系统进入指定用户级别时,常常需要调用指定目录下的各种由 shell 编写的控 制程序,如:rc1.d rc2.d rc3.d rc6.d 2、系统关机命令:shutdown Unix 系统关机时必须使用 shutdown 以完成关机前的各种善后工作; 格式为:shutdown [-hr] time [message] -h 完全关机,-r 关机并重启,time 关机时间,如 17:30 、+10 或now 等。 五、文件加密与压缩 1、文件加密命令 crypt $crypt file.cry 对file 加密,结果保存于 file.cry 中; $crypt aaa 对aaa.cry 解密,结果保存于 aaa 中; $vi -x file.cry 编辑一个加密后的文件; 文件加密前后大小是一样的。crypt 能自动识别输入文件的格式,是否为加密后的格式; 如果是,则解密;否则加密。 2、文件压缩和解压命令:conpres unconpress 文本文件压缩可大量节省存储空间。 $compress data_file 生成data_file.v 并删除 data_file; $unconpress abc.v 生成abc 并删除 abc.v; 六、定时执行任务 1、用户定时执行任务 at,常常只允许少量的用户使用 at命令。 $at 0815 #在08:15 执行 Who >> userlist #把上机用户清单存入文件 ^D #输入结束; 2、系统定时执行任务 cron 在系统启动时,cron 命令读取 crontabs(/usr/spool/cron/crontabs 目录下的描述文件), 描述文件中的每一行具有如下格式: Minute hour monthday month weekday command #每天零时清理登录日志和临时目录: 0 0 *** > /var/adm/wtmp 0 0 *** > rm -r /tmp/* 2> /dev/null #每10分钟记录一次用户的登录情况: 0,10,20,30,40,50,**** who >> userlist 3、任务描述文件的管理命令 ①crontab -e [username] 编辑指定用户的任务描述文件; ②crontab -l [username] 查看指定用户的任务描述文件; ③crontab -r [username] 删除指定用户的任务描述文件。 2011 年3月3日星期四于郑州大学
还剩17页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 1 人已下载

下载pdf

pdf贡献者

1363833182

贡献于2012-09-15

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf