Linux实验报告

合集下载

linux实验报告

linux实验报告

目录实验一Linux基本操作一、实验目的1、掌握linux操作系统的登录与其他基本口令2、掌握linux操作系统的基本命令二、实验内容1、linux命令的格式2、Linux命令的输入、修改、执行、分类、联机帮助3、Linux文件操作三、实验环境安装有Fedora操作平台的计算机一台四、实验过程与结果分析一、linux基本操作由于实验中我们使用的不是root权限,所以对于一些用户建立,关机等都没有相应的权限。

1)登录1.控制台登录提供用户名与密码方可登录2.远程登录这部分由于实验环境所限为进行练习2)修改口令Password pass3)退出4)关机与重启关机:shutdown now重启:reboot二、linux命令这部分主要是练习主要的命令格式(命令格式为:命令名选项一选项二…参数一参数二… )命令的输入与修改,命令的执行等等,这些操作也都及其简单。

主要是用以下几个命令1)$who$who –q /*显示登录用户名和用户数*/$who am I /*显示当前用户和登录时间*/2)echo命令:$ echo Hello! */显示字符串中的参数字符串/*-n /*输出字符串后不换行*/3)data命令用法示例:$date …+Today is %D,now is %r‟ /*显示今天的日期,和现在的时间*/$date …%B %d,%Y‟ /*显示月日年*/4)cal /*显示当年当月的日历*/三、文件操作Linux文件通常是由字母、数字、“.”、“_”和“-”字符组成。

在对大量文件进行操作时可以使用通配符。

个人觉得文件的通配符非常的重要,使用起来及其方便,主要的通配符有以下几种:?:匹配任意单个字符* :匹配0或多个任意字符[ ]:匹配方括号中列出的字符集中的任意单个字符集例如:输出所有以.c结尾的文件$ echo *.c对文件的操作主要有创建新文件,对文件权限的操作,文件的转移等等,命令操作如下所示:1)文件的创建1.cat > newfile2.vi newfile2)文件的权限文件主要有权限有读权限、写权限、执行权限、无权限四种3) 常用文件操作的命令1.文件显示:cat 、more、less2.文件复制、删除和移动cp、rm、mv3.文件内容的统计和排序wc、sort4.改变文件的存取权限chmod5.改变文件的时间标签touch6.设置文件掩码umask7.文件查找、搜索find、grep四、目录操作目录操作是本章最重要的内容,它结合文件操作,用户必须熟练使用在各种目录下进行文件操作。

Linux操作系统第二次实验报告

Linux操作系统第二次实验报告
实验内容及实验记录:
1.打开终端窗口。在当前目录下,创建测试目录*test(其中*为学生姓名拼音首字母组合)。
2.利用ls命令列出文件和目录,确认*test目录创建成功。
3.进入test目录,利用pwd命令查看当前工作目录。
4.利用touch命令,在当前目录创建一个新的空文件*file(其中*为学生姓名拼音首字母组合)。
15.进入*test目录,显示目录中的文件列表。查找当前用户的主目录下的所有名为*file的文件。
16.删除*test子目录下的所有文件。利用rmdir命令删除空目录*test。
17.回到上层目录,利用rm命令删除目录*test和其下所有文件。
指导教师评语:
实验报告
课程名称:Linux操作系统
任课教师:
授课学期:
学生班级:
学生姓名:
实验题目:文件和目录的命令行操作
实验成绩:
指导教师:
实验室:
日期:
节数:2
实验目的:
1.熟悉各类文件操作命令。
2.掌握基于命令行的文件操作。
3.熟悉目录操作命令。
4.掌握基于命令行的目录操作。
实验仪器、物品:已安装好Ubuntu桌面操作系统。
12.删除文件profile,用长格式显示文件lnsprofile和lnhprofile的详细信息,比较文件lnhprofile的链接数的变化。
13.把文件*file(其中*为学生姓名音首字母组合)改名为backupfile。显示当前目录下的文件和目录列表,确认重命名成功。
14.把文件backupfile移动到*test目录下。显示当前目录下的文件和目录列表,确认移动成功。
9.用grep命令在profile文件中对关键字then进行查询,并与上面的结果比较。

linux操作系统实验报告

linux操作系统实验报告

linux操作系统实验报告第一篇:linux操作系统实验报告Linux实验报告一一、实验步骤及内容1.虚拟机软件的安装(1)先准备虚拟机安装包。

