180天Linux小白到大神-Linux快速入门

2021/7/16 7:08:05

本文主要是介绍180天Linux小白到大神-Linux快速入门,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

01.Linux快速入门

01.Linux快速入门

1.计算机组成原理

1.1 什么是计算机

1.2 为什么要有计算机

1.3 计算机五大组成部分

1.3.1 CPU

1.3.2 内存/硬盘

1.3.3 输入设备

1.3.4 输出设备

1.3.5 五大组件总结

1.4 计算机三大核心硬件

1.5 操作系统基本概念

1.5.1 操作系统由来

1.5.2 什么是操作系统

1.5.3 为什么需要操作系统

2.Linux系统基本介绍

2.1 什么是Linux

2.2 Linux能从事哪些行业

2.3 Linux的薪资有多高

2.4 Linux系统发展历史

2.4.1 自动软件之父

2.4.2 Linux系统之父

2.4.3 Linux系统发行版

2.4.4 为什么使用CentOS

2.5 Linux认证是否需要考

3.Linux系统安装

3.1 安装配置VM虚拟机

3.2 安装Linux操作系统

3.3 安装Ubuntu操作系统

3.3.1 下载Ubuntu

3.3.2 选择系统语言

3.3.3 选择键盘语言

3.3.4 配置网络地址

3.3.5 调整仓库地址

3.3.6 调整分区策略

3.3.7 设定登陆用户

3.3.8 启用远程连接

3.3.9 完成系统安装

3.3 虚拟机快照技术

3.3.1 什么是快照

3.3.2 快照演示实践

3.4 虚拟机克隆技术

3.3.1 什么是克隆

3.3.1 克隆主机实践

4.Bash Shell快速入门

4.1 什么是Bash shell

4.2 Bash Shell能干什么

4.3 如何使用Bash Shell

4.4 Bash Shell提示符

4.5 Bash Shell基础语法

4.6 Bash Shell基本特性

4.6.1 补全功能tabs

4.6.2 常用快捷键ctrl

4.6.2 历史记录History

4.6.3 命令别名alias

4.6.4 帮助手册help

1.计算机组成原理

1.1 什么是计算机

计算机一般被称为”电脑“,电脑电脑,即通电的大脑;

电脑二字蕴含了人类对计算机终极的期望;

希望它能像人脑一样为我们工作,从而取代人力,并将人力解放出来;

1.2 为什么要有计算机

为什么要有计算机,或者人类为什么要造计算机?

其实是为了执行人类的程序,从而将人力解放出来;(因为人存在很多不可控因素)

所以计算机在造的时候,它每一部分的设计都是在模仿人的某个器官或功能去设计的;

1.3 计算机五大组成部分

计算机由五大组件组成,我们完全可以把计算机的五大组件比喻成人类的各种器官

控制器

运算器

存储器

输入设备 Input/I 设备

输出设备 Output/O 设备

1.3.1 CPU

控制器:

作用:是计算机的指挥系统,主要负责控制计算机其他所有

组件如何工作的;

比如:走路、跑、跳、说话都是谁在控制呢?

类比:控制器–>人类大脑;

运算器:

作用:运算及字面含义,主要包含数学运算、逻辑运算;

比如:1+1=数学运算;上车看见好看姑娘,追还是不追=逻

辑运算;

类比:运算器–>人类大脑;

小结:

其实控制器和运算器压根就不是两个硬件

控制器+运算器其实就是 CPU(芯片) --> 人类的大脑(前脑+后脑);

CPU 其他知识:

CPU 路数:服务器中有多少个CPU ;单路=1个CPU 双路=2个 CPU

CPU 核数:决定来了服务器并行(同时 )处理任务的能力;

1颗物理CPU,6个线程

CPU 超线程:所谓的超线程就是一项CPU的技术,原本CPU的核心和线程数量是对等的,利用了超线程的技术可以让一个核心对应多个线程:

i7 9700K :8核心 16线程 超线程

i7 9800X :8核心 8线程 原生

原生只能做8个核心同时工作,而超线程的能做16个核心同时工作;

超线程CPU在同一时间能够开更多的程序,能够有效的利用资源,从而提高整体的运行效率;

1.3.2 内存/硬盘

存储器/IO:

作用:负责程序数据的存取,对于计算机来说,有了存储

器,才有记忆功能;

分类:

