Linux基本操作与编程 (验证性 2学时) 1、实验目的:
1)熟悉Linux操作系统的环境和使用。
2)* 了解LINUX系统的安装过程。(注:*表示可选择) 3)掌握Linux环境下的命令操作。 2、实验内容:
(1)完成LINUX系统的登录,启动终端。进行下列操作并记录结果(要求:结果以屏幕截图表示)。 1)运行pwd命令,确定你当前的工作目录。
2)利用以下命令显示当前工作目录的内容: ls –l
3)运行以下命令: ls –al
4)使用mkdir命令建立一个子目录subdir。
5)使用cd命令,将工作目录改到根目录(/)上。
6)使用ls-l命令列出/dev的内容。
7)使用不带参数的命令cd改变目录,然后用pwd命令确定你当前的工作目录是哪里
8)使用命令cd ../..,你将工作目录移到什么地方
(2)在LINUX下查看你的文件。
1)利用cd命令,将工作目录改到你的主目录上。
2)将工作目录改到你的子目录subdir,然后运行命令: date > file1 将当前日期和时间存放到新建文件file1中。
3)使用cat命令查看file1文件的内容。
4)利用man命令显示date命令的用法: man date
5)将date命令的用法附加到文件file1的后面:man date >> file1
6)利用cat命令显示文件file1的内容。
7)利用ls -l file1命令列出文件file1的较详细的信息。运行ls -l/bin命令显示目录的内容。
8)利用ls -l/bin|more命令行分屏显示/bin目录的内容。
9)利用cp file1 fa命令生成文件file1的副本。然后利用ls -l命令查看工作目录的内容。
10)用cd命令返回你的主目录,输入命令ls –l后,解释屏幕显示的第一列内容的含义
。
(3)编写能输出“Hello world!”问候语的C程序,并在终端中编译、执行。要求记录所使用的命令及结果。 操作步骤:
1)在文本编辑器中,编写C程序如下:
#include \"\"
main()
{ printf(\"hello\"); }
2) 在终端中,用gcc命令进行编译,生成可执行文件a。 gcc –o a
3) 在终端中执行a 的命令如下: ./a
(4)编写一个程序:显示信息“Time for Play!”,并能在后台运行一段时间(自定义)后,弹出信息提醒用户。要求记录所使用的命令及结果。(提示:使用sleep(s)函数)
3、实验结果分析:
(对上述实验内容中的各题结果,进行分析讨论。并回答下列问题) 进程包括哪些特征
间断性, 失去封闭性, 不可再现性, 动态性, 并发性, 独立性 在Linux中,如何设置前、后台命令和程序的执行
命令后直接加 & ,这个命令就在后台执行; 正在运行的命令,使用 Ctrl+z ,就挂起; jobs命令,可以现实后台,包括挂起的命令;
使用 bg %作业号 就可以把挂起的命令在后台执行; 使用 fg %作业号 就可以把后台命令调到前台 你所使用的Linux系统的内核版本是多少用什么命令查看内核版本目前你所了解的各发行版本的情况如何 Linux version (gcc version (Red Hat (GCC) ) #1 SMP Tue Jan 29 11:48:01 EST 2013 你对Linux系统有什么认识
linux是一款开放性的操作系统,也可以说成是开放的源代码系统,这些代码可以完全自由的修改可以再任何的计算机上去运行它,也就是“可移植性”,其次大家都知道,linux是由UNIX的概念所开发出来的,所以它也继承了UNIX的稳定和效率的特点! 4、总结:你对本次实验有什么体会或看法。
《操作系统》实验报告(二)
文件访问权限设置与输入输出重定向(2学时) 实验目的
掌握linux的文件访问权限设置。 熟悉输入输出重定向和管道操作。 实验内容
1、启动进入红帽linux系统 2、设置文件权限:
在用户主目录下创建目录test,进入test目录,用vi创建文件file1,并输入任意的文字内
容。
用ls -l显示文件信息,注意文件的权限和所属用户和组。
对文件file1设置权限,使其他用户可以对此文件进行写操作:#chmod o+w file1。
用ls -l查看设置结果。
取消同组用户对此文件的读取权限:#chmod g-r file1。查看设置结果。
用数字形式来为文件file1设置权限,所有者可读、可写、可执行;其他用户和所属组用户只有读和执行的权限:#chmod 755 file1。设置完成后查看设置结果。
3、输入、输出重定向和管道
(1) 输出重定向
用
ls命令显示当前目录中的文件列表:#ls –l。
使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中:
#ls –l > list。
查看文件list中的内容,注意在列表中会多出一个文件list,其长度为0。 这说明shell是首先创建了一个空文件,然后再运行ls命令:#cat list。
再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list
中。这次使用追加符号>>进行重定向:#ls –l >> list。
查看文件list的内容,可以看到用>>进行重定向是把新的输出内容附加在文件的末尾,注意
其中两行list文件的信息中文件大小的区别:cat list。
重复命令#ls –l > list。
再次查看文件list中的内容,和前两次的结果相比较,注意list文件大小和创建时间的区别。
(2) 管道
who |grep root命令的结果是
命令ls –l |wc –l结果是
4、退出linux系统 操作步骤:
在主菜单上选择“注销” ->关闭计算机。 实验结果与讨论(根据实验结果回答下列问题) 1. 文件的权限如下:
-rw-r—r-- 1 root root 19274 Jul 14 11:00 回答:-rw-r—r-- 的含义是什么 答:是LINUX/FTP的简易权限表示法:
对应于本用户-所在组-其他人的权限,每一个用执行(x)-读取(r)-写入(w) 如本题若是说自己可以读取写入不可以执行,所在组和其他人只能读取. 文件的所有者添加执行权限的命令是
答:chmod u+x 、赋予所有用户读和写文件权限的命令是 答:chmod a+w,a+r 个人体会 (你对本次实验有什么体会或看法)
《操作系统》实验报告(三) 文件和目录管理 一、实验目的
1) 掌握在Linux系统下的文件和文件系统的概念及命令; 2) 掌握Linux系统下的目录操作。 二、实验内容
1. 进入linux终端后,用命令的操作结果回答下列问题:
1)vi的三种工作模式是其中不能进行直接转换的是什么模式到什么模式 命令模式、文本输入模式、末行模式 命令模式不能直接到末行模式 2)在vi中退出时,保存并退出的操作步骤是 Ese:wq
3)用vi 创建myfile1文件,并在其中输入任意文字一行,创建myfile2文件,任意输入文字3行。请问执行命令:cat myfile2中还有1行内容 该命令的作用是 替换myfile的内容 4)请用至少两种不同的命令创建一个文本文件(),在其中写入“我是2014级学生,我正在使用Linux系统。”,记录命令及执行结果。 1、Vi创建 2、 5)用___pwd________命令可查看所创建文件的绝对路径,写出它的绝对路径__/root_________;用___ls -l________命令查看该文件的类型及访问权限,其访问权限(数字和字母)分别是多少__-rw- r- - r- - 6 4 4______________。 6)若将该文件的访问权限修改为:所有者有读写权限;其他用户只读;同组用户可读写,请写出命令,并记录结果。 7)查找my开头的所有文件,可___find my*_________命令,写出命令并记录结果 8)在/home下创建子目录user,并在其中创建2个文件,名为file1和file2,file1的内容是/root目录的详细信息;file2的内容任意,最后将这两个文件合并为file3文件,请先写出命令序列, 并在终端中验证,记录结果。 2. 文件及目录操作,写出操作所使用的命令,并记录结果。 在终端中完成下列命令操作,并记录结果 在root用户主目录下创建一个mydir子目录和一个myfile文件,再在mydir下建立d1和d2两个子目录。 查看mydir和myfile的默认权限 查看当前myfile和mydir的权限值是多少 将myfile文件分别复制到root 和dd1的主目录中 将root主目录中的myfile改为yourfile 通过从键盘产生一个新文件并输入I am a student 查找文件是否包含student字符串 三、实验结果与分析,回答下列问题: 1、能够创建文件的命令有哪些 vi 和 cat>name 2、能够查看当前目录的绝对路径的命令是 pwd 3、Linux中按用户属性将用户分成哪些类型根据文件的访问权限,用户又被分成哪些类型能够查看文件访问权限的命令是 用户 同组其他 可读可写可执行 cat f1 四、小结 (本次实验的体会或小结) 《操作系统》实验报告(四) 作业调度算法模拟 (验证性2学时) 1、实验目的: 掌握作业调度的主要功能及算法。 通过模拟作业调度算法的设计加深对作业管理基本原理的理解。 熟悉Linux环境下应用程序的编程方法。 2、实验内容: (1)作业调度算法(FCFS)编程模拟: 编制一段程序,对所输入的若干作业,输入、输出数据样例如下表所示。按FCFS算法模拟调度,观察、记录并分析调度的输出结果情况。 【输入输出样例1:FCFS算法】 输入 A 0 4 B 1 3 C 2 5 D 3 2 E 4 4 输出 A 0 0 4 4 B 1 4 7 6 C 2 7 12 10 D 3 12 14 11 E 4 14 18 14 #include <> #include <> #define SIZE 5 struct Job_type { char no[2]; o,&job[i].tb,&job[i].tr); printf(\"输入作业顺序:\\n\"); for(i=0;i { int i,j,t=0,tw=0,tt=0; for(i=0;i printf(\"FCFS调度结果:\\n\"); printf(\"开始时间 作业号 到达时间 运行时间 完成时间 等待时间 周转时间\\n\"); for(i=0;i t=t+job[i].tr; tw=t-job[i].tb-job[i].tr; b; o,job[i].tb,job[i].tr,t,tw,tt); } } void main() { load(); fcfs(); } (2)作业调度算法(SJF)编程模拟:编程实现由短作业优先算法,分别用下面两组输入、输出数据样例进行模拟,观察分析运行结果。 【输入输出样例2:SJF算法】 输入 A 0 4 B 0 3 C 0 5 D 0 2 E 0 1 输出 A 0 6 10 10 B 0 3 6 6 C 0 10 15 15 D 0 1 3 3 E 0 0 1 1 #include <> #include <> #define SIZE 5 struct Job_type { char no[2]; o,&job[i].tb,&job[i].tr); printf(\"输入作业顺序:\\n\"); for(i=0;i sjf() n=i; pl[i].pfn=ERR; } for(i=1;i pfc_type *p,*t; initialize(total); busypf_head=busypf_tail=NULL; for(i=0;i if(freepf_head==NULL) {p=busypf_head->next; pl[busypf_head->pn].pfn=ERR; freepf_head=busypf_head; freepf_head->next=NULL; busypf_head=p; } p=freepf_head->next; freepf_head->next=NULL; freepf_head->pn=page[i]; pl[page[i]].pfn=freepf_head->pfn; if(busypf_tail==NULL) busypf_head=busypf_tail=freepf_head; else { busypf_tail->next=freepf_head; busypf_tail=freepf_head; } freepf_head=p; }} printf(\"FIFO:%d\ } main() { int i; int k; printf(“请输入页的引用序列:\\n”); for(k=0;k 参考程序LRU算法,略 三、实验结果分析: 随着块数的增加,缺页数目也减少,4个实验中3个实验的块数增加到了5以后,即使块数再增加,缺页数目也是保持不变。只有实验4,块数增加到7以后,缺页数目又再次减少了 四、总结:你对本次实验有什么体会或看法。 (对上述实验各题所使用的原始数据、调试数据与状态(包括出错)及最终结果进行记录并分析。) scanf(\"%d\ for(i=4;i<=7;i++) 因篇幅问题不能全部显示,请点此查看更多更全内容