(2)更改安装路径:“D: VMwareVMware Workstationvmware.exe”(3)输入序列号:ctrl+v,在安装过程中不能进行复制剪切操作。

(4)不能重新启动,才能继续安装汉化版D: vmwarevmware workstation2.新建一个虚拟机并进行配置(1)单击新建虚拟机虚拟机的类型选择:典型安装选择客户端操作系统:linux虚拟机的名字及位置根据需要网络类型选择:,桥接。

指定的磁盘容量删除软驱:双击floppy—remove虚拟内存设置:双击memory—1024MB设置linux的安装文件:选择安装镜像文件—指定第一个安装文件—就可以啦!之后会提示安装第二个安装文件就进行选择第二个中间鼠标切换用CTRL+ALT。

3.安装LINUX操作系统(1)要确定鼠标是否在虚拟机的激活状态下:敲回车不需要检测安装文件选择skip进入linux的安装前的配置选项:选择安装的语言—中文简体键盘:--默认鼠标:--默认安装类型:--workstation磁盘分区:--自动分区引导程序:默认网络配置:默认防火墙:无防火墙支持的语言:中文时区:亚洲-上海密码:root123456安装的软件包:全部。

二.在已有虚拟机软件的基础上安装LINUX的技巧。

(1)新建虚拟机—典型安装—linux ,red hat linux---给虚拟机命名,并且指定安装位置d:red hat linux---桥接---10G。

(2)在刚才建立的虚拟机上安装linux系统.(3)配置要安装的linux系统的安装文件iso镜像文件(4)选择配置好linux镜像文件刚才建立的虚拟机,启动虚拟机,开始安装。

三.实验总结充分了解linux系统的安装,学会新建虚拟机,在虚拟机上安装linux系统.和一些简单的技巧并对此门课程有了一定的兴趣。

linux实验报告

linux实验报告

linux实验报告Linux 实验报告一、实验目的本次 Linux 实验的主要目的是熟悉 Linux 操作系统的基本命令和操作,了解其文件系统、进程管理、用户权限等核心概念,并通过实际操作加深对这些知识的理解和应用能力。

二、实验环境本次实验使用的是虚拟机软件 VirtualBox 安装的 Ubuntu 2004 LTS 操作系统。

三、实验内容及步骤(一)用户和权限管理1、使用`sudo adduser` 命令创建新用户`user1` 和`user2`。

2、使用`sudo passwd user1` 和`sudo passwd user2` 为新用户设置密码。

3、使用`sudo usermod aG sudo user1` 将`user1` 添加到`sudo` 组,使其具有管理员权限。

4、以`user1` 身份登录系统,创建一个文件`file1txt`,尝试修改其权限为 777,观察权限变化。

(二)文件和目录操作1、使用`mkdir` 命令创建目录`directory1` 和`directory2`。

2、使用`touch` 命令在当前目录下创建文件`file2txt` 和`file3txt`。

3、使用`cp` 命令将`file2txt` 复制到`directory1` 目录下。

4、使用`mv` 命令将`file3txt` 移动到`directory2` 目录下。

5、使用`rm` 命令删除`file2txt` 和`directory2` 目录及其下的所有文件。

(三)进程管理1、使用`ps` 命令查看当前系统中的进程信息。

2、使用`top` 命令实时监控系统的进程状态。

3、使用`kill` 命令结束指定进程(例如,通过进程 ID 结束一个占用大量资源的进程)。

(四)文件系统管理1、使用`df` 命令查看磁盘空间使用情况。

2、使用`du` 命令查看目录或文件的磁盘使用量。

3、使用`mount` 命令挂载一个新的磁盘分区(假设已经在虚拟机中添加了新的磁盘分区)。

linux期末实验报告总结

linux期末实验报告总结

linux期末实验报告总结1. 实验概述本次Linux期末实验主要包括对Linux操作系统的基本操作、文件管理、进程管理、权限管理、Shell脚本编程等方面的实践,旨在加深对Linux操作系统的理解,提高实际应用能力。

2. 实验过程2.1 基本操作通过命令行操作,掌握Linux 操作系统的基本指令。

包括登录、注销、重启等命令的使用。

2.2 文件管理对文件和目录的创建、删除、复制、移动等操作进行练习,掌握文件和目录的属性设置、查看文件和目录的内容等技巧。

