LINUX实验三
实验三 LINUX软件安装实验

实验三 1.VI编辑器使用和LINUX用户与组管理
实验三 2.LINUX软件安装实验(JAVA和GCC)
使用命令:1.安装一个包
# rpm -ivh 包名
2.升级一个包
# rpm -Uvh包名
3.移走一个包
# rpm –e包名
1.安装jdk1.4的具体方法
(1)安装winscp,并通过这个软件拷贝包到LINUX
(2)修改包属性
(3)执行这个可执行文件,自解压
(4)编辑/etc/profile文件,设置环境变量
(5)查看环境变量, 使得环境变量生效
(6)编辑测试程序,测试JAVA程序运行。
2.gcc 安装
(1)使用WINSCP 软件,拷贝GCC 安装包到LINUX 根目录
(2)进入虚拟机,使用apt-get 命令安装rpm 包,如下:
(3)使用VI 编辑器编写程序并保存,使用GCC 编译成可执行文件并开始执行,测试。
Linux实验3

福建农林大学实验报告系:专业:年级:姓名:学号:实验室号__ 计算机号实验时间:指导教师签字:成绩:实验三用户管理一、实验目的和要求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个步骤,完成添加并设置用户的操作,记录各步骤的结果和相应的文件内容。
实验报告-Linux-实验三-Linux文件管理与常用命令

下面给出示例,如图3-2所示。
图3-2 more命令显示/etc/inittab文件
(3)less命令
该命令的功能和more命令的功能基本相同,也是用来按页显示文件。如果要按页显示/etc/inittab文件,显示效果,如图3-3所示。
图3-3 less命令显示/etc/inittab文件
3、熟悉Linux下常用的压缩归档工具gzip,bzip,tar,zip的相关操作。
实验仪器:
Windows 7装有Red Hat Enterprise Linux 5.2操作系统虚拟机PC机一台。
实验内容及步骤(或程序清单):
1、用root账户登录到终端,使用cat,more,less,head,tail等命令显示/etc/inittab文件。
图3-7复制/etc目录到/test
4、将/root/test/etc目录用tar命令打包成etc.tar.gz,查看etc.tar.gz的内容,解压缩etc.tar.gz。如图3-8所示。
实验内容及步骤(或程序清单):
图3-8 tar命令压缩/etc并解压缩
5、删除test目录,如图3-9所示。
图3-9删除test目录
通过该实验熟悉了linux操作系统文件及文件夹的相关命令操作掌握了linux下常用的压缩归档工具gzipbziptarzip的使用方法对今后学习linux操作系统起到很大帮助
姓名:黄兵周
学号:07
2013年10月16日
实验项目:文件管理与常用命令
实验目的:
1、熟悉文件显示的相关操作;
2、熟悉文件及文件夹的相关操作;
实验内容及步骤(或程序清单):
(4)head命令
linux操作系统实验三

