河北工业大学操作系统实验报告linux - 和windows部分 联系客服

发布时间 : 星期四 文章河北工业大学操作系统实验报告linux - 和windows部分更新完毕开始阅读53c39916a8956bec0975e38a

软件c122郭嵘峥 125448

重定向标准输出命令的格式是: command > file

1) 为核实当前所在目录位置,使用什么命令? pwd

如果当前位置不在主目录中,使用什么命令可以改变到主目录中? cd /_

2) 如果希望把文件和目录列表截获,存储为主目录中的一个文件,这样可以追踪主目录中有什么文件。使用什么命令,把长文件列表的输出重定向,创建一个叫做homedir.list的文件。 ls >homedir.list_

3) 新文件homedir.list被放在哪里?

根目录_ 使用ls命令核实新文件存在。

4) 使用什么命令,以一次一屏的方式,来查看刚才创建的文件内容? _ls –l|more homedir.list 5) 使用head命令截获homedir.list文件的前10行,通过重定向,创建一个叫做dhomedir.list-top-10的新文件。应该使用什么命令?

head –10 homedir.list >dhomedir.list-tail-10 使用more命令查看文件的内容。

6) 使用tail命令,截获homedir.list文件的最后10行,通过重定向,创建一个叫做dhomedir.list-top-10的新文件。使用什么命令?

tail –10 homedir.list >dhomedir.list-top-10

使用more命令查看文件的内容。

7) 截获cal -y命令的输出,把它存到名为calendar的文件中。查看文件的内容。截获了什么

cal –y>calendar |more calendar 截获了2011年12个月份的日历

8) 截获cal 2010命令的输出,把它存到名为calendar的文件中。查看文件的内容。其中有什么内容?

cal -y 2010 > calendar |more calendar 2010年12月份的日历 日历有什么变化?

不是2011年,变成2010年了 步骤4:防止使用重定向的时候覆盖文件。 在bash shell中,一个叫做noclobber的选项可以用来设定防止在重定向的过程中覆盖文件。可以在命令行中使用$set -o noclobber命令来完成。o代表选项。

为了重新激活clobber特性,使用$set -o noclobber;撤消则用set +o noclobber。

如果你使用的是csh shell,为了激活/撤消C shell中的clobber特性,使用set noclobber和unset noclobber。

1) 输入命令,打开shell中的noclobber选项。输入什么命令?

set –o noclobber_ 2) 输入命令ls -l > homedir.list,结果是什么? bash:homedir.list:cannot overwrite existing file.因为clobber选项防止了 重定向过程覆盖文件___________________________________

3) 输入命令ls -l > homedir.list2,结果是什么?

不能重定向成功 步骤5:向现有的文件追加输出。

如果想向一个现有的文件追加 (添加到末尾) 文本而不是覆盖它,可以使用双右尖括号 (>>) 。这个选项当文件不存在的时候,会创建一个新文件,或者追加到已有文件。

追加命令的格式是:

软件c122郭嵘峥 125448

command >> file

1) 输入命令,显示“Happy Bday”一行字,使用重定向符号截获输出,把它存到叫做bday4me的文件中。使用什么命令?

echo “Happy Bday” >>bday4me

2) 输入命令,显示 一行字,使用双重定向符号,把输出追加到bday4me文件中。查看bday4me文件的内容。其中有什么?

echo “HELLO” >>bday4me (HELLO是自己随便键入的) 3) 输入命令,显示您出生年月的日历 (如果在1985年的6月出生,输入cal 6 1985) ,使用双重定向符号,把输出追加到bday4me文件中。使用什么命令?

cal 06 1989 >>bday4me_ 4) 查看bday4me文件的内容。注意这3个命令的输出在bday4me文件中已经被组合起来了。您是在一周中的哪一天出生的?

周一 2. 使用管道符号

步骤6:把命令的输出导入到另一个命令中。

1) 使用管道元字符,发送ls -l命令的输出,作为more命令的输入 (注意:如果在当前目录中没有太多的文件,使用 /etc目录获取长列表) 。把输出作为more命令的输入的时候,得到什么结果?

输入命令ls –l |more 结果以一屏一次的方式显示在屏幕上 2) 查看使用ls –l | more命令列出来的文件,注意创建或修改的日期。为了查看在同一个月被创建或修改的文件或目录的列表,可以使用grep命令对那个月进行搜索。当月份显示在列表中的时候,指定它 (例如:Oct) 。输入命令ls -1 | grep Oct (或者想查找的月份) 。

结果是什么?

只显示10月的目录_ 3) 目录总是4096字节大小。输入命令ls -1 | grep 4096。产生的列表是什么?

4096字节大小的目录显示 4) 可以使用多个管道连接多个命令。输入取得长文件列表输出的命令,把它输入给tail命令,然后到sort命令。输入的命令是: ls –l|tail|sort 5) ps (进程状态) 命令用于查看Linux系统中运行什么进程。把ps -e命令的输出输入给more命令。-e选项将给出每一个在系统中运行的进程。把输出输入到more命令中的结果是什么?

