linux实验

linux实验
linux实验

实验一Linux基本操作

一、登录系统

1.用普通jsj登录密码123456

2.su切换到管理员登录

二、注销登录

logout exit [Ctrl]+d

三、开始执行命令

1.whoami 查询我是谁,当前以什么账号登录

2.who 查询正在登录用户的基本信息

3.w查询正在登录用户的详细信息

4.查看用户历史登录信息

(1)Last

(2)last -5

(3)last jsj

(4)last -5 jsj

(1)$password更改jsj密码

(2)$su

#password jsj

exit

6.查看系统日期和时间

(1)date系统当前日期和时间

(2)cal 当前月份情况

(3)cal 5 2016 查询2016年5月

(4)cal2016 查询2016年日历

7.计算机bc

$which date查看date所在位置$whereis date查找文件(date)的位置

$whatis date简单描述命令的功能

9.查看工作目录的位置和文件列表示例$pwd 查看当前工作目录

$ls –lhl列举当前目录文件信息

$ls –lh /home/jsj列举/home/jsj/目录文件信息

$date=’Tuesday’$echo Today is ${day}!

输出Today is Tuesday!

四、几个重要的快捷键

$whe [Tab]

$ls /etc/sysc [Tab] [Tab]

$fdisk –l 无显示则正确执行

六、Linux命令的通用格式$ ls –l /home/jsj

$ls –lh /home/jsj

$mkdir 1 2 3 4 创建四个目录

$ ls –lh

$cp 1 2 3 4

$ls –lh 4

$gpasswd –a jsj wheel

$gpasswd wheel –a jsj

七、BSD命令通用格式

$ ps aux

查询正在运行的进程

$ ip addr

$ ip addr show eth0

查看IP地址。ip是命令组,addr是子命令,show是选项,eth0是参数

八、Linux联机帮助系统

$date --help

以给定的格式显示当前时间,或设置系统日期,查询命令date的帮助

$ man date

man会提供比help更丰富的帮助系统

$ info date

九、正确的关机或重启方法#shutdown -h now

#shutdown -r now

立即关机或者重启

实验二磁盘与文件系统

一、磁盘分区与文件系统

1.磁盘分区管理fdisk

$ sudo fdisk -l (管理员登陆后输入fdisk -l)

# fdisk /dev/sda

#fdisk -l 再次查看就多了二个分区:/dev/sdb1,/dev/sdb2,且没有格式化

$ df -Th

显示系统的分区情况及文件挂载情况

$ df -aTf

查看系统内所有的磁盘包括虚拟机系统的容量及挂载情况

$ df -h /home

查看/home所在分区以及该分区磁盘容量及挂载情况

3.磁盘格式化mkfs*

#mkfs -t ext4 /dev/sdb1

#mkfs -t ext4 /dev/sdb2

将sdb1、sdb2格式化为Ext4格式,mkfs支持的文件系统格式如下$df -Th

4.磁盘文件系统检验fsck*

# fsck -Cf /dev/sdb1

检查sdb1

5.磁盘坏道检验badblocks*

# badblocks -sv /dev/sdb1

6.磁盘挂载与卸载mount&umont (1)挂载sdb1和sdb2 $mkdir sdb1 sdb2

在当前路径创建二个空目录

#mount /dev/sdb1 sdb1

#mount /dev/sdb2 sdb2

分别将二个分区挂载到当前路径下

(2)卸载sdb2

#umount /dev/sdb2

#umont sdb2

(3)挂载U盘

#mkdir /mnt/usb

#fdisk -l

#mount -t vfat -o iocharset=utf-8 /dev/sdc1 /mnt/usd

将U盘挂载到/mnt/usb,指定编码为utf-8,可以显示中文,否则乱码

二、目录查看操作

1.$pwd 打印当前工作目录地址

2.切换工作目录cd

$cd .. 返回上级目录

$cd ~ 切换到自己的Home目录

$ cd-

返回上次所在目录

3.列举文件列表

$ls -lh

以详细信息的形式查看文件

$ls -alh

以详细信息的形式查看文件,包含以“.“开头的隐藏文件

$ls -lh Do*

查询以Do开头特定目录下的全部文件列表,或查询当前目录下以Do开头的特

定文件列表

查看目录或文件的磁盘占用空间

查看目录或文件大小

按照文件名字母升序排序

Linux网络设备驱动开发实验

