【Linux】初识Linux和Linux环境配置

1.什么是Linux操作系统 

说到电脑系统

我想有大多数人会脱口而出:windows、mac

是的,这也是如今市场上主流的两种操作系统。

但是对于IT相关的人士来说,还有一种系统也是必须有姓名

那就是Linux

Linux,Linux Is Not UniX 的递归缩写,一般指GNU/Linux,是一套免费使用和自由传播的类Unix操作系统,是一个遵循POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器方面保持着强劲的发展势头以外,在个人电脑、嵌入式系统上都有着长足的进步。使用者不仅可以直观地获取该操作系统的实现机制,而且可以根据自身的需要来修改完善Linux,使其最大化地适应用户的需要。 

Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙,这是Linux的一大亮点。 

Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。这些特点使得Linux成为开发路由交换设备的理想开发平台。 

Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

说的简单点,它就是一个操作系统

2.主要特性

2.1基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个文件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令硬件软件设备、操作系统进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

2.2.完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

2.3.兼容POSIX

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

2.4.多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

2.5.良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

2.6.支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

2.Linux发展史

2.1.UNIX操作系统发展历史

你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。要 说Linux,还得从UNIX说起。

  • 1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。
  • 1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。
  • UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
  • 第一个UNIX版本是免费给许多知名大学的计算机系使用的。
  • 1972年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。
  • 伯克莱给系统增加了许多新的特点,后来成为了标准。
  • 1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。
  • 1980年微软公司开发了叫做Xenix的UNIX PC版本。
  • AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成
  • 为对商用软件产品良好支持的System Ⅴ所替代。
  • 同时UNIX的BSD版本不断发展,在70年代末期,BSD UNIX成为了国防部的高科技研究机构科研项目的基础。
  • 其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。
  • 它包括了高级的文件管理器和基于TCP/IP网络协议的网络特点。现在TCP/IP被Internet所使用。BSD Release 4.2被许多厂商所采用,例如SUN Microsystem。
  • UNIX不同版本的出现导致了UNIX标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。
  • 到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。
  • AT&T建立了一个叫UNIX系统实验室的新组织,它的作用就是综合UNIX的不同版本,集中开发一个标准系统。
  • 1991年,UNIX综合实验室综合了System V Release3,SUN OS和Xenix的所有特点,发行了System V Release 4。
  • 为了与System V Release 4 竞争,一些其它公司,如IBM和惠普Open Software Foundation(OSF)去产生自己的UNIX标准版本,继而出现了两个标准商业版本OSF版本和System Release 4。
  • 1993年,AT&T把它的UNIX转卖给Novell公司。UNIX系统实验室成为了Novell的UNIX系统小组的一部分。
  • Novell发行了基于System V Release 4的自己的UNIX版本UNIXWare,它可以和Novell公司的Netware系统相联。
  • SUN公司已经把System V Release 4 融进了它的SUN OS,发行了Solaris。
  • 两个相互竞争的UNIX使用的图形用户界面(一个叫Motif,另一个叫Openlook),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE)