2.3 进程管理学习进程的基本概念和相关命令,如查看进程、杀死进程等,了解进程的状态转换、进程优先级等。

2.4 权限管理学习 Linux 文件权限的概念和设置方式,掌握用户和用户组的管理方法。

2.5 Shell脚本编程学习 Shell 脚本的编写、运行和调试方法,实现一些简单的自动化任务,如文件备份、日志分析等。

3. 实验心得通过本次实验,我对 Linux 操作系统有了更深入的认识。

在实验过程中,我遇到了以下几个问题,并通过上网查询和向同学请教解决了:3.1 命令行操作一开始对命令行操作不太熟悉,不知道如何快速切换目录、查看文件内容等。

后来学会了使用 cd 命令切换目录,使用 cat 命令查看文件内容,大大提高了工作效率。

3.2 文件管理对于文件和目录的复制、移动等操作会出现一些权限问题,需要先设置权限或者以管理员身份执行命令才能成功。

通过学习 chmod 命令设置权限,以及使用 sudo 命令以管理员身份执行命令,解决了这些问题。

3.3 进程管理在了解了进程的基本概念后,我开始试着使用 ps 命令查看进程,发现有很多参数可以选择,有时候会有困惑。

后来通过查阅ps 命令的帮助文档,了解到了不同参数对应的含义,解决了这个问题。

3.4 权限管理对于用户和用户组的管理操作,刚开始不太熟悉。

通过学习 useradd、usermod、groupadd 等命令的使用方法,成功创建了用户和用户组,并进行了相关设置。

Linux实验报告

Linux实验报告

Linux操作系统说明书实验一 Linux基本命令的使用(1)一、实验目的学习和掌握Linux的基本命令。

二、实验内容(一) Linux安装(二)用户简单操作:(三)文件及目录操作:(四)设置文件或目录权限:(五)用户与组高级操作:(六)挂接光驱(/mnt/cdrom=/media/cdrom这样去理解)三、实验步骤(一) Linux安装(二)用户简单操作:1、添加用户u1和u2,并分别设置口令2、查看/etc/passwd及/etc/shadow文件内容,以确定两个用户以建立3、查看/home 目录下是否有u1和u2目录4、以u1用户身份登录(三)文件及目录操作:1、以u1用户身份登录后,显示当前目录位置2、在u1目录下创建两个目录,分别为dir1和dir23、进入dir1目录用vi创建两个文件,文件名分别为test1、test24、分别用cat、less、more命令查看test1和test2文件内容5、将dir1目录下的test1文件复制到/tmp目录下6、查看/tmp目录下是否有test1文件7、将dir1目录下的test2移动到dir2目录下8、查看dir1目录下的文件9、查看dir2目录下的文件10、删除dir1目录及目录下的所有文件11、分别查找/根分区下是否有test1与test2文件12、删除dir2目录及目录下的所有文件(四)设置文件或目录权限:1、以root用户身份登录2、用ls –l命令显示/tmp/test1文件权限(抄录显示行并详细指定其表示含义)3、将/tmp/test1文件的属主改为u2,权限为读、写、可执行;属组改为u2,权限改为只读;其他用户无任何权限。

4、以用户u2身份登录,查看/tmp/test1文件内容(用cat命令),内容是否可见?5、以用户u1身份登录,查看/tmp/test1文件内容(用cat命令),内容是否可见?(五)用户与组高级操作:1、添加一个新用户u3到u2组。

linux实验报告

linux实验报告

实验一实验目标:1. 掌握Linux系统的登录方法;掌握linux系统图形界面的使用方法。

2. 掌握下列命令的操作方法要求列举出以上任意五条命令的执行结果。

实验过程:1.开机2.屏幕出...Winx.LinuxWin2003选择 Linux(进入fedaro)3. 回答: 用户名: root↙口令: 000000 ↙登录成功后, 从图形界面的左下角点击应用程序→系统工具→终端此时系统进入命令界面, 就可以执行用户命令了。

