Linux学习之初识Linux

简介: Linux学习之初识Linux

一.Linux的发展历史及概念

1.什么是Linux

要想了解什么是Linux,那么就需要首先了解一下Unix。

UNIX发展的历史:

1968年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫Multics的特殊操作系统。Multics在多任务文件管理和用户连接中综合了许多新概念。

1969-1970年,AT&T的贝尔实验室研究人员Ken Tompson和Dennis Ritchie,在采用很多Multics特点的基础上开发了UINX系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始,UNIX就是一个有价值的、高效的、多用户和多任务的操作系统。UNIX从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。第一个UNIX版本是免费给许多知名大学的计算机系。

1975年伯克莱由下属部门BSD发行了自己的UNIX版本。UNIX的BSD版本成为AT&T贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX版本也开始萌生。

1980年微软公司开发了叫做Xenix的UNIX PC版本。AT&T发行了第一个商业版本。名叫System Ⅲ,后来被成为对商用软件产品良好支持的System Ⅴ所替代。

到80年代中期,两个竞争的标准出现了,一个是基于AT&T的UNIX版本,另一个是BSD版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX的书,一些是System V,另一些集中在BSD UNIX。

Linux发展历史:


dbfeebc7348648e086ed2be2da78a236.png

1991年10月5日,赫尔辛基大学的一名研究生Linus Benedict Torvalds在一个Usenet新闻组

(comp.os.minix)中宣布他编制出了一种类似UNIX的小操作系统,叫Linux。新的操作系统是受到另一个UNIX的小操作系统——Minix的启发,该系统是由一名叫Andrew S Tanenbaum的教师开发的。

Torvalds于10月5日发布的这个Linux版本被称为0.02版,它能够运行GNU Bourne Again Shell(bash)和GNU的C编译程序(gcc)以及为数不多的其它语言。Torvalds绝对没有想到他设想的一种能够针对高级业余爱好者和黑客们的操作系统已经产生,这就是人们所称的Linux。

Linux发布时的版本是0.02,后来又有0.03版,然后又跳到0.10版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到0.95版。这就意味着正是公布1.0版本的时间已经为期不远了。正式的1.0版本是在1994年公布的。

2. 开源

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。

Linux是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。随着Linux操作系统飞速发展,各种集成在Linux上的开源软件和实用工具也得到了应用和普及,因此,Linux也成为了开源软件的代名词。

商业化发行版本

随着技术的发展,Linux在不同人们的需求下研发出了各种版本:

Debian

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

Ubuntu

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

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

CentOS

CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这

Fedora

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

........

我们在谈论Linux操作系统时,一般是指它开源的内核,而Linux常用来指基于Linux内核的完整操作系统。

二. 如何搭建Linux环境

Linux 环境的搭建方式主要有三种:

1. 直接安装在物理机上

顾名思义为主机再装一个操作系统,也就是双系统,但是由于 Linux 桌面使用起来非常不友好, 不推荐,双系统下电脑容易被搞坏,且在学习的过程一不小心就会将整个电脑死机。

2. 使用虚拟机软件

将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾,其次大家可能存在安装不上的问题,还有其它复杂的问题。

若果想要安装,这里推荐安装两个虚拟机:

第一个是virtual box官网,Oracle VM VirtualBox,点击download,选择要下载的虚拟主机:


d1facf161a194c2dab2d79c8626a16ac.png

 第二个是VMware,VMware - Delivering a Digital Foundation For Businesses ,VMware的产品是需要收费的,大家学习时可以选择校园版本,VMware Workstation Player:这个是免费的。


4b511b96b8154670b401962ae2ca14fe.png

无论上面哪一种,装好了虚拟机软件之后,之后我们还需要下载centos7的镜像文件,这个吻技安在国内是可以搜到的,比如清华大学centos镜像:centos | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

7d5f1a8d46b54562a8388ac24a993af7.png

在其中选择下载,该文件一般两三个G。

3. 使用云服务器