3.Linux发展史

  • Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。
  • 严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
  • Linux操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:Unix操作系统MINIX操作系统、GNU计划、POSIX标准和Internet网络。
  • 20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PCDOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。
  • 此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的美国人AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。
  • MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个。在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的x86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0。至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。 
  • 2021年6月,根据Linux 5.14刚刚进入合并队列的char-misc-next提交,Linux 5.14正式移除了RAW驱动。 
  • 2022年6月,基于 Ubuntu 22.04 的 Linux Lite 6.0 正式版发布,提供最新的浏览器,最新的办公套件,最新的定制软件,代号“Fluorite”。
  • 2022年11月6日消息,微软将为 Linux 带来嵌套式虚拟化支持,可运行多个 Windows。 
  • 2022年11 月,微软在 GitHub 上线了 WSL 1.0.0 版本,宣布 Windows 11/10 的 Linux 子系统删除 Preview 标签,迎来正式版。
  • 2022年11月,在本周的 platform-drivers-x86 提交合并中,Linux 6.1 新增支持了微软 Surface Pro 9 和 Surface Laptop 5 两款设备。
  • 2022年12月12日,Linus Torvalds 抢在圣诞假期之前发布了最新的 Linux 6.1 内核稳定版,从此开启了 Linux 6.2 合并窗口。截止到2023年初大家可以在内核官网找到相应的文件。
  • 2022年12月14日,Linux 6.2 合并窗口扩展了对 Arm SoC 的支持并更新了 DeviceTree。本次更新在内核中新增了对 7 款高通骁龙处理器的支持,还在 Mainline 中初步支持苹果的 M1 Pro / M1 Ultra / M1 Max 型号处理器
  • 2022年12月15日,Linux 6.2 合并窗口期内已经确认将会合并大量网络子系统更新。和以往版本相同,Linux 6.2 内核更新周期在网络功能上有大量的改进,更多的细节可以访问这条 pull。 
  • 2022年12月 28 日消息,在 Linux 6.2 合并窗口期,英特尔工程师提交的线性地址掩码(Linear Address Masking,简称 LAM)提案遭到了 Linus Torvalds 的拒绝。英特尔工程师2023年初再次提交第 13 个版本,希望在 Linux 6.3 或者更高版本中合并该功能。 
  • 2023年1月9日消息,Linus Torvalds 推出了 Linux Kernel 6.2 的第 3 个候选版本更新。 [19]
  • 2023年3月27日消息,Linus Torvalds 发布了 Linux Kernel 6.3 的第 4 个维护版本更新,这意味着 6.3 的开发周期已经走过了一半路程。
  • 2023年5月3日,IT之家消息:Uri Herrera于4月底发布了 Nitrux 2.8 系统,这是基于 Debian 和 systemd-free 的 GNU / Linux 发行版,重点是 KDE 软件和 Plasma 桌面。
  • 2023年5月29日,MX Linux 开发人员宣布,MX Linux 23“Libretto”版本 Beta 版公开测试已全面推出。
  • 2023年6月26日,Linux 6.4 内核已正式发布,这次更新带来了许多改进,比如对苹果 M2 芯片的初步支持、存储性能的提升、传感器监控的改善,以及更多的 Rust 代码。
  • 2024年2月3日消息,开源社区“Linux 中国”官方公众号发文宣布,该社区主网、公众号、视频号及下属的《硬核观察》栏目将无限期停止更新、运营。
  • 2024年5月,Linux 6.9 内核的首个正式版发布,6.10 版本合并窗口开启。
  • 在移动设备领域,Android操作系统的成功也是建立在Linux内核之上的。Android成为了手机和平板电脑市场的主要操作系统之一。
  • 此外,Linux还应用于嵌入式系统、超级计算机、云计算等领域,展示了其广泛的适用性和灵活性。
  • 目前,Linux已经成为全球最流行的操作系统之一。它的发展史也展示了开源软件的力量,以及众多开发者和社群的协作精神。

4.Linux开源

Linux是一个开源的操作系统,这意味着其源代码是公开的,任何人都可以查看、修改和分发。Linux内核本身就是开源的,这使得全世界的开发者都可以贡献代码,改进操作系统的功能和性能。

开源的优势:

  1. Linux的开源性带来了很多好处。首先,任何人都可以查看和审阅Linux的源代码,这确保了系统的透明性和安全性。开源软件允许独立的安全专家和审计者检查代码中的漏洞和安全问题,帮助及时修复和解决。
  2. 其次,Linux的开源性鼓励了创新和技术发展。任何人都可以自由地为Linux贡献代码和开发新功能,这促进了不断的改进和进步。开源性还鼓励了合作和共享,使得全球的开发者能够共同努力,推动Linux的发展。
  3. 此外,开源软件也有助于降低成本和提高效率。因为Linux是免费的,企业和个人可以节省购买商业操作系统的费用。开源软件也可以根据特定需求进行定制,提供更灵活、可扩展的解决方案。
  4. 最后,开源社区也是Linux开源性的一个重要组成部分。Linux社区是一个开放、合作和积极的社群,通过邮件列表、论坛、会议等渠道,开发者可以互相交流、分享经验和解决问题。
  5. Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词

5.Linux官网——The Linux Kernel Archives

在这个网站上,你可以找到关于Linux内核的各种信息,包括最新版本的发布、下载源代码、补丁、文档、邮件列表、社区支持等。 

Linux官网是指Linux操作系统及相关项目的官方网站。由于Linux是一个开源项目,因此有很多不同的Linux发行版和相关的项目,每个项目都有自己的官方网站。