内存:内存基于电工作,通电就可以存储数据;

优势:存取数据快;

缺点:断电数据会丢失,仅能临时存储数据;

外存:外置硬盘,基于磁工作;

优势:断电数据不会丢失,可以永久保存数据;

缺点:存取速度慢;

类比:

内存–>大脑的记忆功能(快、短期记忆);

硬盘–>随身携带小本本(慢、长期记忆);

举例:

女朋友的生日假设是(0921),我们一般记忆在哪最合适;

1.可以记忆在大脑,快速响应,但如果搬砖敲你一

下,失忆了怎么办;

2.聪明的伙伴会说我记录在小本本上,忘了看一眼,然后延迟响应(dsg);

如果女朋友问她的生日是什么时间,怎么记忆最佳:

第一步:单纯记录到脑子里可能会忘记,所以我将生

日记录到小本本上;

第二步:在女朋友每次询问我之前,将小本本拿出来

看一眼,记到脑子中;

第三步:在女朋友问我的时候,我直接从脑子记忆中提取她的生日日期即可;

敲重点:如果程序的数据要快存快取:

第一步:将应用程序存储至硬盘中,如果不用就放在那,

也不占多少空间;

第二步:一旦需要使用该程序,首先将程序存储在硬盘的数据加载到内存中;

第三步:最后CPU读取内存中的指令,进行分析和处理;从而保证程序的执行速度;

1.3.3 输入设备

输入设备Input :

作用:往计算机里面输入内容;(键盘、鼠标)

比如:眼睛看、耳朵听;

类比:输入设备–>人类的(眼、耳);

1.3.4 输出设备

输出设备Output :

作用:计算机向外输出数据的工具;(显示器、打印机)

比如:人说话,人发布文章

类比:输入设备–> xx ;

1.3.5 五大组件总结

老师讲课,学生听课,老师是程序员,学生是计算机;(学生的器官都是计算机各部分组成)

1.学生通过自己耳朵听、眼睛看,接收老师讲的知识;这个

就是–>输入

2.学生通过自己的神经、将接收的信息存入自己的短期记忆

中;这个就是–>内存

3.学生光听不行,还需要理解老师讲的知识,于是你的大脑从短期记忆里取出知识/指令,分析知识/指令,然后学习知识/执行指令 -->这就是cpu(取指、分析、执行)

4.学生通过作业、给其他学生讲解、将学到的东西表达出来-- >这就是输出

5.学生想要永久将知识保存下来,进行长期记忆、需要将内容写到本子上;–>这就是硬盘

1.4 计算机三大核心硬件

我们将五大组成部分,进一步提炼出其中的三大核心硬件:

(CPU、内存、磁盘)

因为一个程序的运行与计算机三大核心硬件存在着特定的联系;

前提:人 --通过–> 语言 --控制–> 计算机(即人)

举例:我通过语言编写一段程序,控制计算机(人)做如下几件事:

1.买烟;

2.掏钱;

3.回家;

目的:控制人的身体去运转、替我们工作;

问题1:我们编写的程序没有详细描述他应该如何工作,那到底是计算机的哪个组件下发的控制指令;

其实计算机的所有组件都受计算机的 CPU 控制;

也就是程序是直接控制大脑(CPU),由大脑(CPU)间接支配人的肉体(组件),从而实现程序支配肉体工作

问题2:如果我不想每次反复描述这件事,希望这个任务反复运行怎么办;

计算机具备存储的就是内存和硬盘;

如果直接存储在内存丢失了怎么办,难道在描述一次;所

以这个程序是需要存储在硬盘上;

也就是编写好的程序或者软件一定是存储在硬盘上的;

问题3:如果只有 CPU 和硬盘,能否将这段程序运行起来;

其实是可以运行起来的,CPU 从硬盘中取出指令进行运行即可,但是存在问题;

CPU 的速度要远高于硬盘;如果每次都需要从硬盘数据中读取一条数据,然后CPU处理一条;然后继续读取、继续处理,一直反复这个过程,那么大量的时间都会浪费在数据的读取上;

那我们该如何提升程序运行的速度呢,此时就需要内存的介入(人脑的记忆);

第一步:我们将要操作的步骤存储至磁盘(小本本);

第二步:将硬盘的数据加载进内存中(大脑的记忆); 第三步:CPU从内存中读取指令运行,效率非常高;

