苏嵌实训-嵌入式Linux C 第 1天

苏嵌实训-嵌入式linux C 第 1 天

项目名称

【苏嵌实训-嵌入式 linux C 第 1 天】

今日进度以及任务

今日课程上午主要讲了嵌入式的一些基本概念和发展前景,稍微提了下Linux安装

下午主要讲了一下Linux基本命令

本日任务完成情况

(详细说明本日任务是否按计划完成,开发的代码量)

               

1. 在 Linux 虚拟机上使用 Linux 命令
2. 用 gedit 或者vim 编写 C 源代码,用 gcc 编译产生可执行文件
3. 自学 20 个 Linux 命令和完成两个C语言编程题 
4. 完成老师留的作业
所有任务都已完成

本日开发中出现的问题汇总

1. 如何解决无法删除使用userdel删除用户的问题
2. Centos7的vim配置优化

本日未解决问题

1.还未将vim的缩进设置调整好

2.没有将vim彻底掌握,还有模糊的地方

 

本日开发收获

1.学习了大部分Linux的基础命令管理用户,文件、目录操作相关的命令

2.学会了利用vim编辑器写C语言程序并运行

3. 学会了使用 gedit 和 vim 编写代码 

其他

今后也要认真学习

 

作业

1.嵌入式底层开发为什么选择c语言?

汇编明显是性能(运行效率)方面最高的,但汇编语言开发效率方面明显是最低的。所以除非是要求极端高性能的嵌入式平台,使用汇编语言的不多。我们一般进行初始化时会使用汇编语言。而其它高级语言的运行效率一般比较低,源代码和目标代码也可能会比较长。这样占用的内存也会比较大。嵌入式开发的编程是要在开发板上跑的,占用内存的增多必然会影响性能。这样一来,C语言的优势就会凸现出来啦。

 

2.什么是实时性?软实时和硬实时?

实时性是指系统能及时响应外部事件的请求,在规定时间内完成对该事件的处理。

硬实时是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。

软实时是指也联系一个截止时间,但并不严格若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。

 

3.Linux和unix之间的联系或者关系?

UNIX:1968年,MIT、Bell实验室、美国通用电气有限公司一起致力于开发 Multics 项目。1970年,当时在开发Multics项目的时候,实验室中有一个开发成员提议组织人员重新在Multics项目之上重新的开发,也就出现了1970年的Unix。当时Unix操作系统是使用的汇编语言(机器语言)开发的。1973年, 用C语言重写Unix,因为汇编语言有一个最大的局限性:对于计算机硬件过于依赖。导致移植性不好。1975年 Bell实验室允许大学使用Unix,但Bell实验室允许大学使用Unix操作系统用于教学作用,而不允许用于商业用途。

Linux:1991年,李纳斯当时学校使用的是Unix操作系统,然后其对系统的底层代码进行了修改,放到了学校为学生开放的网站上,原先他把文件命名写成了Linus’s Unix,后改成Linux。随后其他同学下载之后发现这个版本还是挺好用的,随后都把自己代码贡献给李纳斯。

两者之间的关系:Linux源自于UNIX,Linux是开源的操作系统,有开放性、多用户、多任务、良好的用户界面、优异的性能与稳定性的优点,但UNIX不是开源操作系统。

 

4.Linux主流的发行版有哪些?有什么特点?

(1) Debian:Debian运行起来极其稳定,这使得它非常适合用于服务器。Debian平时维护三套正式的软件库和一套非免费软件库。

(2) Gentoo:与Debian一样,Gentoo这款操作系统也包含数量众多的软件包。Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译。

(3) 红帽企业级Linux:红帽企业级Linux是系统管理员的第一选择,使用YUM程序包管理器。是商业化产品,所以不是免费的。

(4) CentOS:CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。

(5) Fedora:Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

(6) Kali Linux:Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。

(7) Arch Linux:Arch Linux的软件包管理器是Pacman。Arch Linux既支持X86处理器架构,又支持X86_64架构。Arch旨在从开发者的角度而不是从用户的角度做到力求简单。

(8) OpenSuse:OpenSuse这款Linux发行版是免费的,并不供商业用途使用,仍然供个人使用。随着snapper快照管理工具,因而可以恢复或使用旧版的文件、更新和配置。

 

5.有哪些虚拟机软件?特点?

(1)Vmware Workstation,VMware公司的虚拟机软件,VMware公司是全球桌面到数据中心虚拟化解决方案的领导厂商,Vmware Workstation是最好用的虚拟机软件之一。