以下是一些知名的Linux发行版和项目的官方网站:

  1. Ubuntu: https://ubuntu.com/
  2. Fedora: https://getfedora.org/
  3. Debian: https://www.debian.org/
  4. CentOS: https://www.centos.org/
  5. Arch Linux: https://www.archlinux.org/
  6. Linux Mint: https://www.linuxmint.com/
  7. openSUSE: https://www.opensuse.org/
  8. Gentoo Linux: https://www.gentoo.org/
  9. KDE: https://kde.org/
  10. GNOME: https://www.gnome.org/

这些官方网站提供了关于各个发行版和项目的详细信息,包括下载、安装指南、文档、社区支持、最新版本发布等。通过官方网站,你可以了解每个Linux发行版的特点、功能和用途,并下载和安装适合自己的版本。

此外,还有一些其他的Linux相关网站,如Linux Foundation(https://www.linuxfoundation.org/)和Linux.com(https://www.linux.com/),它们提供更全面的Linux生态系统信息、新闻、培训和认证等内容。

需要注意的是,Linux的开源性质意味着任何人都可以创建和分发自己的Linux发行版或项目,因此还有很多非官方的Linux网站存在。对于非官方网站,建议谨慎对待,确保从可靠和受信任的来源下载和获取信息。

6. 发行版本

Debian——Debian -- 通用操作系统

Debian运行起来极其稳定,这使得它非常适合用于服务器。 debian这款操作系统无疑并不适合新手用 户,而是适合系统管理员和高级用户。

Ubuntu——企业开源和 Linux |Ubuntu的

Ubuntu是Debian的一款衍生版,也是当今最受欢迎的免费操作系统。Ubuntu侧重于它在这个市场的 应用,在服务器、云计算、甚至一些运行Ubuntu Linux的移动设备上很常见。Ubuntu是新手用户肯定 爱不释手的一款操作系统。

红帽企业级Linux

这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构,包括x86和 x86_64。红帽公司通过课程红帽认证系统管理员/红帽认证工程师(RHCSA/RHCE),对系统管理员进 行培训和认证。

CentOS——The CentOS Project

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构 版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。有些人不想支付一大笔钱,又能领 略红帽企业级Linux;对他们来说,CentOS值得一试。此外,CentOS的外观和行为似乎与母发行版红 帽企业级Linux如出一辙。 CentOS使用YUM来管理软件包。

Fedora——Fedora Linux | The Fedora Project

小巧的Fedora适合那些人:想尝试最先进的技术,等不及程序的稳定版出来。其实,Fedora就是红帽 公司的一个测试平台;产品在成为企业级发行版之前,在该平台上进行开发和测试。Fedora是一款非常 好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

Kali Linux

Kali Linux是Debian的一款衍生版。Kali旨在用于渗透测试。Kali的前身是Backtrack。用于Debian的所 有Binary软件包都可以安装到Kali Linux上,而Kali的魅力或威力就来自于此。此外,支持Debian的用 户论坛为Kali加分不少。Kali随带许多的渗透测试工具,无论是Wifi、数据库还是其他任何工具,都设计 成立马可以使用。Kali使用APT来管理软件包。 毫无疑问,Kali Linux是一款渗透测试工具,或者是文明黑客(我不想谈论恶意黑客)青睐的操作系 统。

... ...

除了上述发行版本之外,还有许多其他的小型和专业领域的Linux发行版,以满足不同用户和应用的需求。这些发行版通常基于主流的发行版,但进行了特定的定制和优化。

7.企业应用现状

Linux在企业应用方面的现状非常强劲。随着时间的推移,企业对于Linux的采用率不断增加,因为Linux提供了一系列的优势和特点,使其成为许多企业首选的操作系统。

以下是一些展示Linux在企业应用中的现状的主要方面:

  • Linux在服务器领域的发展
  • 随着开源软件在世界范围内影响力日益增强,Linux服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、金融、农业、交通、电信等国家关键领域。此外,考虑到Linux的快速成长性以及国家相关政策的扶持力度,Linux服务器产品一定能够冲击更大的服务器市场。据权威部门统计,目前Linux在服务器领域已经占据75%的市场份额,同时,Linux在服务器市场的迅速崛起,已经引起全球IT产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。
  • Linux在桌面领域的发展
  • 近年来,特别在国内市场,Linux桌面操作系统的发展趋势非常迅猛。国内如中标麒麟Linux、红旗Linux、深度Linux等系统软件厂商都推出的Linux桌面操作系统,目前已经在政府、企业、OEM等领域得到了广泛应用。另外SUSE、Ubuntu也相继推出了基于Linux的桌面系统,特别是Ubuntu Linux,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux桌面系统与Windows系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。
  • Linux在移动嵌入式领域的发展
  • Linux的低成本、强大的定制功能以及良好的移植性能,使得Linux在嵌入式系统方面也得到广泛应用,目前Linux以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上的。目前,Android已经成为全球最流行的智能手机操作系统,据2015年权威部门最新统计,Android操作系统的全球市场份额已达84.6%。此外,思科在网络防火墙和路由器也使用了定制的Linux,阿里云也开发了一套基于Linux的操作系统“YunOS”,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux来实现,而这一切均归功与Linux与开源的力量。
  • Linux在云计算/大数据领域的发展
  • 互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux占据了核心优势;据Linux基金会的研究,86%的企业已经使用Linux操作系统进行云计算、大数据平台的构建,目前,Linux已开始取代Unix成为最受青睐的云计算、大数据平台操作系统。

8.Linux系统环境安装

有三种方式

  1. 裸机安装或者双系统 -- 不推荐
  2. 虚拟机安装 --- 不推荐
  3. 云服务器/安装简单, 维护成本低——推荐, 未来学习效果好

我们借助云服务器 

云服务器(Elastic Compute Service,ECS)的标准定义是指一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台服务器。
云服务器帮助用户快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。

其中最出名的有3家

  1. 阿里云
  2. 腾讯云
  3. 华为云

我们选择产品,选择云服务器

在购买商品界面选择centos,随便选一个版本,购买即可

买完服务器之后要记住公网IP

买完云服务器之后必须重置密码

8.1.访问云服务器

买了云服务器之后,我们还需要下载一个软件——xshell

官网: XSHELL - NetSarang Website

 我们选择免费的哪个版本

我们怎么使用xhell远程登陆我们的服务器呢?

首先我们需要联网

在xshell里输入

 ssh root@你的公网IP

XShell 下的复制粘贴

  • 复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)
  • 粘贴: shift + insert