1.5 操作系统基本概念

1.5.1 操作系统由来

需求:

开发一个编辑工具,该软件的一个核心业务就是文本编辑,编辑内容就牵扯到要操作计算机硬件;

问题:

1.不管我们编写什么软件,最终的目的是为了控制硬件;

2.但对于计算机而言,它是死的,它不可能自行运行,所有的硬件运行都需要软件进行支配;

实现:

第一步:我们必须先开发一个 ”控制系统“ 来控制计算机的硬

件基本运行;

第二步:然后在开发编辑工具的业务功能,但凡涉及到要操作硬件,则调用控制系统;

第三步:最后由控制系统来控制计算机硬件进行运行;

1.5.2 什么是操作系统

其实前面所所的控制系统有一个更好听的名称,操作系统

Operation System, OS

1.操作系统是”应用软件“与”硬件“之间的一个桥梁;

2.同时也是一个协调、管理、“控制计算机硬件资源”、“软件资源”的一个控制程序;

1.5.3 为什么需要操作系统

1.控制计算机的基本运行;

2.将硬件的复杂操作简单化,供上层应用程序使用;

3.为用户与计算机硬件之间提供 ”图形/命令行“ 工具;

2.Linux系统基本介绍

2.1 什么是Linux

Linux 和我们常见的 Windows 一样,都是操作系统,但 linux 有两种含义;

一种是 Linus 编写的开源操作系统的内核

另一种是广义上的操作系统

Linux 与 Windows 系统不同的是;

Windows 收费,不开源,主要用于日常办公、游戏、娱乐多

一些。

Linux 免费,开源,主要用于服务器领域,性能稳定,安全,更新频次高。

例如: 淘宝、百度、腾讯等互联网公司,他们使用的服务器全都

是 Linux 系统;

2.2 Linux能从事哪些行业

具备企业服务器的基础运维能力、自动化运维,如:电商、游

戏、金融、物流、等

具备企业数据库运维、掌管公司核心命脉系统,例如:银行、金

融、电商

具备企业公有云运维的能力,如:公司使用的是阿里云、腾讯

云、等等云

具备企业企业集群架构维护,如:上百台、甚至上千台规模的架

构维护与实施

具备企业代码发布能力,如:如何快速对数百台服务器进行项目

迭代

具备企业私有云平台的构建及运维,如:构建企业私有云平台、容器平台

能够解决运维过程中出现的各种问题,如:网站访问慢排查、网站加速、数据恢复、业务扩展、等

2.3 Linux的薪资有多高

课程学完能达到什么程度,或者说拿到多少钱,建议打开拉钩、 BOSS 直聘、以及近期学员Offer

2.4 Linux系统发展历史

既然是历史,那就让他成为历史吧,因为我根本记不住历史。(因为我不是导游,不靠记历史赚钱)。

虽然历史不重要,但是还是需要了解 Linux 在发展过程中的一些重要人物

2.4.1 自动软件之父

自由软件之父 Richard M. Stallman 1984 发起了GNU 组织

GUN 组织中有几个项目:

copyleft :代表无版权。copyright :则代表有版权。

opensource :开放源代码、软件谁都可以使用、谁都可以

传播、谁都可以二次开发

free :免费

GPL :通用版权许可证协议,如果软件被打上GPL,那么任何人都可以对这个软件进行修改,但是修改完之后必须将源码发布出来,以便更好的传承下去。

总结:

Linux 中的软件百分之八十都是 GPL 提供;

自由软件运动的口号是:“团结就是力量”;

2.4.2 Linux系统之父

Linux 之父 Linus Torvalds 林纳斯.托瓦兹 1991 年 Linux 内

核;

操作系统的核心称为“内核”,但内核并不就等于操作系统;

内核提供系统服务,比如文件管理、虚拟内存、设备I/O等;还包含一些基本的程序、编译器、shell等;所以单独的Linux内核没办法工作,须要有GNU项目的众多应用程序;

其实 Linux 官方叫法是 GNU/Linux 使用 GNU 的软件加上 Linux 内核,一般简称Linux

Linux 内核网站

linux 大神在2017-06-26来到中国

2.4.3 Linux系统发行版

我们现在说的 Linux 其实都是指的是发行版 Distribution version ;就是使用 Linux 内核加上各种 GNU 的库文件、应用程序,构造而成的操作系统。

