Linux 是一种 自由和开放源码的类 UNIX 操作系统。

Linux 英文解释为 Linux is not Unix

Linux 是在 1991 由 林纳斯·托瓦兹 在赫尔辛基大学上学时创立的,主要受到 Minix 和 Unix 思想的启发。

本教程,我们将为大家介绍如何使用 Linux。

Linux 其实很容易学,相信你们能很快学会。

现在开始学习 Linux !


谁适合阅读?

本教程针对的是Linux服务器方面的知识,适合从事运维或后端开发的人员阅读。


需要具备的知识?

如果你熟悉操作系统方面的知识,相信你会很快学会 Linux。

本教程将于 Linux 的发行版本 Centos 为例来为大家介绍 Linux 系统的应用。


Linux 是开源的

Linux 遵循 GNU 通用公共许可证(GPL),任何个人和机构都可以自由地使用 Linux 的所有底层源代码,也可以自由地修改和再发布。

由于 Linux 是自由软件,任何人都可以创建一个符合自己需求的 Linux 发行版。

目前主流的 Linux 版本有:

  • Debian(及其派生版本Ubuntu、Linux Mint)
  • Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)
  • openSUSE

Linux 简介


Linux 内核最初只是由芬兰人林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。

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


Linux 的发行版

Linux 的发行版说简单点就是将 Linux 内核与应用软件做一个打包。

目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。


Linux 应用领域

今天各种场合都有使用各种 Linux 发行版,从嵌入式设备到超级计算机,并且在服务器领域确定了地位,通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。

目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。

  • 巴西联邦政府由于支持 Linux 而世界闻名。
  • 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。
  • 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。
  • 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。
  • 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。
  • 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。
  • 法国和德国同样开始逐步采用 Linux。

Linux vs Windows

目前国内 Linux 更多的是应用于服务器上,而桌面操作系统更多使用的是 Windows。主要区别如下

比较 Windows Linux
界面 界面统一,外壳程序固定所有 Windows 程序菜单几乎一致,快捷键也几乎相同 图形界面风格依发布版不同而不同,可能互不兼容。GNU/Linux 的终端机是从 UNIX 传承下来,基本命令和操作方法也几乎一致。
驱动程序 驱动程序丰富,版本更新频繁。默认安装程序里面一般包含有该版本发布时流行的硬件驱动程序,之后所出的新硬件驱动依赖于硬件厂商提供。对于一些老硬件,如果没有了原配的驱动有时很难支持。另外,有时硬件厂商未提供所需版本的 Windows 下的驱动,也会比较头痛。 由志愿者开发,由 Linux 核心开发小组发布,很多硬件厂商基于版权考虑并未提供驱动程序,尽管多数无需手动安装,但是涉及安装则相对复杂,使得新用户面对驱动程序问题(是否存在和安装方法)会一筹莫展。但是在开源开发模式下,许多老硬件尽管在Windows下很难支持的也容易找到驱动。HP、Intel、AMD 等硬件厂商逐步不同程度支持开源驱动,问题正在得到缓解。
使用 使用比较简单,容易入门。图形化界面对没有计算机背景知识的用户使用十分有利。 图形界面使用简单,容易入门。文字界面,需要学习才能掌握。
学习 系统构造复杂、变化频繁,且知识、技能淘汰快,深入学习困难。 系统构造简单、稳定,且知识、技能传承性好,深入学习相对容易。
软件 每一种特定功能可能都需要商业软件的支持,需要购买相应的授权。 大部分软件都可以自由获取,同样功能的软件选择较少。

Linux 教程

Linux 安装

Linux 安装

本章节我们将为大家介绍 Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用,参考各大云服务器比较。

本章节以 centos6.4 为例。

centos 下载地址:

可以去官网下载最新版本:https://www.centos.org/download/

以下针对各个版本的ISO镜像文件,进行一一说明:

  • CentOS-7.0-x86_64-DVD-1503-01.iso : 标准安装版,一般下载这个就可以了(推荐)
  • CentOS-7.0-x86_64-NetInstall-1503-01.iso : 网络安装镜像(从网络安装或者救援系统)
  • CentOS-7.0-x86_64-Everything-1503-01.iso: 对完整版安装盘的软件进行补充,集成所有软件。(包含centos7的一套完整的软件包,可以用来安装系统或者填充本地镜像)
  • CentOS-7.0-x86_64-GnomeLive-1503-01.iso: GNOME桌面版
  • CentOS-7.0-x86_64-KdeLive-1503-01.iso: KDE桌面版
  • CentOS-7.0-x86_64-livecd-1503-01.iso : 光盘上运行的系统,类拟于winpe
  • CentOS-7.0-x86_64-minimal-1503-01.iso : 精简版,自带的软件最少

