linux实验四
Linux实验手册四

#su
#关闭当前终端, 再打开一个终端
#echo $var1
#echo $var2 //应该均为空
14 环境变量的配置文件
#uname -a
#uname -r
#version='uname -r' //注意是倒引号
#lm
#rm aaa //不再提示,直接删除
#lm
#unalias lm
#alias
#lm //已经被unalias 取消, 报错
6 #cd /e<Tab>sys<Tab>c<Tab>ne<Tab>-<Tab>
8 历史记录
#history
#history 30
#上下键
#!!: 执行最近一次使用的命令;
#!n: 其中 n 为一个具体的数字,表示执行在命令历史记录中的第 n 个命令;
#!s: 其中 s 为一个字符串,表示执行命令历史记录中以该字符串开头的最近的一个命令。
10 #env 查看常见环境变量说明
#set 查看所有变量
11 环境变量的显示: echo
# echo $PATH 或者
# echo ${PATH}
12 变量的设置: 注意空格报错
# var1=“lang is $LANG”
# var2=‘lang is $LANG’ //注意区分
#ls -l [0-9]*
#ls -l [a-z]*.txt
#ls -al *.??
#ls *[a][b]*
#ls ab[!z]*
#rm -rf a*.txt
操作系统实验04 Linux 多进程编程

《操作系统》实验报告实验序号:实验四实验项目名称:实验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分别向管道各写一句话,父进程则从管道中读取出来并显示在屏幕。
Linux_实验指导书4版

嵌入式操作系统实验指导书目录实验一常用命令的使用实验二 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) 。
linux4

实验(实习)名称常用命令使用实验(实习)日期指导教师专业年级班次姓名学号得分一、实验目的1.掌握C语言编译的基本用法。
2.掌握gdb调试工具的基本用法。
3.理解make工具的功能,学会编制makefile的方法。
二、实验内容1.利用gcc编译C语言程序,使用不同选项,观察并分析显示结果。
2.用gdb调试一个编译后的C语言程序。
3.编写一个有多文件构成的C语言程序,编写makefile,运行make工具进行维护。
三、主要实验步骤1.改写例6.1,使用下列选项对它进行编译:-I,-D,-E,-c,-o,-l。
2.完成对思考题6.5的调试。
#include<stdio.h>#include<stdlib.h>#include<string.h>int main(int argc,char **argv){char *p;int i;p=malloc(60);strcpy(p,"not 30 bytes");printf("p=<%s>\n",p);if(argc==2){if(strcmp(argv[1],"-b")==0)p[0]='a';else if(strcmp(argv[1],"-f")==0){p[0]='b';}}printf("p=<%s>\n",p);free(p);return 0;}运行结果如下:[LinyunGu@localhost subdir]$ ./badprog -bp=<not 30 bytes>p=<aot 30 bytes>[LinyunGu@localhost subdir]$ ./badprog -fp=<not 30 bytes>p=<bot 30 bytes>3.完成对思考题6.6的调试。
linux实验报告

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系统首先,我们需要了解如何登录和退出Linux系统。
在登录界面输入用户名和密码后,我们就可以进入系统。
在系统中,我们可以使用命令“exit”来退出系统。
实验二:文件和目录操作在Linux系统中,文件和目录的操作是非常重要的。
我们可以使用命令“ls”来查看当前目录下的文件和目录,使用命令“cd”来切换目录,使用命令“mkdir”来创建新的目录,使用命令“rm”来删除文件或目录。
实验三:文件编辑在Linux系统中,我们可以使用命令行工具来编辑文件。
比较常用的编辑器有vi和nano。
我们可以使用命令“vi”或“nano”来打开文件进行编辑,然后保存并退出。
实验四:用户和权限管理Linux系统中的用户和权限管理也是非常重要的。
我们可以使用命令“useradd”来添加新用户,使用命令“passwd”来修改用户密码,使用命令“chmod”来修改文件或目录的权限。
实验五:系统管理最后,我们还可以使用一些命令来管理系统。
比如使用命令“ps”来查看当前系统进程,使用命令“top”来查看系统资源占用情况,使用命令“shutdown”来关闭系统。
通过以上实验,我们可以初步了解Linux系统的基本操作。
当然,Linux系统还有很多其他的功能和命令,需要我们不断学习和实践。
希望大家能够通过实践不断提升自己的Linux操作技能,为今后的工作和学习打下坚实的基础。
linux实验四

