注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

易拉罐的博客

心静自然凉

 
 
 

日志

 
 

转 LINUX系统实验  

2012-03-18 09:50:48|  分类: 嵌入式系统 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
实验一 熟悉LINUX下常用命令

一、实验目的

1 掌握linux操作系统的安装。

2 熟练掌握linux下的常用字符命令。

二、实验设备及工具

硬件:ARM2410嵌入式实验仪,PC机pentumn500以上, 硬盘40G以上,内存大于128M。

软件:PC机操作系统REDHAT LINUX 9.0 +MINICOM + AMRLINUX开发环境

三、预备知识

Linux下的常用命令:cdmkdirrmdircp,mountlspwdps (可参考附件内容)

四、实验要求

熟悉Linux下的常用命令:,并在计算机上进行练习实践

五、实验内容

进入系统后可以右键打开终端,进入终端后会看到:[root@tty /]#,其中第一个root表示登录用户,tty表示网络中主机名,/表示当前目录,(当登录用户,登录主机名以及进入目录不同时,相应的项也会改变)#表示登陆用户是超级用户root,如果是一般用户则为$

1.    基本命令:cd,mkdir,rmdir,cp,mount,ls,pwd,ps等

(1)切换工作目录命令cd :

cd /usr/bin                         //切换到/usr/bin目录

cd ..                               //切换到上一层目录

(2)创建目录命令mkdir

mkdir AAA            //在当前目录下建立一个名为AAA子目录

mkdir –p BBB/CCC    //BBB目录中建立CCC子目录,若BBB目录原本不存在则建立它

(3)删除空目录命令rmdir

rmdir AAA           //将当前工作目录下名为AAA的子目录删除

rmdir –p BBB/CCC    //删除BBB目录中的子目录CCC,若删除CCC后BBB为空目录则//将BBB也同时删除

(4)复制命令cp

cp aaa bbb         //将文件aaa复制为文件bbb

(5)挂载命令mount

mount –t vfat /dev/sda1 /mnt/usb                //挂载U盘

vfat:挂载设备的文件类型

/dev/sda1:挂载设备名

/mnt/usb:挂载点

(6)查看目录内容命令ls

ls –lt s*            //列出当前目录下所有名称以”s”开头的文件的详细信息

(7)显示当前路经命令pwd

(8)进程查看命令ps

2.man编程时获取帮助

如果在使用时需要查看命令的详细用法,可以使用如下命令:

        man command或者command --help

3.取消root密码,使用passwd命令

4.临时修改PC 机IP 地址

ifconfig eth0 192.168.0.115

5.压缩/解压缩

(1)假设目录/home下有文件mm.txt,sort.txt,xx.com,要把/home下的每个文件压缩成.gz文件,命令如下:

cd /home

gzip *

(2)将压缩文件text.zip在当前目录下解压:

unzip text.zip

6查找文件

查找文件或目录命令find

find /usr/ -size 50k             //查找usr目录下文件大小超过50k的文件

7.在一个目录树中查找含有某个字符串的所有文件

如寻找所有名称以test开头的文件:

locate test*

 

实验二 Linux 环境下程序设计基础

一、       实验目的

练习vi编译器以及X Window桌面的使用

二、        预备知识

       vi编辑器使用:

       VIMLinux最基本的文本编辑工具,虽然没有图形界面编辑器那样点鼠标的简单操作,但在系统管理、服务器管理中,永远不是图形界面的编辑器能比的。当你没有安装X-windows桌面环境或桌面环境崩溃时,字符模式下的编辑器VIM就派上用场了。另外,VIM编辑器是创建和编辑简单文档最高效的工具。

1 VIM的模式

VIM的模式可有6,为避免初学者搞混,仍依一般分成三种:

   ( 1).一般模式

    你一进入VIM就是处于一般模式,只能通过按键向编辑器发送命令,不能输入文字。这些命令可能是移动光标的命令,也可能是编辑命令或寻找替换命令。

    (2).编辑模式

    在一般模式下按i就会进入编辑模式(有些教材也称之为插入模式),此时可以键入文字,写你的文章,Esc就又回到一般模式。

   ( 3).命令模式

在一般模式下按:就会进入命令模式,左下角会有一个冒号出现,此时可敲入命令并执行。也是按Esc回到一般模式。

2 VIM的启动保存和退出

(1).在命令行中指定打开文件

    vim test.txt即可,此时VIM处于一般模式,也是其默认模式。

  (2).先进入VIM后打开文件

    进入VIM,进入命令模式,使用冒号命令:e test.txt,就可以编辑test.txt这个文件。以上两种打开文件方式中,如果test.txt不存在的话,就会打开一个新的以test.txt为名的文件。

   ( 3).编写文件

    进入VIM,i进入编辑模式,就可以编写你的文件了。通过方向键控制光标的移动,退格键可消去光标前一个字母,中文的话是一个字.Del键可删除光标所在处的字母(或汉字)

    (4).保存文件和退出

如果写好了文件,就可以按Esc回到一般模式,然后:w就会保存文件(注意,是冒号命令),但还不会离开VIM,要离开可按:q就可以了!也可以合起来用,:wq,这样就会存盘并退出。怎么样,也不会很难吧!只不过操作方式和别的编辑器不一样罢了,这样岂不更有个性。

三、    实验要求

首先使用vi编辑器编辑一个C语言源程序hello.c,程序功能是接受用户输入的姓名,然后在屏幕上输出一条语句”welcome 姓名”.使用命令”gcc –o hello hello.c”编译源程序,如果发现错误,则需要反复使用vi修改源文件并重新编译.

四、   实验步骤