ctrl + c / ctrl + v 是不行 

  然后按回车

我们再输入密码即可 

我们会发现有下面这个WARNING,这个是非常正常的

这就代表我们成功了 

我们可以通过Alt+Enter进入全屏

8.2.多人共享一台云服务器

我们知道云服务器是买的,我们可以多个人一起买一个云服务器,然后共享账号

我们打开xshell,输入

adduser zs_108

新建一个用户使用adduser命令,后面接的是新用户的名字(自定义)

passwd zs_108

passwd是给这个zs_108用户设置密码

我们按回车,就会看到

New password:

在那后面设置密码就行,只不过不会显示出来你输入的密码

按回车后就会看到下面这一行

Retype new password:

我们只需再输入一遍密码即可,设置复杂一点,按回车这样子就好了

 这个时候我们就完成用户的新增,未来我们只需输入不同的密码,我们即可登录进去

新用户登录的方式不再是

 ssh root@你的公网IP

而是

ssh zs_108@你的公网IP

 zs_108是你设置的新用户的名字

然后输入新用户的密码即可登录

如果zs_108忘了密码,我们可以在重置密码

passwd zs_108

按回车,即可重置密码,也可以改密码,

我们也可以删除我们创建的新用户

userdel -r zs_108

 这样子zs_108就被删掉了,注意-r不能漏掉