实验四文件和目录管理一、实验目的和要求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系统中常用命令得作用与命令中各选项得作用、
二、实验环境
安装了fedora17系统得计算机一台
三、实验过程(实验步骤、记录、数据、分析、结果)
1.查瞧当前系统下用户Shell定义得环境变量得值。
2.定义变量AK得值为200,并将其显示在频幕上。
3.定义变量AM得值为100,并使用test命令语句比较其值就是否大于150。
4.创建一个简单得Shell程序,其功能为显示计算机主机名以及显示系统日期与时间、
5.使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n、
6.使用until语句创建一个shell程序,其功能为计算1~10得平方。
按步骤依次写出命令包括运行结果(可截屏)
1。
查瞧当前系统下用户Shell定义得环境变量得值、
2. 定义变量AK得值为200,并将其显示在频幕上、
3、定义变量AM得值为100,并使用test命令语句比较其值就是否大于150、
4。
创建一个简单得Shell程序,其功能为显示计算机主机名以及显示系统日期与时间。
5、使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n、
6.ﻩ使用until语句创建一个shell程序,其功能为计算1~10得平方。
四、实验总结
(掌握了什么知识,实验中遇到得问题及解决方法)
在实验中,我掌握了创建shell程序得语法:#!/bin/bash与chmod u+x 文件名
也了解了shell定义得环境变量,并且掌握了test语句得用法,数字得比较,循环控制中得for语句、un til语句得用法。
实验4 实验名Linux常见命令。
Linux实验4

实验四: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指令。
实验四 linux进程通信

2、进程的管道通信
3、信号量实现进程同步
特点
Unix早期版本
在进程间通信方面表现较弱,利用pipe来传递大量数据
Unix system V版本
由三部分组成:消息(用于进程之间传递分类的格式化数据)、共享存储器(使得不同进程通过共享彼此的虚拟空间而达到互相对共享区操作和数据通信的目的)、信号量(机制用于通信进程之间的同步控制。信号量通常与共享储存器方式一起使用。)
实验报告
姓名
学号
专业班级
课程名称
操作系统实验
实验日期
成绩
指导教师
批改日期Biblioteka 实验名称实验四linux进程通信
一、实验目的:
1、理解信号和管道的概念及实现进程间通信的原理。
2、掌握和使用消息对流实现进程间的通信。
3、掌握和使用信号量实现进程同步。
4、掌握使用共享主存实现进程间的通信。
二、实验要求:
IPC版本
Linux
完整继承了system V进程间通信IPC
三、实验内容和步骤:
1、利用信号机制实现进程软中断通信
经过以上步骤,查阅相关资料,我学习到两点知识:
1、警告与错误是两个概念,警告存在的情况下程序仍能编译通过,但有错误就不可以。
2、exit与return功能相似,但主要用于非main函数中,正常执行即返回0值。
linux实验4

实验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实验报告(实验四)shell编程实验

Linux实验报告(实验四)shell编程实验实验四 shell编程实验(二)班级:姓名:学号:上机时间:年月日任课教师:实验教师:实验成绩:一、实验目的综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。
二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容1. 编写一个脚本,求斐波那契数列的前10项及总和。
num1=1num2=1echo -n “$num1+$num2”sum=2for((i=1;i<=8;i++))dotmp=$(expr $num1 + $num2)echo -n “+$tmp”((num1=num2))((num2=tmp))sum=$(expr $sum + $tmp)doneecho “=$sum”2.编写一个脚本,求一个数的逆序。
echo -n please input num:read numecho -n The num iswhile [ $num -gt 0 ]dosd=$(($num % 10))echo -n "$sd"num=$(($num/10))doneecho3.设计一个Shell程序,在用户主目录下建立一个userdata目录,在此目录下再建立5个目录,即user1~user5,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
(注意:最后删除自己所建立的目录,恢复原样,以便后面同学做此实验)mkdir -m 754 /home/userdatai=1temp=/home/userdata/userwhile[ $i -le 5 ]domkdir -m 754 $temp$ilet”i=i+1”#done4.用Shell编程,判断一文件是不是普通文件,如果是将其拷贝到/home/student/test 目录下,用命令查看test目录内容,最后再删除test目录。
操作系统 实验4:文件管理实验报告

