
慕课网实战课程《Linux系统 从入门到进阶-全新版》学习笔记
第1章 【引言】走入Linux新世界
为什么要学习Linux
众多岗位必备项 所有岗位加分项
- 几乎计软件开发相关的岗位都需要掌握Linux。常见的招聘要求:
- 熟练Linux环境及Shell脚本
- 拥有2年及以上Linux下开发工作经验
- 熟悉Linux的安装、配置、调优和排障及常见配置管理和运维工具
- 几乎计软件开发相关的岗位都需要掌握Linux。常见的招聘要求:
职场小白必修课 升职加薪敲门砖
职场小白需要熟悉使用工作中用到Linux的场景技术
技术大拿需要掌握Linux的高阶知识和用法
应用场景丰富(生产测试刚需)
网站服务器、负载均衡服务器、邮件服务器、DNS服务器、代理服务器、软路由器等都需要使用到Linux
软件名称 | 应用场景 | 系统支持 |
---|---|---|
QEMU&KVM | 云计算开发底层核心 | 仅支持Linux系统 |
docker | 应用部署常用形态 | 仅支持Linux系统 |
Hadoop | 大数据开发常用软件 | 仅支持Linux系统 |
bash | 运维脚本核心编程语言 | 仅支持Linux系统 |
PyTorch/TensorFlow | 深度学习常用框架 | Linux系统支持优于Windows |
MySQL | 业务信息存储核心组件 | 常部署于Linux系统上 |
git | 常用代码版本管理工具 | 常部署于Linux系统上 |
安卓鸿蒙发源地 苹果系统亲兄弟
- 安卓和鸿蒙等操作系统,都是基于Linux系统进行开发,由Linux内核提供安全、内存管理、进程管理网络和驱动模型等功能
基于Linux系统开发了诸多软件、工具、项目
通过优秀的Linux开源项目进行学习,精进技术
利用开源项目解决实际问题,提升工作效率
创建博客系统、文件服务器、笔记系统、邮件系统等
Linux的优势 & Linux的局限
优势 | 说明 |
---|---|
开源 | 开源意味着对系统有着绝对的控制权(未知是最可怕的事情) 能够根据业务系统实际需求,进行系统裁剪和深度定制 人人都可成为开发者,为Linux系统添砖加瓦 |
免费 | 促进了Linux系统的传播和流行 |
稳定性高 | 可以数年稳定运行而无需关机或重启 |
安全性强 | 严格的权限控制 |
高性能 | 大量开发者对系统进行了多维度优化 |
跨平台支持 | 硬件支持范围广,适用处理器包括大型主机、个人电脑、嵌入式设备等 |
多用户支持 | 不同用户可以同时登录同一个系统并共用系统资源且保证安全性 |
局限性 | 说明 |
---|---|
不容易快速上手 | 有一定的使用门槛 |
发行版差异性大 | 不同的Linux发行版有较大的差异性 |
不适合玩游戏 | 游戏场景更推荐Windows系统 |
Linux学习方法
学习方法:
学习语言需要交流 学习技术需要实践
眼看干遍不如手动一遍
左屏教程,右屏Linux系统,边学边用
Linux权威教程
官方文档
- 没有人比作者更懂自己的作品,
- 任何一本单独的教程(包括本教程),都不可能像官方文档那样全面
- 性质决定了其详尽、冗长的特性,劝退入门者
- 对初学者不友好,适用于高阶问题的刨根问底
源码
- 面向高阶用户的终极法宝
课程内容概述
基于官方文档,面向入门者、初学者和进阶用户,提供准确概括的教程
基础进阶一课通
软硬件全栈覆盖
理论与实践结合
具象化课堂呈现
篇章 | 内容概述 |
---|---|
基础篇 | 介绍Linux系统的安装登渏录及基础指令 解析支撑Linux系统的各硬件子系统及其运行状态 阐述硬件评价体系和衡量办法 |
进阶篇 | 阐述Linux系统一切皆文件的核心思想 之后分别阐述介绍文本处理三剑客、文件操作、进程管理、Linux bash脚本以及运维管理 |
高阶篇 | 以Linux内存子系统和调度子系统为主要代表,用通俗易懂的语言,帮助学员深入理解Linux内核原理 并指导内核升级与编译 |
拓展篇 | 以Linux系统为基础,以新基建代表云计算技术为切入点,介绍虚拟机与容器的区别与联系 在真实环境中演示虚拟机和容器的运行 |
第2章 【基础篇】Linux基础入门
拥有一个Linux系统
- 获得一个Linux系统的机器
- 购买公有云服务器
- Windows系统安装虚拟机
- 嵌入式处理器安装Linux系统
- Windows系统安装Linux虚拟机
- 所需工具:VMware WorkStation(桌面虚拟化工具)
- 安装镜像:CentOS-8.2.2004-x86 64-dvd1.iso
- Linux安装过程(略)
SSH(远程登录)
什么是SSH
SSH,英文全称为Secure Shell Protocol(翻译为安全外壳协议)。是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境
SSH通过在网络中建立安全隧道以实现SSH客户端与服务器之间的连接,其最常见的用途就是远程登录系统,利用SSH来传输命令行界面和远程执行命令
SSH工具
PuTTY
XShell
MobaxTerm
secureCRT
SSH登录选项
- 服务器的IP地址 + 端口号(SSH默认使用的是22端口)+ [用户名 & 密码] or 秘钥
1 | 示例 |
软件仓库 & 软件包管理
软件仓库概述
软件仓库是存放软件的服务器或者网站,包含了软件包及索引文件。用户可通过包管理工具,便捷地进行Linux系统内的软件安装、卸载和更新
软件仓库之于Linux系统,类似应用商店之于安卓系统,App Store之于I0S系统
包管理工具
不同的Linux发行版有不同的包管理工具
不同的Linux发行版进行软件安装需要用到不同的指令
包管理工具 | 适用系统 | 安装软件(包) | 卸载软件(包) |
---|---|---|---|
dpkg | Ubuntu和Debian | dpkg -i package.deb |
dpkg -r package |
apt | Ubuntu和Debian | apt-get instal package |
apt-get remove package |
rpm | RHEL、CentOS | rpm -ivh package.rpm |
rpm -e package |
yum | CentOS6-8 | yum install package |
yum remove package |
dnf | RHEL8、CentOS8 | dnf install package |
dnf remove package |
- 软件仓库原理
graph LR; A([终端用户]) -- 发送指令 yum install -y tmux--> B[本地服务器Cache] --依据repository配置/etc/yum.repos.d/--> C[远程yum服务器 package]
- 用户发送yum安装指令后,首先会在本地服务器上进行査找,如果有对应的安装包且所需的依赖文件均存在,则进行安装
- 若不存在所需的安装包文件,则根据yum repository信息在远程YUM服务器上进行下载该软件包及其依赖后安装
- 若远程YUM服务器无所需的安装包,则提示无该软件
镜像源(配置)
- CentOS默认软件仓库配置为:
1 | mirrorlist=http:/mirrorlist.centosorg/?release=$releasever&arch=$basearch&repo=AppStream&infra=$infra |
首先需要访问mirrorlist.centos.org网站并解析镜像仓库,则意味着每次下载程序需要绕大半个地球。我们可以配置一个镜像源,就近下载
国内镜像源:
镜像源配置
以CentOS为例,将镜像源替换为腾讯云的方式如下:
1 | 切换文件夹路径到/etc/yum.repo.d/下(这里的.d表示directory,表示文件夹是yum repository的集合) |
Linux基础指令
1 | ls 显示指定自录下的内容(ls 是list的缩写) |
系统常用指令
1 | clear |
vim编辑器
为什么要学vi/vim
- Linux系统一切皆文件,文件编辑必不可少,
- 是大多数发行版系统自带的文本编辑器,在任何场景下都可以使用
- 无网络连接 ->无法远程登录;
- 无桌面系统 ->无法使用鼠标;
- 磁盘容量小 ->无法安装其他编辑器
vi和vim的区别
- 部分发行版预安装vi,但是未安装vim
- vim是vi的升级版,两者基础指令无差别区别
vim的三种模式
- 命令模式(Command mode)
- 插入模式(Insert mode)
- 底线命令模式(Last line mode)
命令
1 | vim [file namel # 进入vim |
- 底线命令模式
1 | 命令模式下按: 进入底线命令模式 |
- 插入模式
1 | 按i/a/o (input)可进入插入模式 |
- 命令行模式
1 | 删除相关常用命令 |
第3章 【基础篇】Linux系统的硬件基石
标题二
Reference
Remark
- tar指令还不算特别熟悉需要再深入学习
- vim 的块模式需要再熟悉一下,vim还是需要多实践,实践中遇到不会的记录下来
- 第三章好需要再看看
- top指令还需要继续深入学习呢
1 | <font color=red></font> |