**注:**建议安装64位Linux系统。

旧版本下载地址:https://wiki.centos.org/Download

接下来你需要将下载的Linux系统刻录成光盘或U盘。

**注:**你也可以在Window上安装VMware虚拟机来安装Linux系统。


Linux 安装步骤

1、首先,使用光驱或U盘或你下载的Linux ISO文件进行安装。

界面说明:

Install or upgrade an existing system 安装或升级现有的系统

install system with basic video driver 安装过程中采用基本的显卡驱动

Rescue installed system 进入系统修复模式

Boot from local drive 退出安装从硬盘启动

Memory test 内存检测

注:用联想E49安装时选择第一项安装时会出现屏幕显示异常的问题,后改用第二项安装时就没有出现问题

2、这时直接"skip"就可以了

3、出现引导界面,点击"next"

4、选中"English(English)"否则会有部分乱码问题

5、键盘布局选择"U.S.English"

6、选择"Basic Storage Devices"点击"Next"

7、询问是否忽略所有数据,新电脑安装系统选择"Yes,discard any data"

8、Hostname填写格式"英文名.姓"

9、网络设置安装图示顺序点击就可以了

10、时区可以在地图上点击,选择"shanghai"并取消System clock uses UTC前面的对勾

11、设置root的密码

12、硬盘分区,一定要按照图示点选

13、调整分区,必须要有/home这个分区,如果没有这个分区,安装部分软件会出现不能安装的问题

14、询问是否格式化分区

15、将更改写入到硬盘

16、引导程序安装位置

17、最重要的一步,也是本教程最关键的一步,也是其他教程没有提及的一步,按图示顺序点击

18、取消以下内容的所有选项

Applications

Base System

Servers

并对Desktops进行如下设置

即取消如下选项:

Desktop Debugging and Performance Tools

Desktop Platform

Remote Desktop Clients

Input Methods****中仅保留ibus-pinyin-1.3.8-1.el6.x86_64,其他的全部取消

19、选中Languages,并选中右侧的Chinese Support然后点击红色区域

20、调整完成后如下图所示

21、至此,一个最精简的桌面环境就设置完成了,

22、安装完成,重启

23、重启之后,的License Information

24、Create User

Username:填写您的英文名(不带.姓)

Full Name:填写您的英文名.姓(首字母大写)

25、“Date and Time” 选中 “Synchronize data and time over the network”

Finsh之后系统将重启

26、第一次登录,登录前不要做任何更改,这个很重要!!!登录之后紧接着退出

第二次登录,选择语言,在红色区域选择下拉小三角,选other,选中"汉语(中国)"

27、登录之后,请一定按照如下顺序点击!

至此,CentOS安装完成,如有其他问题,请随时与我联系!!

如果你使用的是 VMware,可以参考:VMware 安装 Centos7

Linux 简介

Linux 云服务器

点我分享笔记

Linux 云服务器

自己安装服务器还是麻烦了些,现在一般都推荐大家使用云服务器,比较方便,价格也不贵。

目前市场上的云服务器很多,这边比较下腾讯云跟阿里云的服务器优惠活动,现在看来腾讯云性价比会高一些。


腾讯云

腾讯云秒杀活动已开始,以下几款性价比非常高,有几款是需要抢购的,大家看好时间基本能拿到。

  • 1、1核2G 99/年、298元/3年(原价:1506/年),可以用来学习,Linux 知识对技术人员的成才非常重要。
  • 2、2核4G 3M 带宽 3 年 586(原价:3618元)。
  • 3、如果需要购置海外服务器(国内要备案),可以点击: https://curl.qcloud.com/0lBLen2D。