实验三:Linux网络设备驱动开发实验 一、实验目的 读懂linux网络设备驱动程序例子,并且实际加载驱动程序,加载进操作系统以后,会随着上层应用程序的触发而执行相应动作,具体执行的动作可以通过代码进行改变。 ●读懂源码及makefile ●编译驱动程序 ●加载 ●多种形式触发动作 二、预备知识 熟悉linux驱动基本原理,能读懂简单的makefile。 三、实验预计时间 80-120分钟左右 四、驱动程序部分具体步骤 要求读懂一个最简单的驱动程序,在驱动程序的诸如“xxx_open”、“xxx_read”等标准接口里面加入打印语句。可参考多模式教学网上的驱动样例。 五、用于触发驱动动作的应用程序及命令 驱动程序就是以静态的标准接口库函数形式存在,网络设备驱动会受到两大类情况的触发,一种是linux里面的控制台里面的命令,另一种是套接口应用程序,首先要搞清都有哪些具体的命令和应用程序流程,应用程序参考多模式教学网的例子。 六、运行测试 提示:需要将驱动程序以dll加载进系统中,并且触发应用程序调用各种文件操作的接口函数,使得驱动有所动作,打印出相关信息。 1.编译驱动: cd /某某目录/vnetdev/ make clean make 2.加载驱动与打开网卡: insmod netdrv.ko

ifconfig vnet0 up 3.运行应用程序 ../raw 4.通过命令“修改网卡MTU”触发驱动执行动作: ifconfig vnet0 mtu 1222 5.显示内核打印: cat /var/log/messages 6.卸载: ifconfig vnet0 down rmmod netdrv.ko 7.修改代码中的某些函数中的打印信息,重新试验上述流程。 至此大家都应该真正理解和掌握了驱动程序-操作系统-应用程序的三者联动机制。 七、实验结果 由图可知能正常加载网卡驱动,并且能够打印调试信息。

linux实验报告

实验一 实验名称:Linux 基本命令的使用 实验时间:2学时 实验目的:熟练使用Linux字符界面、窗口系统的常用命令。 实验内容 (一)Linux操作基础 1.重新启动linux或关机(poweroff,shutdown,reboot,init 0,init 6) 2.显示系统信息(uname),显示系统日期与时间,查看2014年日历(date,cal) ①uname:查看系统与内核相关信息 uname -asrmpi 参数: -a :所有系统相关的信息; -s: 系统内核名称; -r: 内核的版本; -m:本系统的硬件名称,如i686或x86_64; -p: CPU的类型,与-m类似,只是显示的是CPU的类型; -i :硬件的平台(ix86). ②date:显示日期的命令 ③cal:显示日历 单独cal:列出当前月份的日历 cal 2014:列出2014年的日历 cal 5 2014:列出2014年五月的目录 3.使用帮助命令(man,help) ①man:是manual(操作说明)的简写,是在线帮助系统 man后跟某个命令就会详细说明此命令,例如:man man就会详细说明man 这个命令的用法; ②help:也是帮助命令,一般会在命令后,例如:cd --help 就会列出cd命令的使用说明。 4.查看当前登陆用户列表(who),显示当前用户(whoami) ①who:显示目前已登录在系统上面的用户信息; ②whoami:查询当前系统账户 5.建立一个新用户mytest,设定密码(useradd,passwd) ①useradd mytest(建立新用户mytest);

实验二 Tutorial 2 Linux 基本命令操作2

Tutorial 2 Linux 基本命令操作2 1 实验简介 虽然目前linux 图像界面的使用已相当的方便,但是有些操作还是在字符界面下使用比较灵活。除此之外,使用字符界面登陆linux 系统,系统资源的消耗也比较少,从而可以提高系统性能。 本次实验内容主要包括:linxu 下文件和目录操作命令的使用方法。 2 实验目的 (1)掌握远程登录Linux 系统的软件putty 的基本用法。 (2)掌握文件和目录的区别 (3)熟悉文件和目录的相关操作:建立、复制、移动、删除、重命名、查找、统计等 (4)掌握输入、输出重定向的用法 (5)掌握find 的常见查找模式 (6)理解文件的类型及查看 3 实验准备 (1)了解远程登录的概念,以及远程登录软件putty。 (2)了解linux 命令行的基本概念,掌握通配符的使用方法。 (3)了解绝对路径和相对路径的概念及表达方法。 4 远程登录软件putty的基本用法实验步骤 基本做法同实验1. 5 Linux 文件和目录操作命令 说明:在下面的文档中的$为系统提示符。 (1) 使用cd 和pwd 命令,掌握相对路径和绝对路径。 对照右图,假如从目录user3 开始,键完以下命令后,你的位置会在哪里。 请将结果填在横线上。 $pwd /home/user3 $cd .. $pwd $cd.. $cd usr $pwd $cd /usr $pwd $cd.. /tmp $pwd $cd.

