嵌入式软件编程

第一课:开发概述 基本命令
1.嵌入式Linux C开发环境
调试工具
GDB是GNU开源组织发布的一个强大的UNIX下的调试工具。
make和autoconf
make能够将大量的编译命令一次完成,用于大型软件的编译
autoconf用于编译前根据机器状态作相应的配置
开发工具包
在Linux下提供了优秀的GNU C函数库,Motif函数库,GTK函数库,QT函数库等工具包,为您的编程提供大量的支持
项目管理工具
Linux下有优秀的版本控制工具
2.Linux概念和基本命令
根目录

(1)cd / 切换到功能目录
例:[root@localhost /]# cd bin 从根目录中进入bin目录
[root@localhost bin]# cd … 从bin目录中退回上级目录
(2)ll / 列出根目录下面的所有项目,每个项目显示一行
例:[root@localhost a]# ll
total 16
-rw-r–r--. 1 root root 4 Jan 12 00:19 txt.1
-rw-r–r--. 1 root root 4 Jan 12 00:19 txt.2
-rw-r–r--. 1 root root 8 Jan 12 00:20 txt.3
-rw-r–r--. 1 root root 1983 Jan 12 00:31 txt.4
注:在一个linux 系统中,不管有多少个分区,都只有一个根目录,就是 /
各一级目录的作用如下图所示

根用户(也叫root用户,管理员)
系统中只有一个这样的用户,安装好系统就存在,主要用于用户管理,权限管理,权限无限大
(3)[root@localhost ben]$ 含义为管理员在ben目录中
(4)[当前登录的用户名@主机名 当前目录的最后一级]#表示管理员,KaTeX parse error: Expected 'EOF', got '#' at position 28: …ot@localhost a]#̲ 表示管理员 [ben@loc… KaTeX parse error: Expected 'EOF', got '#' at position 96: …ot@localhost a]#̲ su ben …
命令格式
命令 [-选项] [参数1] [参数2] …

目录和文件管理
ls作用:
英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录下的项目
常用选项:
-a 显示所有文件,包括隐藏文件,注意:隐藏文件不是不想让人看到,而是表示该文件是系统中重要的文件,不是必须,不要动它
-i 显示文件的ID,long:长格式
-l 显示详细信息,具体信息见下图
-d 查看目录属性
-h 人性化显示
例:[ben@localhost /]$ ls
bin dev home lib64 media opt root selinux sys usr
boot etc lib lost+found mnt proc sbin srv tmp var 显示目录下的项目
[ben@localhost /]$ ls -a
. .autofsck boot etc lib lost+found mnt proc sbin srv tmp var
… bin dev home lib64 media opt root selinux sys usr 前缀为…是隐藏文件
ll
是 ls -l 的别名

//权限解释
-rw-r–r--. 1 root root 30 Sep 18 14:29 abd
-rw-rw-r–. 1 ben ben 2018 Sep 18 14:18 a.txt
-rw-r–r--. 1 root root 0 Sep 18 17:57 b.txt
关于权限:分三种
读->r
写->w
执行->x
关于用户:分三种
文件所有者->u
文件所有属用户组->g
其它人->不属于上面两类的所有人
第一部分 -rw-r–r--
第1位表示文件或目录,-表示文件,l表示链接文,d表示目录
第2~4三位表示文件所有者对该文件的权限
第5~7三位表示文件所属用户组对该文件的权限
第8~10位表示系统中所有其它对该文件的权限
mkdir
英文愿意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
功能描述:创建目录
常用选项:
-p 递归创建
例:[root@localhost ~]# mkdir home
[root@localhost ~]# ll
total 68
-rw-------. 1 root root 2370 Sep 8 2018 anaconda-ks.cfg
drwxr-xr-x. 2 root root 4096 Jan 12 04:21 filetest
drwxr-xr-x. 2 root root 4096 Jan 12 04:23 home
-rw-r–r--. 1 root root 39610 Sep 8 2018 install.log
-rw-r–r--. 1 root root 9154 Sep 8 2018 install.log.syslog
rmdir
英文愿意:remove empty directory
命令所在路径:/bin/rmdir
执行权限:所有用户
功能描述:删除空目录
例:[root@localhost ~]# rmdir department 当文件department中无文件时可删除
[root@localhost ~]# rm -rf department 当文件中有文件就可用该种形式
cd
英文愿意:change directories
命令所在路径:/bin/cd
执行权限:所有用户
功能描述:切换当前目录
例如:[root@localhost filetest]# cd …
[root@localhost ~]#
pwd
英文愿意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
功能描述:打印当前目录完整路径
echo
命令所在路径:/bin/echo
执行权限:所有用户
功能描述:向标准输出视频(显示器)输出一个字符串
例如:echo “hello world”
touch
命令所在路径:/bin/touch
执行权限:所有用户
功能描述:创建一个空文件
常用选项:
例如:touch ~/a.txt
cal
英文愿意:calendar
命令所在路径:/bin/cal
执行权限:所有用户
功能描述:输出一个日历
常用选项:
-3:上一个月,当前月,下一个月
-y:当前一年
例如:cal -y
date
命令所在路径:/bin/date
执行权限:所有用户
功能描述:打印日期,或修改日期
常用选项:
-d:显示指定字符串所描述的时间,而非当前时间
-s:设置时间
例如:
date -d “2 days ago” +%Y%m%d //显示2天前的时间,20190210
date -s “2007-08-03 14:15:00”
history
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:显示输入过的历史命令
例如:
history