每个时间点都有不同的配置跟价格,具体信息,可以点击下面的图片( https://curl.qcloud.com/oyAP3jTQ)。

更高配置的秒杀活动也开始了(https://curl.qcloud.com/oyAP3jTQ):


阿里云

阿里也有一些活动,不分新老用户,可以领红包参与满减活动,续费也有专门的优惠券,有需求的也可以关注下。

具体信息,可以点击下面的图片。

限量云产品优惠

点击下列图片,查看详情:

注意:阿里云突发性能型的服务器真的只能自己学习用,如果要用对外提供服务要慎重选择,因为它性能瓶颈限制很大,不过价格便宜就是了。


腾讯云服务器使用

本章节以腾讯云服务器为例。

1、首先点击下图购买(更多服务器的配置信息见下文):

2、登陆腾讯云控制台,查看已购买的服务器:

3、在使用腾讯云服务器前,我们需要先创建一个 SSH 密钥,点击左侧的 *SSH 密钥* (使用密钥登录比密码更安全):

输入密钥名称,然后点击确定,就会自动生成一个密钥,密钥会自动下载到本地,请保存好下载的密钥,密钥文件名就是你输入的密钥名称。

4、接着我们勾选已经创建的密钥,点击 *绑定/解绑实例* 按钮,弹窗中会出现我们的 ECS 服务器,将其绑定到这个密钥即可:

5、返回实例列表,点击实例右侧的 *登录* 按钮,弹窗中点击立即登录,这是会弹出一个新的浏览器窗口,我们选择密钥登录,密钥文件就是在第三个步骤创建的:

当然你可以选择第三方客户端登录(如:SecureCRT),用户名为 ubuntu,其他系统估计略有不同,然后导入对应的 key 即可。

Linux 安装

Linux 系统启动过程

点我分享笔记

Linux 系统启动过程

linux启动时我们会看到许多启动信息。

Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段:

  • 内核的引导。
  • 运行 init。
  • 系统初始化。
  • 建立终端 。
  • 用户登录系统。

init程序的类型:

  • SysV: init, CentOS 5之前, 配置文件: /etc/inittab。
  • Upstart: init,CentOS 6, 配置文件: /etc/inittab, /etc/init/*.conf。
  • Systemd: systemd, CentOS 7,配置文件: /usr/lib/systemd/system、 /etc/systemd/system。

内核引导

当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。

操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。


运行init

init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。

init 程序首先是需要读取配置文件 /etc/inittab。

运行级别

许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。

init进程的一大任务,就是去运行这些开机启动的程序。

但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。

Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

Linux系统有7个运行级别(runlevel):

  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

系统初始化

在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。

它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

l5:5:wait:/etc/rc.d/rc 5

这一行表示以5为参数运行/etc/rc.d/rc,/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/目录下的所有的rc启动脚本,/etc/rc.d/rc5.d/目录中的这些启动脚本实际上都是一些连接文件,而不是真正的rc启动脚本,真正的rc启动脚本实际上都是放在/etc/rc.d/init.d/目录下。

而这些rc启动脚本有着类似的用法,它们一般能接受start、stop、restart、status等参数。

/etc/rc.d/rc5.d/中的rc启动脚本通常是K或S开头的连接文件,对于以 S 开头的启动脚本,将以start参数来运行。

而如果发现存在相应的脚本也存在K打头的连接,而且已经处于运行态了(以/var/lock/subsys/下的文件作为标志),则将首先以stop为参数停止这些已经启动了的守护进程,然后再重新运行。

这样做是为了保证是当init改变运行级别时,所有相关的守护进程都将重启。

至于在每个运行级中将运行哪些守护进程,用户可以通过chkconfig或setup中的"System Services"来自行设定。


建立终端

rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。

init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端:

1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

从上面可以看出在2、3、4、5的运行级别中都将以respawn方式运行mingetty程序,mingetty程序能打开终端、设置模式。

同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户将作为参数传给login程序来验证用户的身份。


用户登录系统

一般来说,用户的登录方式有三种:

  • (1)命令行登录
  • (2)ssh登录
  • (3)图形界面登录

对于运行级别为5的图形方式用户来说,他们的登录是通过一个图形化的登录界面。登录成功后可以直接进入 KDE、Gnome 等窗口管理器。

而本文主要讲的还是文本方式登录的情况:当我们看到mingetty的登录界面时,我们就可以输入用户名和密码来登录系统了。

Linux 的账号验证程序是 login,login 会接收 mingetty 传来的用户名作为用户名参数。

然后 login 会对用户名进行分析:如果用户名不是 root,且存在 /etc/nologin 文件,login 将输出 nologin 文件的内容,然后退出。

这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许 root 用户登录,如果不存在这个文件,则 root 用户可以在任何终端上登录。

/etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。


图形模式与文字模式的切换方式

Linux预设提供了六个命令窗口终端机让我们来登录。

默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 来切换它们。

如果你安装了图形界面,默认情况下是进入图形界面的,此时你就可以按Ctrl + Alt + F1 ~ F6来进入其中一个命令窗口界面。

当你进入命令窗口界面后再返回图形界面只要按下Ctrl + Alt + F7 就回来了。

如果你用的vmware 虚拟机,命令窗口切换的快捷键为 Alt + Space + F1~F6. 如果你在图形界面下请按Alt + Shift + Ctrl + F1~F6 切换至命令窗口。


Linux 关机

在linux领域内大多用在服务器上,很少遇到关机的操作。毕竟服务器上跑一个服务是永无止境的,除非特殊情况下,不得已才会关机。

正确的关机流程为:sync > shutdown > reboot > halt

关机指令为:shutdown ,你可以man shutdown 来看一下帮助文档。

例如你可以运行如下命令关机:

sync 将数据由内存同步到硬盘中。shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。shutdown –h now 立马关机shutdown –h 20:25 系统会在今天20:25关机shutdown –h +10 十分钟后关机shutdown –r now 系统立马重启shutdown –r +10 系统十分钟后重启reboot 就是重启,等同于 shutdown –r nowhalt 关闭系统,等同于shutdown –h now 和 poweroff

最后总结一下,不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

关机的命令有 shutdown –h now halt poweroffinit 0 , 重启系统的命令有 shutdown –r now reboot init 6


参考文章:

  • http://www.ruanyifeng.com/blog/2013/08/linux_boot_process.html

菜鸟 Linux系统学习1简介 安装 云服务器 启动过程相关推荐

  1. linux系统从开机到登陆界面的启动过程

    简述: 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动minge ...

  2. 描述linux系统从开机到登陆界面的启动过程

    简述: 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动minge ...

  3. LINUX系统下ORACLE19C客户端安装步骤

    LINUX系统下ORACLE19C客户端安装步骤 服务器系统版本:CentOS 7.4 Oracle客户端安装包(19C版本)下载地址: Instant Client for Linux x86-64 ...

  4. 优惠的服务器系统托管,全托管模式云服务器

    全托管模式云服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 使用云服务器 ...

  5. linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

  6. 云服务器liunx系统怎么安装,云服务器怎么安装linux系统

    云服务器怎么安装linux系统 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  7. 【安装】Linux系统(X64)安装Oracle 11g

    [安装]Linux系统(X64)安装Oracle 11g 一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.con ...

  8. 如何系统的学习linux 系统学习Linux的十一点建议

    linux太难用了!(一通鼠标点击,进入/etc) 学习linux,你忘记windows的思维方式了吗? 怎么安装软件阿?那一堆文件是干什么的阿? 学习linux,你还在浮躁吗? 进入linux,随便 ...

  9. linux的软件包是独立的,Linux系统下软件包的安装

    (以下内容是云课堂Linux课程的笔记,个人纯手工记录,课程以RedHat系列为主) Linux系统下软件包的安装方式包括:源代码安装.本地二进制包安装(rpm命令手工安装).在线二进制包安装(yum ...

最新文章

  1. 多传感器融合:自动驾驶(上)
  2. SAP MM 不常用事务代码之MB59
  3. linux定时运行命令脚本——crontab
  4. linux服务器性能监控命令汇总之iostat命令(三)
  5. 第六章 6.1 6.2 无限脉冲响应滤波器
  6. 通过console口连接交换机
  7. php input file ajax,jquery ajax put file, php save file
  8. GDCM:SCU功能的测试程序
  9. java 修饰_Java 修饰符
  10. 傲游浏览器linux傲游源,Ubuntu下安装遨游浏览器
  11. STM32F1开发指南笔记20----数码管驱动芯片TM1640解析
  12. java 圣思园视频资源
  13. Delphi外挂制作
  14. 【CANdelaStudio编辑CDD】-0.3-CDD中Fault Memory里DTC Column与Autosar Dem对应关系
  15. I love you
  16. AC/DC 电源适配器拆解
  17. UnicodeEncodeError: ‘charmap‘ codec can‘t encode characters in position 0-1: character maps to <unde
  18. 【美团 技术篇】美团推荐算法实践
  19. 蓝桥杯-填空题Ctrl+F
  20. node 简介及安装

热门文章

  1. 十年匠心,让国漫精致到羽翼丰满!《老鹰抓小鸡》幕后制作分享
  2. 详细分析本机号码一键登录原理!建议收藏
  3. python自学第13天之基础数据类型知识点补充
  4. 康复期需注意什么?一组手账告诉你
  5. 关于软件测试的基础认知分享
  6. 启动Activity的流程(Launcher中点击图标启动)
  7. CSDN回帖得分大全 近两年
  8. PS常用案例步骤详解,自学 Photoshop 2022 Mac版——笔记 3实战PS做练习题
  9. android studio 显示view树_Android手势分发和嵌套滚动机制
  10. ssm+jsp计算机毕业设计车辆违章查询系统2hie7(程序+LW+源码+远程部署)