输入命令_ps –e|more____显示所有系统中运行的程序___ 步骤7:删除在本实验中创建的文件和目录。 步骤8:关闭终端窗口,注销。 可选练习

1. 使用set -o命令不指定任何选项,可以查看noclobber特性是否已经打开。

1) 输入set -o。noclobber特性打开还是关闭的?如果它是关闭的,打开它。使用什么命令?

关闭set –o noclobber 2) 永久的关闭noclobber特性。使用什么命令? set +o noclobber 软件c122郭嵘峥 125448

2. 可以把管道和重定向组合起来使用,达到特殊的效果。输入命令创建一个名为top5.list的文件,内容为主目录中的头5行记录,使用什么命令? ls –l|head –5 >top5.list

3.4 管理Linux系统进程

(实验估计时间:90分钟)

? ? ? ?

? 背景知识 ? 实验目的

? 工具/准备工作 ? 实验内容与步骤

背景知识

在本实验中,我们将使用Linux命令工作,来标识和控制系统进程。Linux操作系统使用进程管理作业,进程由系统或者用户初始化。用户在Linux环境下执行的作业大多数都会启动一个进程。进程可以启动或者派生一个子进程,这样创建了一个进程层次结构或者进程树,类似于具有父子关系的文件系统层次结构。

可以使用ps (进程状态) 命令工作,监控系统进程,使用kill命令终止不想要的进程。 实验目的

1) 回顾系统进程的概念,加深对Linux / UNIX进程管理的理解。 2) 回顾ps命令和选项。 3) 列出当前shell中的进程。

4) 列出运行在系统中的所有进程。 5) 根据命令名搜索特定的进程。 6) 确定一个进程,终止它。 7) 使用kill命令终止进程。 8) 根据用户查找和终止进程。 9) 根据命令名终止进程。 工具/准备工作

在开始本实验之前,请回顾教科书的相关内容。 您需要做以下准备:

1) 由指导老师分配的登录用户 ID (如user2) 和口令。 2) 一台运行Red Hat Linux操作系统的计算机。 实验内容与步骤

步骤1:登录进入GNOME。

在Linux登录框中填写指导老师分配的用户名和口令,登录Linux系统。 步骤2:访问命令行。

单击红帽子,在“GNOME帮助”菜单中单击“系统工具”-“终端”命令,打开“终

软件c122郭嵘峥 125448

端”窗口。

步骤3:回顾系统进程概念。

每个运行的程序都会创建一个进程,进程分配到一个唯一的进程标识符 (PID) 。PID被系统用于标识和跟踪进程,直到进程结束。操作系统内核管理所有进程的初始化和终止。每一个进程都要求系统资源 (例如CPU时间和RAM空间) 在其中工作。当进程启动的时候,操作系统把系统资源分配给每个进程,当进程终止的时候,系统回收这些资源。在Linux系统启动的时候,首先启动的两个进程是sched (调度) 和init (初始化) ,它们管理着其他进程。Linux系统中有几种不同类型的进程:

守护进程:由Linux内核启动的进程,为了特定目的而存在。例如,lpsched守护进程存在只是为了处理打印作业。

父进程:派生其他进程的进程是父进程。一个叫做init的守护进程是第一个调用的进程。每一个进程,除了init之外,都有一个父进程。

子进程:由其他进程派生出来的进程叫做子进程。

孤儿进程:在进程返回输出之前,它的父进程结束了,这样的进程叫做孤儿进程。 僵进程:子进程没有带着输出返回给父进程。这样的进程在系统中变成丢失的进程。 使用此前的信息,完成以下填空:

1) Linux系统中,几乎每一个启动的进程,都会由内核分配一个唯一的PID 进程标识符,用于跟踪从进程启动到进程结束。

2) 当启动新进程的时候,内核也给它们分配系统资源,如 CPU时间和RAM空间 。

3) 永远不向父进程返回输出的进程叫做 僵进程 。 4) 由父进程派生出来的进程叫做 子进程 。 5) 父进程 是一个派生另一个进程的进程。

6) 运行用于提供服务的Linux系统进程是 守护进程 。 7) 如果父进程在子进程之前结束,它创建了一个 孤儿进程 。 步骤4:回顾ps命令和信息。

ps命令用于列出当前系统中运行的进程。

如果一个进程耗时太长,或者看上去好像已经终止了,表现为一个终端窗口不再响应或挂起,通常需要使用ps查看系统中的进程。通过列出进程,可以查看初始化进程的命令或程序的名字,以及所有它派生出来的子进程。通过多次执行ps命令,查看进程的时间——进程占用的CPU时间,可以检查一个进程是否还在运行。如果时间小再增长,那么进程可能已经终止了。如果进程占用太长的时间或者已经停止,可以使用ps命令检查进程的进程ID (PID) ,然后杀死进程。

ps命令的输出将显示PID号和与其相关的命令或程序。PID号通常用于终止一个进程。ps命令 ( ps [-options] ) 的3个主要选项如下表所示。

表3-5 ps命令选项

ps选项 Ps 意义 无选项 功能 显示当前shell或终端窗口中,当前用户的进程信息