初探 Unix 操作系统

本贴最后更新于 1719 天前,其中的信息可能已经时过境迁

在互联网公司里面,基本大大小小所有的服务器端应用程序都是部署在 Linux 服务器上面。由于之前在外企工作,开发的应用程序需要依赖于 Windows 的 API,因此程序都是部署在 Windows Server 上面,导致自己对 Linux 也是只知道皮毛。所以就趁这段时间系统的学习一下 Linux 操作系统的基础知识。不求精通,但求能在工作上能够熟练操作,例如编写一些 Shell 脚本,配置一些环境变量,部署一些程序等。恰好翻到书柜里面的这本书 《Unix 入门经典》,大家都知道 Linux 是芬兰研究生 Linus Torvalds 基于 Unix 开发的类 Unix 系统,于是就顺手看了起来。

Unix 操作系统于 1969 年 诞生于美国电话电报公司(AT&T)的贝尔实验室,这家公司可能很多人没听说过,但是从贝尔实验室创造出来的东西,大家肯定都是耳熟能详的,例如 C,C++ 编程语言,晶体管,太阳能电池,激光等。这款操作系统制作出来以后,贝尔实验室为了扩大它的使用率,使用者对它支付很小的一笔费用即可获得它的源代码。因为很多高校里面的教师都购买它来教学使用,这样高校里面的学生毕业以后到企业里面工作后,因为他们熟悉 Unix,随之就会采购 Unix 来应用在工作上面,因此这也为 Unix 的广泛使用奠定了很好的基础。

在科技发展的长河中,基于 Unix 操作系统衍生出来很多版本,最基本的俩个分叉是 AT&T System V 和 BSD(Berkley Software Distribution)。基于这俩个系统分叉,后面演变出来了很多的版本的 Unix 操作系统来满足不同的应用场景。例如,比较出名的有 Sun Microsystem's Solaris Unix, IBM AIX, Red Hat Enterprise Linux, Fedora Core, Mac OS X, Free BSD, Open BSD 等等。许多供应商想标准化 Unix,其中最成功的 IEEE 的一个产品 POSIX 标准,虽然不是所有的 Unix 都按照此标准生产,但是大多数都遵循了标准中的主要原则。

作为一款成熟而如此流行的操作系统,负责和底层硬件打交道,一些系统的核心组件是必不可少的。Unix 的组件有:内核,shell,文件系统,实用程序。

内核会控制内存,进程,输入输出设备,文件系统操作等核心功能,它是为特定的硬件而构造的,因此当你把运行在 Intel 处理器的内核要运行在其他型号的处理器时候,你需要更改内核来适应新的处理器,但是随着操作系统的发展,很多衍生版本都做了很好的兼容性,不需要我们自己去更改。

Shell 是一个命令行解释器,它提供了很多指令来供我们使用。我们可以通过在终端输入 shell 指令来操作 Unix 操作系统,当然对于不会 shell 命令的小白也可以使用图形界面来操作。shell 的种类有很多种,大多数操作系统中都有三种 shell。Bourne shell(使用最广泛),C shell 改进了 Bourne shell 的一些缺点,类似于 C 语言,更改缺点的同时引入了另外一些缺点。Korn shell 改进了 C shell 的缺点,综合了 Bourne shell 和 C shell 的优点,但是由于它需要使用许可证,因为没有得到流行。

文件系统提供了我们对文件操作的功能,还有经常需要使用邮件接收软件,internet 上网程序也是 Unix 非常重要的组件。

以上为 Unix 操作系统的简单概述,我会继续学习后面的章节,学完后和小伙伴们一起分享,探讨。

欢迎扫码关注我的公众号: 码农尼克,一起来学习。

  • Unix
    7 引用 • 17 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 454 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖 • 1 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    941 引用 • 1458 回帖 • 152 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    198 引用 • 120 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 4 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    370 引用 • 1215 回帖 • 582 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 93 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 499 关注
  • danl
    65 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 684 关注
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    106 引用 • 152 回帖 • 1 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    129 引用 • 793 回帖 • 1 关注
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 21 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    75 引用 • 146 回帖 • 1 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 566 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    77 引用 • 1741 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 512 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 6 关注
  • Sillot

    Sillot (汐洛)孵化自思源笔记,致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点
    Github 地址:https://github.com/Hi-Windom/Sillot

    16 引用 • 6 回帖 • 28 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    25 引用 • 217 回帖 • 163 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 42 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    3 引用 • 80 回帖
  • V2Ray
    1 引用 • 15 回帖
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 131 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    131 引用 • 3644 回帖
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 23 关注