和>>覆盖重定向和追加重定向
执行权限:所有用户
功能描述:把输出到标准输出设备的内容,重定向到其它地方(通常是文件)
例如:
history > ~/cmd_hostory.txt //把历史命令保存到用户主目录下的cmd_hostory.txt文件中,如果不存在就创建,如果存在就覆盖
cp英文愿意:copy
命令所在路径:/bin/cp
执行权限:所有用户
功能描述:复制文件或目录
常用选项:
-p:保留原始文件的属性,包括属主、权限、时间戳等
-r:递归复制文件
-i:如果目标文件存在则询问是否覆盖
-d:如果复制对象为链接文件,则保留该链接文件的属性
例如:cp -rp /home/ben/d /tmp
mv英文愿意:move
命令所在路径:/bin/mv
执行权限:所有用户
功能描述:文件移动或重命名
常用选项:
-f:无论目标是否存在都进行移动
-i:如果目标文件存在则询问是否覆盖
注意事项:
在同一个目录下的操作,为重命名
不同目录下的操作,为移动
例如:mv /home/ben/* /tmp
rm英文愿意:remove
命令所在路径:/bin/rm
执行权限:所有用户
功能描述:删除文件或文件夹
常用选项:
-r:递归删除文件
-f:强制删除文件且不显示任何信息
-i:删除目标文件前则询问是否删除
例如:rm -rf /home/ben/*
ln英文愿意:link
命令所在路径:/bin/ln
执行权限:所有用户
功能描述:给某个文件或文件夹做链接(硬链接不允许连接到目录)
常用选项:
-s:创建某文件的软链接
格式:
ln 目标 链接文件的名称
例如:
ln a.txt link_a.txt
ln -s a.txt slink_a.txt
cat英文愿意:concatenate
命令所在路径:/bin/cat
执行权限:所有用户
功能描述:显示一个或多个文件的内容
例如:
cat file1 file2 > file3 ;把file1和file2的内容写到fil3中
cat file1 file2 >> file3 ;把file1和file2的内容追加到fil3中
more命令所在路径:/bin/more
执行权限:所有用户
功能描述:分页查看文件,特别是长文件
常用选项:
-s:把文件中的多个空行压缩成一个空格显示
+n:每个按空格显示n行,按回车总是显示下一行
例如:more -s a.txt
wc命令所在路径:/bin/wc
执行权限:所有用户
功能描述:统计文件的行数,单词数,字数
常用选项:
-l:显示行数
-w:显示单词数
-c:显示字符数
例如:
wc -l a.txt
cat a.txt |wc -l
find命令所在路径:/bin/find
执行权限:所有用户
功能描述:查找文件或文件夹
常用选项:
-name:按文件名搜索
-type:按文件类型搜索,b块设备、c字符设备、d目录、f普通文件
例如:find / -name “.txt"
|
管道操作
执行权限:所有用户
功能描述:前面命令的输出,做为后一个命令的输入
例如:
history |grep “mv”
find / -name "
.txt” | “123”
tar
命令所在路径:/bin/tar
执行权限:所有用户
功能描述:压缩或解压缩文件或文件夹
常用选项:
-c 创建 tar –cf dir1.tar dir1
-t 查看 tar tf dir1.tar
-x 释放 tar –xf dir1.tar
-f 后面跟归档文件名字
-z 压缩/解压缩
例如:
tar -zcf test.tar.gz /home/ben/test ;把/home/ben/test目录压缩为当前目录下的test.tar.gz文件
tar -zxf test.tar.gz ;把当前目录下的test.tar.gz解压到当前目录

## 嵌入式软件编程相关推荐

  1. 【草稿待续】统一的嵌入式软件编程模型——驱动

    对于嵌入式软件编程模型,思考了很久,一直得不到很好的描述.最近有了一点眉目,简记在这里便于日后整理使用. 什么叫驱动? 本文所理解的驱动是针对特定的硬件设备,完成指定的功能的软件. 驱动在形式上表现为 ...

  2. 计算机软件编程与嵌入式软件编程区别,简单看懂什么是单片机编程与嵌入式系统...

    什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆.其实,嵌入式编程指的是在我们生活中的房屋.汽车.工作场所中的计算机编程设备,嵌入式系统便是运行于其中.需要指出的是,所有单片机编程都 ...

  3. 嵌入式编程规范及注意事项

    嵌入式系统已经在各行各业中得到了广泛的应用,随着人们的生活向信息化,智能化的发展,嵌入式技术将彻底融入到我们的生活,在我们的生活当中扮演越来越重要的角色.对于嵌入式系统来讲,嵌入式软件相当于嵌入式系统 ...

  4. 硬件工程师充电心得--嵌入式软件工程师学习路线

    硬件工程师日常主要工作通常为电路原理图.PCB设计,很少涉及软件编程,哪怕是一些硬件接口驱动很多硬件工程师都不曾涉足.面对日益激烈的竞争压力,多学一些嵌入式软件方面的技能也能为日后自己的职业生涯发展打 ...

  5. python好学不-Python爬虫好学吗?

    近日,创客学院联合创始人小美老师受邀做客凤凰教育[华人教育家-大咖论教]在线节目,与11万网友一起深度畅聊人工智能与物联网.专访中,小美老师与大家详谈了物联网和嵌入式技术未来的发展趋势.物联网相关人才 ...

  6. 嵌入式小白到大神学习全攻略(学习路线+课程+学习书籍+练习项目)

    文章较长,希望耐心阅读,读完相信会对你的学习一定有帮助~ 嵌入式工程师需要掌握的内容非常广泛,嵌入式可以说是当下最有前途的IT应用领域,小到电子词典.手机,大到航空航天设备都是典型的嵌入式系统,因此, ...

  7. 10年老兵!从大学毕业生到嵌入式系统工程师的修炼之道……

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 一名从事10多年嵌入式行业的老兵,用多年来从事这个行业的经验及独特视角,为想从事嵌入 ...

  8. linux 嵌入式串口通信设计目的,基于linux的嵌入式串口通信.doc

    PAGE 天津电子信息职业技术学院 <嵌入式软件编程>课程报告 课程名称:基于linux的嵌入式串口通信 课程代码: 115229 姓 名: 甘琦 学 号: 48 专 业: 物联网应用技术 ...

  9. linux 嵌入式串口通信,基于linux的嵌入式串口通信综述.doc

    PAGE 天津电子信息职业技术学院 <嵌入式软件编程>课程报告 课程名称:基于linux的嵌入式串口通信课程代码: 115229 姓 名: 甘琦 学 号: 48 专 业: 物联网应用技术 ...

最新文章

  1. 扩增子分析解读4去嵌合体,非细菌序列,生成代表性序列和OTU表
  2. nginx转发端口路由器再转发
  3. 编译可在Android上运行的qemu user mode
  4. pac代理模式什么意思_满镒财务:代理记账所说的“核税”是什么意思?
  5. 密码认证协议PAT怎么配置?
  6. 如何仅通过CSS实现多行文本超长自动省略号
  7. 【算法设计与分析】14 分治算法的一般描述和分析方法
  8. LeetCode 1094. 拼车
  9. bae java乱码_BAE安装HotNews Pro乱码解决方案
  10. hdu 2586 (LCA)
  11. java数组初始化的三种方式
  12. c++ string 长度限制_面试中要会的String相关问题
  13. 旅游后台管理系列——SSM框架Web表现层
  14. Linux源码安装包快速升级方法
  15. 案例研究:FIT2CLOUD 飞致云携手联友科技助力东风日产云管平台建设
  16. Java工程师工作描述写作要点该怎么写?
  17. 电脑开启麦克风有回音,录音声音太小怎么办?
  18. 国家网络安全周|2022网络安全知识答题
  19. Mac常见问题:如何在Mac中查看多张图片
  20. AndroidSDK开发6我用kotlin协程写了一个简单sdk

热门文章

  1. memcache学习
  2. 高等代数----最小多项式的矩阵表示
  3. 计算机网络第四版课后题答案黄彦,教学大纲-计算机电路基础(9页)-原创力文档...
  4. python用循环打出阶梯图形,matplotlib阶梯图的实现(step())
  5. [行人重识别论文阅读]无监督学习发展与小结
  6. python - 模块解析
  7. 取消域服务器是定期修改密码,更改域服务器用户密码
  8. 2023十大科技趋势
  9. 2023年五一数学建模竞赛ABC题思路资料汇总贴
  10. zoj 2334 Monkey King