一、实验题目:文件管理实验--Linux下的文件管理二、实验目的和要求:实验目的:(1)加深对文件、目录、文件系统等概念的理解。
(2)掌握 Linux 文件系统的目录结构。
(3)掌握有关 Linux 文件系统操作的常用命令。
(4)了解有关文件安全性方面的知识。
实验要求:(1)正确使用文件管理命令,能熟练地对文件进行浏览、拷贝、移动和删除。
(2)能熟练地确定和更改工作目录,查看内容和文件属性,创建和删除目录。
(3)正确地理解文件的权限,并能进行相应更改。
(4)理解文件的类型及其表示形式。
(5)理解文件名的表示形式,在模式匹配中能正确使用通配符。
三、实验内容:(1)使用pwd,cd,ls等命令浏览文件系统。
(2)使用cat,cp,mv,head,tail,rm等命令查看你的文件。
(3)使用ln命令进行文件的硬连接和符号连接。
软中断通信(4)使用find,grep命令进行文件查找和模式匹配。
(5)使用chmod命令修改文件的权限。
四、实验步骤:(说明:对本实验涉及的教材中的相关内容进行归纳总结,只需简要说明即可。
)1、用root账号登录到终端,使用pwd命令查看当前目录2、用cd命令将当前目录切换到“/”目录下3、使用ls明令查看Linux的目录结构,了解各目录存放与系统相关的文件14、使用 cat、more、head、tail等命令显示 /etc/inittab文件内容5、使用grep 命令在/etc/inittab 文件中查询“initdefault”字符串26、使用find 命令查找 /目录下所有以main 开头的文件7、使用 cp 命令将/etc目录下的inittab文件拷贝到/root目录下8、使用 sort 和uniq 命令对 /root目录下的inittab文件排序后输出其结果39、统计inittab文件的字节数、行数、字数10、用mkdir命令在/root目录下创建一个test目录11、用cp命令将/etc目录及其下所有内容复制到test目录下12、使用cd和ls查看/root/test/etc 下的内容413、将test目录改名为test214、删除test2五、实验总结:通过本次实验,让我懂得了怎样创建文件以及文件管理命令的使用,对Linux的掌握和了解进一步加深。
LINUX实验四报告

一、实验目的
掌握Linux系统中常用命令的作用和命令中各选项的作用。
二、实验环境
安装了fedora17系统的计算机一台
三、实验过程(实验步骤、记录、数据、分析、结果)
1.查看当前系统下用户Shell定义的环境变量的值。
2.定义变量AK的值为200,并将其显示在频幕上。
3.定义变量AM的值为100,并使用test命令语句比较其值是否大于150。
4.创建一个简单的Shell程序,其功能为显示计算机主机名以及显示系统日期和时间。
5.使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n.
6.使用until语句创建一个shell程序,其功能为计算1~10的平方。
7.
按步骤依次写出命令包括运行结果(可截屏)
1.查看当前系统下用户Shell定义的环境变量的值。
2.定义变量AK的值为200,并将其显示在频幕上。
3.定义变量AM的值为100,并使用test命令语句比较其值是否大于150。
4.创建一个简单的Shell程序,其功能为显示计算机主机名以及显示系统日期和时间。
5.使用for语句创建一个shell程序,其功能为1+2+3+4+5+……n.
6.使用until语句创建一个shell程序,其功能为计算1~10的平方。
四、实验总结
(掌握了什么知识,实验中遇到的问题及解决方法)
在实验中,我掌握了创建shell程序的语法:#!/bin/bash和chmod u+x 文件名
也了解了shell定义的环境变量,并且掌握了test语句的用法,数字的比较,循环控制中的for语句、until语句的用法。
实验4 实验名Linux常见命令。
Linux实验4