实验结果:[root@localhost ~]# ls110.c Desktop g.c~ lchl.c m time.exe zeng1.c~112 Documents gg.c lcl.c mm tongxin.c 实验二120.c Download guandao.c lcl.c~ Music tongxin.exe 未保存文档 1120.c~ ent guandao.c~ lclin.c my Videos 未保存文档 1~1.c~ ent.c guandao.exe li.c new wap 未保存文档 21.c2.c.. ff..... i.fre.software.Yo.ma.redistribut.copie.o.i.unde.th.li.c.....Picture..wap..... 未保存文.21.c~777 fifo.c jincheng1.c lichenglin.c Public xiaoxiao7777 fifo.exe jincheng1.exe ll.c root xiaoxiao.c99.c fushujiong jincheng2.c ll.c~ Templates yuxiaoxiaoa.out g.c l.c lll.c time.c zeng1.c[root@localpwdhost ~]#pwd/root[root@localhost ~]# grepUsage.gre.[OPTION]...PATTER.[FILE]...Try `grep --help' for more information.[root@localhost ~]# whereis...实验二实验目的:学习linux系统下编写c程序的过程,进一步了解linux的特点.实验过程:1. 使用文本编辑器编辑下列文件hello.c, 放在/root下#include<stdio.h>main (){ char name[20];printf(“please input your name:”);scanf(“%s”,name);printf(“Welcome %s!\n”,name);return 0;}2. 使用命令“gcc -0 /root/hello /root/hello.c”编译源程序, 发现程序错误, 使用文本编辑器修改源文件成如下#include<stdio.h>int main(){char name[20];printf("please input your name:");scanf(“%s”,name);return 0;}然后使用命令“gcc -0 /root/hello /root/hello.c”编译源程序3返回到终端(命令界面)执行程序: [root@localhost~]# /root/hello 会输出“please input your name:”, 然后输入“zhangning”, 回车。

linux操作基础实验报告

linux操作基础实验报告

linux操作基础实验报告Linux 操作基础实验报告一、实验目的本次实验的主要目的是让学生熟悉和掌握 Linux 操作系统的基本操作,包括文件和目录管理、用户和权限管理、进程管理以及网络配置等方面,为今后更深入地学习和使用 Linux 系统打下坚实的基础。

二、实验环境本次实验使用的操作系统是 Ubuntu 2004 LTS ,实验在虚拟机中进行,虚拟机软件为 VMware Workstation Pro 16 。

三、实验内容及步骤(一)文件和目录管理1、登录到 Linux 系统后,首先使用`pwd` 命令查看当前工作目录。

2、使用`ls` 命令查看当前目录下的文件和子目录。

3、使用`mkdir` 命令创建一个新的目录,例如`myfolder` 。

4、使用`cd` 命令进入新创建的目录。

5、在新目录中,使用`touch` 命令创建一个新的空文件,例如`myfiletxt` 。

6、使用`vi` 或`nano` 命令编辑该文件,输入一些文本内容并保存。

7、使用`cat` 命令查看文件的内容。

8、使用`cp` 命令将该文件复制到其他目录。

9、使用`mv` 命令将文件移动到其他位置。

10、使用`rm` 命令删除文件和目录,注意使用`r` 选项递归删除非空目录。

(二)用户和权限管理1、使用`sudo adduser` 命令创建一个新用户,例如`newuser` 。

2、使用`sudo passwd newuser` 命令为新用户设置密码。

3、切换到新用户登录,查看当前用户信息,使用`whoami` 和`id` 命令。

4、回到 root 用户,使用`chmod` 命令修改文件或目录的权限,例如给一个文件设置读写执行权限。

5、使用`chown` 命令修改文件或目录的所有者和所属组。

(三)进程管理1、使用`ps` 命令查看当前系统中的进程信息。

2、使用`top` 命令动态查看系统的资源使用情况和进程状态。

3、使用`kill` 命令结束一个指定的进程,需要知道进程的 PID 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南大学Linux操作系统实验报告学生学院信息科学与工程学院指导老师胡小龙专业班级完成时间目录1.实验一Linux的安装 (3)1.1 实验目的 (3)1.2 实验设备 (3)1.3 实验原理 (3)1.4 实验步骤 (3)2. 实验二Linux基本操作 (5)2.1 实验目的 (5)2.2 实验设备 (5)2.3 实验原理 (6)2.4 实验步骤 (6)3. 实验三Linux系统管理 (10)3.1 实验目的 (10)3.2 实验设备 (10)3.3 实验原理 (10)3.4 实验步骤 (11)4. 实验四Linux Shell程序设计 (14)4.1 实验目的 (14)4.2 实验设备 (14)4.3 实验原理 (15)4.4 实验步骤 (17)5. 实验五Linux 高级程序设计 (20)5.1 实验目的 (20)5.2 实验设备 (21)5.3 实验原理 (21)5.4 实验步骤 (21)6. 实验六Linux核 (23)6.1 实验目的 (23)6.2 实验设备 (23)6.3 实验原理 (23)6.4 实验步骤 (23)Linux操作系统1.实验一Linux的安装1.1 实验目的(1)了解硬盘分区的概念和方法;(2)掌握硬盘的分区规划;(3)掌握Linux操作系统的安装和配置过程。