Linux发行版介绍RHEL/Centos/Ubuntu/Suse

Redhat 企业级操作系统,Linux 的内核进行编译安装相应软

件,进行专业的测试,然后进行发行;

CentOS 社区企业级操作系统,改与 Redhat 完全开源(没有售后);

Ubuntu 社区维护, 现在主要做手机系统和电脑桌面系统;

Debian 等等…

2.4.4 为什么使用CentOS

CentOS 是 Community Enterprise Operating System 的缩

表示 “社区企业操作系统”

CentOS 兼具 Community (社区)和 Enterprise (企业)的

特性

CentOS 稳定、长期支持(10年)大规模使用稳定;

2.5 Linux认证是否需要考

Linux相关认证介绍RHCSA/RHCE/RHCA

RHCE: 中级工程师 --》两个模块(片面)

RHCA:高级工程师

常见问题:老师我到底要不要考一个红帽证书,学完咱们这个 Linux 云计算课程能不能考?

3.Linux系统安装

3.1 安装配置VM虚拟机

VMware WorkStation 虚拟机软件是一款桌面计算机虚拟软件,让用户能够在单一主机上同时运行多个不同的操作系统。

3.2 安装Linux操作系统

CentOS6安装指南传送门

安装RHEL/CentOS7 系统时需要注意:您电脑的CPU 需要支持

VT(Virtualization Technology虚拟化技术) 所谓VT,指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,其本质就是通过中间层实现计算机资源的管理和再分配,让系统资源的利用率最大化

注意:如果开启虚拟机后依然提示CPU 不支持VT 技术”报错信息,请重启电脑并进入到BIOS 中把CPU 的VT 虚拟化功能开启即可。

第1步:在虚拟机管理界面中单击“开启此虚拟机”按钮后数秒就看到 RHEL 7 系统安装界面,如图1-所示。

描述 含义

Install Red Hat Enterprise Linux 7 安装Redhat
Linux7系统

Test this media & install Red Hat 校验光盘完整性后
Enterprise Linux 7 再安装

Troubleshooting 启动救援模式

第2步:接下来按回车键后开始加载安装镜像,所需时间大约在30~60秒,请耐心等待,如图1-27所示。

3.3 安装Ubuntu操作系统

3.3.1 下载Ubuntu

ubuntu 中文下载网:https://cn.ubuntu.com/

第三方镜像站点:

https://mirror.tuna.tsinghua.edu.cn/ubuntu-releases/

3.3.2 选择系统语言

一般选择中文

3.3.3 选择键盘语言

选择键盘语言为Chinese

3.3.4 配置网络地址

配置自定义网络

3.3.5 调整仓库地址

将原本国外的仓库地址修改为国内阿里云地址

http://mirror.aliyun.com

3.3.6 调整分区策略

3.3.7 设定登陆用户

ubuntu 默认拒绝root直接登陆,需要创建一个普通用户进行系统登陆

3.3.8 启用远程连接

勾选Install OpenSSH Server 否则通过远程连接服务器

3.3.9 完成系统安装

安装完成后,选择 Reboot Now 重启完成系统安装

更新源参考地址: https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/ oldxu@example:~$ sudo apt-get update

测试安装软件

oldxu@example:~$ apt-get install net-tools

3.3 虚拟机快照技术

3.3.1 什么是快照

3.3.2 快照演示实践

3.4 虚拟机克隆技术

3.3.1 什么是克隆

3.3.1 克隆主机实践

4.Bash Shell快速入门

4.1 什么是Bash shell

Bash Shell 是一个命令解释器,主要负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给内核,由内核驱动硬件,最终将处理后的结果输出至 Bash Shell 屏幕终端。

我们如何打开 Bash Shell 呢?

当我们使用远程连接工具连接 linux 服务,系统则会给打开一个默认的 shell ,我们可在这个界面执行命令、比如:获取系统当前时间,创建一个用户等等

4.2 Bash Shell能干什么

使用Shell实现对Linux系统的大部分管理,例如:

1.文件管理

2.权限管理

3.用户管理

4.磁盘管理

5.网络管理

6.软件管理

7.服务管理

8.等等.

4.3 如何使用Bash Shell

单条命令–> 效率低 -->适合少量的工作 shell脚本 --> 效率高–>适合重复性的工作

例如:创建100个用户,单纯输入命令需要执行100次,而如果使用Shell脚本则可以轻松解决;

