[ linux ] 一篇文章让你掌握什么是linux

简介: 都说好的开始是成功的一半,那学习 Linux 的第一个问题是搞明白什么是 Linux ,了解其来龙去脉、前世今生,了解其发展趋势、应用前景,弄清楚为什么学习它,以及如何掌握它和使用它,知其然更要知其所以然。本文希望让读者对 Linux 有一个宏观的认识,总览其整体,后续再依次讲解 Linux 的每一部分的知识点。很多人看技术类图书都不喜欢或不重视第一章,甚至直接跳过去,觉得大多是介绍性的内容,且没什么 技术含量。然而我想说的是工欲善其事,必先利其器。建议不管学什么,不管看什么书籍,都不要忽视第一章的学习。

一、什么是操作系统(操作系统)



Linux 也是众多操作系统之一,要想知道 Linux 是什么,我们就需要知道什么是操作系统。


那操作系统到底是什么呢?


1. 操作系统简述


操作系统(Operating System,OS)是软件的一部分,它是硬件基础上的第一层软件,是硬件和其它软件沟通的桥梁(或者说接口、中间人、中介等)。


操作系统会控制其他程序运行,管理系统资源,提供最基本的计算功能,如管理及配置内存、决定系统资源供需的优先次序等,同时还提供一些基本的服务程序。


简单理解:操作系统就好像是一个政府,其它软件都会被它管控;操作系统在给其他软件提供各种便利的同时,还会约束其他软件不能为所欲为。


2. 操作系统基本的服务程序


1) 文件系统

提供计算机存储信息的结构,信息存储在文件中,文件主要存储在计算机的内部硬盘里,在目录的分层结构中组织文件。文件系统为操作系统提供了组织管理数据的方式。


2) 设备驱动程序

提供连接计算机的每个硬件设备的接口,设备驱动器使程序能够写入设备,而不需要了解执行每个硬件的细节。简单来说,就是让你能吃到鸡蛋,但不用养一只鸡。


3) 用户接口

操作系统需要为用户提供一种运行程序和访问文件系统的方法。如常用的 Windows 图形界面,可以理解为一种用户与操作系统交互的方式;智能手机的 Android 或 iOS 系统,也是一种操作系统的交互方式。


4) 系统服务程序

当计算机启动时,会自启动许多系统服务程序,执行安装文件系统、启动网络服务、运行预定任务等操作。


3. 目前流行的操作系统有哪些


服务器和 PC 端操作系统有:


Unix(价格昂贵),Dos(简易,windows,不开源),MacOs(苹果计算机的操作系统),linux(廉价,完全开发的系统)等


手机操作系统有:


Android、iOS、Windows Phone(简称 WP)


嵌入式操作系统有:


Windows CE、PalmOS、eCos、uClinux 等。


二、Linux介绍



1、linux简介


Linux 和 Windows 一样,也是一个操作系统软件,其 logo 是一只企鹅。但是 Linux 是一套开放源代码程序的、可以自由传播的类 Unix 操作系统软件(windows不是)。


Unix 系统是 Linux 系统的前身,也就是说Linux是基于Unix的。


Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本。


不管哪一个linux版本都使用了Linux内核。


linux内核包括:redhat,centOS、红旗、ubuntu、suse


Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机等。


2、Linux的历史


诞生于1991 年10 月5 日。


是由Linus Torvalds(林纳斯 托瓦兹)和后来加入的众多爱好者共同开发完成(linux 0.0.1.x86系统)。


发布于芬兰最大的ftp服务器上,用户可以免费下载,所以它的周边的程序越来越多,Linux本身也逐渐发展壮大起来。


1994年,Linux在不到三年的时间里成为了一个功能完善,稳定可靠的操作系统.(1994年version1.0 正式版本,功能完善,稳定的版本)


3. linux的特点


免费,多用户,多任务,支持多线程和多CPU的操作系统,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,出色的速度性能。


1. 开源免费

Linux 不仅是免费的,更是开源的,这意味着任何人都可以获得其代码并根据自己的需求进行修改。


2. 具备unix所有优秀特性

Linux 与 Unix 系统兼容,该系统的构建采用了一些与 UNIX 操作系统相同的技术,具备 Unix 几乎所有的优秀特性(系统的稳定性和安全性尤为突出)。


3. 安装简单,不受商业化制约

和其他操作系统相比,Linux 更容易安装,且不会收到任何商业化版本的制约。


4. 能完成各种实际有用且具有创造性的事情

Linux 让开展各种实际有用且具有创造性的事情成为可能。


例如,我们可以在一个U盘上装载 Linux 的自生系统引导映像(live boot image),启动一台硬盘已经崩溃的计算机,之后查找并解决该问题。