1.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

1.3 实验原理Linux可以以多种方式安装在PC机上:(1)独立分区安装、(2)DOS分区安装和(3)虚拟机VMWare下安装。

鉴于VMware下安装对原来系统影响较小且不影响本实验目的,因此采用VMWare下安装方式。

1.4 实验步骤(1)在Windows XP下安装VMware 5.5(2)配置虚拟机(3)启动虚拟机(4)启动Linux安装过程(5)安装过程配置(6)安装后配置(7)第1次启动VMWare下Linux操作系统2.实验二Linux基本操作2.1 实验目的(1)复习Linux基本命令;(2)掌握常用Linux命令。

2.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

2.3 实验原理(1)练习命令行模式下的常用命令:man:命令帮助ALT-Fx:虚终端切换常用命令:cat、Ls、ps、chmod、kill、ln、cp、mv、rm、cd、pwd、mkdir、chown、who、w、wc、whoami、date、uname等(2)编辑器vi的使用:使用vi建立并修改一个文本文件(3)档案管理rpm、gzip、tar等命令(4)网络命令telnet、ftp、talk2.4 实验步骤(1)常用命令1. 使用man man命令查询man命令的Manual:NAME章节指示了该命令的名字和简介;SYNOPSIS章节列出了该命令可用的使用方式及其符号;DESCRIPTION章节详细描述各使用方式及符号的作用;2. cat查看/etc/fstab可以看出系统挂载了3个文件系统,分别挂在/、/home、swap,它们都是通过UUID指定其物理分区来定位的。

3. ls列目录4. ps列进程5. vi编辑器6. tar解压缩7. telnet远程登录路由器ssh远程登录iPad(2)其他3.实验三Linux系统管理3.1 实验目的(1)掌握Linux基本系统管理命令;(2)掌握基本管理方法;(3)初步了解Linux中与系统管理相关的有关配置文件。

3.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

3.3 实验原理(1)用户管理adduser、useradd、passwd等观察:/etc/passwd文件(2)文件系统管理df、du命令使用mount、umount命令使用:安装usb盘或者光盘,查看分析/etc/fstab文件(3)存储器free:了解存储器使用情况(4)关机halt、shutdown –h、init 0reboot、shutdown -r now并比较它们之间的差别(5)网络配置netconfig的使用(6)启动配置/etc/inittab:查看、修改并观察其响应3.4 实验步骤(1)用户管理1. adduser:2. passwd命令(2)文件系统管理1. df、du:2. mount、umount:3. 查看fstab:(3)存储系统free命令查看存储器状态(4)网络配置ifconfig4.实验四Linux Shell程序设计4.1 实验目的(1)掌握Linux shell程序运行方法;(2)掌握Linux Shell程序基本语法;(3)了解Linux环境变量;(4)编写简单Linux shell程序。

4.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

4.3 实验原理(1)查看/etc/.profile文件:相当于DOS下autoexe.bat (2)通配符“*”、“?”、“[]”的使用$ls [a-c]* 和$ls [a,m,t]*命令(3)重定向和管道的使用ls | morecat > test.txt(4)变量$lookup=/usr/mydir$echo $lookup$export lookup:让进程使用(5)编辑并运行以下程序(shell程序控制结构)1 fortest#!/bin/bashfor a in x y zdoecho now a=$adone2 fortest1#!/bin/bashfor adoecho now a=$adone3 functest#!/bin/bashsetup(){echo setup…}do_date(){date}chgdir(){cd $1}do_datesetupchgdir4 paramtest#!/bin/bashecho filename:$0echo arguments:$*echo number arg:$#echo arg2:$2shiftecho number arg:$#echo arg2:$2set hello,everoneecho args:$*echo arg2:$25 untiltest#!/bin/bashnumber=0until (test $number –gt 5) doecho “$number”number=`expr $number + 1` done4.4 实验步骤(1)查看文件屏幕上的容定向到text中。