使用云服务器时比较推荐大家使用的,我们可以直接在 腾讯云, 阿里云华为云 等服务器厂商处直接购买一个云服务器。

阿里云  - 阿里云-计算,为了无法计算的价值 (aliyun.com)

689f3a97093a4cb9ab02cdb1d068316f.png

腾讯云-腾讯云 产业智变·云启未来 - 腾讯 (tencent.com)


1f85e80008444183b036c477fd365173.png

华为云-共建智能世界云底座-华为云 (huaweicloud.com)


0444009e4a3044b487f0f0d2bff3c947.png

对于云服务器是可以多人共用的,我们可以选择几个人合伙购买,通过开通子用户几个人用一台服务器,摊平一下成本。甚至同学们可以 4 , 5 个人共用一台服务器, 平均下来一个人一个月 2 块钱.

其次对于腾讯云阿里云等为在校学生提供了优惠, 只要通过学生认证, 最低可以 10 块钱一个月. 还是非常划算的.

使用云服务器不仅环境搭建简单, 避免折腾, 服务器出问题也可重装,同时还有一个最大的好处, 部署在云服务器上的项目可以直接被外网访问到, 这个时候就和一个公司发布一个正式的网站没有任何区别. 也就能让我们自己写的程序真的去给别人去使用。

仅供自己学习这里购买一般选择最小的容量的就行,也可以根据需求购买,版本选择自己需要的就行。

三. 掌握使用远程终端工具 xshell 登陆 Linux 服务器

其次当我们购买了云服务器后还需要干这几件事:

1.需要安装xshell 7,对于学习我们安装xshell 校园版即可--家庭/学校免费 - NetSarang Website (xshell.com)

2.在云服务器/或轻量级云服务器,在你的网页后台一定要进行密码重置。(在我的机器里找到购买的云服务器找到重置密码)

之后就可以进行服务器的登录,打开xshell,在登陆之前找到公网IP,其次,刚开始登陆是只有一个账户的,即root账户:

利用指令ssh root@公网IP ,之后输入密码,进去之后出现【root@...】,说明登陆成功。

c060ed18c593439c99e649752aaa7921.png

因为云服务是可以多用户登陆的,即可以利用root账号新建删除子用户,登录root账号后输入

add 用户名 回车之后 password 用户名 给子账户设置密码。如:

a12f43be897245d49e1f97c363894c5f.png9249e91715924766a04133d30e5d30d5.png

设置完成之后就可以直接利用子账号登陆云服务器,

输入命令行ssh 用户名@公网IP,之后输入密码就可以登录了。


ed7ed0b3e31747c587878a42f53d9b7f.png

最后就是还可以删除子用户,登录root账号输入命令行userdel -r 用户名,即可删除。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
4月前
|
NoSQL 关系型数据库 MySQL
Linux学习记录---(1、基本命令)
该博客文章提供了Linux系统中基本命令的使用记录,包括文件和目录操作、Redis服务管理、MySQL数据库操作以及Tomcat服务器的启动和检查。
Linux学习记录---(1、基本命令)
|
1月前
|
存储 安全 Linux
|
1月前
|
Linux Shell 数据安全/隐私保护
|
5月前
|
Ubuntu Linux vr&ar
IM跨平台技术学习(十二):万字长文详解QQ Linux端实时音视频背后的跨平台实践
本文详细记录了新版QQ音视频通话在 Linux 平台适配开发过程中的技术方案与实现细节,希望能帮助大家理解在 Linux 平台从 0 到 1 实现音视频通话能力的过程。
179 2
|
2月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
2月前
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
41 1
|
2月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
4月前
|
NoSQL Ubuntu Linux
Linux内核学习
Linux内核学习
87 3
|
3月前
|
Linux
使用qemu来学习Linux的休眠和唤醒
使用qemu来学习Linux的休眠和唤醒
|
3月前
|
Linux
linux内核原子操作学习
linux内核原子操作学习

热门文章

最新文章