智能小车单片机课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目: 智能小车设计
打开命令行终端的快捷方式:
ctr+al+t:默认的路径在家目录
ctr+shift+n:默认的路径为上一次终端所处在的路径.
linux@ubuntu:~$
linux:当前登录用户名.
ubuntu:主机名
:和$之间:当前用户所处在的工作路径.
windows下的工作路径如C:\Intel\Logs
linux下的工作路径是:/.../..../
~:代表的是/home/linux这个路径.(家目录).
ls(list):列出当前路径下的文件名和目录名.
ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径
..:上一级路径
ls -l:以横排的方式列出文件的详细信息
total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型.
linux系统下的文件类型有以下几种.
b:块设备文件
c:字符设备文件
d:directory,目录
-:普通文件.
l:连接文件.
s:套接字文件.
p:管道文件.
rwxr-xr-x:权限
r:读权限-:没有相对应的权限
w:写权限
x:可执行权限
修改权限:
chmod u-或者+r/w/x 文件名
chmod g-或者+r/w/x 文件名
chmod o-或者+r/w/x 文件名
第一组:用户权限
第二组:用户组的权限
第三组:其他用户的权限.
chmod 三个数(权限) 文件名
首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数
rwxr-x-wx
111101011
7 5 3
chmod 753 文件名
rwx--xr-x
第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者).
第四个位置:用户组的名字(前边的用户所处在的用户组的名字).
第五个位置:对应文件所占的空间大小(单位为b)
第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间)
最后一个位置:文件名
操作文件:
1.创建一个普通文件:touch 文件名
2.删除一个文件:rm(remove) 文件名
3.新建一个目录:mkdir(make directory) 目录名
递归创建目录:mkdir -p 目录1/目录2/目录3
4.删除一个目录:rmdir 目录名.//仅删除一个空目录
rm -rf 目录名//删除一个非空目录
5.切换目录(change directory):cd 路径
linux下的路径分两种
相对路径:以.(当前路径)为起点.
绝对路径:以/(根目录)为起点,
用相对路径的方式进入Music:cd ./Music
用绝对路径的方式进入Desktop:cd /home/linux/Desktop
返回上一级:cd ..
返回加家目录的三种方式
(1).cd
(2).cd ~
(3).cd /home/linux
进入到1目录里并创建一个2普通文件,再退回上一级,并且删除1目录6.拷贝文件.
cp(copy) 路径1/源文件路径2:把路径1下的文件拷贝到路径2下
cp 路径1/源文件路径2/目标文件:把路径1下的文件拷贝到路径2下并且重命名位目标文件.
cp(copy) -r 路径1/目录名路径2:把路径1下的目录拷贝到路径2下7.剪切文件
mv(move) 路径1/源文件路径2:把路径1下的文件剪切到路径2下mv 路径1/源文件路径2/目标文件:把路径1下的文件剪切到路径2下并且重命名位目标文件
mv 源文件目标文件:重命名文件
mv 路径1/目录名路径2:把路径1下的目录剪切到路径2下
8.clear:清屏
9.exit 退出终端
vi编辑器.
vi 文件名:如果文件不存在则创建并打开
如果文件已存在,则直接打开
VI编辑器的三种模式
1.命令行模式:刚进入编辑器的时候,默认处在这种模式下
2.编辑模式(插入模式):输入a/i/o即可进入,按下esc键退回命令行模式,再输入冒号
,即可进入底行模式.
3.底行模式下:w(保存),q(退出),wq(保存并退出),q!(强制退出不保存)
按下退格键,删除冒号,即可进入命令行模式.
终极保存法;w! sudo tee %d回车再回车即可
命令行模式下的快捷操作:
1.整行复制:光标移动想要复制的那一行,输入yy即可,再把光标移动到你想要粘贴位置的上一行,输入p即可
2.多行复制:光标移动想要复制的那几行的第一行,输入数字yy即可,再把光标移动到想要粘贴的那几行的第一行,输入p即可,
3.整行删除:光标移动想要删除的那一行,输入dd即可,
4.多行删除:光标移动想要删除的那几行的第一行,输入数字dd即可,
5.整行剪切:光标移动想要剪切的那一行,输入cc即可,这个时候进入到了编辑模式,按下esc键退回到命令行模式,再把光标移动到想要粘贴位置的上一行,输入p即可,
6.多行剪切:光标移动想要剪切的那几行的第一行,输入数字cc即可,这个时候进入到了编辑模式,按下esc键退回到命令行模式,再把光标移动到想要粘贴位置的上一行,输入p即可.
7.撤销上一步:u
底行模式下的快捷操作
1,对第a行到第b行进行复制:航标a,行标by,enter回车,再把光标移动到你想要粘贴位置的上一行,输入p即可
2,对第a行到第b行进行删除:航标a,行标bd,enter回车
3.对第a行到第b行进行剪切:航标a,行标bd,enter回车,再把光标移动到你想要粘贴位置的上一行,输入p即可
编辑一个最简单的hello world程序,保存并退出
gcc编译器.
gcc 文件名:编译成功的话,会在当前目录生成一个a.out可执行程序
执行程序: ./a.out
当然也可以指定可执行程序的名字,命令如下:
gcc 文件名-o 可执行程序名
编译步骤:
1.预处理:gcc -i test.c -o test.i(宏定义的替换,头文件包含)
2.汇编:gcc -s test.i -o test.s(c代码转换成汇编代码)
3.编译:gcc -c test.s -o test.o(把汇编转换成二进制的目标程序)
5.连接:gcc test.o -o test(连接库函数)
linux系统的库文件:
静态库:.a结尾
动态库:.so结尾
自己制作一个动态库.
首先写一个简单的c功能函数
编译成动态库:gcc -fPIC -shared 文件名-o lib库文件名.so
在linux系统下.程序运行时默认搜素库的路径是/lib
把库拷贝到/lib下:cp lib库文件名.so /lib 错误提示":permission denied(权限不足)