[root@web ~]# cat useradd.sh #!/usr/bin/bash

批量创建脚本

for i in {1…100}

do

useradd alice-$i

echo “alice-$i” is create ok…

done

4.4 Bash Shell提示符

当我们打开或者登陆到一个终端的时候都会显示一长串提示符

[root@web ~]#

提示符一般包含当前登陆的用户名 ,主机名,以及当前工作路径等;

4.5 Bash Shell基础语法

bash shell 命令行,为用户提供命令输入,然后将执行结果返回给用户;

命令	选项		参数
				
command	options		parameters

命令示例如下:

[root@web ~]# ls		# 命令	
[root@web ~]# ls -a	# 命令+选项	
[root@web ~]# ls -a /home/	# 命令+选项+参数	

命令:整条 shell 命令的主体功能

选项:用于调节命令的具体功能

以 - 引导短格式选项(单个字符),例如 -a 以 – 引导长格式选项(多个字符),例如 --all

多个短格式选项可以写在一起,只用一个 - ,例如 -al 参数:命令操作的对象,如文件、目录名等

注意:命令必须开头,选项和参数位置可以发生变化

4.6 Bash Shell基本特性

4.6.1 补全功能tabs

1.命令补全:当忘记命令时,可以使用tabs进行补全;

2.目录补全:当需要查找文件目录层级比较多时,可以使用tabs快速补全,减少出错;

#查看ip时忘记具体了命令

[root@web ~]# ifcon

#按下tab键会自动补全

[root@web ~]# ifconfig

#按一下tab键没有反应, 按两下tab键列出所有if开头的命令

[root@web ~]# if

if

ifconfig

ifenslave ifrename

ifcfg

ifdown

ifnames

ifup

#linux目录较深,经常使用tab键进行补全, 如果路径出错是没有办法补全

[root@web ~]# ls /etc/sysconfig/network-scripts/

4.6.2 常用快捷键ctrl

命令快捷键,快捷键可以帮助我们大大提升工作效率 Ctrl + a :光标跳转至正在输入的命令行的首部

Ctrl + e :光标跳转至正在输入的命令行的尾部

Ctrl + c :终止前台运行的程序

Ctrl + d :在shell中,ctrl-d表示推出当前shell。

Ctrl + z :将任务暂停,挂至后台 Ctrl + l :清屏,和clear命令等效。

Ctrl + k :删除从光标到行末的所有字符

Ctrl + u :删除从光标到行首的所有字符

Ctrl + r :搜索历史命令, 利用关键字

4.6.2 历史记录History

历史记录可用于追溯系统之前执行过什么命令,造成的故障;之前发生情况

1.使用双 !! 可执行上一条执行过的命令

[root@web ~]# ls

file.txt

[root@web ~]# !!

ls

file.txt

2.输入!6 , 执行 history 命令历史中第 6 行命令

[root@web ~]# !6

touch file.txt

3.使用!cat , 调用 history 命令历史最近一次执行过的 cat 命令

[root@web ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

[root@web ~]# !cat

cat /etc/sysconfig/network-scripts/ifcfg-eth0

4.6.3 命令别名alias

命令别名将用户经常使用的复杂命令简单化, 可以用 alias 别名名称=‘命令’ 创建属于自己的命令别名,若要取消一个命令别名,则是用 unalias 别名名称;

1.定义临时别名, wk 为查看 eth0 网卡别名

[root@web ~]# alias wk=‘ifconfig’ [root@web ~]# wk

2.如果定义命令本身,会执行什么?

[root@web ~]# alias ifconfig=‘ifconfig eth0’

#绝对路径执行, 调用命令本身

[root@web ~]# /sbin/ifconfig

#通过\转义字符, 调用命令本身

[root@Web ~]# \ifconfig

3.取消别名

[root@web ~]# unalias ifconfig

4.永久生效,/etc/bashrc

[root@web ~]# echo “alias ifconfig=‘ifconfig eth0’” >> /etc/bashrc

4.6.4 帮助手册help

1.命令 --help 帮助

[root@web ~]# ls --help

用法: ls [选项]…[文件]…

2.命令 man 手册

man ls #查看ls命令的手册

  1. linux 命令大全 url 传送门

linux命令大全

linux命令手册



这篇关于180天Linux小白到大神-Linux快速入门的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程