Linux实验报告
- 格式:doc
- 大小:9.31 MB
- 文档页数:24
目录实验一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操作系统实验报告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 操作系统的基本命令和操作,了解其文件系统、进程管理、用户权限等核心概念,并通过实际操作加深对这些知识的理解和应用能力。
二、实验环境本次实验使用的是虚拟机软件 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期末实验报告总结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基本命令的使用(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组。
实验一实验目标: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 系统打下坚实的基础。
二、实验环境本次实验使用的操作系统是 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 。
linux系统使用实验报告Linux 系统使用实验报告一、实验目的本次实验旨在深入了解和熟悉 Linux 操作系统的基本操作、命令行使用以及系统配置,掌握常见的文件管理、进程管理、用户权限管理等功能,提高对 Linux 系统的实际应用能力。
二、实验环境1、操作系统:Ubuntu 2004 LTS2、实验工具:终端模拟器(Terminal)三、实验内容与步骤(一)系统登录与基本命令1、启动计算机,选择 Ubuntu 操作系统,输入用户名和密码登录系统。
2、打开终端模拟器,熟悉常用的基本命令,如`ls` (列出当前目录下的文件和文件夹)、`cd` (切换目录)、`mkdir` (创建新目录)、`rmdir` (删除空目录)等。
(二)文件管理1、在用户主目录下创建一个名为`experiment` 的文件夹,使用`mkdir experiment` 命令。
2、进入该文件夹,使用`cd experiment` 命令。
3、在`experiment` 文件夹中创建一个文本文件`filetxt` ,使用`touch filetxt` 命令。
4、使用`vi` 或`nano` 编辑器打开`filetxt` 文件,输入一些文本内容,并保存退出。
5、查看文件的内容,使用`cat filetxt` 命令。
6、复制文件,使用`cp filetxt file_copytxt` 命令。
7、移动文件,使用`mv filetxt/`命令将文件移动到上级目录。
8、删除文件,使用`rm file_copytxt` 命令。
(三)进程管理1、运行一个后台进程,例如`ping &`,然后使用`jobs` 命令查看后台进程。
2、将后台进程切换到前台,使用`fg %1` (其中%1 为后台进程的编号)命令。
3、终止进程,使用`Ctrl + C` 组合键终止正在运行的进程。
4、查看系统当前运行的进程,使用`ps aux` 命令。
(四)用户权限管理1、创建一个新用户,使用`sudo adduser username` 命令,其中`username` 为新用户的用户名。
Linux实验报告Linux 实验报告实验[ 一]:Linux操作系统的基本操作学生:学号:班级:实验时间:报告时间:系别:学院:实验一:Linux操作系统的基本操作一、实验目的:1、熟悉Linux的桌面环境;2、了解Linux所安装的软件包3、了解Linux的文件目录结构;4、熟悉Linux的终端方式或文本方式下文件目录操作命令。
5、了解Linux的命令及使用格式。
6、熟悉Linux系统的文件和目录二、实验要求1、Linux的桌面环境GNOME、KDE;2、Linux的终端方式和文本方式下的命令操作。
3、练习并掌握常用的Linux操作命令,如ls、cat、ps、who、echo、cd、more、cp、rm、ps等;4、学习使用Linux的在线求助系统,如man和help命令等。
三、实验内容1、系统的使用进入终端、文本模式,分别以用户身份登录,在窗口模式中打开终端(Termainal)仿真程序:点击:系统工具/终端(SystemTools/Terminal);在窗口模式中按:Ctrl+Alt+F1,进入文本模式,Ctrl+Alt+F7,反回GUI模式。
第一次进入文本模式时需登录(login),输入用户名及口令。
进入后提示:[root@ylinux root]# _提示符#:超级用户,提示符$:普通用户。
2、命令的使用(1)显示目录文件ls执行格式:ls [-atFlgR] [name] (name可为文件或目录名称)例:ls 显示出当前目录下的文件ls -a 显示出包含隐藏文件的所有文件ls -t 按照文件最后修改时间显示文件ls -F 显示出当前目录下的文件及其类型ls -l 显示目录下所有文件的许可权、拥有者、文件大小、修改时间及名称ls -lg 同上ls -R 显示出该目录及其子目录下的文件注:ls与其它命令搭配使用可以生出很多技巧(最简单的如"ls -l | more"),更多用法请输入ls --help查看,其它命令的更多用法请输入命令名--help 查看.(2)建新目录mkdir执行格式:mkdir directory-name例:mkdir dir1(新建一名为dir1的目录)(3)删除目录rmdir执行格式:rmdir directory-name 或rm directory-name例:rmdir dir1 删除目录dir1,但它必须是空目录,否则无法删除rm -r dir1 删除目录dir1及其下所有文件及子目录rm -rf dir1 不管是否空目录,统统删除,而且不给出提示,使用时要小心(4)改变工作目录位置cd执行格式:cd [name]例:cd 改变目录位置至用户login时的working directorycd dir1 改变目录位置,至dir1目录cd ~user 改变目录位置,至用户的working directorycd .. 改变目录位置,至当前目录的上层目录cd ../user 改变目录位置,至上一级目录下的user目录cd /dir-name1/dir-name2 改变目录位置,至绝对路径(Full path)cd - 回到进入当前目录前的上一个目录(5)显示当前所在目录pwd执行格式:pwd(6)查看目录大小du执行格式:du [-s] directory例:du dir1 显示目录dir1及其子目录容量(以kb为单位)du -s dir1 显示目录dir1的总容量(7)显示环境变量echo $HOME 显示家目录echo $PATH 显示可执行文件搜索路径env 显示所有环境变量(可能很多,最好用"env | more","env | grep PATH"等)(8)修改环境变量,在bash下用export,如:export PATH=$PATH:/usr/local/bin想知道export的具体用法,可以用shell的help命令:help export2、文件操作(1)查看文件的内容cat执行格式:cat filename或more filename 或cat filename|more 例:cat file1 以连续显示方式,查看文件file1的内容more file1或cat file1|more 以分页方式查看文件的内容(2)删除文件rm执行格式:rm filename例:rm file?rm f*(3)复制文件cp执行格式:cp [-r] source destination例:cp file1 file2 将file1复制成file2cp file1 dir1 将file1复制到目录dir1cp /tmp/file1 将file1复制到当前目录cp /tmp/file1 file2 将file1 复制到当前目录名为file2cp –r dir1 dir2 (recursive copy)复制整个目录。
中南大学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;}。