$pwd (2)检查当前的子目录pwd。 $ pwd (3) 在你的注册目录下创建(mkdir)子目录:dir1、dir2。 $ mkdir dir1 dir2 (4) 在你的主目录中创建一个叫junk 的目录。将这个目录变为工作目录,应当使用什么命令?这个新目录的绝对路径名是什么? (5) 在主目录创建以下目录,要求只能用一个命令行: junk/dira/dirl junk/dira junk/dira/dir2 junk/dira/dirl/dirc 你碰到什么问题了吗?如果碰到问题,在重试之前,将刚才创建的所有目录删除,这个删除应该使用哪一个命令?mkdir –p junk/dira/dir1/dirc junk/dira/dir2 (-p创建父目录) (6) 在主目录仅使用rmdir 命令,删除在junk 目录下的所有子目录。仅用一个rmdir 命令如何实现这一操作? rmdir {junk/dira/dir2,junk/dira/dir1/dirc,junk/dira/dir1,junk/dira} (7) 使用“touch 文件名”方法在你的注册目录下建立文件file1 和file2 $touch file1 file2 (8) 将file1 file2 复制到dir1 中,并察看注册目录与dir1 目录下有何变化? $ cp file1 file2 dir1 (9) 将文件file1,file2 从注册目录移动至dir2 中,再察看注册目录与dir2目录有何变化? $mv file1 file2 dir2 (10) 将dir2 中的文件file1 改名为myfile1 $ mv /dir2/file1 /dir2/myfile1 (11) 请使用绝对路径删除文件myfile1 $ rm /root/dir2/myfile1 (12)分屏显示/bin 目录下文件的详细信息。 $cd /bin $list –l | more (13)回到根目录,利用cp 命令复制系统文件/etc/profile 到当前目录下。 $ cd ~ $ cp /etc/profile . (14)复制文件profile 到一个新文件profile.bak,作为备份。 (15)用less 命令分屏查看文件profile 的内容,注意练习less 命令的各个子命令,如b、空格键、q 、/字符串(查找)等,并对then 关键字查找。 (16)用grep 命令在profile 文件中对关键字then 进行查询。 (17) 在家目录下创建目录test,并复制/etc 目录下的最后四个字符为.ini的文件到test 目录下。 (18)使用gzip 命令对test 下的文件进行压缩。 (19)使用tar 命令对test 下的文件打包。 (20)把用tar 命令打包的文件解包,并用gzip 命令对文件进行解压缩。 (21)利用tar 命令把test 中的文件压缩打包。 (22) 在/var/lib 目录下查找所有文件其所有者是games 用户的文件。

Linux实验三

实验三LINUX 及其使用环境() LINUX 常用命令简介——进程操作 实验目的 1.了解Linux 的文件命令及使用格式。 2.熟悉Linux 的常用基本命令——进程操作。 实验内容 熟悉Linux 的进程操作命令。 实验预备 预习附录一《LINUX 简介》。 实验指导 1. 查看系统当前的进程 命令格式:ps [-aux] 例: ps 或ps –x //查看系统中属于自己的进程 ps –au //查看系统中所有使用者的进程 ps –aux //查看系统中包含系统内部及所有使用者的进程 ps –aux|grep apache //找出系统中运行的所有名称中带有“apache ”串 的进程 课程名称 算法分析与设计 实验成绩 指导教师 杨志武 实 验 报 告 院系 信息工程学院 班级 软件测试 学号 1601120035 姓名 申文聪 日期

命令格式: jobs 3.结束或终止进程 命令格式:kill [-9] PID //PID为利用ps命令所查处的进程的ID 例:kill 456 或 kill -9 456 //终止进程ID为456的进程 3.在后台(background)执行process command的命令 命令格式:command & //在命令后加上&, 例: gcc file1 & //在后台编译file1.c 注意:按下∧Z,暂停正在执行的进程。键入“bg”,将所暂停的进程置入background

继续执行。 例: gcc file1 & ∧Z stopped bg 5.结束或终止在background中的进程 命令格式: kill %n 例: kill %1 //终止在background中的第一个job Kill %2 //终止在background中的第二个job 6.显示系统中程序的执行状态 例: top –q //不断更新、显示系统程序的执行状态 第一行显示的项目依次为:当前时间、系统启动时间、当前系统登录用户数目、 平均负载。 第二行显示进程的情况,依次为:进程总数、休眠进程数、运行进程数、僵死进 程数、终止进程数。 第三行为CPU状态,依次为:用户占用、系统占用、有限进程占用、闲置进程占 用。 第四行为内存状态,依次为:平均可用内存、已用内存、空闲内存、共享内存、 缓存使用内存。

linux实验五

北京林业大学 2014学年—2015学年第 2 学期 Linux应用实验任务书专业名称:网络工程班级: 姓名:学号: 实验题目:实验五 Linux下的Socket和Shell脚本编程初步实验环境: Linux终端/或基于Linux的Eclipse集成开发环境实验目的: 进一步熟悉练习Linux的socket和shell脚本编程。 实验内容: 1.Socket:编写一个简单的服务器、客户端(使用TCP)——服务器端一直 监听本机的5656号端口;如果收到连接请求,将接收请求并接收客户端发来的消息;客户端与服务器端建立连接并发送一条消息。 运行结果显示如下: 代码程序如下所示:

//server.c //client.c

2.Shell脚本(Shell Script):是一种为shell编写的脚本程序。但要知道, shell和shell script是两个不同的概念。

解释型语言也被称作“脚本语言”。执行这类程序时,解释器(interpreter)需要读取我们编写的源代码(source code),并将其转换成目标代码(object code),再由计算机运行。脚本编程语言的例子有awk、Perl、Python、Ruby 与Shell。 很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。 (1) // a=string1;b=string2;根据前后文继续补充。。。

实验二 Linux常用命令的使用(一)

实验二 Linux 常用命令的使用(一) 一、实验目的 1. 掌握Linux 系统开机启动和退出的方法 2. 掌握Linux 系统中获取命令帮助的方法 3. 掌握Linux 系统命令格式 4. 掌握Linux 系统中常用命令的作用和命令中各选项的作用 二、实验环境 安装了Red Hat Linux9.0/Fedora 系统的计算机一台 三、实验内容及步骤 (一)Linux 操作系统的登录和退出 【操作任务1】登录Linux 操作系统 【操作步骤】 (1)在开始---程序---Vmware 菜单中启动虚拟机,在打开的虚拟机界面中选择要启动的操作系统选项卡,点击启动图标。如下图所示。 (2)等待一段时间后,将出现登陆对话框,选择其中一个用户,输入用户名和密码后,即可登陆Linux 操作系统。如下图所示。(如果要登陆root 用户,请选择‖其他…‖,然后输入用户名:root 和相应的密码,点击“登陆”按钮)

输入用户名 root

(3)点击登陆按钮后,即可成功登陆。如下图。(注意,如果以root 超级管理员用户身份登陆,系统会弹出对话框询问,如上图所示,点击“继续”按钮即可) 【操作任务2】退出Linux 操作系统 【操作步骤】 (1)在顶部面板上依次单击―系统→关机‖命令,如下图 (2)在打开的对话框,选择―关机‖或―重新启动‖选项,然后点击―确定‖按钮,即可完成关机或重新启动操作。 如果使用超级管理员root 用户身份登陆,操作系统 会询问“是否真的要以特权用户身份登陆”,这里点击继续按钮,即可以root 身份登陆

【操作任务3】图形界面和字符界面的切换 【操作步骤】 (1)开机使用root用户进入图形界面,请打根目录下的etc文件夹,找到inittab文件, (文件路径:/etc/inittab),双击打开之。 (2)找到该文件中的“id:5:initdefault:”这一行,将该行中的“id:5:initdefault:”行的“5” 修改为“3”,然后按Ctrl+S保存。

linux实验三

淮海工学院计算机工程学院 实验报告书 课程名:《网络操作系统》 题目:软件包管理与进程管理 班级:网络132 学号: 姓名:

一、目的与要求 1、掌握linux软件包管理方法。 2、掌握RPM命令的使用。 3、熟悉图形模式下软件管理工具的使用。 4、掌握常用进程管理的命令。 二、实验内容与题目 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。 8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 三、实验步骤与源程序 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。 8、查看进程名中包含“con”字符串的进程信息 9、后台运行gedit软件后,并把它调入前台,然后杀死它。 10、利用crontab实现每周一、三、五的17:30时,打包备份/etc/httpd目录中的文件到你的主目录。 11、练习at、pkill、pstree等命令的使用。 12、练习YUM软件工具的使用。 四、测试数据和实验结果 1、下载并安装telnet软件包(分别采用-i、-ivh)。 2、删除上述安装的软件。 3、利用rpm查询上述软件 4、校验上述文件 5. 利用图形模式下的软件包管理工具安装和删除“Eclipse”的有关软件。 6、下载并安装OpenOffice套件。 7、查看进程的统计信息(静态、动态)。

linux字符设备驱动课程设计报告

一、课程设计目的 Linux 系统的开源性使其在嵌入式系统的开发中得到了越来越广泛的应用,但其本身并没有对种类繁多的硬件设备都提供现成的驱动程序,特别是由于工程应用中的灵活性,其驱动程序更是难以统一,这时就需开发一套适合于自己产品的设备驱动。对用户而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供了一致的接口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以像对其它文件一样对此设备文件进行操作。 通过这次课程设计可以了解linux的模块机制,懂得如何加载模块和卸载模块,进一步熟悉模块的相关操作。加深对驱动程序定义和设计的了解,了解linux驱动的编写过程,提高自己的动手能力。 二、课程设计内容与要求 字符设备驱动程序 1、设计目的:掌握设备驱动程序的编写、编译和装载、卸载方法,了解设备文件的创建,并知道如何编写测试程序测试自己的驱动程序是否能够正常工作 2、设计要求: 1) 编写一个简单的字符设备驱动程序,该字符设备包括打开、读、写、I\O控制与释放五个基本操作。 2) 编写一个测试程序,测试字符设备驱动程序的正确性。 3) 要求在实验报告中列出Linux内核的版本与内核模块加载过程。 三、系统分析与设计 1、系统分析 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬件和从硬件读取数据; 3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4、检测和处理设备出现的错误。 字符设备提供给应用程序的是一个流控制接口,主要包括op e n、clo s e(或r ele as e)、r e ad、w r i t e、i o c t l、p o l l和m m a p等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,L i n u x内核对这些操作进行了统一的抽象,把它们定义在结构体fi le_operations中。 2、系统设计: 、模块设计:

Linux 实验合集#精选.

一. 1)启动Linux操作系统,并启动KDE图形桌面。熟悉各屏幕元素。通过KDE编辑器编辑两个文本文件file1、file2。 新建一个文本文件vi New Filename 编辑一个已有的文件vi Filename 2)在主目录下创建文件夹exercise,将文件file1、file2移到新建的目录下。然后分别采用回收站和删除方式删除文件fiel1、file2。注意比较它们的区别。 移动mv file1 file2 /home/exercise 删除rm file1 3)定制KDE桌面,将虚拟桌面的个数改为5个,并为它们设置不同的背景。 4)在Linux图形用户界面下,创建一个新用户(普通用户) 。 adduser username 5)在Linux图形用户界面下,按下组合键(或)切换到虚拟控制台1,以root超级用户身份登录。 6)按下组合键 (或)切换到虚拟控制台2,以在第(1)步中所创建的普通用户身份登录。 二. 2.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。 date:显示日期/ cal:显示日历/ who:列出所有正在使用系统的用户、终端名、注册时间/echo:标准输出/clear:清屏 3.浏览文件系统: 1)运行pwd命令,确定当前工作目录。 pwd:显示当前工作目录的绝对路径 2)运行ls -l命令,理解各字段含义。 -l: 以长格式显示文件的详细信息 如:-rw-r--r-- 1 peter peter 19 2012-05-11 19:19 Test03 文件类型权限、连接数、文件主、文件组、文件大小、建立或最近修改的时间、文件名 3)运行ls –ai ,理解各字段含义。 -a: 显示指定目录下所有子目录和文件 -i: 在输出的第一列显示文件的I节点号 4)使用cd命令,将工作目录改到根(/)上。 运行ls –l命令。 5)直接使用cd,回到哪里了?用pwd验证。 cd: 将当前目录改到用户的主目录(非根目录) 6)用mkdir建立一个子目录subdir。 mkdir subdir 7)将工作目录改到subdir。 cd dir

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: ?掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

linux实验三

实验三用户管理 一、实验目的和要求 1) 掌握在Linux系统下利用命令方式实现用户和组的管理; 2) 掌握批量创建用户的方法。 二、实验内容和原理 1.用户的管理 ●创建一个新用户user01,设置其主目录为/home/user01。 ●查看/etc/passwd文件的最后一行,看看是如何记录的。 ●查看文件/etc/shadow文件的最后一行,看看是如何记录的。 ●给用户user01设置密码。 ●再次查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●使用user01用户登录系统,看能否登录成功。 ●锁定用户user01。 ●查看文件/etc/shadow文件的最后一行,看看有什么变化。 ●再次使用user01用户登录系统,看能否登录成功。 ●解除对用户user01的锁定 ●更改用户user01的帐户名为user02。 ●查看/etc/passwd文件的最后一行,看看有什么变化。 ●删除用户user02。 2.组的管理 ●创建一个新组,stuff。 ●查看/etc/group文件的最后一行,看看是如何设置的。 ●创建一个新帐户user02,并把他的主要组和附加组都设为stuff。 ●查看/etc/group文件中的最后一行,看看有什么变化。 ●给组stuff设置组密码。 ●在组stuff中删除用户user02。 ●再次查看/etc/group文件中的最后一行,看看有什么变化。 3.用桌面操作创建用户和组 ●进入X-Window图形界面。 ●打开控制面板,启动用户和组群管理子程序,在打开的界面中练习用户、组 的设置。 4.批量添加用户 a)将07级计算机专业的50名学生,添加到Linux系统中,让他们成为student组的 成员。用户名格式为:s07001-s07030;学生的初始密码为:stu001-stu030,请参考 P125的7个步骤,完成添加并设置用户的操作,记录各步骤的结果和相应的文件 内容。 b)教材P127选择题第7、10题。 三、实验环境 c)硬件:PC机 d)软件:Red Hat Enterprise linux server操作系统、虚拟机 四、算法描述及实验步骤 1. 输入命令’adduser –d /home/user01 –m user01’创建一个新用户user01, 设置其主目录为/home/user01:

linux驱动程序的编写

linux驱动程序的编写 一、实验目的 1.掌握linux驱动程序的编写方法 2.掌握驱动程序动态模块的调试方法 3.掌握驱动程序填加到内核的方法 二、实验内容 1. 学习linux驱动程序的编写流程 2. 学习驱动程序动态模块的调试方法 3. 学习驱动程序填加到内核的流程 三、实验设备 PentiumII以上的PC机,LINUX操作系统,EL-ARM860实验箱 四、linux的驱动程序的编写 嵌入式应用对成本和实时性比较敏感,而对linux的应用主要体现在对硬件的驱动程序的编写和上层应用程序的开发上。 嵌入式linux驱动程序的基本结构和标准Linux的结构基本一致,也支持模块化模式,所以,大部分驱动程序编成模块化形式,而且,要求可以在不同的体系结构上安装。linux是可以支持模块化模式的,但由于嵌入式应用是针对具体的应用,所以,一般不采用该模式,而是把驱动程序直接编译进内核之中。但是这种模式是调试驱动模块的极佳方法。 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。同时,设备驱动程序是内核的一部分,它完成以下的功能:对设备初始化和释放;把数据从内核传送到硬件和从硬件读取数据;读取应用程序传送给设备文件的数据和回送应用程序请求的数据;检测和处理设备出现的错误。在linux操作系统下有字符设备和块设备,网络设备三类主要的设备文件类型。 字符设备和块设备的主要区别是:在对字符设备发出读写请求时,实际的硬件I/O一般就紧接着发生了;块设备利用一块系统内存作为缓冲区,当用户进程对设备请求满足用户要求时,就返回请求的数据。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待。 1 字符设备驱动结构 Linux字符设备驱动的关键数据结构是cdev和file_operations结构体。

Linux常用命令实验报告

实验二 姓名:陈辉龙学号:201407010201 班级:14计科(1)一.实验目的: 掌握Linux常见命令,为今后的实验打下良好的基础。 二.实验内容 1.新建用户为chenhuilong,配置密码为passwd: 2.切换到chenhuilong用户,并在/home/chenhuilong目录下新建文件夹dir: 3.在文件夹dir下新建文件hello(内容为"printf hello world!"),并将其拷贝至/home/user目录: 4.统计/home/user目录下文件的个数,包括子目录里的首字符为-的普通文件:

5.统计/home下目录的个数,包括子目录里的目录: 6.显示/home/user目录下名为hello的文件的行数、字数以及字符数(使用输入重定向): 7.将上步的结果输出重定向到名为cnt_hello的文件: 8.删除/home/user目录下的hello文件: 9.进入/home/user/dir文件夹,将hello文件属性变为-rwxrw-r--(使用符号标记方式),并为hello文件在/home/user目录下建立软链接,链接文件名为link_hello:

10.查看/home/user/dir/hello文件的详细信息: 11.切换至根目录下查找hello文件: 12.打包home/user/dir/hello文件,并进行压缩,然后再进行解压缩解包: 13.退出user用户,删除/home/user文件夹:

14.将文件夹/home的所有者改为user用户,并删除user用户: 三.实验总结: 本实验旨在熟悉Unix的常用命令,实验较简单,操作起来还算顺利,做了一遍感觉还不是很熟悉,因此做了两遍,第二遍就很得心顺手。通过这次实验,熟悉了一些常用的命令操作,为以后的学习打下坚实的基础,提高自己的动手能力。

linux实验八报告

T923-1 刘彬20090230139 实验八系统及网络管理 一、实验目的 1.理解系统管理的内涵和作用。 2.学会对用户和组进行一般的管理。 3.掌握文件系统的装载和卸载。 4.学会网络配置的一般方法。 二、实验内容 1.Shell命令方式下为新用户建立帐号和工作组,删除本地用户和组。 2.图形方式下为新用户建立帐号和工作组,删除本地用户和组。 3.手工挂载和卸载文件系统。 4.配置网络。 三、实验注意事项 实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。 要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。以后所有工作都要在自己的目录内进行。建议以后的实验都在同台计算机上做,这样可以保持连续性。 用户要按通常实验要认真书写实验报告。 四、实验主要步骤 (一)Linux的用户管理 1.创建新用户 创建一个用户帐号徐完成以下步骤: ①添加一个记录到etc/passwd文件中。 添加命令为:useradd。 例如,创建新用户user01的命令如下: useradd -c“normal user”-d /home/user01 –g users\ -G student,computer –s /bin/bash user01 -c “normal user”:“normal user”是对该用户的注释。 -d /home/user01:指定用户的工作目录(宿主目录)为/home/user01。 –g users\:定义user01所属的组为users。 -G student,computer:同时将user01归属于student和computer组。 –s/bin/bash:指定用户所启动的shell为/bin/bash。 在Linux中,创建用户后,必须为用户设置密码。 ②设置用户密码。 例如,为user01设置密码的命令如下: passwd user01 为安全起见,密码的设置不要过于简单。 在实际使用中,系统可以根据当前的运行情况自动确定用户的参数。