1.       创建一目录zwjzgx

#mkdir zwjzgx

2.       在其中创建一个名为hello.c的文件:

#vi hello.c

3.       i文本插入,写入程序:

#include<stdio.h>

main()

{

       char name[20];

       printf(“please input your name : ”);

scanf(“%s”,name);                      //输入姓名

printf(“welcome %s !\n”,name);           //输出welcome姓名

return 0;

}

4.       ESC键后,按shift+zz保存并退出

5.       输入:#gcc –o hello hello.c

hello.c编译成可执行文件hello

6. 输入: #gdb hello             //调试hello

        (gdb) run              //运行程序并查看结果

7. 输入quit 可退出当前界面

 

实验三 shell程序设计

一、      实验目的

掌握shell程序设计的基本方法

二、      预备知识

shell编程的基本知识

三、      实验要求

使用shell命令设计一个输入名字并输出的小程序

四、     实验步骤

1.在目录zwjzgx中创建一文件shelltest.sh

i键进入插入模式,输入shell程序:

#!/bin/bash

#a simple shell script example

#a fuction

function say_hello()

{

       echo “Enter your name , please : ”

       read name

       echo “Hello $name”

}

echo “programme starts here… ”

say_hello

echo “ programme ends.”

1.       ESC,shift+zz保存并退出

3.在命令模式下输入:

#chmod +x shelltest.sh         //更改权限为可执行

# ./shelltest.sh                   //运行

4.运行结果:

programme starts here…

Enter your name , please : Tom

Hello Tom

Programme ends.

 

实验四 搭建嵌入式开发环境

一、             实验目的

1. 掌握Linux操作系统基本操作

2. 掌握构造嵌入式LINUX操作系统的方法

3. 掌握开发环境的配置方法

4. 掌握编译器使用的方法

二、           实验设备及工具

硬件:ARM2410嵌入式实验仪,PC机pentumn500以上, 硬盘40G以上,内存大于128M。

软件:PC机操作系统REDHAT LINUX 9.0 +MINICOM + AMRLINUX开发环境

三、             实验要求

在北京博创科技有限公司的UP-NETARM2410S开发平台上,构件嵌入式LINUX操作系的开发环境

四、             实验步骤

1.       在系统设置/服务器配置/服务中将iptables关,nfs开, NFS服务设置中增加:

(宿主机上共享)目录

主机(目标机)

权限

/arm2410s

192.168.0.115

读写

2.       打开两个终端

[终端1]#minicom 启动目标机,按实验箱上的复位按钮后敲击键盘回车键

[/mnt/yaffs] ifconfig eth0 192.168.0.115      //设置目标机IP地址

[终端2]在其中键入 #ifconfig 可见宿主机IP地址为192.168.0.22(视机器而定)

/arm2410s目录中创建一程序文件hello.c:

#include<stdio.h>

main()

{

              char name[20];

              printf(“please input your name : ”);

scanf(“%s”,name);                      //输入姓名

printf(“welcome %s !\n”,name);           //输出welcome姓名

return 0;

}

使用 #armv4l-unknown-linux-gcc –s –o hello hello.c hello.c编译成可执行文件hello,文件hello不能在宿主机运行,只能在目标机运行

3.       [终端1] 挂载:

#mount –t nfs 192.168.0.22:/arm2410s /host       

#cd /host

#./hello                          //运行hello文件,查看运行结果

 

实验五 Linux进程的创建及进程间通信
一、       实验目的
掌握linux进程的创建以及进程间通信的基本原理。
二、        预备知识

1. 有C语言基础。

2. 掌握在Linux下常用编辑器的使用。

三、        实验要求

1.创建一个进程

2.使用管道实现父子进程间的通信

四、        实验步骤

1.       创建一个进程

/zwjzgx目录中创建一个jincheng.c文件,并在其中写入C语言代码:

终端键入:# vi jincheng.c

程序代码:

#include<stdio.h>

int main()

{

int val;

val=fork();    //创建进程,并返回值

if(!val)      //fork()返回值非0即为父进程

{

printf(“This is the parent process !\n”);

}

else

{

execl(“/bin/ls”,”ls”,”-l”,0);        //   /bin/ls目录下执行 ls –l命令

}

return 0;

}

程序输入jincheng.c文件中后,按ESC,shift+zz退出并保存文件。

在终端输入:#gcc –o jincheng jincheng.c         //编译jincheng.c使之生成

//可执行文件jincheng

                     #./jincheng                          //运行

运行结果为: This is the parent process !

2.       使用管道实现父子进程间的通信

/zwjzgx目录中创建一个guandao.c文件,并在其中写入C语言代码:

终端键入: #vi guandao.c

程序代码:

#include<unistd.h>

#include<stdio.h>

#include<string.h>

#define MAX_LINE 80

#define PIPE_STDIN 0

#define PIPE_STDOUT 1

int main()

{

const char *string={“A sample message.”};

int ret,mypipe[2];

char buffer[MAX_LINE+1];

//创建管道

ret=pipe(mypipe);

if(ret==0)            //创建成功

{

//写信息到管道

write(mypipe[PIPE_STDOUT],string,strlen(string));

//从管道读信息

ret=read(mypipe[PIPE_STDIN],buffer,MAX_LINE);

buffer[ret]=0;

printf(“%s\n”,buffer);

}

return 0;

}

程序输入到tongdao.c文件中后,按ESC,shift+zz退出并保存文件。

在终端输入:#gcc –o tongdao tongdao.c      //编译tongdao.c使之生成

//可执行文件tongdao

                     #./tongdao                       //运行

运行结果为: A sample message.

  评论这张
 
阅读(194)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017