或者,因为 Linux 是一个真正的多用户操作系统,它具有非常好的私密性和稳定性,整个团队可以同时从本地或远程登录进行工作。


5. 复杂的软件包管理系统

Linux 提供了复杂的软件包管理系统,可以放心地安装和维护每一个在线资源库中的软件应用。


6. 其他

当然, Linux 操作系统的特点还有很多,这里不再过多赘述,相信随着学习 Linux 的深入,你会有更多的体会。


4. Linux系统的应用场景:


核心: 用在服务器操作系统方面 (服务器系统Web应用服务器、数据库服务器、接口服务器)


嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,DNS、FTP等等


高性能运算、计算密集型应用(Linux有强大的运算能力)


桌面应用系统


移动手持系统


5. Linux的版本


Linux的版本分为两种: 内核版本 和发行版本


1. 内核版本

内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号。


linux内核版本是指相应软件内核在历次修改或增加相应的功能后的版本编号。


2. 发行版本

发行版本是一些组织和公司根据自己发行版的不同而自定的 。


如:redHat(红帽),centos,suse,ubuntu,红旗Linux。


三、有windows,为什么还要学Linux?



初步接触 Linux 的读者,或者有这样一个疑问,Windows 系统也很好用,也能满足日常工作需求,为什么要学习 Linux 系统呢?


有些初学者会将" Linxu 系统是开源的"作为这个问题的答案,其实这只是很少的一部分。开源的操作系统少说有 100 个,所以Linux 的开源特性只是一部分优势,并不是学习 Linux 的主要原因。


还有以下原因:


windows捆绑收费,数据库用sqlServer费用高。


Linux 系统是一款优秀的软件产品,具有类似 UNIX 的程序界面,而且继承了 UNIX 的稳定性,能够较好地满足工作需求。


Windows 系统确实很优秀,但是在安全性、高可用性与高性能方面却难以让人满意。


安全、稳定、高可用、高性能才是重中之重。


四、UNIX与Linux的亲密关系



1. unix和linux的关系


unix和linux的关系,"UNIX 是 Linux 的父亲"这个说法很怡当。


Linux系统是类unix系统。


之所以要介绍它们的关系,是因为要告诉读者,在学习的时候,其实 Linux 与 UNIX 有很多的共通之处,简单地说,如果你已经熟练掌握了 Linux,那么再上手使用 UNIX 会非常容易。


2. unix和linux的区别


1. UNIX 系统大多是与硬件配套的,也就是说,大多数 UNIX 系统如 AIX、HP-UX 等是无法安装在 x86 服务器和个人计算机上的,而 Linux 则可以运行在多种硬件平台上;


2. UNIX 是商业软件,而 Linux 是开源软件,是免费、公开源代码的。


五、Linux 系统优缺点



1. liunx优点


1.大量的可用软件及免费软件

Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache、Samba、PHP、MySQL 等,构建成本低廉,是 Linux 被众多企业青睐的原因之一。


当然,这和 Linux 出色的性能是分不开的,否则,节约成本就没有任何意义。


但不可否认的是,Linux 在办公应用和游戏娱乐方面的软件相比 Windows 系统还很匮乏,所以,即便打游戏、看影片用的也是 Windows,至于 Linux,就把它用在擅长的服务器领域吧。


2. 良好的可移植性及灵活注

Linux 系统有良好的可移植性,它几乎支持所有的 CPU 平台,这使得它便于裁剪和定制。我们可以把 Linux 放在 U 盘、光盘等存储介质中,也可以在嵌入式领域广泛应用。


3. 优良的稳定性和安全性

著名的黑客埃里克•雷蒙德(EricS.Raymond)有一句名言:"足够多的眼睛,就可让所有问题浮现"。


举个例子,假如笔者在演讲,台下人山人海,明哥中午吃饭不小心,有几个饭粒粘在衣领上了,分分钟就会被大家发现,因为看的人太多了;如果台下就稀稀落落两三个人且离得很远,那就算明哥衣领上有一大块油渍也不会被发现。


也就是说:Linux 开放源代码,将所有代码放在网上,全世界的程序员都看得到,有什么缺陷和漏洞,很快就会被发现,从而成就了它的稳定性和安全注。


提到 Linux 的安全性,在安装了 Linux 系统后不安装杀毒软件联网一个月,我们比较一下windows,就会明白了什么是 Linux 的安全性。Windows 系统不安装杀毒软件,相信大家都知道会有什么后果。


4. 支持几乎所有的网络协议及开发语言

UNIX 系统是与 C 语言、TCP/IP 协议一同发展起来的,而 Linux 是 UNIX 的一种,PHP、Java、C++ 等又是由C语言衍生而来。


