0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux的系统选择、体系结构及应用详解

马哥Linux运维 2017-11-28 17:59 次阅读

Linux 几乎无处不在,不论是服务器构建,还是客户端开发,操作系统的基础技能对全栈来说都是必备的。

系统的选择

Linux发行版本可以大体分为两类,一类是商业公司维护的发行版本,一类是社区组织维护的发行版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。

Redhat,应该称为Redhat系列,包括RHEL、Fedora、CentOS(RHEL的社区克隆版本,免费)。Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian加强而来,一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。Ubuntu社区认为实用性和创新性高于一切。

如果你需要一个比较稳定的服务器系统而已,那么最好的选择就是CentOS了,安装完成后,经过简单的配置就能提供非常稳定的服务了。但是对云环境而言,unbantu也许不错,hadoop最早就是在ubantu上开发的。

体系结构

了解体系结构,可以有一个较好的方向感。Linux 有kernel和user两种模式,内核、shell和文件系统一起形成了基本的操作系统结构,Linux 内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。

Linux内核

了解linux内核,可以充分利用资源,在系统调优时有目标感。

Linux 将内存划分为容易处理的“内存页”,提供了对 4KB 缓冲区的抽象,例如 slab 分配器。进程实际是某特定应用程序的一个运行实体,进程调度控制进程对CPU的访问。Linux 中常见的进程间通讯机制有信号、管道、共享内存、信号量和套接字等。 内核通过 SCI 提供了一个API来创建一个新进程(fork、exec 或 POSⅨ),停止进程(kill、exit),并在它们之间进行通信和同步(signal 或者 POSⅨ 机制)。

Linux 操作系统将独立的文件系统组合成了一个层次化的树形结构,并且由一个单独的实体代表这一文件系统。由于 Linux 支持许多不同的文件系统,并且将它们组织成了一个统一的虚拟文件系统.设备驱动程序提供一组操作系统可理解的抽象接口完成和操作系统之间的交互,而与硬件相关的具体操作细节由设备驱动程序完成。Linux内核的网络部分由BSD套接字、网络协议层和网络设备驱动程序组成。 网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。

linux 文件系统

Linux系统能支持多种目前流行的文件系统,推荐用EXT4。

Linux下面的文件类型主要有:

1) 普通文件,分为纯文本和二进制。

2) 目录文件,存储文件的地方。

3) 链接文件,指向同一个文件或目录的的文件。

4) 设备文件,分为块设备和字符设备。

5)管道文件,提供进程间通信

6)套接字文件,与网络通信有关

Linux使用标准的目录结构,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。

目录名 简要说明
/bin 二进制可执行命令
/dev 设备特殊文件
/etc 系统管理和配置文件
/etc/rc.d 启动的配置文件和脚本
/home 用户主目录的基点,比如用户abc的主目录就是/home/user,可以用~abc表示
/lib 标准程序设计库
/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp 公用的临时文件存储点
/root 系统管理员的主目录
/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件
/proc 虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息
/var 某些大文件的溢出区,比方说各种服务的日志文件
/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:/usr/X11R6 存放X window的目录/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库

shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。shell 有很多类型,这里推荐BASH。BASH是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,大部分linux的发行套件使用的都是这种shell。Linux Shell 及命令

Linux 的命令很多,下面给出了一个简单的分类。

在shell 中组织linux 的命令来完成一系列的任务,就是shell 编程了。Shell,Perl和Python 是Linux 上最常用的脚本语言,我还是推荐使用Python。

Linux 应用

标准的Linux系统一般都有一套都有称为应用程序的程序集,它包括文本编辑器、编程语言、X Window、Internet工具和数据库等。

对于文本编辑而言,Emacs 和vim 各有千秋,通过插件配合甚至可以作为IDE使用。 个人感觉,VIM 还应该是必备技能。vim的命令也很多,整理如下:

就应用的管理而言,ubuntu 需熟知apt命令,centos 则是yum命令。当然了,源代码编译安装是必须的,makefile的写法,configure/autoconfig/make 的用法要手到擒来才好。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11219

    浏览量

    208873