实验三LINUX SHELL脚本程序设计一、实验目的通过本实验练习,使学生了解常用SHELL的编程特点,掌握SHELL程序设计的基础知识。
对SHELL程序流程控制、SHELL程序的运行方式、bash程序的调试方法及bash的常用内部命令有进一步的认识和理解。
通过本实验,学生应能够基本掌握编写SHELL程序的步骤、方法和技巧。
二、实验环境操作系统:任何Unix/Linux及Sun Solaris 或windows 系列应用系统:SHELL 或windows环境下的cygwin模拟系统三、实验内容本实验包含三个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术。
内容如下:⑴创建以下菜单程序:USER: **** HOST: ******** DATE: **/**/20**A: 创建子目录并复制文件B: 文件权限测试C: 文件字符转换D: 文件总数及文本行数统计E: 文件查找Q: 退出系统———————————————————————————————A:在用户家目录下创建名字为本人姓名的子目录,其存取权限为(drwxr-xr-x)。
测试目录确实存在后,将已存在的file1、file2两文件拷入其中并分别显示两文件的内容。
显示完成后将file1、file2两文件截断为大小为0的空文件。
B:测试当前用户对系统中某文件是否有r、w、x的权限,输出测试结果。
C:将file1、file2两文件中的小写字符转换为大写,并将转换后的内容分别写入新文件。
判断上述操作成功后分别显示转换后的新文件的内容。
D:统计/dev目录下目录文件和符号链接文件的数目;统计系统中某文本文件中空行的行数;显示当前系统中所有环境变量。
E:在/dev目录下查找由s开头且文件名由5个字符组成的文件,找到后用file命令显示其文件类型。
yxh@Cancer:~$ #!/bin/shyxh@Cancer:~$ MYDATE='2016-11-01'yxh@Cancer:~$ THIS_HOST='yxh'yxh@Cancer:~$ USER='yinxiaohang'yxh@Cancer:~$ while :> do> tput clear> cat <<MAYDAY> ------------------------------------------------------------------------------ User:$USER Host:$THIS_HOST Date:$MYDATE ------------------------------------------------------------------------------A:创建子目录并复制文件B:文件权限测试C:文件字符转换D:文件总数及文本行数统计E:文件查找Q:退出系统------------------------------------------------------------------------------> MAYDAY> echo -e -n "\tYour Choice [A,B,C,D,E,Q] : "> read CHOICE> case $CHOICE in> A|a)mkdir --mode=755 /home/yxh/test/yinxiaohang> if test -d "/home/yxh/test/yinxiaohang"> then cp file1 file2 /home/yxh/test/yinxiaohang> cat file1> cat file2> :> /home/yxh/test/yinxiaohang/file1> cat /home/yxh/test/yinxiaohang/file1> :> /home/yxh/test/yinxiaohang/file2> cat /home/yxh/test/yinxiaohang/file2> else echo file1 is not a file name> fi> ;;> B|b) if [ -f file1 ]> then test -r file1 -a -w file1 -a -x file1> ls -l file1> else echo file1 do not rwx> fi> ;;> C|c)tr 'a-z' 'A-Z' < file1 > 1> tr 'a-z' 'A-Z' < file2 > 2> if test -f 1 -a 2> then cat 1> cat 2> else echo fail!> fi> ;;> D|d)ls -l /dev> ls -l /dev |grep ^d|wc -l> ls -l /dev |grep ^l|wc -l> cat 3> cat 3|grep '^$'|wc -l> env> ;;> E|e)find /dev -name "s[a-z][a-z][a-z][a-z]"> find /dev -name "s[a-z][a-z][a-z][a-z]" >4 > var=$(cat 4)> file -b ${var%%.*}> ;;> Q|q)exit 0> ;;> *)echo -e "\t\007unknown user reponse"> ;;> esac> echo -e -n "\tHit the return key to continue" > read DUMMY> done⑵文件pc.txt中保存了三个班级的学生选课成绩,试编写一段shell程序对文件内容进行统计、计算后输出各个班级选课的学生人数及每班选课成绩的优秀率。
实验三 Linux常用命令

实验三Linux常用命令完成时间:姓名:一.实验目的:2.熟悉Linux操作环境。
二.实验内容:练习使用Linux常用命令。
三.实验要求:完成练习题,书写实验小结,保存后提交到作业服务器上。
四.实验练习题:1)文件和目录类命令:●启动计算机,利用root用户登录到系统,进入字符界面。
●用pwd命令查看当前所在的目录,转换到系统/目录。
●用ls命令列出此目录下的文件和目录,其显示的总数为(20)个,再用ls –a显示,ls –al显示,练习ls的其他参数显示效果,比较结果的不同。
●在系统/目录下,创建测试目录test,其命令为(cd /然后在系统目录下输入mkdirtest)。
如实验图。
●利用ls命令列出文件和目录,确认test目录创建成功。
●进入test目录,查看当前目录的命令为(pwd),其结果为(/test)。
●利用touch命令,在当前目录创建两个新的空文件newfile,myfile,其命令为(touch newfile myfile)。
●利用cp命令复制系统文件/test/myfile到/etc目录下,其命令为(cp -i/test/myfile /etc)。
●复制文件myfile为一个新文件myfile.bak,作为备份,其命令为(cp /ect/myfile ect/myfile.bak)。
●复制/etc/inittab文件到test目录下,其命令为(cp /etc/inittab /test/)。
●用长格形式列出test目录下的所有文件,注意比较每个文件的长度和创建时间的不同。
命令为(cd /test 进入test目录然后键入 ls –l命令就可以以长格形式显示当前目录下所有的文件和目录)。
●删除文件myfile.bak(rm –r myfile.bak)●把文件myfile改名为myfile.new,命令为(cp /test/myfile/etc/myfile.new )。
●显示当前目录下的文件和目录列表,确认重命名成功。
Linux实验报告

