Linux实验四
- 格式:doc
- 大小:320.50 KB
- 文档页数:7
《操作系统》实验报告实验序号:实验四实验项目名称:实验04 Linux 多进程编程学号1207022103 姓名陈华荣专业、班网络工程实验地点实1-311 指导教师李桂森实验时间2014.10.26一、实验目的及要求1.通过本实验的学习,使学生掌握Linux多进程编程的基本方法。
2.实验内容:利用Linux多进程实现题目所要求的功能。
3.以学生自主训练为主的开放模式组织教学二、实验设备(环境)及要求PC机三、实验内容与步骤1、编写一个显示“HELLO”的c语言程序,并利用GCC编译,然后运行此程序。
(提示:若没有gcc,需先安装gcc编译程序)指令:Apt-get install updateApt-get install gccCd /home/normaluesrTouch helloworld.cVim helloeorld.c在helloworld里编辑进:#include<stdio.h>Int main(){Printf(“helloworld”);Return 0;}然后用gcc进行编译运行:或者直接2、进程的创建:编制一程序,利用系统调用fork()创建两个子进程。
程序运行时,系统中有一个父进程和两个子进程活动,分别让他们显示“A”、“B”和“C”,分析程序运行结果。
3、用ctrl+alt+F2切换到第二个终端(tty2)并使用另外一个用户登录(可利用第二个实验创建的用户登录),然后使用who命令查看用户登录情况。
用ctrl+alt+F1切换到第二个终端(tty1),修改第二步的程序,在每个进程退出前都加上一个sleep(20)的函数来延缓进程的退出,然后运行此程序,立即切换到tty2,使用ps -a命令查看系统运行的进程,观察程序创建的进程都有哪些?pid是多少?4、进程的管道通信:编制一程序,使用系统调用pipe()建立一管道,两个子进程P1和P2分别向管道各写一句话,父进程则从管道中读取出来并显示在屏幕。
嵌入式操作系统实验指导书目录实验一常用命令的使用实验二 vi编辑器实验三 shell编程(一)实验四 shell编程(二)实验五常用开发工具实验六 Linux环境编程(一)实验七 Linux环境编程(二)实验八系统及网络管理实验一常用命令的使用班级:姓名:学号:上机时间:任课教师:实验教师:实验成绩:一、实验目的1.掌握Linux的一般命令格式。
2.掌握有关文件和目录操作的常用命令。
3.掌握有关进程操作的常用命令。
4.熟练使用man命令。
二、实验任务1.正确登录和退出系统。
2.熟悉data,cal,who,echo,clear命令。
3.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。
4.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。
5.利用man显示date,echo等命令的手册页。
三、实验注意事项实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在主目录(/home/student)下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
四、实验内容:1.登录进入系统。
开机,选择 VMware Workstation 进入,再选择 Ubuntu 登陆窗口,输入用户名: student ,输入密码: 111111 ,进入Ubuntu图形桌面环境。
2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。
要启动一个终端,可以选择在窗口左侧点击终端按钮。
在终端提示符下输入:date↲显示: 2015年 10月 15日星期四 08:31:50 CST 。
在终端提示符下输入:who ↲显示: student pst/1 2015-10-15 08:22(:0) 。
linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。
实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。
根据实验指导书的要求,我们选择了Ubuntu作为实验平台。
通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。
在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。
实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。
首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。
然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。
这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。
实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。
我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。
此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。
实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。
Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。
我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。
这样,可以有效地保护系统的文件和数据的安全性。
实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。
通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。
同时,我们还学习了一些常用的网络命令,比如ping、ssh等。
此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。
实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。
linux 基本操作实验报告《Linux基本操作实验报告》Linux操作系统是一款开源的操作系统,具有稳定性高、安全性强等特点,因此在服务器领域得到了广泛的应用。
对于初学者来说,熟悉Linux的基本操作是非常重要的,下面我将分享一份Linux基本操作的实验报告。
实验一:登录和退出Linux系统首先,我们需要了解如何登录和退出Linux系统。
在登录界面输入用户名和密码后,我们就可以进入系统。
在系统中,我们可以使用命令“exit”来退出系统。
实验二:文件和目录操作在Linux系统中,文件和目录的操作是非常重要的。
我们可以使用命令“ls”来查看当前目录下的文件和目录,使用命令“cd”来切换目录,使用命令“mkdir”来创建新的目录,使用命令“rm”来删除文件或目录。
实验三:文件编辑在Linux系统中,我们可以使用命令行工具来编辑文件。
比较常用的编辑器有vi和nano。
我们可以使用命令“vi”或“nano”来打开文件进行编辑,然后保存并退出。
实验四:用户和权限管理Linux系统中的用户和权限管理也是非常重要的。
我们可以使用命令“useradd”来添加新用户,使用命令“passwd”来修改用户密码,使用命令“chmod”来修改文件或目录的权限。
实验五:系统管理最后,我们还可以使用一些命令来管理系统。
比如使用命令“ps”来查看当前系统进程,使用命令“top”来查看系统资源占用情况,使用命令“shutdown”来关闭系统。
通过以上实验,我们可以初步了解Linux系统的基本操作。
当然,Linux系统还有很多其他的功能和命令,需要我们不断学习和实践。
希望大家能够通过实践不断提升自己的Linux操作技能,为今后的工作和学习打下坚实的基础。
实验四:磁盘管理、Linux文件系统一、实验目的1.掌握使用fdisk进行硬盘分区;2.掌握Linux文件系统的创建、挂载、卸载;3.掌握Linux下使用光盘;4.掌握交换空间添加、删除。
二、实验预备内容理解相关的操作系统知识:硬盘分区、文件系统;学习课本第十章至第十一章内容三、实验具体内容及详细步骤1.使用fdisk进行硬盘分区1)显示硬盘分区信息。
2)创建和删除主分区。
3)创建扩展分区和逻辑驱动器。
4)查看并转换文件系统。
5)保存分区设置信息,并退出fdisk。
6)在非交互式界面下显示当前硬盘的分区信息(fdisk -l)。
2.逻辑卷管理1)创建LVM类型的分区:fdisk /dev/sdbp 列出当前分区表l 查看分区类型帮助信息t 转换分区类型先指定分区号,再输入分区类型代码8ep 查看是否更改成功w 保存退出2)创建物理卷:pvcreate /dev/sdb5(提示successfully created,即为成功)查看物理卷信息使用命令:pvdisplay3)创建卷组:vgcreate vgsdb5 /dev/sdb5(提示successfully created,即为成功)查询卷组信息使用命令:vgdisplay4)创建逻辑卷:lvcreate -n lvsdb5 -L 32M vgsdb5(提示“lvsdb5” created)查询逻辑卷信息使用命令:lvdisplay5)格式化逻辑卷使用lvdisplay查看逻辑卷,看到路径为:/dev/vgsdb5/lvsdb5再进行格式化:mkfs -t ext3 /dev/vgsdb5/lvsdb56)挂载逻辑卷到系统的/opt目录:mount /dev/vgsdb5/lvsdb5 /opt(成功挂载后可以使用mount命令查看系统已经挂载的文件系统情况)3.创建Linux文件系统将分区/dev/sdb5格式化为ext2文件系统:mkfs –t ext2 /dev/sdb1将分区/dev/sdb2格式化为ext3文件系统:mkfs.ext3 /dev/sdb2将分区/dev/sdb1格式化为FAT32文件系统:mkfs.vfat /dev/sdb34.挂载和卸载Linux文件系统挂载:mkdir /home/kkmount /dev/sdb1 /home/kk(使用mount或df命令查看挂载情况)卸载:umount /dev/sdb1或umount /home/kk5.Linux下使用光盘:mkdir /media/cdrommount -t iso9660 /dev/cdrom /media/cdromls /dev/cdrom(可在挂载后的目录看到光盘内容即表明正确挂载)6.查看Linux系统分区挂载情况:1)通过df命令2)通过mount–s命令3)查看/etc/mtab文件获取信息7.添加交换分区A.创建交换分区mkswap /dev/sdb2B.启用交换分区swapon /dev/sdb2C.确认已经启用交换分区cat /proc/swaps也可以用free命令查看D.如果要在系统引导时启用交换文件,编辑/etc/fstab文件添加如下内容。
实验四文件和目录管理一、实验目的和要求1) 掌握在Linux系统下的文件和文件系统的概念及命令;2) 掌握Linux系统下的目录操作。
二、实验内容和原理a)插入U盘,进行格式化,创建vfat文件系统;b)将/etc/passwd文件拷贝到U盘;c)查看所有磁盘的使用情况;d)卸载U盘;e)在用户主目录下创建两个目录dir1和dir2,然后将dir2目录移动到dir1中,最后删除dir2目录;f)从根目录下查找fstab文件g)将fstab文件中所有包含”ext3”的行存入f4文件。
h)将f4文件复制到dir1目录,并在dir1目录中创建/etc/fstab文件的符号链接文件fstabt-linki)将/etc/passwd按照用户的ID号进行排序并保存为用户的主目录下passwd.txtj)将/etc/X11目录归档压缩为X.tar.gz文件k)将X.tar.gz解压到dir1目录下三、实验环境l)硬件:PC机m)软件:Red Hat Enterprise linux server操作系统、虚拟机四、算法描述及实验步骤a)插入U盘,进行格式化,创建vfat文件系统;输入命令fdisk /dev/sdb对U盘进行分区输入m获得帮助输入d删除现有分区输入w保存并退出输入命令fdisk /dev/sdb对U盘进行分区创建1个分区查看写入分区表输入命令mkfs -t vfat /dev/sdb1格式化U盘b)将/etc/passwd文件拷贝到U盘;c)查看所有磁盘的使用情况;d)卸载U盘;e) (1)输入命令“ls -l”,查看当前目录中的所有文件。
(2)创建两个目录,输入命令“mkdir dirl dir2”。
(3)再次输入命令“ls -1”,确认两个目录是否成功创建。
(4)输入命令“mv dir2 dirl”,将dir2目录移动到dirl目录。
(5)输入命令“cd dirl”,切换到dirl目录,再输入“ls”命令,查看到dir2目录。
实验四:Linux常用命令练习一.实验目的熟悉Linux操作环境,熟悉Linux中用户系统相关命令、基本目录、文件命令的使用方法。
二.预备知识1.获取命令帮助命令man语法:man (command)功能:查阅指定命令或资源的联机手册。
说明:man命令后直接跟需要帮助的命令所需参数,显示过程中按q退出。
例man ps2.常用的文件操作命令包括:(1) pwd功能说明:显示工作目录。
语法:pwd补充说明:执行pwd指令可得知工作目录的绝对路径名称。
(2) cd功能说明:切换目录。
语法:cd [目的目录]补充说明:cd指令可让用户在不同的目录间切换,但该用户必须拥有足够的权限进入目的目录。
(3) ls功能说明:列出目录内容。
语法:ls [-1aAcdlrR]补充说明:执行ls指令可列出目录的内容,包括文件和子目录的名称。
参数:-1 每列仅显示一个文件或目录名称。
-a 显示下所有文件和目录。
-A 显示所有文件和目录,但不显示现行目录和上层目录。
-c 以更改时间排序,显示文件和目录。
-d 显示目录名称而非其内容。
-l 使用详细格式列表。
-r 反向排序。
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
(4) mkdir功能说明:建立目录语法:mkdir [-p][--help][--version][-m <目录属性>][目录名称]补充说明:mkdir可建立目录并同时设置目录的权限。
参数:-m<目录属性>或--mode<目录属性> 建立目录时同时设置目录的权限。
-p 若所要建立目录的上层目录目前尚未建立,则一并建立上层目录。
--help 显示帮助。
--verbose 执行时显示详细的信息。
--version 显示版本信息。
(5) rmdir功能说明:删除目录。
语法:rmdir [-p][--help][--verbose][--version][目录...]补充说明:当有空目录要删除时,可使用rmdir指令。
实验4 重定向和管道1、实验目的:1、熟悉Linux操作系统环境2、掌握Linux的输入重定向、输出重定向和管道机制3、为后续课程及实验做准备2、实验步骤1,打开终端2,在shell提示符下输入:cat回车Hello worldBye(ctrl + d 结束)观察显示结果cat命令会读取指定文件的内容,并输出到标准输出设备上(如显示器)。
若不指定任何文件名称,或指定的文件名为"-",则cat命令从标准输入设备读取数据(如键盘),然后再把所得到的数据输出到输出设备。
3,用vi编辑器,编辑名为inputfile的文件,内容如下:Hi,This is a inputfile保存并退出文件⑴输入命令.⑵按A a I i O o(其中一个)进入编辑模式,输入文本.文本输入完毕后,按Esc 退出编辑模式,进入命令模式,按: 进入末行模式.输入wq 进行保存.⑶最终结果如下图所示.4,在shell提示符下输入:cat < inputfile理解输入重定向输入重定向主要用于改变一个命令的输入源.如图可以看出,命令的输入来源文本文件,而不是键盘.5,在shell提示符下输入:ls观察显示信息ls指令可列出目录的内容,包括文件和子目录的名称。
6,在shell提示符下输入:ls > ls.Out7,查看文件ls.out内容,理解输出重定向输出重定向主要用于改变一个命令的输出源,将命令的“输出”送到文件而不是显示器. 如上图可以看出ls的命令输出的方式是文本,而不再是显示器.8,用vi编辑器,编辑文件名为students的文件,内容如下:zhangsanlisiwangwutomjackylisizhangsanmaliujim保存并退出文件⑴输入命令.⑵按A a I i O o(其中一个)进入编辑模式,输入文本.文本输入完毕后,按Esc 退出编辑模式,进入命令模式,按: 进入末行模式.输入wq 进行保存.⑶最终结果如下图所示.9,在shell提示符下输入:sort students > students_sort 使用排序命令sort对文件students排序,并使用输出重定向符合,将排序后的内容重定向到文件students_sort⑴输入命令.使用了输出重定向,所以不在显示器显示.⑵结果如下图所示,学生的姓名都按顺序排列了.10,在shell提示符下输入:cat students_sort观察并分析显示结果第9题重定向了student_sort 的输出.把“输出”送到文件而不是显示器.而cat命令会读取指定文件的内容,并输出到标准输出设备上(如显示器)。
常熟理工学院《Linux程序设计》实验报告 2016 — 2017 学年第 1 学期
专业计算机科学与技术
班级 2班
学号 Z09314222
姓名张磊
实验地点 N6-113
指导教师刘在德
计算机科学与工程学院
实验要求
1.每次实验前,认真复习与本次实验有关的教学内容,认真预习本次实验内容。
2.按照实验要求认真完成实验,把实验内容详细记入实验报告。
3.每一次新实验,实验报告另起一页。
4.报告封面要求(1)信息填写完整;(2)下划线右对齐,力求做到美观大方。
5.打印实验报告(包括封面及本页),装订成册。
6.严谨抄袭,如果有n人实验报告内容雷同,每人得分为总分除以n。
实验四 Shell程序设计(一)(四号黑体)
【一】实验目的(小四黑体)
1.掌握vi文本编辑器的定制
2.掌握vi编辑器的基本命令
3.掌握Shell脚本环境变量的引用
【二】实验内容(小四黑体)
1.调用apt-get命令升级vim编辑器:sudo apt-get install vim
2.把vim编辑器配置文件vimrc拷贝到当前用户家目录下,利用vi编辑器打开它,在末尾添加
syntax on //语法
set nu //行号
set tabstop=4 //tab键
set softtabstop=4
set shiftwidth=4
set autoindent //自动缩进
set cindent //C语言缩进
set cursorline //标示当前行
set ruler //显示光标行列标尺
set nobackup
另存为隐藏文件.vimrc
3.启动vi编辑器,建立文件1,输入如下文本
One little, two little, three little Indians
Four little, five little, six little Indians
Seven little, eight little, nine little Indians
Ten little Indian boys
存盘退出。
要求先输入第一行,复制它,粘贴到第二行,然后修改第二行;再复制前两行,粘贴到后面,再修改三、四行。
4.启动vi编辑器,建立文件2,编辑如下
Title: A song of Indian boys
存盘(不退出)。
5.在文件2中,调用“:sp 文件1”命令,进入多窗口编辑。
按Ctrl+w,然后按j或者k键在上下窗口之间切换光标。
然后调用“:-r 文件1”命令,把文件1内容全文复制到文件2,存盘(不退出)。
6.关闭文件1(现在只剩下文件2),在第一行中查找第一个little替换为big;第二和第三个little替换为small,然后撤销对该行的操作。
全文查找,把所有的little 替换为big;删除第一行的单词Tilte,并在Indian 和boys之间添加big。
存盘(不退出)。
7.在当前文件中调用:!command,执行shell命令,比如date、cal等,验证Shell
和vi的交互。
然后执行:r !echo “Edited by `logname`”,另存为文件2并退出。
8.启动vi,键入如下脚本
#! /bin/bash
#This is a shell script to say hello.
echo Hello World!
echo -n “Today is ”
date "+%Y %B %d %A“
保存为hello,退出vi,调用. hello执行此脚本,观看运行结果。
再次执行. hello > mydoc.txt。
察看是否有mydoc.txt结果生成。
调用cat -n mydoc | more,测试管道并察看结果。
9.启动vi,新建一个script文件,显示各环境变量的值。
具体可包括LOGNAME、HOSTNAME、HOME、PWD、UID、PATH等。
(提示:显示变量的值为echo “$变量名”,比如echo “$LOGNAME”。
【三】实验步骤(小四黑体)
1.调用apt-get命令升级vim编辑器:sudo apt-get install vim
2.把vim编辑器配置文件vimrc拷贝到当前用户家目录下,利用vi编辑器打开它,在末尾添加
syntax on //语法
set nu //行号
set tabstop=4 //tab键
set softtabstop=4
set shiftwidth=4
set autoindent //自动缩进
set cindent //C语言缩进
set cursorline //标示当前行
set ruler //显示光标行列标尺
set nobackup
另存为隐藏文件.vimrc
3.启动vi编辑器,建立文件1,输入如下文本
One little, two little, three little Indians
Four little, five little, six little Indians
Seven little, eight little, nine little Indians
Ten little Indian boys
存盘退出。
要求先输入第一行,复制它,粘贴到第二行,然后修改第二行;再复制前两行,粘贴到后面,再修改三、四行。
4.启动vi编辑器,建立文件2,编辑如下
Title: A song of Indian boys
存盘(不退出)。
5.在文件2中,调用“:sp 文件1”命令,进入多窗口编辑。
按Ctrl+w,然后按j或者k键在上下窗口之间切换光标。
然后调用“:-r 文件1”命令,把文件1内容全文复制到文件2,存盘(不退出)。
6.关闭文件1(现在只剩下文件2),在第一行中查找第一个little替换为big;第二和第三个little替换为small,然后撤销对该行的操作。
全文查找,把所有的little
替换为big;删除第一行的单词Tilte,并在Indian 和boys之间添加big。
存盘(不退出)。
7.在当前文件中调用:!command,执行shell命令,比如date、cal等,验证Shell 和vi的交互。
然后执行:r !echo “Edited by `logname`”,另存为文件2并退出。
8.启动vi,键入如下脚本
#! /bin/bash
#This is a shell script to say hello.
echo Hello World!
echo -n “Today is ”
date "+%Y %B %d %A“
保存为hello,退出vi,调用. hello执行此脚本,观看运行结果。
再次执行. hello > mydoc.txt。
察看是否有mydoc.txt结果生成。
调用cat -n mydoc | more,测试管道并察看结果。
9.启动vi,新建一个script文件,显示各环境变量的值。
具体可包括LOGNAME、HOSTNAME、HOME、PWD、UID、PATH等。
(提示:显示变量的值为echo “$变量名”,比如echo “$LOGNAME”。
【四】实验结果(小四黑体)
1、升级
2、设置个性化
3、4、5、6输入内容,以及复制粘贴替换操作
7、插入一行代码
8、运行. hello
9、显示各环境变量的值
【五】实验结果分析(小四黑体)
实验结果按照实验报告的步骤预期结果已经全部达到。
本次实验的收获包括两个方面:一个方面、在编写代码的时候应该更细心一些,这样就可以避免一些不必要的错误也不用浪费时间去检查。
另一个方面就是关于vim指令方面要多多熟悉,比如说,执行脚本,需要“vi . 脚本名”中的空格就不能遗忘,这属于常识性错误,一次之后不可再犯。