(2)Virtual Box,Virtual Box是Oracle公司旗下的免费开源虚拟机软件。

(3)Windows Virtual PC,微软公司旗下产品,Windows Virtual PC 是最新的 Microsoft 虚拟化技术。您可以使用此技术在一台计算机上同时运行多个操作系统。

(4)VMware Player,VMware推出的免费小巧的虚拟机软件,精简版VMware Workstation。

 

6.如何解决无法删除使用userdel删除用户的问题(2种方法)

(1)使用vipw命令:

vipw 找到之前创建的用户,删除用户信息。

vipw -s 找到那个用户所属组,删除用户组信息。

(2)用 ps 查看该用户所有进程的pid,再将进程都 kill

 

7.罗列根目录中所有子目录以及其存放的文件类型

(1)bin:该目录中存储的都是一些二进制文件,文件都是可以被运行的。

(2)dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载。

(3)etc:该目录主要存储一些配置文件。

(4)home:表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。

(5)proc:process,表示进程,该目录中存储的是Linux运行时候的进程。

(6)root:该目录是root用户自己的家目录。

(7)sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。

(8)tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。

(9)usr:存放的是用户自己安装的软件。类似于windows下的program files。

(10)var:存放的程序/系统的日志文件的目录。

(11)mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。

 

8.自学 20 个Linux命令:

(1)df:查看磁盘的空间

df -h //-h表示以可读性较高的形式展示大小

(2)free:查看内存使用情况

free -m //-m表示以mb为单位查看

(3)head:查看一个文件的前n行,如果不指定n,则默认显示前10行。

head -n filepath

(4)tail指令:查看一个文件的未n行,如果n不指定默认显示后10行

tail -n filepath

(5)less:查看文件,以较少的内容进行输出,按下辅助功能键(数字+回车、空格键+上下方向键)查看更多

less filepath

(6)wc:统计文件内容信息(包含行数、单词数、字节数)

wc -lwc filepath

-l:表示lines,行数

-w:表示words,单词数 依照空格来判断单词数量

-c:表示bytes,字节数

(7)date:表示操作时间日期(读取、设置)

date 输出的形式:2018年 3月 24日 星期六 15:54:28

date +%F (等价于#date “+%Y-%m-%d” ) 输出形式:2018-03-24

date “+%F %T” 引号表示让“年月日与时分秒”成为一个不可分割的整体

date -d “-1 day” “+%Y-%m-%d %H:%M:%S”

(8)hostname:操作服务器的主机名(读取、设置)

hostname 含义:表示输出完整的主机名

hostname -f  含义:表示输出当前主机名中的FQDN(全限定域名)

(9)id:查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…),该指令如果不指定用户则默认当前用户。

id 默认显示当前执行该命令的用户的基本信息

id 用户名  显示指定用户的基本信息

(10)whoami:“我是谁?”显示当前登录的用户名,一般用于shell脚本,用于获取当前操作的用户名方便记录日志。

(11)ps :主要是查看服务器的进程信息

ps -ef

-e:等价于“-A”,表示列出全部的进程

-f:显示全部的列(显示全字段)

(12)top:查看服务器的进程占的资源

(13)du:查看目录的真实大小

du -sh 目录路径

-s:summaries,只显示汇总的大小

-h:表示以高可读性的形式进行显示

(14)find:用于查找文件

find 路径范围 选项 选项的值

选项:

-name:按照文档名称进行搜索(支持模糊搜索)

-type:按照文档的类型进行搜索

find / -name httpd.conf

(15)service:用于控制一些软件的服务启动/停止/重启

service 服务名 start/stop/restart

service httpd start

(16)kill:表示杀死进程

kill 进程PID

(17)ifconfig:用于操作网卡相关的指令。

(18)reboot:重新启动计算机

shutdown:关机

shutdown -h now 或 shutdown -h 15:25

(19)uptime:输出计算机的持续在线时间(计算机从开机到现在运行的时间)

(20)uname:获取计算机操作系统相关信息

uname -a 获取全部的系统信息(类型、全部主机名、内核版本、发布时间、开源计划)

(21)netstat -tnlp:查看网络连接状态

netstat -tnlp

-t:表示只列出tcp协议的连接;

-n:表示将地址从字母组合转化成ip地址,将协议转化成端口号来显示;

-l:表示过滤出“state(状态)”列中其值为LISTEN(监听)的连接;

-p:表示显示发起连接的进程pid和进程名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值