实验内容
有一个简单的工程,其目录和文件 结构如下所述:工程的最高层目录 test中有一个hello.c文件和lib、 include两个子目录。在lib目录中有 一个print.c文件,在include目录中 有一个print.h文件。 (1)为该工程编写automake的输入 配置脚本Makefile.am,configure.ac (2)请上机练习使用Gnu Autotools 工具为该工程创建Makefile文件, 并编译该工程。
掌握gcc编译器的使用
掌握gdb调试器的使用
掌握make工程管理器的使用 理解Makefile文件的格式,掌握 Makefile文件的编写规则. 掌握automake autoconfigure等工具
的用法.
实验设备
硬件:PC机 软件: Red Hat linux 9.2 一台
#endif
实验内容: print.c源代码
#include “print.h” void print(char *string) { printf(“%s”,string); }
实验内容: hello.c的源代码
#include “print.h” int main(void) { print(“Hello,the Linux world!\n”); return 0; }
实验内容: print.h源代码
#ifndef PRINT_H #define PRINT_H
#include <stdio.h> void print(char *string);
Linux实验
实验4、Linux C/C++编程工具的
使用
实验目的 实验设备 实验内容 实验报告上交时间: 实验报告要求:应包括各个 Makefile.am文件的具体内容、使用 autotools配置、执行make工具的生 成可执行文件、运行该可执行文件 具体过程的拷屏。
Linux实验4-Linux文件系统-目录和文件管理

实验报告课程名称: Linux操作系统实验名称:实验4、Linux文件系统-目录和文件管理学生姓名:班级学号学院(系):指导教师:实验时间:年月日实验成绩:实验四、Linux文件系统-目录和文件管理一、实验要求(1)掌握目录和文件管理的操作命令;(2)掌握文件权限的修改方法。
(3)掌握文件链接的方法。
二、实验内容和实验步骤【操作要求1】查看Linux系统常见的目录。
【操作步骤】输入命令:ls,查看Linux系统常见的目录,截图如下:【操作要求2】显示当前目录下文件类型。
【操作步骤】输入命令:ls –l|more,截图如下:说明:●“-”:表示普通文件●“d”:表示目录文件●“c”:表示字符设备文件●“b”:表示块设备文件●“l”:表示符号链接文件【操作要求3】查看当前目录下所有文件类型【操作步骤】输入命令:file *,截图如下:【操作要求4】先创建两个新目录dir1和dir2,然后将dir2目录移到dir1目录中,最后删除dir2目录。
【操作步骤】(1)以普通用户user登陆字符界面,输入命令:pwd,当前目录为用户的主目录:/home/user。
(2)输入命令:ls –l,查看当前目录中的所有文件。
(3)创建两个目录,输入命令:mkdir dir{1,2}。
(4)输入命令:ls –l,确认两个目录创建成功。
以上4个步骤截图如下:(5)输入命令:mv dir2 dir1,将dir2目录移动到dir1目录。
(6)输入命令:cd dir1,切换dir1目录,再输入:ls命令,查看到dir2目录。
截图如下:(7)删除dir2目录,输入命令:rm –rf dir2。
【操作要求5】查找profile文件。
【操作步骤】(1)切换用户为超级用户,输入命令:su -,并输入密码。
(2)输入命令:find /etc -name profile, 截图如下:(3) 使用exit命令,退出超级用户身份。
【操作要求6】将/etc/profile文件中所有包含“HOSTNAME”的行存入f4文件,并修改f4文件的权限,让所有用户都可以读写。
实验4 Linux 文件权限管理实验

第四部分:其他人权限
对于文件/etc/passwd,其他人可读、不可写,不可执行
对于文件/etc/shadow,其他人不可读、不可写,不可执行
5.尝试向没有写权限的文件写入数据,如图1-5:
图1-5
命令如下:
echo "test" >> /etc/passwd
写标记位:即文件(目录)可以被写,记为w
执行标记位:即文件可以被执行或目录可以被访问,记为x
因为系统有能力支持多用户,在每一方面系统都会做出谁能读、写和执行的资源权力限制。这些权限以三个八位元的方式储存着,一个是表示文件所属者,一个是表示文件所属群组,一个是表示其他人。这些数字以下列方式表示,文件(目录)的每种所属关系均从下表中取一种以组合表示:
真实用户ID (uid)是拥有或启动进程的用户UID。生效UID (euid)是进程以其身份运行的用户ID。
举例来说,passwd工具通常是以发起修改密码的用户身份启动,也就是说其进程的真实用户ID是那个用户的ID;但是,由于需要修改密码数据库,它会以root用户作为生效用户ID的身份运行。这样,普通的非特权用户就可以修改口令,而不是看到“Permission Denied”错误了。
重复上面的图1-11所示步骤,以普通帐号sample创建文件abcd;
重复上面的图1-12所示步骤,到以普通帐号test尝试删除/sample/abcd时,发现这次删除不了了,如图1-14:
图1-14
S位(suid / sgid)
S位分为SUID和SGID,分别作用于属主和属组的权限位。
uid和euid
Linux内核最初是为英特尔386微处理器设计的。现在Linux内核支持从个人电脑到大型主机甚至包括嵌入式系统在内的各种硬件设备。
linux实验四