实验一 Linux常用命令

淮海工学院计算工程学院实验报告书 课程名:《Linux程序设计》 题目:实验一Linux常用命令 班级:D软件091、092 学号: 姓名:

实验一Linux常用命令 一、实验目的 1、熟悉VMware Workstation 虚拟机的使用; 2、熟悉Ubuntu操作系统; 3、掌握常用的Linux 命令。 二、实验设备 1、硬件:PC; 2、软件:VMware Workstation 虚拟机和Ubuntu操作系统。 三、实验预习要求 1、关于Ubuntu操作系统的安装和使用; 2、Linux 常用操作命令。 四、实验内容 1、基于虚拟机的Ubuntu操作系统的使用; 2、文件与目录相关命令的使用; 3、压缩备份命令的使用; 4、磁盘管理与维护命令的使用; 5、系统管理与设置命令的使用; 6、网络相关命令的使用。 五、实验步骤 1、基于虚拟机的Linux操作系统的使用 (1)启动Windows以后,选择“开始”—“程序”—“VMware”—“VMware Workstation”,启动VMware Workstation应用程序; (2)选择File—Open选择安装好的Linux虚拟机文件启动Linux操作系统; (3)启动系统后输入用户名和密码,进入X window界面; (4)选择“应用程序”—“附件”—“终端”,进入终端界面; (5)在终端中执行Linux 常用命令。 2、文件与目录相关命令的使用(要求在每一个操作命令后写出命令显示效果) (1)查询/bin目录,看一看有哪些常用的命令文件在该目录下: ll /bin

(2)进入/tmp目录下,新建目录myshare:cd /tmp mkdir myshare ls –ld myshare/

Linux实验报告_大三上

实验三普通文件和目录编程 1.编写程序mycp.c,实现从命令行读入文件的复制功能,用原始文件系统调用。 实验流程图: 判断输入main 函数参数个数 argc argc!=3 no Exit(0) fd1=Open(argv[1],O_RDONLY); fd2=open(argv[2],O_RDWR|O_CREA T); 1 read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break;

实验程序代码: //mycp.c #include #include #include #include #define bufsize 5 int main(int argc,char * argv[]) { int fd1,fd2; int i; char buf[bufsize]; if(argc!=3) { printf("argument error\n"); exit(1); } fd1=open(argv[1],O_RDONL Y); if(fd1==-1) { printf("file %s can not opened\n",argv[1]); exit(1); } fd2=open(argv[2],O_RDWR|O_CREAT); if(fd2==-1) { printf("Can not open file %s\n",argv[2]); exit(1); } while(1) { i=read(fd1,buf,bufsize); write(fd2,buf,i); if(i!=bufsize) break; }

linux应用程序开发实验报告3

实验报告 学生姓名:白迪学生学号:222014********* 日期:2016年11月15日与11月29日 院(系):计算机与信息科学学院软件学院专业(班级):网络工程实验题目:终端驱动属性编程及利用属性特性的应用程序编程 一. 实验目的 掌握终端驱动属性的特殊功能,掌握终端驱动属性的显示与修改方法编程,掌握利用终端驱动属性的特属性编写需要特殊功能的应用程序技巧。 二. 实验原理 三. 实验器材 安装有Windows操作系统PC机一台,实验环境为LINUX虚拟机(包含gcc 与gdb). 四. 实验分析与设计 补全终端设备属性位与控制字符的信息输出: Main函数

Flags的补充 显示flags函数

Setecho函数,设置echo的状态位Echostate函数。显示echo状态 Setecho函数

忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。 预处理 Main函数 Tty—mode set_nodelay_mode()//没阻塞 set_nobuf_noecho_mode()//没回显,没缓冲

Getresponse() 中断处理函数 五. 实验结果 属性位与控制字符的信息输出

stty控制字符的修改功能,setecho 忽略特殊的一些按键,CTRL+C、CTRL+\,不能一直阻塞等待键盘输入,设置等待一定的时间的非阻塞。当按下的键不是y或者n就显示f。 六. 实验心得 通过本次试验中对终端文件更加的了解了,还学会了对中断文件的一些基本的设置,前面的实验做起来就是一些验证比较简单,但是收获很大,最后一个做的时候先看过书后,自己编写的,调试过程中总是出错,做到最后跟书上的代码比较发现自己的代码跟书上比差了好远,修改了很多,自己用的是Redhat5,cc—

Linux实验三