所以,Linux 对网络协议和开发语言的支持很好。


2. linux缺点


linux优点很多,但也不可能没有缺点。以下也只是我能想到一部分缺陷。


1. 如桌面应用还有待完善


2. Linux 的标准统一还需要推广


3. 开源软件的盈利模式与发展还有待考验


六、如何学linux



通过上面的介绍,相信你也对 Linux 产生了兴趣,接下来我分享一些学习 Linux 的看法。


1. Linux需要如何去学习


学习 Linux 同样要有一定的顺序和方法,由浅入深、由表及里的过程,循序才能渐进。


强烈建议做好读书笔记,边看边记,边练习边思考,不要死记硬背,多敲代码。


养成看书的好习惯,看书比看视频看文章要好得多,深度会更深。当然书,可能看一遍是不够的,多次阅读,反复实践,才能印象深刻。


在你学不下去的时候坚持下去,不要停止学习。坚定目标,做好计划,设定奖惩,确定详细的时间进度表。就好像每天要吃饭一样的。


2. 碰到问题怎么办


不管谁学习和使用 Linux 或多或少会遇到问题,大多数人遇到问题的第一个念头就是问人。没错!这可以快速解决问题。但个人建议建议,先尝试自己解决问题,询问别人获得答案对于知识的积累和提升解决问题的能力并没有帮助。


在寻找答案的过程中,虽然会花费很多时间,也可能会遇到挫折,但久而久之你会发现,也许为了找一个问题的解答,你了解了 Linux 很多相关的知识,经验也越来越丰富。


Linux 系统的一个非常大的好处是,当命令执行错误或系统设置错误时,通常会清楚地显示错误信息,告诉你哪里出错了,只要认真观察报错信息,大概就知道问题出现在哪里,应该如何解决了。有的操作步骤复杂,出现状况时,回头检査一下,是不是前面步骤的命令敲错或配置文件改错。


Linux 的帮助文档是很好的工具,命令的选项、配置文件的设置都可以从这里找到答案。


是在解决不了,就问一问老师同学,或者论坛上询问大佬等等,问的时候说明要做什么、做了什么,列出完整的操作步骤、错误信息或错误截图,描述清晰,让别人能看懂你的问题,不然别人也帮不了你。


相关文章
|
关系型数据库 MySQL Linux
让安装变简单:Linux下安装Mysql一篇文章搞定
让安装变简单:Linux下安装Mysql一篇文章搞定
156 0
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
42 1
|
5月前
|
Linux 芯片
一篇文章讲明白Linux下控制GPIO的三种方法
一篇文章讲明白Linux下控制GPIO的三种方法
722 3
|
4月前
|
自然语言处理 安全 Shell
Linux 提权-SUID/SGID_1 本文通过 Google 翻译 SUID | SGID Part-1 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。
接下来,让我们看看 SUID3NUM 在枚举 SUID 二进制文件方面的表现如何。 3.2、枚举 SUID 二进制文件 – SUID3NUM 我们将用来枚举 SUID 二进制文件的第二个工具是 SUID3NUM。这是一个很棒的工具,因为它是专门为枚举 SUID 二进制文件而创建的。但这还不是全部,它还提供了可用于提升权限的命令(命令从 GTFOBins 中提取)。 这还不是最好的部分,SUID3NUM 还具有内置的 autopwn 功能,可以通过 -e 开关激活! 在 OSCP 考试中也使用此工具,只要您不使用自动利用功能。 3.2.1、下载并执行 SUID3NUM 我们可以从 GitHubs
38 0
|
5月前
|
机器学习/深度学习 固态存储 Linux
一篇文章讲明白Linux下的ping命令用法与实现
一篇文章讲明白Linux下的ping命令用法与实现
84 0
|
5月前
|
Unix Linux 调度
一篇文章讲明白linux僵死进程
一篇文章讲明白linux僵死进程
47 0
|
5月前
|
Linux 芯片
一篇文章讲明白Linux内核态和用户态共享内存方式通信
一篇文章讲明白Linux内核态和用户态共享内存方式通信
67 0
|
6月前
|
域名解析 网络协议 Linux
【Linux】7、一篇文章学习 Linux 中一些硬核的常用知识
【Linux】7、一篇文章学习 Linux 中一些硬核的常用知识
65 0
|
Unix Shell Linux
一篇文章教会你什么是Linux进程控制(下)
3.3 进程等待示例 #include <stdio.h> #include <unistd.h> #include <stdlib.h>
|
存储 消息中间件 Linux
一篇文章教会你什么是Linux进程控制(上)
进程创建 1.fork函数初识 在Linux上一篇文章进程概念详解我们提到了在linux中fork函数是非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。