%MEM进程使用内存的百分比
TIME进程使用CPU的时间
COMMAND被执行的命令行
(2)输入“k”,选择PID号。
(3)输入“r”,选择PID号。如图五:
图5
3、用ps命令察看系统当前的进程,并把系统当前的进程保存到文件/tmp/process中。如图六:
答:命令:#find /etc –size +15k –a –size -20k
结果如图十一:
10、将1题中text中的love文件移动到tmp下并改名为lv,将lv拷贝到text下,回到tmp中删除lv文件。
答:如图十二:
图8
图9
图10
图11
图12
五、实验心得:
通过这次上机实验,我了解到了vim编辑器的使用;初步掌握了如何监视系统运行状态,查看、删除进程的正确方法;以及命令在后台运行的用法以及前后台运行的切换命令;与文件操作及目录操作相关命令。但是在第三题时保存文件时遇到了麻烦,在和同学的交流、讨论下,顺利的完成了实验。我深刻的体会到了在上机中能力得到了提高。
some say love, it is a razor
some say love, it is a hunger
i say love it is a flower
it's the heart afraid of breaking
用vi创建一个以自己名字(拼音首字母)命名的文件,将love中的内容读入到vi所创建文件中,使用什么命令?然后全文复制一份接续在末尾,使用什么命令?将其中的i全部替换为u,退出并保存在text中,使用什么命令?
答:
(1)#cd /tmp进入tmp下,输入命令:mkdir text创建text目录。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四:磁盘管理、Linux文件系统
一、实验目的
1.掌握使用fdisk进行硬盘分区;
2.掌握Linux文件系统的创建、挂载、卸载;
3.掌握Linux下使用光盘;
4.掌握交换空间添加、删除。
二、实验预备内容
理解相关的操作系统知识:硬盘分区、文件系统;
学习课本第十章至第十一章内容
三、实验具体内容及详细步骤
1.使用fdisk进行硬盘分区
1)显示硬盘分区信息。
2)创建和删除主分区。
3)创建扩展分区和逻辑驱动器。
4)查看并转换文件系统。
5)保存分区设置信息,并退出fdisk。
6)在非交互式界面下显示当前硬盘的分区信息(fdisk -l)。
2.逻辑卷管理
1)创建LVM类型的分区:
fdisk /dev/sdb
p 列出当前分区表
l 查看分区类型帮助信息
t 转换分区类型
先指定分区号,再输入分区类型代码8e
p 查看是否更改成功
w 保存退出
2)创建物理卷:
pvcreate /dev/sdb5
(提示successfully created,即为成功)
查看物理卷信息使用命令:
pvdisplay
3)创建卷组:
vgcreate vgsdb5 /dev/sdb5
(提示successfully created,即为成功)
查询卷组信息使用命令:
vgdisplay
4)创建逻辑卷:
lvcreate -n lvsdb5 -L 32M vgsdb5
(提示“lvsdb5” created)
查询逻辑卷信息使用命令:
lvdisplay
5)格式化逻辑卷
使用lvdisplay查看逻辑卷,看到路径为:
/dev/vgsdb5/lvsdb5
再进行格式化:
mkfs -t ext3 /dev/vgsdb5/lvsdb5
6)挂载逻辑卷到系统的/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/sdb3
4.挂载和卸载Linux文件系统
挂载:
mkdir /home/kk
mount /dev/sdb1 /home/kk
(使用mount或df命令查看挂载情况)
卸载:
umount /dev/sdb1
或umount /home/kk
5.Linux下使用光盘:
mkdir /media/cdrom
mount -t iso9660 /dev/cdrom /media/cdrom
ls /dev/cdrom
(可在挂载后的目录看到光盘内容即表明正确挂载)
6.查看Linux系统分区挂载情况:
1)通过df命令
2)通过mount–s命令
3)查看/etc/mtab文件获取信息
7.添加交换分区
A.创建交换分区mkswap /dev/sdb2
B.启用交换分区swapon /dev/sdb2
C.确认已经启用交换分区cat /proc/swaps
也可以用free命令查看
D.如果要在系统引导时启用交换文件,编辑/etc/fstab文件添加如下内容。
然
后在系统下次引导时,就会启用新建的交换文件。
/dev/sdb2 swap swap defaults 0 0
8.删除交换空间
free
swapoff /dev/sdb2
free
四、实验总结
写出详细的试验过程及其试验结果(要有具体的命令实例)具体命令:
1.fdisk /dev/sdb
2.p/n/e/d/l/t/w
3.pvcreate /dev/sdb5
4.pvdisplay
5.vgcreate vgsdb5 /dev/sdb5
6.vgdisplay
7.lvcreate -n lvsdb5 -L 30M vgsdb5
8.lvdisplay
9.mkfs.ext3 /dev/vgsdb5/lvsdb5
10.mount /dev/vgsdb5/lvsdb5 /opt/
11.mount -s
12.mkfs -t ext3 /dev/sdb2
13.mkfs.vfat /dev/sdb1
14.mkdir /home/kk
15.mount dev/sdb1 /home/kk
16.mount -s
17.umount /dev/sdb1
18.mount -s
19.mkdir /media/cdrom
20.mount -t iso9660 /dev/cdrom /media/cdrom
21.cd !$
22.mount -s
23.cat /etc/mtab
24.mkswap /dev/sdb1
25.free
26.swapon /dev/sdb1
27.free
28.vi /etc/fstab
29./dev/sdb1 swap swap defaults 0 0
30.wq
31.free
32.swapoff /dev/sdb1
33.free
实验具体内容(共计24例)
9.使用fdisk进行硬盘分区
1)为虚拟机添加第二块SCSI接口的硬盘,用于后续磁盘分区测试。
(1例)
fdisk /dev/sdb
2)在命令行显示当前硬盘的分区信息。
(1例)
p
3)创建和删除主分区。
(1例)
n(创建)/d(删除)
4)创建扩展分区和逻辑驱动器。
(1例)e/l
5)查看并转换文件系统。
(1例)
l
6)保存分区设置信息,并退出fdisk。
(1例)
w
10.逻辑卷管理
1)创建LVM类型的分区。
(1例)
t/转换分区文件系统,输入分区号,转换类型为id
2)将上一步创建的LVM类型的分区创建为物理卷,并查看。
(1例)
pvcreate /dev/sdb5
pvdisplay/查看物理卷
3)将上一步创建的物理卷创建为卷组,并查看。
(1例)
vgcreate vgsdb5 /dev/sdb5
vgdisplay/查看卷组信息
4)在卷组创建成功基础上,创建逻辑卷lvsdb5,大小为32M,并查看。
(1例)lvcreate -n lvsdb5 -L 30M vgsdb5
lvdisplay
5)将上一步创建的逻辑卷lvsdb5格式化,创建ext3文件系统。
(1例)
mkfs.ext3 /dev/vgsdb5/lvsdb5
6)挂载逻辑卷lvsdb5到系统的/opt目录,并查看。
(1例)
mount /dev/vgsdb5/lvsdb5 /opt/
mount -s/查看已挂载文件系统情况
11.将分区/dev/sdb2格式化为ext3文件系统。
(1例)
mkfs -t ext3 /dev/sdb2
将分区/dev/sdb1格式化为FAT32文件系统。
(1例)
mkfs.vfat /dev/sdb1
12.将分区/dev/sdb1挂载到目录/home/kk,并查看。
(1例)
mkdir /home/kk
mount /dev/sdb1 /home/kk
mount -s
卸载分区/dev/sdb1,并查看。
(1例)
umount /dev/sdb1
mount -s
13.将光盘放入光驱,挂载光盘到/media/cdrom。
(1例)
mkdir /media/cdrom
mount -t iso9660 /dev/cdrom /media/cdrom
cd !$
14.查看Linux系统分区挂载情况(3选2)(2例)
mount -s
cat /etc/mtab
15.添加交换分区
A.创建交换分区(1例)
mkswap /dev/sdb1
free//显示系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer
B.启用交换分区(1例)
swapon /dev/sdb1
free
C.查看配置文件确定交换分区启用成功(1例)
D.如果要在系统引导时启用交换分区,需要如何编辑/etc/fstab文件?则在系
统下次引导时,就会启用新建的交换文件。
(1例)
vi /etc/fstab
添加:/dev/sdb1 swap swap defaults 0 0
wq
16.删除交换空间(1例)
swapoff /dev/sdb1。