携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第二十九天,点击查看活动详情 >>
01 Linux 介绍
1.1 Linux 的应用领域
1.1.1个人桌面领域的应用
此领域是传统 linux 应用薄弱的环节,近些年来随着 ubuntu、fedora [fɪˈdɔ:rə] 等优秀桌面环境的兴起,linux 在个人桌面领域的占有率在逐渐的提高。
1.2 服务器领域
linux 在服务器领域的应用是最强的。
linux 免费、稳定、高效等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛(c/c++/php/java/python/go)。
1.3 嵌入式领域
linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点, 使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。
02 Linux 入门
2.1 Linux 介绍
2.1.1 概述
- linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多企业级的项目(c/c++/php/python/java/go)都会部署到 Linux/unix 系统上。
- 常见的操作系统 windows、IOS、Android、MacOS, Linux, Unix
- Linux 吉祥物 tux
-
Linus Torvalds
-
Linux 之父
-
Git 创作者
-
世界著名黑客
-
-
Linux 主要的发行版:
Ubuntu(乌班图)、RedHat(红帽)、CentOS、Debain[蝶变]、Fedora、SuSE、OpenSUSE
2.2 Linux 和 Unix 的关系
2.2.1 unix 是怎么来的
2.2.2 Linux 是怎么来的
2.2.3 Linux 和 Unix 关系图
03 VM 和 Linux 的安装
3.1 安装 vm 和 Centos
3.1.1基本说明
学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 Centos 系统来学习
- 先安装 virtual machine 16
- 再安装 Linux (CentOS 7.6/centOS8.1)
- 原理示意图
3.2 vmware16下载
一定要下载16。15.5版本与win11不兼容,一启动虚拟机就蓝屏重启
百度网盘 链接:pan.baidu.com/s/1PaMDT8II…
vmware官网(推荐) 首页:www.vmware.com 下载链接:www.vmware.com/cn/products…
3.3 VM 安装的步骤
-
去 BIOS 里修改设置开启虚拟化设备支持(f2, f10)
-
安装虚拟机软件(vm15.5)(在 BIOS 开启 CPU 虚拟化支持)
3.4 Centos 下载地址
- CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G (目前主流的生产环境) http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
- CentOS-8.1.1911-x86_64-dvd1.iso CentOS 8.1 DVD 版 8G ( 未 来 的 主 流 .) https://mirrors.aliyun.com/centos/8.1.1911/isos/x86_64/CentOS-8.1.1911-x86_64-dvd1.iso
3.5 CentOS 安装的步骤
- 创建虚拟机 [演示]
- 开始安装系统(CentOS7.6)的步骤 提示生成复杂密码:suijimimashengcheng.51240.com/
- CentOS 安装难点-网络连接方式理解
3.6 安装虚拟机和CentOS 的练习
学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 Centos 系统来学习。
3.7 虚拟机克隆
如果你已经安装了一台 linux 操作系统,你还想再更多的,没有必要再重新安装,你只需要克隆就可以。
方式 1:直接拷贝一份安装好的虚拟机文件
方式 2:使用 vmware 的克隆操作,注意, 克隆时,需要先关闭 linux 系统
3.8 虚拟机快照
如果你在使用虚拟机系统的时候(比如 linux),你想回到原先的某一个状态,也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行的状态,vmware 也提供了这样的功能,就叫快照管理 。
3.8.1应用实例
- 安装好系统以后,先做一个快照 A
- 进入到系统。创建一个文件夹,再保存一个快照 B
- 回到系统刚刚安装好的状态 , 即 快照 A
- 试试看,是否还能再次回到快照 B
- 示意图
3.9 虚拟机迁移和删除
虚拟系统安装好了,它的本质就是文件(放在文件夹的)。因此虚拟系统的迁移很方便,你可以把安装好的虚拟系统这个文件夹整体拷贝或者剪切到另外位置使用。删除也很简单,用 vmware 进行移除,再点击菜单->从磁盘删除即可,或者直接手动删除虚拟系统对应的文件夹即可。
3.10 安装 vmtools
3.10.1 介绍
- vmtools 安装后,可以让我们在 windows 下更好的管理 vm 虚拟机
- 可以设置 windows 和 centos 的共享文件夹
- 示意图
3.10.2 安装vmtools 的步骤
- 进入 centos
- 点击 vm 菜单的->install vmware tools
- centos 会出现一个 vm 的安装包, xx.tar.gz
- 拷贝到 /opt
- 使用解压命令 tar, 得到一个安装文件cd /opt [进入到 opt 目录] tar -zxvf xx.tar.gz
- 进入该 vm 解压的目录 , /opt 目录下cd vmware...
- 安装 ./vmware-install.pl
- 全部使用默认设置即可, 就可以安装成功
- 注意:安装 vmtools 需要有 gcc . gcc -v
- 示意图
3.10.3 设置共享文件夹
-
基本介绍
为了方便,可以设置一个共享文件夹,比如 d:/myshare
-
具体步骤
-
菜单->vm->setting, 如图设置即可注意:设置选项为 always enable ,这样可以读写了
-
windows 和 centos 可共享 d:/myshare 目录可以读写文件了
-
共享文件夹在 centos 的 /mnt/hgfs/ 下
-
注意事项和细节说明
-
windows 和 contos 就可以共享文件了,但是在实际开发中,文件的上传下载是需要使用 远程方式完成的
-
远程方式登录
-
04 目录结构
4.1 Linux 目录结构
4.1.1基本介绍
- linux 的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
- 深刻理解 linux 树状文件目录是非常重要的,这里我给大家说明一下。
- 记住一句经典的话:在 Linux 世界里,一切皆文件(!!)
- 示意图
4.2 具体的目录结构(不用背,知道即可)
-
/bin [常用]
(/usr/bin 、 /usr/local/bin)是 Binary 的缩写, 这个目录存放着最经常使用的命令
-
/sbin
(/usr/sbin 、 /usr/local/sbin)s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序。
-
/home [常用]
存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名
-
/root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录
-
/lib
系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库
-
/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
-
/etc [常用]
所有的系统管理所需要的配置文件和子目录, 比如安装 mysql 数据库 my.conf
-
/usr [常用]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录。
-
/boot [常用]
存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
-
/proc [不能动]
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息
-
/srv [不能动]
service 缩写,该目录存放一些服务启动之后需要提取的数据
-
/sys [不能动]
这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs =》【别动】
-
/tmp
这个目录是用来存放一些临时文件的
-
/dev
类似于 windows 的设备管理器,把所有的硬件用文件的形式存储
-
/media [常用]
linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下
-
/mnt [常用]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就 可以查看里的内容了。 d:/myshare
-
/opt
这是给主机额外安装软件所存放的目录。如安装 ORACLE 数据库就可放到该目录下。默认为空
-
/usr/local [常用]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序
-
/var [常用]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件
-
/selinux
[security-enhanced linux]SELinux 是一种安全子系统,它能控制程序只能访问特定文件, 有三种工作模式,可以自行设置.
05 远程登录到 Linux 服务器
5.1 为什么需要远程登录Linux
5.1.1 说明: 公司开发时候, 具体的应用场景是这样的
-
linux 服务器是开发小组共享
-
正式上线的项目是运行在公网
-
因此程序员需要远程登录到 Linux 进行项目管理或者开发
-
画出简单的网络拓扑示意图(帮助理解)
-
远程登录客户端有 Xshell6, Xftp6 , 我们学习使用 Xshell 和 Xftp6 , 其它的远程工具大同小异
-
示意图
5.2 远程登录Linux-Xshell6
5.2.1 介绍
-
说明: Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题, 是目前程序员首选的软件。
-
Xshell 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。
-
Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的
5.3 下载-安装-配置和使用:
下载 free-for-home-school 版本
地址: www.xshell.com/zh/free-for…
5.4 远程上传下载文件-Xftp6
5.4.1 介绍
是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。使用了 Xftp 以后,windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件。
5.4.2 Xftp6 安装配置和使用
5.4.3 细节讨论
如何处理 Xftp 中文乱码问题
5.5 Xftp6 和 XShell6 的使用
5.5.1 练习要求
- 通过 Xftp6 软件可以连接到 linux ,并传输一个文件(比如图片)到 /root 目录
- 使用 xshell6 可以连接到 linux ,并且可以重新启动一把 linux 系统 , 提示: reboot
06 Vi 和 Vim 编辑器
6.1 vi 和 vim 的基本介绍
Linux 系统会内置 vi 文本编辑器
Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
6.2 vi 和 vim 常用的三种模式
6.2.1 正常模式
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。
6.2.2 插入模式
按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可.
6.2.3 命令行模式
输入 esc 再输入:在这个模式当中, 可以提供你相关指令,完成读取、存盘、替换、离开 vim 、显示行号等的动作则是在此模式中达成的!
6.3 vi 和 vim 基本使用
使用 vim 开发一个 Hello.java 程序, 保存.步骤说明和演示
6.4 各种模式的相互切换
6.5 vi 和 vim 快捷键
6.5.1 快捷键使用练习
- 拷贝当前行 yy , 拷贝当前行向下的 5 行 5yy,并粘贴(输入 p)。
- 删除当前行 dd , 删除当前行向下的 5 行 5dd
- 在文件中查找某个单词 [命令行下 /关键字 , 回车 查找 , 输入 n 就是查找下一个 ]
- 设置文件的行号,取消文件的行号.[命令行下 : set nu 和 :set nonu]
- 编辑 /etc/profile 文件,在一般模式下, 使用快捷键到该文档的最末行[G]和最首行[gg]
- 在一个文件中输入 "hello" ,在一般模式下, 然后又撤销这个动作 u
- 编辑 /etc/profile 文件,在一般模式下, 并将光标移动到 , 输入 20,再输入 shift+g
- 更多的看整理的文档
- 快捷键的键盘对应图
07 开机、重启和用户登录注销
7.1 关机&重启命令
7.1.1 基本介绍
- shutdown –h now 立该进行关机
- shudown -h 1 "hello, 1 分钟后会关机了"
- shutdown –r now 现在重新启动计算机
- halt 关机,作用和上面一样.
- reboot 现在重新启动计算机
- sync 把内存的数据同步到磁盘.
7.1.2 注意细节
- 不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中
- 目前的 shutdown/reboot/halt 等命令均已经在关机前进行了 sync
7.2 用户登录和注销
7.2.1 基本介绍
- 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
- 在提示符下输入 logout 即可注销用户
7.2.2 使用细节
- logout 注销指令在图形运行级别无效,在运行级别 3 下有效. 该进行关机
- shudown -h 1 "hello, 1 分钟后会关机了"
- shutdown –r now 现在重新启动计算机
- halt 关机,作用和上面一样.
- reboot 现在重新启动计算机
- sync 把内存的数据同步到磁盘.
7.1.2 注意细节
- 不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中
- 目前的 shutdown/reboot/halt 等命令均已经在关机前进行了 sync
7.2 用户登录和注销
7.2.1 基本介绍
- 登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
- 在提示符下输入 logout 即可注销用户
7.2.2 使用细节
- logout 注销指令在图形运行级别无效,在运行级别 3 下有效.
- 运行级别这个概念,后面给大家介绍