嵌入式Linux实验一Linux常用命令
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 #include <stdio.h>
2 #include <string.h>
3 #include <stdlib.h>
4 int display1(char *string);
5 int display2(char *string1);
6 int main()
7 {
8 char string[] = "Embeded Linux";
继续运行程序:continue (或c)
程序在printf前停止运行,此时依次查看string2[0],string2[1], …,发现string[0]没有被正确赋值,而后面的复制都是正确的,这是,定位程序第24行,发现程序运行结果错误的原因在于“size-1”。由于i只能增到“size - 1”,这样string2[0]就永远不能被赋值而保持null,故输不出任何结果。
ls -l
5)设置该文件的权限模式为-rwxr-xr-x:
chmod 755 testfile
ls -l testfile
6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak:
cp testfile myshare/testfile.bak
ls -l myshare/
7)在/root目录下为该文件创建1个符号连接:
仍使用第2题的hello.c代码
(1)编写makefile文件:利用vim文本编辑器创建一个makefile文件,并将其保存到与hello.c相同的目录下,注意:命令前的缩进必须用Tab键。
CC = gcc
hello: hello.o
$(CC) hello.o -o hello
hello.o : hello.c
退出GDB: quit (或q)
重新编辑greet.c, 把其中的“string2[size - i] = string1[i]”改为“string2[size - i - 1] = string1[i];”即可。
使用GCC重新编译,查看运行结果:./greet(调试过程及程序运行结果截图)
5.Make工程管理器的使用
福建师范大学协和学院
本科实验报告
课程名称:嵌入式系统
系 别:信息技术系2014级
专 业:通信工程
班 级:2班
学 号:124242014080
学生姓名:谢志杰
2017 年 6月 1 日
实验项目列表
序号
实验项目名称
学时
备注
1
实验一 Linux常用命令
2
2
实验二 Linux下C语言开发环境
2
3
实验三 嵌入式Linux开发环境
1)登录系统:在虚拟机中启动Linux系统,启动系统后需要输入用户名和密码,这里用root用户登录,密码123456;
2)启动终端:在桌面右键->选择“在终端中运行”或选择应用程序->系统工具->终端;
3)在终端中执行Linux命令,就可以在这里输入Linux命令,并按回车键执行。
2.使用Linux常用命令,运行以下例子并查看结果(将运行结果截图并保存):
$(CC) -c hello.c -o hello.o
clean:
rm hello.o hello
(2)使用Make编译项目。
1)执行make,查看并记录所生成的文件和运行的结果:make
2)执行clean,清除编译生成的所有文件:
make clean
ls
*6. 熟悉 Eclipse集成开发环境。
四、实验结果(粘贴执行结果截图)
ll /dev/cdrom
ls /mnt
2)挂载光盘
mount /dev/cdrom /mnt
3)查看挂载后的目录:
ls /mnt
4)卸载光盘
umount /mnt
(3)系统管理与设置命令的使用
1)查看系统所有进程:
ps -ef
2)查找ssh服务守护进程的进程ID号:
ps -ef |grep sshd
实验日期:2017年3月28日
学号:124242014080姓名:谢志杰
实验台:D1组员姓名:谢志杰、洪剑锋
实验三 嵌入式Linux开发环境
一、实验目的
1.熟悉嵌入式硬件开发平台。
2.熟悉嵌入式软件开发工具的使用。
3. 掌握交叉编译方法。
二、实验环境
硬件:PC机、ARM实验板及相关配件
软件:VMware Workstation虚拟机、Linux操作系统、Samba、nfs和SecureCRT
福建师范大学协和学院《嵌入式Linux》实验报告
实验日期:2017年3月14日
学号:124242014080姓名:谢志杰
实验台:D1组员姓名:谢志杰、洪剑锋
实验二 Linux下C语言开发环境
一、实验目的
1.熟悉Linux下C语言开发环境
2.掌握Vi、GCC和GDB的使用
3. 掌握Makefile文件的编写
tar zcvf /root/tmp.tar.gz /tmp/*
3)比较tmp.tar 和 tmp.tar.gz的大小
ls -l /root/tmp.tar /root/tmp.tar.gz
4)不解包只查看压缩包tmp.tar.gz的内容:
tar ztf /root/tmp.tar.gz
5)解压tmp.tar.gz的内容到/tmp/myshare目录:
25 string2[size+1] = ' ';
26 printf("The string afterward is %s\n", string2);
27 }
(1)用GCC编译生成有调试信息的可执行程序
gcc -g greet.c -o greet
(2)运行greet:
./greet
见结果可见改程序没有能够倒序输出
18 {
19 char *string2;
20 int size , i;
21 size = strlen(string1);
22 string2 = (char *)malloc(size + 1);
23 for(i=0; i<size; i++)
24 string2[size-i]=string1[i];
tar zxvf /root/tmp.tar.gz -C /tmp/myshare/
四、实验结果(粘贴执行结果截图)
(1)
(2)
(3)
(4)
(5)
5、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
我们在做实验的过程中,遇到了两个问题,后面通过检查和比对发现漏掉了空格和斜杠。在这个实验中了解到了基本的linus命令的操作。接下去我会用更多的时间去多加熟悉这些命令以及对所遇到的问题进行反思。
2.
3.
4.
5.
6、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
熟悉Linux下C语言开发环境,掌握Vi、GCC和GDB的使用,掌握Makefile文件的编写
学习和掌握Linux下C语言程序设计流程.
实验过程中更加巩固了所学的命令。
福建师范大学协和学院《嵌入式Linux》实验报告
命令:gcc hello.o -o hello
(5)查看这四个阶段生成的所有文件,并运行可执行文件:
命令:ls
./hello
4. GDB基本命令的使用
GDB所提供的功能,使用Vim编辑源程序,在终端输入“vim greet.c”,输入如下源代码,编辑完成后存盘。此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题,程序源代码如下(见Page 379-380):
(3)启动GDB调试:gdb greet
查看源代码:list (或l)
在23行(for循环处)设置断点:b 23
在26行(printf函数出)设置断点:b 26
查看断点设置情况:info b
运行代码:run (或r)
单步运行代码:n
查看暂停点变量值:p string2[size-i]
继续单步运行代码数次,并使用命令查看,发现string2[size-1]的值正确
3.学习和掌握Linux下C语言程序设计流程
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1. 准备工作
(1)登录系统:在虚拟机中启动Linux系统,启动系统后需要输入用户名和密码,这里用root用户登录,密码123456;
(2)启动终端:在桌面右键->选择“在终端中运行”或选择应用程序->系统工具->终端;
ln -s /tmp/testfile /root/testfile.ln
ls -l /root/testfile.ln
8)搜索inittab文件中含有initdefault字符串的行:
cat /etc/inittab | grep initdefault
(2)磁盘管理与维护命令的使用
1)确认光驱对应的设备文件:
3)禁用网卡eth0:
ifconfig eth0 down
4)测试本机网络的连通性:
ping 127.0.0.1
(5)压缩备份命令的使用
1)把/tmp目录打包成tmp.tar,放到/root目录下:
tar cf /root/tmp.tar /tmp/*
2)把/tmp目录压缩打包成tmp.tar.gz,放到/root目录下:
实验一 Linux常用命令
一、实验目的
1.熟悉VMware Workstation虚拟机的使用
2.了解Linux系统的启动、登录及关闭方法
3.学习和掌握Linux系统的常用命令
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1.准备工作
9 display1(string);
10 display2(string);
11 return 0;
12 }
13 int display1(char *string)
14 {
15 printf("The original string is %s \n", string );
16 }
17 int display2(char *string1)
(3)在终端中执行Linux命令,就可以在这里输入Linux命令,并按回车键执行。
2.(1)使用vim编辑源程序,在终端中输入“vim hello.c”,然后按下列图输入源代码,编辑完成后存盘,退出vim。
图2-1 编辑源代码
(2)编译源代码:在终端下输入“gcc hello.c–o hello”进行编译。
3)假设ssh服务守护进程出现了问题,则强制杀掉该进程并再次查看:
kill -9 进程ID号
ps -ef |grep sshd
(4)网络相关命令的使用
1)显示当前网络的信息:
ifconfig
2)设置网卡eth0的IP地址为192.168.1.10:
ifconfig eth0 192.168.1.10
2
4
实验四 嵌入式Linux系统的下载
2
5
实验五 BootLoader
2
6
实验六 内核和根文件系统
2
7
实验七 文件IO编程进程控制编程
2
8
实验八 进程控制编程
2
福建师范大学协和学院《嵌入式系统》实验报告
实验日期:2017年2月28日
学号:124242014080姓名:谢Hale Waihona Puke Baidu杰
实验台:D1组员姓名:谢志杰、洪剑锋
三、实验内容及步骤
1. 安装VMware Tools实现Windows与Linux文件共享(参考课本P87)
1)打开虚拟机菜单VM->Install VMware Tools命令,此时虚拟机会将VMware Tools安装镜像加载到虚拟机的Linux系统中
(1)文件与目录相关命令的使用
1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:
ll /bin
2)进入/tmp目录下,新建目录myshare:
cd /tmp
mkdir myshare
ls -ld myshare
3)用pwd命令查看当前所在的目录
pwd
4)新建testfile文件:
touch testfile
(2)编译阶段,使用GCC的选项“-S”,只编译不汇编,生成汇编代码hello.s :
命令:gcc -S hello.i -o hello.s
(3)汇编阶段,使用GCC的选项“-c”,只汇编不链接,生成二进制目标代码hello.o:
命令:gcc -c hello.s -o hello.o
(4)链接阶段,将生成的*.o的二进制目标文件进行链接,生成可执行文件:
(3)运行程序:在终端下输入“./hello”查看程序运行结果(结果截图)
3. GCC编辑器的使用
仍使用第2题的hello.c代码(以下5小题全执行完后截图)
(1)预处理阶段,使用GCC的选项“-E”,生成hello.c的预处理文件hello.i :
命令:gcc -E hello.c -o hello.i
2 #include <string.h>
3 #include <stdlib.h>
4 int display1(char *string);
5 int display2(char *string1);
6 int main()
7 {
8 char string[] = "Embeded Linux";
继续运行程序:continue (或c)
程序在printf前停止运行,此时依次查看string2[0],string2[1], …,发现string[0]没有被正确赋值,而后面的复制都是正确的,这是,定位程序第24行,发现程序运行结果错误的原因在于“size-1”。由于i只能增到“size - 1”,这样string2[0]就永远不能被赋值而保持null,故输不出任何结果。
ls -l
5)设置该文件的权限模式为-rwxr-xr-x:
chmod 755 testfile
ls -l testfile
6)把该文件备份到/tmp/myshare目录下,并改名为testfile.bak:
cp testfile myshare/testfile.bak
ls -l myshare/
7)在/root目录下为该文件创建1个符号连接:
仍使用第2题的hello.c代码
(1)编写makefile文件:利用vim文本编辑器创建一个makefile文件,并将其保存到与hello.c相同的目录下,注意:命令前的缩进必须用Tab键。
CC = gcc
hello: hello.o
$(CC) hello.o -o hello
hello.o : hello.c
退出GDB: quit (或q)
重新编辑greet.c, 把其中的“string2[size - i] = string1[i]”改为“string2[size - i - 1] = string1[i];”即可。
使用GCC重新编译,查看运行结果:./greet(调试过程及程序运行结果截图)
5.Make工程管理器的使用
福建师范大学协和学院
本科实验报告
课程名称:嵌入式系统
系 别:信息技术系2014级
专 业:通信工程
班 级:2班
学 号:124242014080
学生姓名:谢志杰
2017 年 6月 1 日
实验项目列表
序号
实验项目名称
学时
备注
1
实验一 Linux常用命令
2
2
实验二 Linux下C语言开发环境
2
3
实验三 嵌入式Linux开发环境
1)登录系统:在虚拟机中启动Linux系统,启动系统后需要输入用户名和密码,这里用root用户登录,密码123456;
2)启动终端:在桌面右键->选择“在终端中运行”或选择应用程序->系统工具->终端;
3)在终端中执行Linux命令,就可以在这里输入Linux命令,并按回车键执行。
2.使用Linux常用命令,运行以下例子并查看结果(将运行结果截图并保存):
$(CC) -c hello.c -o hello.o
clean:
rm hello.o hello
(2)使用Make编译项目。
1)执行make,查看并记录所生成的文件和运行的结果:make
2)执行clean,清除编译生成的所有文件:
make clean
ls
*6. 熟悉 Eclipse集成开发环境。
四、实验结果(粘贴执行结果截图)
ll /dev/cdrom
ls /mnt
2)挂载光盘
mount /dev/cdrom /mnt
3)查看挂载后的目录:
ls /mnt
4)卸载光盘
umount /mnt
(3)系统管理与设置命令的使用
1)查看系统所有进程:
ps -ef
2)查找ssh服务守护进程的进程ID号:
ps -ef |grep sshd
实验日期:2017年3月28日
学号:124242014080姓名:谢志杰
实验台:D1组员姓名:谢志杰、洪剑锋
实验三 嵌入式Linux开发环境
一、实验目的
1.熟悉嵌入式硬件开发平台。
2.熟悉嵌入式软件开发工具的使用。
3. 掌握交叉编译方法。
二、实验环境
硬件:PC机、ARM实验板及相关配件
软件:VMware Workstation虚拟机、Linux操作系统、Samba、nfs和SecureCRT
福建师范大学协和学院《嵌入式Linux》实验报告
实验日期:2017年3月14日
学号:124242014080姓名:谢志杰
实验台:D1组员姓名:谢志杰、洪剑锋
实验二 Linux下C语言开发环境
一、实验目的
1.熟悉Linux下C语言开发环境
2.掌握Vi、GCC和GDB的使用
3. 掌握Makefile文件的编写
tar zcvf /root/tmp.tar.gz /tmp/*
3)比较tmp.tar 和 tmp.tar.gz的大小
ls -l /root/tmp.tar /root/tmp.tar.gz
4)不解包只查看压缩包tmp.tar.gz的内容:
tar ztf /root/tmp.tar.gz
5)解压tmp.tar.gz的内容到/tmp/myshare目录:
25 string2[size+1] = ' ';
26 printf("The string afterward is %s\n", string2);
27 }
(1)用GCC编译生成有调试信息的可执行程序
gcc -g greet.c -o greet
(2)运行greet:
./greet
见结果可见改程序没有能够倒序输出
18 {
19 char *string2;
20 int size , i;
21 size = strlen(string1);
22 string2 = (char *)malloc(size + 1);
23 for(i=0; i<size; i++)
24 string2[size-i]=string1[i];
tar zxvf /root/tmp.tar.gz -C /tmp/myshare/
四、实验结果(粘贴执行结果截图)
(1)
(2)
(3)
(4)
(5)
5、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
我们在做实验的过程中,遇到了两个问题,后面通过检查和比对发现漏掉了空格和斜杠。在这个实验中了解到了基本的linus命令的操作。接下去我会用更多的时间去多加熟悉这些命令以及对所遇到的问题进行反思。
2.
3.
4.
5.
6、实验小结(对实验现象、实验故障及处理方法、实验中存在的问题等进行分析和讨论。)
熟悉Linux下C语言开发环境,掌握Vi、GCC和GDB的使用,掌握Makefile文件的编写
学习和掌握Linux下C语言程序设计流程.
实验过程中更加巩固了所学的命令。
福建师范大学协和学院《嵌入式Linux》实验报告
命令:gcc hello.o -o hello
(5)查看这四个阶段生成的所有文件,并运行可执行文件:
命令:ls
./hello
4. GDB基本命令的使用
GDB所提供的功能,使用Vim编辑源程序,在终端输入“vim greet.c”,输入如下源代码,编辑完成后存盘。此代码的功能为输出倒序main函数中定义的字符串,但结果没有输出显示,现通过调试的方式来解决程序中存在的问题,程序源代码如下(见Page 379-380):
(3)启动GDB调试:gdb greet
查看源代码:list (或l)
在23行(for循环处)设置断点:b 23
在26行(printf函数出)设置断点:b 26
查看断点设置情况:info b
运行代码:run (或r)
单步运行代码:n
查看暂停点变量值:p string2[size-i]
继续单步运行代码数次,并使用命令查看,发现string2[size-1]的值正确
3.学习和掌握Linux下C语言程序设计流程
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1. 准备工作
(1)登录系统:在虚拟机中启动Linux系统,启动系统后需要输入用户名和密码,这里用root用户登录,密码123456;
(2)启动终端:在桌面右键->选择“在终端中运行”或选择应用程序->系统工具->终端;
ln -s /tmp/testfile /root/testfile.ln
ls -l /root/testfile.ln
8)搜索inittab文件中含有initdefault字符串的行:
cat /etc/inittab | grep initdefault
(2)磁盘管理与维护命令的使用
1)确认光驱对应的设备文件:
3)禁用网卡eth0:
ifconfig eth0 down
4)测试本机网络的连通性:
ping 127.0.0.1
(5)压缩备份命令的使用
1)把/tmp目录打包成tmp.tar,放到/root目录下:
tar cf /root/tmp.tar /tmp/*
2)把/tmp目录压缩打包成tmp.tar.gz,放到/root目录下:
实验一 Linux常用命令
一、实验目的
1.熟悉VMware Workstation虚拟机的使用
2.了解Linux系统的启动、登录及关闭方法
3.学习和掌握Linux系统的常用命令
二、实验环境
硬件:PC机一台
软件:VMware Workstation虚拟机和Linux操作系统
三、实验内容及步骤
1.准备工作
9 display1(string);
10 display2(string);
11 return 0;
12 }
13 int display1(char *string)
14 {
15 printf("The original string is %s \n", string );
16 }
17 int display2(char *string1)
(3)在终端中执行Linux命令,就可以在这里输入Linux命令,并按回车键执行。
2.(1)使用vim编辑源程序,在终端中输入“vim hello.c”,然后按下列图输入源代码,编辑完成后存盘,退出vim。
图2-1 编辑源代码
(2)编译源代码:在终端下输入“gcc hello.c–o hello”进行编译。
3)假设ssh服务守护进程出现了问题,则强制杀掉该进程并再次查看:
kill -9 进程ID号
ps -ef |grep sshd
(4)网络相关命令的使用
1)显示当前网络的信息:
ifconfig
2)设置网卡eth0的IP地址为192.168.1.10:
ifconfig eth0 192.168.1.10
2
4
实验四 嵌入式Linux系统的下载
2
5
实验五 BootLoader
2
6
实验六 内核和根文件系统
2
7
实验七 文件IO编程进程控制编程
2
8
实验八 进程控制编程
2
福建师范大学协和学院《嵌入式系统》实验报告
实验日期:2017年2月28日
学号:124242014080姓名:谢Hale Waihona Puke Baidu杰
实验台:D1组员姓名:谢志杰、洪剑锋
三、实验内容及步骤
1. 安装VMware Tools实现Windows与Linux文件共享(参考课本P87)
1)打开虚拟机菜单VM->Install VMware Tools命令,此时虚拟机会将VMware Tools安装镜像加载到虚拟机的Linux系统中
(1)文件与目录相关命令的使用
1)查询/bin目录,看一看有哪些常用的命令文件在该目录下:
ll /bin
2)进入/tmp目录下,新建目录myshare:
cd /tmp
mkdir myshare
ls -ld myshare
3)用pwd命令查看当前所在的目录
pwd
4)新建testfile文件:
touch testfile
(2)编译阶段,使用GCC的选项“-S”,只编译不汇编,生成汇编代码hello.s :
命令:gcc -S hello.i -o hello.s
(3)汇编阶段,使用GCC的选项“-c”,只汇编不链接,生成二进制目标代码hello.o:
命令:gcc -c hello.s -o hello.o
(4)链接阶段,将生成的*.o的二进制目标文件进行链接,生成可执行文件:
(3)运行程序:在终端下输入“./hello”查看程序运行结果(结果截图)
3. GCC编辑器的使用
仍使用第2题的hello.c代码(以下5小题全执行完后截图)
(1)预处理阶段,使用GCC的选项“-E”,生成hello.c的预处理文件hello.i :
命令:gcc -E hello.c -o hello.i