(2)输入输出重定向在Linux命令行模式中,如果命令所需的输入不是来自键盘,而是来自指定的文件,这就是输入重定向。

同理,命令的输出也可以不显示在屏幕上,而是写入到指定文件中,这就是输出重定向。

command>file:将命令的输出结果重定向到一个文件。

command>&file:将命令的标准错误输出一起重定向到一个文件。

command>>file:将标准输出的结果追加到文件中。

command>>&file:将标准输出和标准错误输出的结构都追加到文件中。

如 #ls –l > list.txt(3)管道pipe将某一个程序的输出送到另一个程序的输入command1| command2 [| command3...]也可以连同标准错误输出一起送入管道:command1| &command2 [|& command3...](5) $lookup=/usr/mydir该命令建立一个名为lookup的变量并给其赋值/usr/mydir,以后用户可以在命令行中使用lookup来代替/usr/mydir,$echo $lookup结果显示:/usr/mydir为了使变量能被子进程使用,可用exprot命令,例如:$lookup=/usr/mydir(6)运行shell程序Shell程序1:Shell程序2:Shell程序3:Shell程序4:Shell程序55.实验五Linux 高级程序设计5.1 实验目的(1)了解Linux操作系统下应用程序开发流程(2)掌握gun工具链的使用(3)了解Linux高级编程技巧(例如IPC机制、系统调用等)5.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

5.3 实验原理(1)编写一个简单的C语言程序,编写Makefile文件。

了解编译过程,并用gdb进行调试。

(2)以下任选其一:1.编写一个多进程通信程序,采用Message Queue或shared Memory或者Maped File机制进行通信2.编写一个多线程程序(pthread),实现2程同步互斥5.4 实验步骤(1)写出源程序,并编译运行C编程:6.实验六Linux核6.1 实验目的(1)了解Linux操作系核(2)掌握核编译和核升级方法(3)了解有关核编程6.2 实验设备一台pc机、RedHat Linux 7.2以上版本、VMware Workstation v5.5。

6.3 实验原理(1)核配置和编译(课后完成)(2)察看/proc存文件系统下的文件,写出每个目录容(3)编写一个简单的字符虚拟设备程序(以模块方式编译、加载、使用)6.4 实验步骤struct file_ operations status_ fops = {NULL, /* seek */read_ status,write_ status,NULL, /* readdir */NULL, /* poll */NULL, /* ioctl */NULL, /* mmap */open_ status,NULL, /* flush */close_ status,NULL, /* fsync */NULL, /* fasync */NULL, /* check_ media_ change */NULL, /* revalidate */NULL, /* lock */};创建这个设备:mknod /dev/status c <major_num> 0static int major_ number = 0; /* pass a major of 0 toregister_ chrdev* for dynamic allocation*/int init_ module( void){major_ number = register_ chrdev( 0, "status", &status_ fops);if (major_ number < 0) {printk( KERN_ WARNING "Dynamic allocation of major failed");return major_ number; /* return error code */}printk( KERN_ INFO "Assigned major number %i.\ n", major_ umber);return 0;}int cleanup_ module( void){ printk( KERN_ INFO "Unregistering major number %i.\ n", major_ number); unregister_ chrdev( major_ number, "status"); /* give back our number */return 0;}static ssize_ t write_ status( struct file *file, const char *buffer, size_ t count, loff_ t *ppos) {return -EINVAL;/* we’ve decided not to support writes for now */}static int open_ status( struct inode *inode, struct file *file){MOD_ INC_ USE_ COUNT; /* ensures that currently used modules aren’t unloaded*/ return 0;}static int close_ status( struct inode *inode, struct file *file){MOD_ DEC_ USE_ COUNT; /* rmmod won’t run unless USE_ COUNT is 0 */return 0;}static char *message = "All your base are belong to us.";static ssize_ t read_ status( struct file *file, char *buffer,size_ t count, loff_ t *ppos){int char_ count = 0;int count_ to_ copy = 0;while (message[ char_ count] != '\ 0')char_ count ++; count_ to_ copy = (char_ count > count) ? count : char_ count;copy_ to_ user( buffer, message, count_ to_ copy); /* write to the user- space buffer */ return char_ count;}。

相关文档
最新文档