“1.1 sMonitor ubuntu开发平台”的版本间的差异
(→常用shell命令) |
(→动手实践) |
||
| (未显示同一用户的47个中间版本) | |||
| 第7行: | 第7行: | ||
------- | ------- | ||
| − | === | + | ===vmware软件安装=== |
软 件 包:VMware-workstation-full-12.0.0.zip | 软 件 包:VMware-workstation-full-12.0.0.zip | ||
| 第66行: | 第66行: | ||
<br> | <br> | ||
| − | === | + | |
| + | 【VirtualBox加载Ubuntu||VirtualBox加载Ubuntu】 | ||
| + | |||
| + | ===ubuntu安装配置=== | ||
<pre> | <pre> | ||
| − | 软 件 包:64bitPlatform_1604_v5.0.zip | + | 软 件 包:64bitPlatform_1604_v5.0.zip(也可能是其他版本) |
操作系统:windows-7/8/10 | 操作系统:windows-7/8/10 | ||
安装过程: 如下所示 | 安装过程: 如下所示 | ||
| 第74行: | 第77行: | ||
====安装ubuntu系统==== | ====安装ubuntu系统==== | ||
| − | * | + | *在d盘创建一个myMachine目录 |
| − | *将64bitPlatform_1604_v5.0. | + | *将64bitPlatform_1604_v5.0.zip拷贝到myMachine目录 |
*解压64bitPlatform_1604_v5.0.zip到当前目录下 | *解压64bitPlatform_1604_v5.0.zip到当前目录下 | ||
| 第134行: | 第137行: | ||
====设置共享目录==== | ====设置共享目录==== | ||
| − | * | + | 共享目录主要是用于实现windows与ubuntu两个系统之间的数据交互,比如windows有一个文件要给ubuntu系统用时,就可以将文件放置到共享目录下传给ubuntu。 |
| + | '''新的共享目录可以如下配置:''' | ||
| + | |||
| + | *在windows桌面新建名为shareWin的目录文件,并且在里面创建一个名为hello的文件 | ||
| + | |||
| + | [[File:gbaSet_01.png|600px]] | ||
| − | * | + | *回到ubuntu系统的shell操作界面,进行如下操作 |
| − | + | # ls /mnt/hgfs | |
| − | + | 可以看到没有名为shareWin的目录文件,接下来做如下操作: | |
| − | + | [[File:gbaSet_02.png|600px]] | |
| − | [[File: | + | [[File:gbaSet_03.png|600px]] |
| + | |||
| + | [[File:gbaSet_04.png|600px]] | ||
*再次执行 | *再次执行 | ||
| − | + | # ls /mnt/hgfs | |
| + | # cd /mnt/hgfs/shareWin/ | ||
| + | # ls | ||
| + | |||
| + | 发现在/mnt/hgfs目录下,多了一个名为shareWin的目录文件,再进到里面可能看到之前创建的hello文件。 | ||
| + | |||
| + | 至此,两个系统间的共享文件夹设置并启完毕,后面如果两个系统需要共享资料时,可以将其放到共享目录即可。 | ||
| + | |||
| + | <br> | ||
| + | |||
| + | ====网络配置连接==== | ||
| + | |||
| + | *电脑windows连接上网络(可以是有线网络,也可以是无线网络,推荐无线) | ||
| + | |||
| + | *检查设置ubuntu为桥接网络连接方式 | ||
| + | |||
| + | [[File:vmware_netset_01.png|600px|link= ]] | ||
| + | |||
| + | 注意:必须设置为桥接方式。 | ||
| + | |||
| + | |||
| + | *重启ubuntu网络 | ||
| + | |||
| + | [[File:vmware_netset_02.png|600px|link= ]] | ||
| + | |||
| + | *测试网络是否可联网 | ||
| + | |||
| + | [[File:vmware_netset_03.png|600px|link= ]] | ||
| − | + | 如果可以ping通百度,则网络配置成功。 | |
<br> | <br> | ||
| 第179行: | 第216行: | ||
====常用shell命令==== | ====常用shell命令==== | ||
| − | + | ||
此处略 | 此处略 | ||
| − | |||
| + | <!-- | ||
*cd(改变工作路径) | *cd(改变工作路径) | ||
:cd xxx (xxx:是工作目录的路径) | :cd xxx (xxx:是工作目录的路径) | ||
| 第365行: | 第402行: | ||
tar -zcf vmware-tools-distrib.tar.gz vmware-tools-distrib | tar -zcf vmware-tools-distrib.tar.gz vmware-tools-distrib | ||
| + | --> | ||
====实践操作==== | ====实践操作==== | ||
| 第370行: | 第408行: | ||
<pre> | <pre> | ||
| − | #mkdir /opt/shell_test | + | # mkdir /opt/shell_test //在opt目录下新建一个名为shell_test文件 |
| − | # | + | # ls /opt/shell_test //查看/opt/shell_test目录 |
| − | # | + | # cd /opt/shell_test //进入/opt/shell_test目录 |
| − | #mkdir hello | + | # mkdir hello //新建一个名为hello目录 |
| − | #ls | + | # ls //查看当前目录内容 |
| − | #rmdir hello | + | # rmdir hello //删除hello目录 |
| − | #ls | + | # ls |
| − | #touch hello.c | + | # touch hello.c //创建一个hello.c文件 |
| − | #ls | + | # ls |
| − | #rm hello.c | + | # rm hello.c //删除hello.c文件 |
| − | #mkdir hello | + | # ls |
| − | #touch hello/hello.c | + | # mkdir hello |
| − | #touch world.c | + | # touch hello/hello.c //在hello目录下新建一个hello.c文件 |
| − | #ls | + | # touch world.c //新建world.c文件 |
| − | #rm -rf ./* | + | # ls |
| − | #ls | + | # rm -rf ./* //删除当前目录下所有文件 |
| + | # ls | ||
</pre> | </pre> | ||
| 第392行: | 第431行: | ||
<pre> | <pre> | ||
| − | #cd /opt/shell_test | + | # cd /opt/shell_test //进入/opt/shell_test目录下 |
| − | #ls | + | # touch hello.c //新建hello.c |
| − | #chmod 777 hello.c | + | # ls |
| − | #ls | + | # chmod 777 hello.c //修改hello.c文件为可读写 |
| + | # ls | ||
| − | #cp hello.c hello_backup.c -rdf | + | # cp hello.c hello_backup.c -rdf //将hello.c拷贝保存为一个新文件hello_backup.c |
| − | + | # ls | |
| − | |||
| − | |||
| − | #ls | ||
| − | |||
| − | |||
| − | |||
| − | #tar cvfj smartHome.tar.bz2 smartHome | + | # mv hello_backup.c 123.c //将hello_backup.c改名为123.c |
| − | #ls | + | # ls |
| − | #rm -rf smartHome | + | # mkdir test |
| − | #ls | + | # mv 123.c test //将123.c文件移到test目录下 |
| − | #tar xvfj smartHome.tar.bz2 | + | # mv test smartHome //将test目录改名为smartHome |
| − | #ls | + | # ls |
| + | # tar cvfj smartHome.tar.bz2 smartHome //将smartHome目录压缩为smartHome.tar.bz2文件 | ||
| + | # ls | ||
| + | # rm -rf smartHome | ||
| + | # ls | ||
| + | # tar xvfj smartHome.tar.bz2 //将smartHome.tar.bz2文件解压为smartHome目录 | ||
| + | # ls | ||
</pre> | </pre> | ||
| 第419行: | 第459行: | ||
<pre> | <pre> | ||
| − | #cd /opt/shell_test | + | # cd /opt/shell_test |
| − | #rm -rf ./* | + | # rm -rf ./* |
| − | #touch hello.c | + | # touch hello.c |
| − | #vi hello.c | + | # vi hello.c |
可以进入文件中,按下i,就可以编辑内容 | 可以进入文件中,按下i,就可以编辑内容 | ||
#include <stdio.h> | #include <stdio.h> | ||
| + | #include <unistd.h> | ||
int main() | int main() | ||
{ | { | ||
| − | printf("hello world.\n"); | + | while(1) |
| + | { | ||
| + | printf("hello world.\n"); | ||
| + | sleep(1); | ||
| + | } | ||
| + | |||
return 0; | return 0; | ||
} | } | ||
| 第436行: | 第482行: | ||
:wq! (保存退出) | :wq! (保存退出) | ||
| − | #gcc hello.c -o hello | + | # gcc hello.c -o hello // 将hello.c编译为hello |
| − | #./hello | + | # ./hello // 执行可执行文件hello |
| + | </pre> | ||
| + | |||
| + | <br> | ||
| + | |||
| + | |||
| + | ===应用开发=== | ||
| + | ====测试代码开发==== | ||
| + | *工程包准备 | ||
| + | |||
| + | 进入ubuntu,打开终端,执行 | ||
| + | |||
| + | cd /nfs | ||
| + | |||
| + | 从网页中下载demo包[[Media:playDemo.tar.bz2 |playDemo.tar.bz2[下载]]],并放置共享文件目录,返回ubuntu终端,执行: | ||
| + | |||
| + | cp /mnt/hgfs/shareWin/playDemo.tar.bz2 ./ | ||
| + | tar xvfj playDemo.tar.bz2 | ||
| + | cd playDemo | ||
| + | |||
| + | *代码开发 | ||
| + | |||
| + | 打开源文件playCtl.c | ||
| + | vi playCtl.c | ||
| + | |||
| + | 在main函数中,添加 | ||
| + | <!-- | ||
| + | <syntaxhighlight lang="ruby"> | ||
| + | char *argv[]={"maplayer","-slave","-quiet","-input","file=/opt/fifo","-playList", "MediaList",NULL}; | ||
| + | |||
| + | pid = fork(); | ||
| + | if(pid < 0){ perror("fork failed\n");return -1;} | ||
| + | else if(pid == 0){ | ||
| + | execvp("mplayer",argv); | ||
| + | printf("exec failed\n"); | ||
| + | return -1; | ||
| + | }else{ | ||
| + | fd = open("/opt/fifo",O_WRONLY); | ||
| + | if(fd < 0){perror("open fifo fail\n");return -1;} | ||
| + | sleep(1); | ||
| + | do{ | ||
| + | choice = ui_choice(); | ||
| + | switch(choice){ | ||
| + | case 1:write(fd,"pause\n",6);break; | ||
| + | case 2:write(fd,"seek 0 1\n",9);break; | ||
| + | case 3:write(fd,"pt_step 1\n",10);sleep(1);break; | ||
| + | case 6:write(fd,"quit\n",5);break; | ||
| + | default:break; | ||
| + | } | ||
| + | }while(choice != 6); | ||
| + | |||
| + | system("clear"); | ||
| + | wait(NULL); | ||
| + | } | ||
| + | close(fd); | ||
| + | </syntaxhighlight> | ||
| + | --> | ||
| + | [[File:playCtrl_001.png|800px|link= ]] | ||
| + | |||
| + | |||
| + | 注意:上面代码中 | ||
| + | “char *argv[]={"maplayer","-slave","-quiet","-input","file=/opt/fifo","-playList", "MediaList",NULL};” | ||
| + | 请将'''maplayer'''改成'''mplayer''' | ||
| + | |||
| + | 在ui_choice函数中,添加: | ||
| + | <!-- | ||
| + | <syntaxhighlight lang="ruby"> | ||
| + | |||
| + | system("clear"); | ||
| + | printf("\t 1. pause player.\n"); | ||
| + | printf("\t 2. restart player.\n"); | ||
| + | printf("\t 3. next player.\n"); | ||
| + | printf("\t 6. exit player.\n"); | ||
| + | printf("\t your choice: "); | ||
| + | scanf("%d", &choice); | ||
| + | |||
| + | </syntaxhighlight> | ||
| + | --> | ||
| + | |||
| + | [[File:playCtrl_002.png|800px|link= ]] | ||
| + | |||
| + | ====编译执行演示==== | ||
| + | |||
| + | *程序编译 | ||
| + | gcc playCtl.c -o playCtl | ||
| + | |||
| + | 可以看到在当前目录下生成了一个名为playCtl的可执行文件 | ||
| + | |||
| + | *程序执行 | ||
| + | mkfifo /opt/fifo | ||
| + | ./playCtl | ||
| + | |||
| + | 可以看到开始播放视频,而在终端可以看到控制列表,输入对应的数字可以执行相应的功能 | ||
| + | |||
| + | 注意:上面程序执行的前提是ubuntu系统中已安装有mplayer播放器,否则会异常退出。 | ||
| + | <br> | ||
| + | |||
| + | <!-- | ||
| + | ====拓展功能开发==== | ||
| + | * 添加播放上一首功能 | ||
| + | *添加音量调节功能 | ||
| + | --> | ||
| + | <!-- | ||
| + | 参考代码: | ||
| + | |||
| + | 1.添加播放上一首功能 | ||
| + | *在ui_choice函数中,添加 | ||
| + | printf("\t 4. prev player.\n"); | ||
| + | |||
| + | *在main函数中,添加 | ||
| + | case 4:write(fd,"pt_step -1\n",11);sleep(1);break; | ||
| + | |||
| + | 2.添加音量调节功能 | ||
| + | <pre> | ||
| + | int ui_choice(void) | ||
| + | { | ||
| + | int choice; | ||
| + | system("clear"); | ||
| + | printf("\t 1. pause player.\n"); | ||
| + | printf("\t 2. restart player.\n"); | ||
| + | printf("\t 3. next player.\n"); | ||
| + | printf("\t 4. prev player.\n"); | ||
| + | printf("\t 5. set volume.\n"); //新加 | ||
| + | printf("\t 6. exit player.\n"); | ||
| + | printf("\t your choice: "); | ||
| + | scanf("%d", &choice); | ||
| + | |||
| + | return choice; | ||
| + | } | ||
| + | </pre> | ||
| + | *在main函数相应位置中,添加: | ||
| + | <pre> | ||
| + | case 4:write(fd,"pt_step -1\n",11);sleep(1);break; | ||
| + | case 5: | ||
| + | do{ | ||
| + | printf("enter volume value(0-100):"); | ||
| + | scanf("%d",&num); | ||
| + | }while(num > 100 || num < 0); | ||
| + | memset(volume,0,sizeof(volume)); | ||
| + | sprintf(volume,"volume %d 1\n",num); | ||
| + | write(fd,volume,strlen(volume)); | ||
| + | break; | ||
| + | case 6:write(fd,"quit\n",5);break; | ||
</pre> | </pre> | ||
| + | --> | ||
| + | <!-- | ||
===动手实践=== | ===动手实践=== | ||
| − | * | + | *练习1:在ubuntu下面安装一种软入法(如:五笔输入法)软件并简单使用 |
| − | * | + | |
| − | + | *练习2:在ubuntu下,实现不少于两种方法安装mplayer播放器软件 | |
'''方法一:利用apt-get机制安装删除mplayer播放器''' | '''方法一:利用apt-get机制安装删除mplayer播放器''' | ||
<pre> | <pre> | ||
| 第480行: | 第670行: | ||
经过一小段时间编译后,在当前目录下会发现有一个名为mpayer的可执行代码 | 经过一小段时间编译后,在当前目录下会发现有一个名为mpayer的可执行代码 | ||
</pre> | </pre> | ||
| + | *练习3:通过配置,实现将电脑windows的D或E盘整个挂载到ubuntu的/media/hDisk目录,并且可以查看其内容。 | ||
| + | |||
| + | *练习4:在ubuntu下通过u盘挂载实现一个短视频的播放。 | ||
| + | *练习5:配置网络并测试ping通百度, 并且通过网络安装QQ软件 | ||
| + | *练习13:在ubuntu系统上安装布署一个web服务器,并且在指定目录下编写一个简单的html文件,实现用户在浏览器中输入ip地址后可以如下打开显示一份个人简历,要求编程实现页面显示。 | ||
| + | [[File:priDemo.jpg|500px|link= ]] | ||
--> | --> | ||
| + | <!-- | ||
| + | <div style="font-size: 120%;">'''资源下载'''</div> | ||
| + | {| class="wikitable" style="width: 90%;text-align: center" | ||
| + | | style="width="30%" | '''资源编号''' || style=width="20%" | '''资源名称''' || style=width="10%" | '''资源介绍''' || '''下载链接''' | ||
| + | |- | ||
| + | |1 || align=left | [[Media:ubuntu完整安装.pdf|ubuntu完整安装]] || align=left | ubuntu1604完整安装过程记录 密码:leqw || [[https://pan.baidu.com/s/1qZqCRC2ahBd3oT5xJbW2bQ 下载]] | ||
| + | |} | ||
| + | |||
| + | <br> | ||
| − | + | --> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | < | + | 附录: |
| − | --> | + | ----- |
| + | {| class="wikitable" style="width: 100%;text-align: center" | ||
| + | | style="width="30%" | '''资源编号''' || style=width="20%" | '''资源名称''' || '''下载链接''' | ||
| + | |- | ||
| + | |1 || MPlayer-1.3.0.tar.xz || [[Media:MPlayer-1.3.0.tar.xz|mplayer源码包下载]] | ||
| + | |- | ||
| + | |2 || debug.mp4 || [[Media:debug.mp4|mp4测试文件]] | ||
| + | |- | ||
| + | |3 || VirtualBox加载Ubuntu || <!--[[VirtualBox加载Ubuntu|【'''打开查看'''】-->【'''打开查看'''】 | ||
| + | |} | ||
| + | <!-- | ||
===FAQ=== | ===FAQ=== | ||
| 第525行: | 第717行: | ||
|20||[[ubuntu_FAQ_20|其他杂七杂八问题]]|| || | |20||[[ubuntu_FAQ_20|其他杂七杂八问题]]|| || | ||
|} | |} | ||
| + | --> | ||
| − | + | <span style="border:1px solid #000; text-align:center; float:right;padding:6px;"><strong>'''返回''':</strong> [[SMonitor 开发基础|上一页]]</span> | |
| − | |||
| − | <span style="border:1px solid #000; text-align:center; float:right;padding:6px;"><strong> | ||
|| | || | ||
|} | |} | ||
2024年7月30日 (二) 00:30的版本
|
正文 目录vmware软件安装软 件 包:VMware-workstation-full-12.0.0.zip 操作系统:windows-7/8/10 安装过程: 如下所示 准备工作1 在d盘创建一个temp目录
2 将VMware-workstation-full-12.0.0.zip拷贝到temp目录
3 解压VMware-workstation-full-12.0.0.zip
开始安装
安装密钥
【VirtualBox加载Ubuntu||VirtualBox加载Ubuntu】 ubuntu安装配置软 件 包:64bitPlatform_1604_v5.0.zip(也可能是其他版本) 操作系统:windows-7/8/10 安装过程: 如下所示 安装ubuntu系统
可以看到64bitPlatform_1604_v5.0目录,即为ubuntu16.04的系统镜像,可以直接使用。
运行ubuntu系统
可以看到一个“挂起状态”的ubuntu16.04系统。
正常进入“ubuntu系统主界面”。
至此,整个ubuntu1604系统安装完毕。
设置共享目录共享目录主要是用于实现windows与ubuntu两个系统之间的数据交互,比如windows有一个文件要给ubuntu系统用时,就可以将文件放置到共享目录下传给ubuntu。 新的共享目录可以如下配置:
# ls /mnt/hgfs 可以看到没有名为shareWin的目录文件,接下来做如下操作:
# ls /mnt/hgfs # cd /mnt/hgfs/shareWin/ # ls 发现在/mnt/hgfs目录下,多了一个名为shareWin的目录文件,再进到里面可能看到之前创建的hello文件。 至此,两个系统间的共享文件夹设置并启完毕,后面如果两个系统需要共享资料时,可以将其放到共享目录即可。
网络配置连接
注意:必须设置为桥接方式。
如果可以ping通百度,则网络配置成功。
shell命令简单使用shell终端打开点击mouse右键,选中”open terminal”,打开shell终端。 或者同时按下“ctrl + alt +t”快速打开
gec@ubuntu:~$
~ :家目录 /home/gec
root@ubuntu:~#
常用shell命令此处略
实践操作
# mkdir /opt/shell_test //在opt目录下新建一个名为shell_test文件 # ls /opt/shell_test //查看/opt/shell_test目录 # cd /opt/shell_test //进入/opt/shell_test目录 # mkdir hello //新建一个名为hello目录 # ls //查看当前目录内容 # rmdir hello //删除hello目录 # ls # touch hello.c //创建一个hello.c文件 # ls # rm hello.c //删除hello.c文件 # ls # mkdir hello # touch hello/hello.c //在hello目录下新建一个hello.c文件 # touch world.c //新建world.c文件 # ls # rm -rf ./* //删除当前目录下所有文件 # ls
# cd /opt/shell_test //进入/opt/shell_test目录下 # touch hello.c //新建hello.c # ls # chmod 777 hello.c //修改hello.c文件为可读写 # ls # cp hello.c hello_backup.c -rdf //将hello.c拷贝保存为一个新文件hello_backup.c # ls # mv hello_backup.c 123.c //将hello_backup.c改名为123.c # ls # mkdir test # mv 123.c test //将123.c文件移到test目录下 # mv test smartHome //将test目录改名为smartHome # ls # tar cvfj smartHome.tar.bz2 smartHome //将smartHome目录压缩为smartHome.tar.bz2文件 # ls # rm -rf smartHome # ls # tar xvfj smartHome.tar.bz2 //将smartHome.tar.bz2文件解压为smartHome目录 # ls
# cd /opt/shell_test
# rm -rf ./*
# touch hello.c
# vi hello.c
可以进入文件中,按下i,就可以编辑内容
#include <stdio.h>
#include <unistd.h>
int main()
{
while(1)
{
printf("hello world.\n");
sleep(1);
}
return 0;
}
按下Esc,退出插入模式,再输入
:wq! (保存退出)
# gcc hello.c -o hello // 将hello.c编译为hello
# ./hello // 执行可执行文件hello
应用开发测试代码开发
进入ubuntu,打开终端,执行 cd /nfs 从网页中下载demo包playDemo.tar.bz2[下载],并放置共享文件目录,返回ubuntu终端,执行: cp /mnt/hgfs/shareWin/playDemo.tar.bz2 ./ tar xvfj playDemo.tar.bz2 cd playDemo
打开源文件playCtl.c vi playCtl.c 在main函数中,添加
“char *argv[]={"maplayer","-slave","-quiet","-input","file=/opt/fifo","-playList", "MediaList",NULL};”
请将maplayer改成mplayer
在ui_choice函数中,添加: 编译执行演示
gcc playCtl.c -o playCtl 可以看到在当前目录下生成了一个名为playCtl的可执行文件
mkfifo /opt/fifo ./playCtl 可以看到开始播放视频,而在终端可以看到控制列表,输入对应的数字可以执行相应的功能 注意:上面程序执行的前提是ubuntu系统中已安装有mplayer播放器,否则会异常退出。
附录:
|