苏嵌嵌入式第二天Linux实训

2020–7–3上午开始了第二天的实训内容,今天开始了真正的学习,老师讲解了Linux开发相关的基础知识,其中介绍了许多和C语言有关知识,这让我认识到了之前学的C语言的重要性,并且打算趁着周末好好复习巩固一下C语言。以下为老师布置的随堂作业,站内资料来源链接统一放在文章最后。
1.嵌入式底层开发为什么选择c语言?
C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言可以作为应用程序设计语言,编写过程中不会依赖计算机硬件的应用程序,应用范围特别广,不仅体现在软件开发上,而且各类科研项目都会用到C语言。在C语言中,我们可以通过指针控制内存以及寄存器。C语言具有很高的运行效率,C语言可以直接编译生成硬件识别的机器码文件,而其他的高级语言需要相应的语言解释器做解释后,再编译。

2.什么是软实时?什么是硬实时?
硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,仅仅是轻微的降低了系统的吞吐量。
二者之间最关键的差别在于,软实时只能提供统计意义上的实时。

3.Linux和Unix的关系
Linux是Linus Torvalds对教学用的Unix,也就是Minix的改进而来的,也就是说Linux来源于Unix。
二者也有两个大的区别:
UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;
UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。

4.Linux主流发行版及其特点

  1. Debian
    Debian运行起来极其稳定,这使得它非常适合用于服务器。Debian平时维护三套正式的软件库和一套非免费软件库,这给另外几款发行版(比如Ubuntu和Kali等)带来了灵感。Debian这款操作系统派生出了多个Linux发行版。它有37500多个软件包,这方面唯一胜过Debian的其他发行版只有Gentoo。Debian使用apt或aptitude来安装和更新软件。
    Debian这款操作系统无疑并不适合新手用户,而是适合系统管理员和高级用户。Debian支持如今的大多数架构(处理器)。
  2. Gentoo
    与Debian一样,Gentoo这款操作系统也包含数量众多的软件包。Gentoo并非以预编译的形式出现,而是每次需要针对每个系统进行编译。连Gentoo社区都觉得Gentoo安装和使用起来很困难;不过它被认为是最佳学习对象,可以进而了解Linux操作系统的内部运作原理。提到Gentoo总有人这么说:"如果你要学用Linux发行版,那就学用该发行版吧;如果你学会了Gentoo,也就学会了Linux。"Gentoo使用portage来安装和更新软件。
    Gentoo这款操作系统适合对Linux已经完全驾轻就熟的那些用户。
  3. Ubuntu
    Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。作为Debian Gnu Linux的一款衍生版,Ubuntu的进程、外观和感觉大多数仍然与Debian一样。它使用apt软件管理工具来安装和更新软件。它也是如今市面上用起来最容易的发行版之一。Ubuntu使用基于apt的程序包管理器。
    Ubuntu是新手用户肯定爱不释手的一款操作系统。
  4. Damn Vulnerable Linux
    当然,大多数人可能对这款发行版前所未闻,不过该发行版在本文中还是占有一席之地。那么,它有何过人之处呢? Damn Vulnerable Linux恰如其名:其字面意思就是"该死的易受攻击的Linux"。Vulnerable Linux(DVL)根本不是一般意义上的优秀的Linux发行版。它有意捆绑了坏的、配置不当的、过时的、很容易被不法分子攻击的软件。
    它的目的在于借机训练Linux管理员。还有什么比给Linux管理员一款坏的发行版去排解问题来得更管用的吗?面对Apache、MySQL、PHP、FTP和SSH等比较旧或破的版本,接受训练的管理员够有得忙了。
    Damn Vulnerable Linux堪称旨在训练管理员的实验室。
  5. 红帽企业级Linux
    这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进行培训和认证。就全球市场而言,总利润中80%来自支持,另外20%来自培训和认证,不过在印度不是这样。
    在印度,红帽的利润中80%来自认证和培训,只有20%来自支持。而Fedora是个平台,而不是开发新产品或新应用程序的测试环境;一旦成为稳定版,就与红帽企业级Linux捆绑在一起,包括支持。红帽提供了非常多的稳定版应用程序,但是众所周知的缺点是,把太多旧程序包打包起来,支持成本确实相当高。不过,如果安全是关注的首要问题,那么红帽企业级Linux的确是款完美的发行版,它使用YUM程序包管理器。
    红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持。
    由于该发行版是商业化产品,所以不是免费的。不过,你可以下载用于教学用途的测试版。
  6. CentOS
    CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。
    非常稳定的程序包;谁要是想在桌面端测试一下服务器的运作原理,都应该试试这款操作系统。
  7. Fedora
    小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。Fedora同样使用YUM来管理软件包。
  8. Kali Linux
    Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。它大概在三个月前才发行。Kali的前身是Backtrack。用于Debian的所有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计成立马可以使用。Kali使用APT来管理软件包。
    毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系统。
  9. Arch Linux
    Arch是一款采用滚动发行方式的操作系统:只要安装一次就够了;每当发行了某个新版本,就可以升级发行版,不需要重新安装。Pacman是Arch Linux的软件包管理器。Arch Linux既支持X86处理器架构,又支持X86_64架构,安装程序可以从光盘或U盘来运行。Arch旨在从开发者的角度而不是从用户的角度做到力求简单。Arch配置和安装起来超容易。它真是一款面向高手的发行版,让你可以了解Linux系统的每一个细枝末节。
  10. OpenSuse
    OpenSuse这款Linux发行版是免费的,并不供商业用途使用,仍然供个人使用。OpenSuse的真正竞争对手是红帽企业级Linux。它使用Yast来管理软件包。有了Yast,使用和管理服务器应用程序就非常容易。此外,Yast安装向导程序可以配置电子邮件服务器、LDAP服务器、文件服务器或Web服务器,没有任何不必要的麻烦。它随带snapper快照管理工具,因而可以恢复或使用旧版的文件、更新和配置。由于让滚动发行版本成为可能的Tumbleweed,可将已安装的操作系统更新到最新版本,不需要任何的新发行版。
    SUSE在管理员当中的名气更大,因为它有Yast以及让系统管理员能够自动管理任务的其他此类应用程序,同样水准的其他发行版没有这项功能。