原文标题:高薪全栈工程师必备Linux 基础

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM SoC体系结构

    介绍ARM 的片上系统体系结构
    发表于 03-31 23:03

    带你了解Linux内核体系结构

    基本的功能,例如 read 和 write。系统调用接口之下是内核代码,可以更精确地定义为独立于体系结构的内核代码。这些代码是 Linux 所支持的所有处理器体系结构所通用的。在这些代
    发表于 08-27 10:31

    嵌入式体系结构是怎样组成的

    目录一. 嵌入式体系结构二. 开发过程中的分工三. 嵌入式软件体系结构四. 嵌入式Linux 一. 嵌入式体系结构这本书的前三章脉络很清晰, 按照嵌入式
    发表于 11-05 07:10

    linux内核体系结构是由哪些部分组成的

    linux 内核体系结构系统空间用户空间提高效率,分工合作安全角度不同模式下可执行指令与可访问的寄存器不同用户空间与内核空间是程序执行的两种不同状态,我们可以通过系统调用和硬件终端来完
    发表于 12-17 08:31

    Armv8-A体系结构中的内存系统详解

    本指南介绍Armv8-A体系结构中的内存系统。这些系统详细通过内存模型、内存类型、内存属性和屏障。 在以下情况下,您必须了解内存系统的操作和访问顺序您的代码直接与硬件或在其他核心上执行
    发表于 08-02 10:38

    Arm的DRTM体系结构规范

    的原理和术语,但也包含了显著的差异。 本规范的结构如下: •第2节,DRTM体系结构概述,概述了DRTM,并介绍了该体系结构如何将DRTM映射到基于Arm的系统。本节介绍了与TCG定义
    发表于 08-08 07:45

    选择适合您FPGA系统的I/O体系结构

    选择适合您FPGA系统的I/O体系结构:即使在几年前, 设计师还主要是把FPGA作为设计原型的工具。但随着近十年来FPGA 数据速率的迅速提高, 现在已完全能与CMOS ASIC相匹敌。系统
    发表于 11-20 17:41 21次下载

    LTE体系结构

    LTE体系结构 LTE体系结构可以借助SAE 体系结构来做详细描述。在SAE 体系结构中,RNC部分功能、GGSN、SGSN 节点将被融合为一个新的节点,
    发表于 06-16 13:09 9809次阅读

    网络体系结构,什么是网络体系结构

    网络体系结构,什么是网络体系结构 通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作实现信息交换和资源共享
    发表于 04-06 16:30 1691次阅读

    ARM体系结构和应用系统设计示例

    ARM体系结构和应用系统设计示例
    发表于 10-30 09:38 4次下载
    ARM<b class='flag-5'>体系结构</b>和应用<b class='flag-5'>系统</b>设计示例

    软件体系结构的分析

    软件系统因具有节点众多、节点间联系复杂、随时间演化、自组织临界等特性可将其视为复杂系统。在软件安全领域,对软件体系结构的分析一直是研究的重点。软件体系结构具有自身的脆性,这体现在软件
    发表于 11-24 10:34 15次下载
    软件<b class='flag-5'>体系结构</b>的分析

    基于DoDAF的卫星应用信息链体系结构

    卫星应用信息链的作战流程,建立了侦察卫星应用信息链体系结构模型,从不同侧面描述了侦察卫星系统节点及节点间的信息关系,
    发表于 01-10 16:58 1次下载

    了解Linux体系结构和内核结构

    用户空间中包含了C库,用户的应用程序。在某些体系结构图中还包含了shell,当然shell脚本也是Linux体系中不可缺少的一部分。
    发表于 04-28 16:52 1052次阅读
    了解<b class='flag-5'>Linux</b><b class='flag-5'>体系结构</b>和内核<b class='flag-5'>结构</b>

    Linux内核的处理器体系结构的详细资料说明

    导的芯片公司占领了移动手持设备等市场。本书重点讲述 Linux内核的设计与实现,但是离开了处理器体系结构,就犹如空中楼阁,毕竟操作系统只是为处理器服务的一种软件而已。目前大部分的Linux
    发表于 05-28 17:58 3次下载
    <b class='flag-5'>Linux</b>内核的处理器<b class='flag-5'>体系结构</b>的详细资料说明

    米尔科技ARM体系结构与编程介绍

    《ARM体系结构与编程》分14章对ARM处理器的体系结构、指令系统和开发工具作了比较全面的介绍。
    的头像 发表于 11-25 09:18 2005次阅读
    米尔科技ARM<b class='flag-5'>体系结构</b>与编程介绍