实验三 vi编辑器
一.实验目的
学习使用vi编辑器建立,编辑,显示及加工处理文本文件。
二.实验内容
1.进入和退出vi。
2.利用文本插入方式建立一个文件。
3.在新建的文本文件上移动光标位置。
4.对该文件执行删除,复原,修改,替换等操作。
三.主要实验步骤
1.进入vi。
2.建立一个文件,如file.c。
进入插入方式,输入一个c语言程序各行
内容,故意制造几处错误。
最后,将该文件存盘。
回到shell状态下。
3.运行gcc file.c -o myfile,编译该文件,会发现错误提示。
理解其含
义。
4.重新进入vi,对该文件进行修改。
然后存盘,退出vi。
重新编译该文
件。
如果编译通过了,可以用 ./myfile 运行该程序。
5.运行 man date>file10,然后vi file10.
使用x,dd等命令删除某些文本行。
使用u命令复原此前的情况。
使用c,r,s等命令修改文本内容。
使用检索命令进行给定模式的检索。
实验三 linux系统的常用命令

实验三linux系统的常用命令一、实验目的掌握Linux一般命令格式。
掌握有关文件目录操作的常用命令。
掌握有关进程操作的常用命令。
熟练使用man命令。
二、实验原理简单命令who:列出正在使用系统的用户、所用终端名以及到注册到系统时间。
echo:输出命令date命令:显示当天时间cal命令:日历(可规定具体年月的日历)clear命令:清除屏幕上的命令(只清屏)passwd:控制口令(改密码)注:ubuntu该命令格式为sudo passwd(设置新密码)2、文件操作命令cat:显示文件内容more显示文件内容,按Q 退出。
head显示文件的前n行信息tail显示末尾n行grep 查找文件信息cp 复制文件内容mv重命名或者将文件从一个目录移动到另个目录下rm删除文件wc统计命令3、目录操作1)、pwd:查看当前目录2)、ls:查看当前目录下的文件列表ls –l:以列表的方式查看当前目录下的文件详细信息ls –a:查看当前目录下的所有文件ls –al:查看当前目录下所有文件的详细信息3)、cd命令:改变工作命令4)、mkdir创建目录rmdir 删除目录5)、ln命令:创建链接6)、chmod 改变/设置文件/目录权限4、联机帮助命令man命令:显示某一命令的联机帮助手册。
三、实验内容、步骤、数据记录及处理登录进入系统,修改个人密码。
右击multipass软件,选择open shell点击打开,成功进入系统。
sudo passwd设置新密码要退出终端程序,右击multipass软件,选择exit点击打开,成功退出系统。
2、使用简单命令data、cal、who、echo、clear等,了解Linux命令格式。
datewhocalechoclear3、浏览文件系统:1)运行pwd 命令,确定当前目录。
2)运行ls -l 命令,确定各字段含义。
3)运行ls -ai 命令,确定各字段含义。
4)运行cd命令,将目录改到根目录(/)上。
实验三 Linux操作系统安全实验 (一)