5.有哪些虚拟机软件?它们分别有什么特点?
Virtual PC
如果想做Windows虚拟机的话,Virtual PC是最佳选择了。几乎所有找得到的Windows操作系统,都可以在该虚拟机中安装。Virtual PC作为MS自已的产品,在自己的平台下使用非常方便,占用内存小,启动也快。联网方面,即不用桥接也不用NAT共享虚拟网卡,直接可以作为同一子网的一台普通电脑使用,不用进行任何网络设置即可上网。

VMware
这款虚拟机软件兼容性不错,VMware Tools也很强大,快照功能很快捷,方便,允许你在任意开机时刻创建系统快照和恢复,主要用于调试极易产生蓝屏的软件和工具,十分实用。有点不好的地方在于它安装时会虚拟两块网卡,还可以在设置中虚拟更多的虚拟网卡,一般来说使用桥接Bridge的方法就可以让虚拟机上网,基本没有用过NAT方式。VMware和VirtualBox一样都是会修改电脑本身的网卡设置的。

VirtualBox
VirtualBox最早是德国一家软件公司InnoTek所开发的虚拟系统软件,后来被Sun收购,改名为Sun VirtualBox,性能有很大的提高zhi.因为他是开源的,不同于VM,而且功能强大,可以在 Linux/Mac 和 Windows 主机中运行,并 支持在其中安装 Windows (NT 4.0、2000、XP、Server 2003、Vista)、DOS/Windows 3.x、Linux (2.4 和 2.6)、OpenBSD 等系列的客户操作系统。

6.如何解决使用userdel删除用户的问题
1.vi /etc/passwd
添加
pipetest: x:506:506::/home/pipetest:/bin/bash(x前空格省去)
(不一定是506,而是在最好一个行数目上加1)
2.vi /etc/shadow
添加
pipetest:!!:15056:0:99999:7:::
(不一定所15056,而是在最后一行数目上加3)
3.mkdir /home/pipetest/
cp /etc/skel/.bash* /home/pipetest/
4.userdel pipetest
5.使用vipw删除创建的用户
使用vipw -s 删除创建的用户组

7.罗列根目录中所有子目录的功能及其存放的文件类型
/bin 二进制可执行命令。
/dev 设备特殊文件
/etc 系统管理和配置文件
/home 用户目录的基点
/lib 标准程序设计库,又叫动态链接共享库
/sbin 系统管理命令,这里存放系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录就是让用户临时挂载其他的文件系统
/var 某些大文件的益出区
/usr 最庞大的目录,要用到的程序和文件几乎在这个目录
原文链接:https://blog.csdn.net/z1127805482/article/details/64922640
/bin:存放普通用户可执行的命令,系统中任何用户都可执行。
/boot:存放Linux内核文件以及开机菜单与开机所配置文件。
/dev:存放设备文件的存储目录,如硬盘、光驱等。
/etc:存放系统的配置文件,如用户账号密码、各种服务的起始文件等。只有root有权利修改。
/home:普通用户的主目录,每个用户在该目录下都有一个与用户同名的目录。
/lib:存放开机时用到的函数库,以及在/bin或/sbin下的命令会调用的函数库。
/media:存放可删除的设备,如软盘、光盘、DVD等设备都暂时挂载于此。
/mnt:暂时挂载某些额外的设备。
/opt:存放第三方软件。
/root:超级用户root的主目录。
/sbin:存放开机、修复、还原系统所需要的命令。
/srv:是一些网络服务启动之后,这些服务所需要取用的数据目录,如WWW服务。
/tmp:这是让一般用户或者正在执行的程序暂时放置文件的地方,任何人都能访问,需要定时清理。

还有几个在Linux当中非常重要的目录:
/proc:该目录是一个虚拟文件系统,只有在系统运行时才存在,该目录下的数据存放在内存中,不占硬盘空间,例如系统内核、进程、外部设备的状态及网络状态等。通过访问该目录下的文件,可以获取系统的状态信息并且修改某些系统的配置信息。
/sys:与/proc类似,也是一个虚拟文件系统,主要也是记录与内核相关的信息,包括目前已加载的内核模块与内核检测到的硬件设备信息等。这个目录同样不占硬盘空间。
/lost+found:当文件系统发生错误时,存放一些丢失的片段。

注意:因为根目录与开机有关,开机过程仅有根目录会被挂载,所以根目录下与开机过程有关的目录不能与根目录放到不同的分区去。有以下五个:
/etc:配置文件
/bin:重要执行文件
/dev:所需要的设备文件
/lib:执行文件所需要的函数库与内核所需的模块
/sbin:重要的系统执行文件

资料来源:
https://blog.csdn.net/ACFUNniconiconi/article/details/107109583
https://blog.csdn.net/hxllhhy/article/details/72905026
https://blog.csdn.net/weixin_42139375/article/details/82146049

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值