我们学习linux全使用普通用户账号,不用root账号

  • 27
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
资源大于15MB分2次上传。 清晰度一般。加到11章 第12,13章没有。 第1章 嵌入式系统基础. 1.1 嵌入式系统简介 1.1.1 嵌入式系统定义 1.1.2 嵌入式系统与PC 1.1.3 嵌入式系统的特点 1.2 嵌入式系统的发展 1.2.1 嵌入式系统现状 1.2.2 嵌入式系统发展趋势 1.3 嵌入式操作系统与实时操作系统 1.3.1 Linux 1.3.2 uC/OS 1.3.3 Windows CE 1.3.4 VxWorks 1.3.5 Palm OS 1.3.6 QNX 1.4 嵌入式系统选型 第2章 基于ARM9处理器的硬件开发平台 2.1 ARM处理器简介 2.1.1 ARM公司简介 2.1.2 ARM微处理器核 .2.2 ARM9微处理器简介 2.2.1 与ARM7处理器的比较 2.2.2 三星S3C2410X处理器详解 2.3 FS2410开发平台 第3章 创建嵌入式系统开发环境 3.1 嵌入式Linux的开发环境 3.2 Cygwin 3.3 虚拟机 3.4 交叉编译的预备知识 3.4.1 Make命令和Makefile文件 3.4.2 binutils工具包 3.4.3 gcc编译器 3.4.4 Glibc库 3.4.5 GDB 3.5 交叉编译 3.5.1 创建编译环境 3.5.2 编译binutils 3.5.3 编译bootstrap_gcc 3.5.4 编译Glibc 3.5.5 编译完整的gcc 3.5.6 编译GDB 3.5.7 成果 3.5.8 其他交叉编译方法 3.6 通过二进制软件包创建交叉编译环境 3.7 开发套件 第4章 调试嵌入式系统程序 4.1 嵌入式系统调试方法 4.1.1 实时在线仿真 4.1.2 模拟调试 4.1.3 软件调试 4.1.4 BDM/JTAG调试 4.2 ARM仿真器 4.2.1 techorICE ARM仿真器 4.2.2 ARM仿真器工作原理 4.2.3 ARM仿真器的系统功能层次 4.2.4 使用仿真器和ADS Debugger调试ARM开发板 4.3 JTAG接口 4.3.1 JTAG引脚定义 4.3.2 通过JTAG烧写Flash 4.3.3 烧写Flash技术内幕 第5章 Bootloader 5.1 嵌入式系统的引导代码 5.1.1 初识Bootloader 5.1.2 Bootloader的启动流程 5.2 Bootloader之vivi 5.2.1 vivi简介 5.2.2 vivi的配置与编译 5.2.3 vivi代码导读 5.3 Bootloader之U-Boot 5.3.1 U-Boot代码结构分析 5.3.2 编译U-Boot代码 5.3.3 U-Boot代码导读 5.3.4 U-Boot命令 5.4 FS2410的Bootloader 第6章 Linux系统在ARM平台的移植 6.1 移植的概念 6.2 Linux内核结构 6.3 Linux-2.4内核向ARM平台的移植 6.3.1 根目录 6.3.2 arch目录 6.3.3 arch/arm/boot目录 6.3.4 arch/arm/def-configs目录 6.3.5 arch/arm/kernel目录 6.3.6 arch/arm/mm目录 6.3.7 arch/arm/mach-s3c2410目录 6.4 Linux-2.6内核向ARM平台的移植 6.4.1 定义平台和编译器 6.4.2 arch/arm/mach-s3c2410/devs.c 6.4.3 arch/arm/mach-s3c2410/mach-fs2410.c 6.4.4 串口输出 6.5 编译Linux内核 6.5.1 代码成熟等级选项 6.5.2 通用的一些选项 6.5.3 和模块相关的选项 6.5.4 和块相关的选项 6.5.5 和系统类型相关的选项 6.5.6 和总线相关的选项 6.5.7 和内核特性相关的选项 6.5.8 和系统启动相关的选项 6.5.9 和浮点运算相关的选项 6.5.10 用户空间使用的二进制文件格式的选项 6.5.11 和电源管理相关的选项 6.5.12 和网络协议相关的选项 6.5.13 和设备驱动程序相关的选项 6.5.14 和文件系统相关的选项 6.5.15 和程序性能分析相关的选项 6.5.16 和内核调试相关的选项 6.5.17 和安全相关的选项 6.5.18 和加密算法相关的选项 6.5.19 库选项 6.5.20 保存内核配置 第7章 Linux设备驱动程序开发 7.1 设备驱动概述 7.1.1 设备驱动和文件系统的关系 7.1.2 设备类型分类 7.1.3 内核空间和用户空间.. 7.2 设备驱动基础 7.2.1 设备驱动中关键数据结构 7.2.2 字符设备驱动开发 第8章 网络设备驱动程序开发 8.1 网络设备驱动程序简介 8.1.1 device数据结构 8.1.2 sk_buff数据结构 8.1.3 内核的驱动程序接口 8.2 以太网控制器CS8900A 8.2.1 特性 8.2.2 工作原理 8.2.3 电路连接 8.2.4 引脚 8.2.5 操作模式 8.3 网络设备驱动程序实例 8.3.1 初始化函数 8.3.2 打开函数 8.3.3 关闭函数 8.3.4 发送函数 8.3.5 接收函数 8.3.6 中断处理函数 第9章 USB驱动程序开发 9.1 USB驱动程序简介 9.1.1 USB背景知识 9.1.2 Linux内核对USB规范的支持 9.1.3 OHCI简介 9.2 Linux下USB系统文件结点 9.3 USB主机驱动结构 9.3.1 USB数据传输时序 9.3.2 USB设备连接/断开时序 9.4 主要数据结构及接口函数 9.4.1 数据传输管道 9.4.2 统一的USB数据传输块 9.4.3 USBD数据描述 9.4.4 USBD与HCD驱动程序接口 9.4.5 USBD层的设备管理 9.4.6 设备类驱动与USBD接口 9.5 USBD文件系统接口 9.5.1 设备驱动程序访问 9.5.2 设备拓扑访问 9.5.3 设备信息访问 9.6 设备类驱动与文件系统接口 9.7 USB HUB驱动程序 9.7.1 HUB驱动初始化 9.7.2 HUB Probe相关函数 9.8 OHCI HCD实现 9.8.1 OHCI驱动初始化 9.8.2 与USBD连接 9.8.3 OHCI根HUB 9.9 扫描仪设备驱动程序 9.9.1 USBD接口 9.9.2 文件系统接口 9.10 USB主机驱动在S3C2410X平台的实现 9.10.1 USB主机控制器简介 9.10.2 驱动程序的移植 第10章 图形用户接口 10.1 嵌入式系统中的GUI简介 10.1.1 MicroWindows 10.1.2 MiniGUI 10.1.3 Qt/Embedded 10.2 MiniGUI编程 10.2.1 MiniGUI移植 10.2.2 MiniGUI编程 10.3 初识Qt/Embedded 10.3.1 Qt介绍 10.3.2 系统要求 10.3.3 Qt的架构 10.4 Qt/Embedded嵌入式图形开发基础 10.4.1 建立Qt/Embedded 开发环境 10.4.2 认识Qt/Embedded开发环境 10.4.3 窗体 10.4.4 对话框 10.4.5 外形与感觉 10.4.6 国际化 10.5 Qt/Embedded实战演练 10.5.1 安装Qt/Embedded工具开发包 10.5.2 交叉编译Qt/Embedded库 10.5.3 Hello,World 10.5.4 发布Qt/Embedded程序到目标板 10.5.5 添加一个Qt/Embedded应用到QPE 第11章 Java虚拟机的移植 11.1 Java虚拟机概述 11.1.1 Java虚拟机的概念 11.1.2 J2ME 11.1.3 KVM 11.2 Java虚拟机的移植 11.2.1 获得源码 11.2.2 编译环境的建立 11.2.3 JDK的安装 11.2.4 KVM的移植及编译 11.2.5 KVM的测试 11.3 其他可选的虚拟机 11.4 性能优化
回答: Bash是一个在Linux系统中广泛使用的命令行解释器和脚本语言。它的源码可以通过GNU的开源项目https://git.savannah.gnu.org/git/bash.git获取。\[2\]如果你对Linux原理感兴趣,你可以通过分析和单步调试Bash的源码来了解它的运行流程。\[2\]这个源码分析的例子是作者自己编写的,你可以随意引用。\[2\]在Linux系统中,Bash的配置文件通常是/etc/bashrc和~/.bashrc。\[3\]其中,/etc/bashrc是CentOS(或Red Hat系统)特有的,而其他不同的Linux发行版可能会将配置文件放置在不同的位置。\[3\]此外,~/.bashrc文件会调用/etc/bashrc和/etc/profile.d/*.sh文件。\[3\] #### 引用[.reference_title] - *1* *2* [【原创】Bash源码分析(一)](https://blog.csdn.net/weixin_33162074/article/details/116859151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux基础知识与实操-篇四:初识bash与配置](https://blog.csdn.net/qq_45966201/article/details/127777990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值