实验三Linux操作系统安全一、实验目的及要求(一)实验目的通过实验熟悉Linux环境下的用户管理、进程管理以及文件管理的相关操作命令。
掌握linux操作系统中相关的系统安全配置方法,建立linux操作系统的基本安全框架。
(二)实验要求根据实验中介绍的Linux操作系统的各项安全性实验要求,详细观察记录设置前后系统的变化,给出分析报告。
使用RPM对系统的软件进行管理,验证系统内软件的完整性,并分析结果。
试比较Linux下网了服务安全设置与Windows下安全设置异同。
二、实验环境安装Red hat9.0操作系统的计算机一台三、实验内容1、账户和口令安全2、文件系统管理安全3、查看和更改PAM模块设置4、RPM软件管理5、系统安全配置四、实验步骤任务一账户和口令安全1、查看和添加账户(1)在X_Windows窗口中单击鼠标右键,选择“信件中断”,输入下面的命令行:[root@localhost root]#useradd mylist利用useradd命令新建名为mylist的新账户。
(2)输入命令行:[root@localhost root]#cat/etc/shadow利用cat查看系统中的账户列表。
用su命令切换到新建的账户,重复步骤(2),检查shadow文件的权限设置是否安全。
设置安全时,普通用户mylist应该没有查看该系统文件的权限。
在终端中出现如下的提示:Cat:/etc/shadow:权限不够2、添加和更改密码(1)在终端输入[root@localhost root]#passwd mylist为新建账户添加密码。
注意:系统管理员无需输入原来密码即可以利用passwd命令添加或改变任意用户的密码,但普通用户只能改变自己的密码。
(2)输入后依次出现如下提示:Changjing passwd for user mylist.New passwd:Retype new passwd:Passwd:all authentication tokens updated susscessfully.输入密码,Linux系统不会将输入显示出来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京林业大学
2013学年—2014学年第2学期Linux应用实验任务书专业名称:班级:
姓名:学号:
实验题目:实验三GNU下编译器和调试器的使用初步
实验环境:Linux环境
实验目的:
通过调试一个有问题的程序,进一步熟练使用Vi操作,而且熟练掌握Gcc 编译及Gdb的调试命令,通过对有问题程序的跟踪调试,进一步提高发现问题和解决问题的能力。
实验内容:
GNU GCC:
编译单个源文件
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char**argv)
{printf(“Hello world!\n”);
exit(0);
}
输入:wq保存并退出
用gcc编译
简单编译两个源文件
#include<stdio.h>
void goodbye_world(void);
{printf(“Goodbye,world!\n”);
}
使用gcc的“-c”标记来编译支持库代码:
#gcc-c文件名.c
这一过程的输出结果是一个名为文件名.o的文件,它包含适合连接到一个较大程序的已编译目标代码。
创建一个简单的示例程序,它包含一个调用上个程序里的goodbye_world的main 函数。
#include<stdlib.h>
void goodbye_world(void);
int main(int argc,char**argv)
{goodbye_world();
exit(0);
}
使用gcc编译这个程序:
#gcc-c main.c
现在有了两个目标文件:message.o和main.o。
它们包含能够被Linux执行的目标代码。
要从这个目标代码创建Linux可执行程序,需要再一次调用gcc 来执行连接阶段的工作:
使用外部函数库
GCC常常与包含标准例程的外部软件库结合使用,几乎每一个Linux应用程序都依赖于由GNU C函数库GLIBC。
//请编写代码计算sin30度+sin60度+sin90度,并完成编译,执行
提示:头文件的使用且GCC编译时使用数学库参数。
函数库位置随系统的不同而不同,但它一般会位于目录/lib或/usr/lib中,在这些目录中还有数以百计的其他必需的系统函数库。
GNU GDB:
(1)使用Vi编辑器,将以下代码输入到名为greet.c的文件中。
此代码的
原意为输出倒序main函数中定义的字符串,但结果显示没有输出。
代码
如下所示:
(2)使用Gcc编译这段代码。
(3)运行生成的可执行文件,观察运行结果。
(4)使用Gdb调试程序,通过设置断点、单步跟踪,一步步找出错误所在。
(5)纠正错误,更改源程序并得到正确的结果。
实验步骤:
(1)在工作目录上新建文件greet.c,并用Vi启动:vi greet.c。
(2)在Vi中输入以上代码。
图1
(3)在Vi中保存并退出:wq。
(4)用Gcc编译:
(5)运行greet:./greet,输出为:
可见,该程序没有能够倒序输出。
(6)启动Gdb调试:
(7)查看源代码并进行调试。
将原来有错的程序经过Gdb 调试,找出问题所在,并修改源代码,输出正确的倒序显示字符串的结果。
实验步骤中请适当截图。
GNU 调试器是一个功能非常强大的工具。
要了解更加详尽的知识,建议阅读GNU 调试器手册。
LINUX 环境下的编程实现:
请用深度优先搜索或广度优先搜索对上图的文件系统树进行遍历。
#include<stdio.h>
#include<string>
#include<iostream>
using namespace std;
void DFS(int G[8][8],int v);
int visit[8]={0,0,0,0,0,0,0,0};
string name[8]={"/","dirC","dirA","my3.dat","dirB",
"my1.dat","my2.dat","my1.dat"};
int main()
{
/*0
12
3456
7
*/
int G[8][8]={0,1,1,0,0,0,0,0,
0,0,0,1,0,0,0,0,
0,0,0,0,1,1,1,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,/
dirC dirA
dirB my3.dat my1.dat
my2.dat
my1.dat
0,0,0,0,0,0,0,0};
DFS(G,0);
return0;
}
void DFS(int G[8][8],int v)
{
int w=0;
cout<<name[v]<<"->";
visit[v]=1;
for(w=0;w<8;w++)
if((G[v][w]!=0)&&(visit[w]==0))
DFS(G,w);
}
实验中存在的问题及解决办法:
树的遍历使用VC6.0可编译运行,移植到Vi后出错。