实验三用户和文件安全 一、实验目的 1.理解用户、组的概念 2.理解/etc/passwd、/etc/group、/etc/shadow文件 3.练习useradd、groupadd、gpasswd、groups命令 二、实验内容 1.添加用户 2.添加组 3.添加用户到工作组 4.改变目录原始组 5.建立多个用户共享的目录 6.理解文件和目录的权限、文件所有者、属组的概念 三、步骤和要求 1.登录CentOS 5.5,root用户口令123456 2.新建用户user1、user2、user3,并设置口令 useradd user1 passwd user1 useradd user2 passwd user2 useradd user3 passwd user3 查看/etc/passwd、/etc/group、/etc/shadow文件内容,分析各字段意义和关系 答: 1、在目录添加三行账户的信息: user1:x:501:501::/home/user1:bin/bash user2:x:502:502::/home/user2:bin/bash user3:x:503:503::/home/user3:bin/bash

账户名称:密码:UID(用户ID):GID(专属组ID)::用户主目录:登陆shell 2、在/etc/group目录添加三行账户组别信息: user1:x:501:账户名称:密码:GID(专属组ID):所属组成员 3、在/etc/shadow添加三行账户加密密码信息,字段意义如下: 账户名称:加密密码串:上次修改口令的时间:两次修改口令间隔的天数:两次修改口令间隔最多的天数:提前多少天警告用户口令将过期:在口令过期之后多少天禁用此用户:用户过期日期:保留字段 3.新建组group1、group2,添加用户user1、user2、user3到组group1 groupadd group1 groupadd group2 gpasswd -a user1 group1 gpasswd -a user2 group1 gpasswd -a user3 group1 查看/etc/passwd、/etc/group、/etc/shadow文件内容,分析各字段意义和关系 答: 目录/etc/passwd:无变动 目录/etc/shadow无变动 目录/etc/group新增记录如下: group1:x:504:user1,user2,user3 group2:x:505: group1组的专属组ID为504, 组内成员有user1,user2,user3 group2组的专属组ID为505, 组内无成员。 4.建立目录/www1、/www1/dir1、/www1/dir2、/www1/dir3,使用户user1、 user2、user3分别在di1、dir2、dir3目录下可以建立、删除、修改文件,但不能在/www1目录下建立、删除、修改文件, mkdir /www1 mkdir /www1/dir1 /www1/dir2 /www1/dir3 chgrp group1 /www1 -R chown user1 /www1/dir1

Linux实验五

常熟理工学院《Linux程序设计》实验报告 —学年第学期 专业 班级 学号 姓名 实验地点 指导教师刘在德 计算机科学与工程学院

实验要求 1.每次实验前,认真复习与本次实验有关的教学内容,认真预习本次实验内容。2.按照实验要求认真完成实验,把实验内容详细记入实验报告。 3.每一次新实验,实验报告另起一页。 4.报告封面要求(1)信息填写完整;(2)下划线右对齐,力求做到美观大方。5.打印实验报告(包括封面及本页),装订成册。 6.严谨抄袭,如果有n人实验报告内容雷同,每人得分为总分除以n。

实验五 Shell程序设计(二)(四号黑体) 【一】实验目的(小四黑体) 1.掌握Shell环境变量和系统变量 2.掌握算术表达式和逻辑测试表达式 3.掌握选择结构和循环结构 4.能综合运用上述知识编写复杂的Shell脚本程序 【二】试验预习(小四黑体) 1.常用环境变量有LOGNAME、HOSTNAME、HOME、PWD、PATH等,引用环境变量采用“$环境变量”,如$PATH 2.常用系统变量有$#、$*、$@、$i、$?、$$等 $#:传递给脚本程序的总的参数数目(不包括脚本名) $*:传递给脚本程序的所有参数组成的字符串 $@:传递给脚本程序的各个参数组成的字符串 $0:脚本程序名 $1~$9:传递给脚本程序的第一到第九个参数,${10}表示第十个参数 $?:Shell命令的返回值(退出状态),正常退出返回0,反之为非0值 3.算术表达式采用“((算术表达式))”,语法与C语言类似,比如a=10;b=20;sum=((a+b));echo $sum 也可以采用“expr 算术表达式”来实现,比如 a=10;b=20;sum=`expr $a + $b`;echo $sum 说明:①“((算术表达式))”中,变量名前不加$;而“expr 算术表达式”要加。 ②expr中表达式的运算符+前后有空格。如果运算符为特殊符号,前面加\,比如*(乘),写成\* 4.逻辑测试表达式采用“test 表达式”或者“[ 表达式]”(注意[ ]与表达式之间的空格)实现。表达式中运算符包括: 字符串比较:=、!=、>、<、-n、-z 算术运算符:-eq、-ge、-le、-ne、-gt、-lt 逻辑运算符:!、-a、-o 文件测试符:-d、-f、-x、-r、-w、-s等 小括号():改变运算符优先级 5.if语句 if [ 表达式1 ] then

相关文档
最新文档