操作系统教程"/>
Linux操作系统教程
目 录
- 1 Linux概述
- 1.1 操作系统
- 1.2 Linux前身-Unix
- 1.3 Linux介绍
- 1.4 Linux组成
- 1.5 常见版本及介绍
- 1.6 Linux目录结构(了解)
- 2 软件安装与使用
- 2.1 安装 VMware虚拟机软件
- 2.1.1 运行
- 2.1.2 安装向导
- 2.1.3 同意许可
- 2.1.4 选择安装目录
- 2.1.5 用户体验设置
- 2.1.6 快捷方式
- 2.1.7 安装
- 2.1.8 成功
- 2.1.9 添加许可
- 2.2 配置虚拟机
- 2.2.1 新建虚拟机
- 2.2.2 类型配置
- 2.2.3 虚拟文件版本(兼容性)
- 2.2.4 选择镜像文件(ISO文件)
- 2.2.5 选择操作系统类型
- 2.2.6 虚拟机存放位置
- 2.2.7 处理器配置(默认)
- 2.2.8 内存大小
- 2.2.9 网络类型(默认)
- 2.2.10 IO控制器类型(默认)
- 2.2.11 磁盘类型(默认)
- 2.2.12 选择磁盘
- 2.2.13 磁盘大小:50G
- 2.2.14 磁盘内容存放方式(默认)
- 2.2.15 概览,完成
- 2.2.16 配置结果
- 2.3 配置虚拟机常见问题
- 2.3.1 问题1:VMware版本问题
- 2.3.2 问题2:计算机虚拟化禁用了
- 2.3.3 问题3:虚拟机被移动
- 2.3.4 问题4:不支持CPUID错误
- 2.3.5 问题5:第一次使用虚拟机
- 2.3.6 问题6:权限不足
- 2.3.7 问题7:计算机配置问题
- 2.3.8 问题8:ISO文件损坏或丢失
- 2.3.9 问题9:句柄无效
- 2.4 设置ISO镜像
- 2.4.1 设置或编辑
- 2.4.2 配置光驱(DVD)
- 2.4.3 虚拟机快捷键设置
- 2.4.4 启动虚拟机
- 2.5 配置CentOS 7
- 2.5.1 安装需注意
- 2.5.2 选择安装项
- 2.5.3 选择语言
- 2.5.4 安装信息摘要
- 2.5.5 安装并设置root密码
- 2.5.6 重启并使用
- 2.5.7 登录
- 2.5.8 网络配置问题
- 2.5.8.1 不显示ip地址
- 2.5.8.2 网络设置(CRT连接超时)
- 2.6 设置快照
- 2.6.1 快照管理
- 2.6.2 设置快照
- 2.6.3 创建快照完成
- 2.7 虚拟网卡不显示
- 2.8 SSH工具:MobaXterm
- 2.8.1 下载
- 2.8.2 安装
- 2.8.3 连接
- 2.8.4 上传&下载
- 2.8.5 常见配置
- 3 常用命令
- 3.1 基本命令
- 3.2 组合命令
- 3.2.1 重定向输出 >、>>
- 3.2.2 管道 |
- 3.2.3 逻辑控制&&
- 3.3 查看操作
- 3.3.1 文本过滤 grep
- 3.3.2、查找 find
- 3.3.3 cat命令
- 3.3.4 查看更多 more、less
- 3.3.5 目录内容 ls
- 3.3.6 动态查看 tail
- 3.4 目录操作
- 3.4.1 切换目录 cd
- 3.4.2 创建目录 mkdir
- 3.4.3 查看当前目录 pwd
- 3.5 文件操作
- 3.5.1 目录和文件的区别
- 3.5.2 创建文件 touch
- 3.6 移动操作
- 3.6.1 移动 mv
- 3.6.2 复制 cp
- 3.6.3 删除 rm
- 3.7 解压与压缩操作
- 3.8 编辑vi 或 vim 命令
- 3.8.1 vi基本概念
- 3.8.2 安装vim
- 3.8.3 插入
- 3.8.4 复制和粘贴
- 3.8.5 定位
- 3.8.6 删除
- 3.8.7 替换和取消命令
- 3.8.8 退出编辑
- 3.9 软件安装
- 3.9.1 rpm安装(离线安装)
- 3.9.2 yum安装(在线安装)
- 3.10 权限管理
- 3.11 进程管理
- 3.11.1 ps 指令
- 3.11.2 top指令
- 3.11.3 kill指令
- 3.11.4 工作管理(了解)
- 3.12 防火墙操作
- 3.12.1 防火墙基本操作
- 3.12.2 端口操作
- 3.13 其他命令
- 3.13.1 scp命令
- 3.13.2 版本号
- 4 网络配置
- 4.1 虚拟机的三种网络连接方式
- 4.1.1 Bridged桥接模式
- 4.1.2 Host-only仅主机模式
- 4.1.3 NAT模式
- 4.1.4 网卡配置文件
- 4.2 自动重启
- 4.3 静态IP
- 4.4 配置DNS
- 4.5 常用指令
- 4.5.1 ip指令
- 4.5.2 ping指令
- 4.5.3 ss指令
- 5 软件安装
- 5.1 JDK安装
- 5.2 MySQL安装
- 5.3 使用Tomcat
- 5.4 使用Redis
- 5.4.1 安装
- 5.4.2 启动
- 5.4.3 停止
- 5.4.4 连接
- 5.4.5 window redis安装
- 5.4.6 注册服务
- 5.5 使用RabbitMQ
- 5.6 使用ActiveMQ
- 5.6.1 安装
- 5.6.2 启动
- 5.6.3 使用
- 5.6.4 程序访问
- 后记
1 Linux概述
1.1 操作系统
- 常见操作系统有:Windows、MacOS、Linux。
名称 | 描述 |
---|---|
Windows | 微软公司研发的收费操作系统。分为两类:用户操作系统、Server操作系统。 用户操作系统:win 95、win 98、win NT、win Me、win xp、vista、win7、win8、win10。 Server系统:win server 2003、win server 2008、win server 2012、win server 2016。 |
MacOS | 由苹果公司开发的一款收费(变相收费,买电脑送系统)操作系统。 该系统从终端角度来看分为:watch OS、IOS、MacOS。 优点:底层优化实现的很好、安全性要更加高点 |
Linux | 目前全球使用量最多的服务器操作系统。其体系很强大,其分支有很多。 主要的分支有:RedHat(红帽)、Debian、乌班图、CentOS等等。 其在世界范围最大的使用分支是安卓Android |
-
各操作系统的特点
- Windows属于:单用户、多任务操作系统。
- Linux属于:多用户、多任务操作系统
-
名词解释
- 单用户:一个用户,操作系统允许同时登录一个用户
- 单任务:一个任务,允许用户同时进行的操作任务数量
- 多用户:多个用户,操作系统允许同时登录多个用户进行操作
- 多任务:多个任务,允许用户同时进行多个操作任务;
- 操作系统在计算整体架构中的位置
1.2 Linux前身-Unix
在60年代末,分时系统Multics被设计。
1969年,K.Thompson在Multics系统的基础上,在小型计算机上开发UNIX系统,后于1970年投入运行。(1970被称为Unix元年,时间戳1970.1.1 00:00:00)
1973年,用C语言重写Unix,解决了程序的移植问题。
-
Unix是一个强大的多用户、多任务操作系统。
-
UNIX的商标权由国际开放标准组织(The Open Group)所拥有。
-
UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。不过UNIX有免费版的,例如:NetBSD等类似UNIX版本。
1.3 Linux介绍
Linux的开发作者,Linux之父,李纳斯·托瓦兹。Linux诞生时是荷兰在校大学生。
1991年0.0.1版本,使用Unix时,对系统底层进行修改,并上传学校网站Linus’s Unix,网络管理觉得名字不好记,改名称Linux
1992年 0.0.2版本
1994年 1.0版本
2003年 2.6版本
上述所提及的版本号并不是分支版本,而是指Linux的内核版本。
-
Linux是一套免费使用和自由传播的类Unix操作系统,可以任意修改其源代码。
-
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
-
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
-
Linux的特点:它是多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能.
-
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。
1.4 Linux组成
- Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序
-
内核(kernel):是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux内核网址: -
Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行,是一个命令解释器.它不仅使命令解释器,而且还是高级编程语言,shell编程.
-
文件系统(File Systems):是文件存放在磁盘等存储设备上的组织方法。
Linux系统能支持多种目前流行的文件系统,如EXT2、 EXT3、 FAT、 FAT32、 VFAT和ISO9660。 -
应用程序:标准的Linux系统一般都有一套应用程序。
它包括文本编辑器、编程语言、X Window、办公套件、Internet工具和数据库等
1.5 常见版本及介绍
- RedHat Linux
Red Hat领导着Linux的开发、部署和经营,从嵌入式设备到安全网页服务器,它都是用开源软件作为Internet基础设施解决方案的领头羊。
Red Hat解决方案包括Red Hat Linux、开发人员和嵌入式技术,以及培训、管理和技术支持。
- Ubuntu
Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统。
Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。
为桌面虚拟化提供支持平台
- CentOS
CentOS 是Linux发行版之一。
由Red Hat Enterprise Linux提供的源代码编译而成。很多公司使用CentOS替代商业版RedHat Linux。
RedHat 和CentOS差别不大,Red Hat Linux 和Centos系统是免费的。
Red Hat Linux 服务是收费的,比如免费版本不支持在线升级
Centos每个版本服务都是免费的.
1.6 Linux目录结构(了解)
目录名称 | 描述 |
---|---|
/ | 根目录,一般根目录下只存放目录,不要存放文件。 |
/bin (binaries) | 存放二进制可执行文件. 如常用的命令ls、tar、mv、cat等 |
/boot | 放置linux系统启动时用到的一些文件 |
/dev (devices) | 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备 |
/etc (etcetera) | 系统配置文件存放的目录。 |
/home | 系统默认的用户目录。新增用户时,每一个用户对应的目录都存在带改目录中。 ~表示当前用户的家目录 |
/lib (library) | 系统使用的函数库的目录 |
/root | 系统管理员root的家目录 |
/sbin (super user binaries) | 放置系统管理员使用的可执行命令。(/usr/sbin: /usr/local/sbin) |
/usr (unix shared resources) | 应用程序存放目录 /usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件 |
/var:(variable) | 放置系统执行过程中经常变化的文件 如:/var/log随时更改的日志文件,/var/run: 程序或服务启动 |
/opt | 给主机额外安装软件所摆放的目录 |
/tmp:(temporary) | 一般用户或正在执行的程序临时存放文件的目录 |
/srv | 服务启动之后需要访问的数据目录 |
/proc | 此目录的数据都在内存中,如系统核心,外部设备,网络状态 |
2 软件安装与使用
2.1 安装 VMware虚拟机软件
2.1.1 运行
- VMware-workstation-full-16.2.3-19376536.exe
2.1.2 安装向导
2.1.3 同意许可
2.1.4 选择安装目录
2.1.5 用户体验设置
2.1.6 快捷方式
2.1.7 安装
2.1.8 成功
2.1.9 添加许可
- 点击完成前,点击“许可证”,输入许可证密钥
- 点击“完成”,退出安装向导
- 验证是否已激活
2.2 配置虚拟机
2.2.1 新建虚拟机
2.2.2 类型配置
2.2.3 虚拟文件版本(兼容性)
2.2.4 选择镜像文件(ISO文件)
2.2.5 选择操作系统类型
- 选择安装“Linux”系统,使用版本是“CentOS 64位”
2.2.6 虚拟机存放位置
2.2.7 处理器配置(默认)
2.2.8 内存大小
2.2.9 网络类型(默认)
- 网络类型分为三种:桥接模式、网络地址转换(NAT)模式、仅主机模式
- 桥接模式(Bridged):桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。
- 特点:
-
- 主机和虚拟机使用相同IP段(192.168.1.*)
-
- 多用户的主机和虚拟机之间可以相互访问
- 桥接模式(Bridged):桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。
- NAT模式(Network Address Translation网络地址转换):NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网
- 特点:
-
- 虚拟机通过虚拟设备上网的,在整个主机网络中不存在。
-
- 张三的虚拟机只能识别张三主机,也就是不能访问李四的主机和虚拟机。
-
- 特点:
- 仅主机模式(Host-Only):其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。
- 特点:默认情况下,虚拟机只能与主机通信,不能上网。
- 特点:默认情况下,虚拟机只能与主机通信,不能上网。
2.2.10 IO控制器类型(默认)
2.2.11 磁盘类型(默认)
2.2.12 选择磁盘
2.2.13 磁盘大小:50G
2.2.14 磁盘内容存放方式(默认)
2.2.15 概览,完成
2.2.16 配置结果
2.3 配置虚拟机常见问题
2.3.1 问题1:VMware版本问题
- 解决思路1:安装 VMware 16版本【推荐】
- 解决思路2:卸载相关更新
-
- 打开控制面板,win+R键,输入control 回车
-
- 点击“程序和功能”
-
- 点击“查看已安装的更新”
- 点击“查看已安装的更新”
-
- 卸载2019年10月7号之后的相关更新(暂不能确定那个,且Home版系统不能卸载)
- 卸载2019年10月7号之后的相关更新(暂不能确定那个,且Home版系统不能卸载)
-
2.3.2 问题2:计算机虚拟化禁用了
-
注意:不同电脑的BIOS设置不同,找“Intel Virtualization Technology”相关资源即可。
-
步骤一:电脑重启时,进入bios中(可能按键:F2、F8、F12、Delete )
-
步骤二:选择advanced选项卡,选择CPU setup,按enter键进入
- 步骤三:开启虚拟化,选择Intel Virtualization Technology,修改成“Enabled”
- 步骤四:保存并退出(F10)
2.3.3 问题3:虚拟机被移动
- 点击“我已复制该虚拟机”
2.3.4 问题4:不支持CPUID错误
- 先“确定”,再“放弃”
2.3.5 问题5:第一次使用虚拟机
- 勾选复选框,点击确定
2.3.6 问题6:权限不足
- 以管理员运行”VMware Workstation
2.3.7 问题7:计算机配置问题
- 解决方案:去bios中开启“虚拟化”支持。
2.3.8 问题8:ISO文件损坏或丢失
-
损坏的解决方案:重新拷贝一份ISO文件。
-
丢失的解决方案:在启动前,请先配置ISO文件
2.3.9 问题9:句柄无效
- 步骤一:查询虚拟机存放的位置
- 步骤二:已记事本打开 CentOS7.vmx文件
用编辑器打开,找到vmci0.present = “TRUE”一项: 将TRUE修改成FALSE
- 步骤三:使用快照
2.4 设置ISO镜像
2.4.1 设置或编辑
- 右键/设置。或 点击“CentOS 64 位”,右侧编辑
2.4.2 配置光驱(DVD)
- “虚拟机设置”/“硬件”/“CD/DVD”,设置镜像文件
2.4.3 虚拟机快捷键设置
- 鼠标点击进入虚拟机,通过快捷键退出。
2.4.4 启动虚拟机
2.5 配置CentOS 7
2.5.1 安装需注意
- 如果出现类似提示,勾选复选框,并点击确定。
2.5.2 选择安装项
- 选择开始安装后,需等待….
2.5.3 选择语言
2.5.4 安装信息摘要
- 大部分采用默认项
- 设置自动分区
- 网络设置
2.5.5 安装并设置root密码
- 安装中,需设置root密码
- 点击进行root密码的设置
- 设置密码(如果密码过于简单,需要点击两次“完成”按钮)
2.5.6 重启并使用
2.5.7 登录
2.5.8 网络配置问题
- 解决思路1:主机(自己电脑)虚拟网卡关闭
- 解决思路2:
原来是安装虚拟机的时候选择Linux 系统CentOS 时没选择64位(我ISO文件是64位CentOS)以至于安装好后没有网卡驱动!
- 解决思路3:主机服务关闭了
2.5.8.1 不显示ip地址
- 解决方案
- 步骤1:忽略安装过程中的网络设置,继续安装操作系统(登录成功后,通过ip addr查看无法显示IPv4的ip地址的)
- 步骤2:输入以下命令,可以显示ip地址。
dhclient
2.5.8.2 网络设置(CRT连接超时)
-
方案1:先检查IP地址是否正确
-
方案2:修改网络连接方式
-
重启虚拟机
reboot
2.6 设置快照
2.6.1 快照管理
2.6.2 设置快照
2.6.3 创建快照完成
2.7 虚拟网卡不显示
- 希望效果:拥有VMnet1和VMnet8 2个虚拟网卡
- 解决方案
-
步骤1:在“服务”中启动以下2个服务
-
步骤2:以管理员运行VMware
-
2.8 SSH工具:MobaXterm
2.8.1 下载
.html
2.8.2 安装
- 欢迎页面
- 同意许可
- 确定安装位置
- 开始安装
- 操作系统确认安装
- 完成安装
2.8.3 连接
- 点击“Session”,选择SSH连接,填写连接的基本信息(主机地址、账号等)
- 输入连接密码
- 保存密码(第一次登录),点击“Yes”
- 设置MobaXterm主密码,用于对“链接密码”进行加密,如果不设置,“连接密码”无法保存。
- 主密码要求最少7个字符
- 主密码要求最少7个字符
2.8.4 上传&下载
- 上传
- 下载
2.8.5 常见配置
- 终端同步
- 密码管理
- 终端右键操作(第一次)
- 取消终端右键粘贴
3 常用命令
3.1 基本命令
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
clear | 清除屏幕上的内容 | ||
exit | 退出登录状态 | ||
reboot | 重启 | ||
shutdown | 主要用来关机 | shutdown -h now |
3.2 组合命令
3.2.1 重定向输出 >、>>
> : 覆盖输出
>> :追加输出
ping 127.0.0.1 >> ip.txt &
3.2.2 管道 |
- 将一个命令的输出内容作为另一个命令的输入
ls –-help | more
3.2.3 逻辑控制&&
-
命令之间使用$$连接,实现类似逻辑与的功能。
-
只有在&&左边的命令运行成功时,右边的命令才会被执行。
3.3 查看操作
3.3.1 文本过滤 grep
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
grep | 用于过滤/搜索的特定字符 (Global Regular Expression Print) | -c | 符号条件记录数 |
-n | 符合行的列数编号 | ||
-i | 忽略字符大小写的差别 | ||
-A | 是显示匹配后和它后面的n行。 | ||
-B | 是显示匹配行和它前面的n行。 | ||
-C | 是匹配行和它前后各n行。 |
- grep格式1:其他命令 | grep –i 查询条件
ll /etc/ | grep -I sys
- grep格式2:grep –i 查询条件 文件路径
grep -i create /var/log/boot.log
- 搜索内容统计
- 不区分大小写
- 每一个匹配信息以及后面的3条
3.3.2、查找 find
- find是功能最多的查找指令,可以根据各种条件查询文件。
find 查找的目录 选项 值
- 在/etc目录下查找所有*.conf.d结尾的文件
3.3.3 cat命令
cat filename #输出文件所有内容
3.3.4 查看更多 more、less
more 查看更多内容
-
退出:按q键
-
空格:查询下一屏内容
-
less 用法和more类似,不同的是less可以通过PgUp、PgOn键来控制。
3.3.5 目录内容 ls
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
ls | 列出目录内容 (list) | ls -l | 使用详细格式列表,简化成ll |
ls -a | 所有文件和目录 | ||
ll /home/ | 显示指定目录下的内容 |
3.3.6 动态查看 tail
tail 用于显示文件后几行的内容
tail -10 /etc/password 查看后10行数据
tail -f catalina.log 动态查看日志,可以实时的得到新追加到文件中的信息,常用来跟踪日志文件。
tail -200f catalina.log 动态显示日志最后200行
Ctrl + C 结束查看
3.4 目录操作
3.4.1 切换目录 cd
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
cd | 切换目录 (change directory) | cd ~ | 当前用户目录 |
cd / | 根目录 | ||
cd - | 上一次访问的目录 | ||
cd … | 上一级目录 | ||
cd | 缺省当前用户目录 |
3.4.2 创建目录 mkdir
命令 | 描述 | 参数 | 介绍 |
---|---|---|---|
mkdir | 创建目录 (make directoriy) | -p | 父目录不存在情况下先生成父目录 |
-v | 显示命令执行过程中的详细信息 |
3.4.3 查看当前目录 pwd
命令 | 描述 | 参数 | 介绍 |
---|---|---|---|
pwd | 显示工作目录 (print working directory) | ||
3.5 文件操作
3.5.1 目录和文件的区别
以d开头的是目录,以-开头的是文件
3.5.2 创建文件 touch
touch 绝对路径/相对路径
3.6 移动操作
3.6.1 移动 mv
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
mv | 移动或更名现有的文件或目录 (move) | -f | 覆盖已有的文件或目录 |
- 语法:
# 移动
mv 需要移动的文件 目标目录
# 重命名
mv 需要移动的文件 目录文件
3.6.2 复制 cp
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
cp | 复制文件或目录 (copy) | -b | 删除覆盖目标文件之前的备份 |
-f | 强行复制文件或目录,不论目标文件或目录是否已存在 -f无效,因为使用cp别名,而不是真实命令 临时删除别名:unalias cp | ||
-i | 对源文件建立硬连接,而非复制文件 | ||
-r | 递归处理,将指定目录下的文件与子目录一并处理 |
3.6.3 删除 rm
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
rm | 删除文件或目录 (remove) | -f | 强制删除文件或目录 |
-r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
l 练习:将jdk存放到/usr/local/java目录下
3.7 解压与压缩操作
命令 | 描述 | 参数 | 介绍 |
---|---|---|---|
tar | 对压缩文件解压或压缩操作 | -c | 建立一个压缩文件的参数指令–压缩 |
-x | 解开一个压缩文件的参数指令 – 解压 | ||
-z | 是否需要用 gzip 压缩 | ||
-v | 压缩的过程中显示文件 | ||
-f | 使用档名,在 f 之后要立即使用文件名 |
- 解压:tar -zxvf
格式:
tar -zxvf 解压文件名
实例:
tar -zxvf jdk-8u181-linux-x64.tar.gz
- 压缩:tar -zcvf
格式:tar -zcvf 压缩后文件名 需要压缩的目录
实例:
tar -zcvf jdk-8.tar.gz ./jdk1.8.0_181/
3.8 编辑vi 或 vim 命令
3.8.1 vi基本概念
- 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
-
- 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
- 命令行模式command mode)
-
- 插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
- 插入模式(Insert mode)
-
- 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
- 底行模式(last line mode)
-
3.8.2 安装vim
yum install -y vim-enhanced
- 输入命令
- 下载安装包
- 安装
3.8.3 插入
-
从命令行模式,进入 插入模式
-
按“ESC”键,从“插入模式”进入“命令行模式”
命令 | 描述 |
---|---|
i | 在光标前插入 |
shift + i | 在光标当前行开始插入 |
a | 在光标后插入 |
shift + a | 在光标当前行末尾插入 |
o | 在光标当前行的下一行插入新行 |
shift + o | 在光标当前行的上一行插入新行 |
- 插入模式下,快捷键
ctrl + w 撤销一个
ctrl + u 清空光标前的内容
ctrl + j 前面插入一个空行
3.8.4 复制和粘贴
- 在命令行模式下(一般模式)
命令 | 描述 |
---|---|
yy | 单行复制 将光标移动到将要复制的行处 |
nyy | 多行复制 将光标移动到将要复制的首行处 |
p | 粘贴 将光标移动到将要粘贴的行处 |
:'a,'b co 'c | 拷贝指定行 1)拷贝开始位置:ma 2)拷贝结束位置:mb 3)需要拷贝到位置:mc : 2,4 co 8 复制第2–4行,插入到第8行下面 |
:'a 'b m 'c | 剪切指定行 |
3.8.5 定位
- 如果命令以冒号开头,进入“底行模式”,其他都是“命令行模式”
命令 | 描述 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
gg | 到文本的第一行 |
shift + g | 到文本的最后一行 |
:n 或 nG --20 shift+g | 到文本的第n行 |
ctrl + b | 屏幕往"后"移动一页 |
ctrl + f | 屏幕往"前"移动一页 |
3.8.6 删除
l 一般模式下操作
命令 | 描述 |
---|---|
x | 删除光标所在处字符 |
nx | 删除光标所在处后的n个字符 |
dd | 删除光标所在行 |
ndd | 删除n行 |
shift + d | 删除光标所在处到行尾的内容 |
:n1,n2d | 删除指定范围的行 : 3,5 d |
3.8.7 替换和取消命令
- 一般模式下
命令 | 描述 |
---|---|
u | undo,取消上一步操作 |
Ctrl + r | redo,返回到undo之前 |
r | 替换光标所在处的字符 |
shift + r | 从光标所在处开始替换,按Esc键结束 |
3.8.8 退出编辑
- 进入“行底模式”操作
命令 | 描述 |
---|---|
:q | 退出vi(没有做任何修改时) |
:q! | 强制退出不保存 |
:w | 保存不退出 |
:wq | 保存后退出 |
3.9 软件安装
3.9.1 rpm安装(离线安装)
- 安装包直接运行安装。安装时需要手动下载其他依赖的安装包
命令 | 描述 | 语法 | 介绍 |
---|---|---|---|
rpm | 安装rpm文件 | -i | 显示套件的相关信息 |
-v | 显示指令执行过程 | ||
-h | 套件安装时列出标记 | ||
-U | 升级指定的套件档 | ||
-e | 删除指定的套件 | ||
–nodeps | 不验证套件档的相互关联性 | ||
-q | 使用询问模式 | ||
-a | 查询所有套件 |
- 常用组合
安装:rpm -ivh rpm文件【安装】
升级:rpm -Uvh rpm文件【更新】
删除:rpm -e --nodeps 软件名
查看:rpm -qa
3.9.2 yum安装(在线安装)
- 最简单方便的安装方式,只要一条指令,系统就可以自动下载并安装所有的包.
- 注意:需要联网安装
指令 | 描述 |
---|---|
yum search 软件名 | 查找软件 |
yum info 软件名 | 查看软件信息 |
yum list | 列出yum服务器上所有的软件包 |
yum list updates | 列出可供升级的软件有哪些 |
yum install 软件名 | 安装软件 |
yum update 软件名 | 更新软件 |
yum remove 软件名 | 删除软件 |
yum repolist all | 列出所有软件源 |
yum clean all | 因为yum有缓存的功能,如果我们修改了软件源需要清除一个现有数据 |
3.10 权限管理
- 需求:修改/root/itcast 文件夹的权限
-
命令
- 1)chmod(change mode) 功能:变更文件或目录的权限。
- 语法:chmod [参数] [<权限范围><符号><权限代号>]
- -R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
- 权限范围的表示法如下:
- u:User,即文件或目录的拥有者。
- g:Group,即文件或目录的所属群组。
- o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
- a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
- 符号:
- + 添加权限
- -取消权限
- = 重写分配权限
- 有关权限代号的部分,列表于下:
- r:读取权限,数字代号为"4"。
- w:写入权限,数字代号为"2"。
- x:执行或切换权限,数字代号为"1"。
- -:不具任何权限,数字代号为"0"。
- linux 权限格式:<类型><用户><组><其他用户>
- 1)chmod(change mode) 功能:变更文件或目录的权限。
-
授权操作结论
- 指定权限:chmod u+rwx a.txt
- 没有权限:chmod 000 ./abc
- 所有权限:chmod 777 ./abc
3.11 进程管理
3.11.1 ps 指令
- 查看当前系统中正在运行的所有的程序
ps –ef #查看所有进程
ps –ef | grep ssh #查找某一进程
ps –aux #命令可以查看更详细的进程信息!
3.11.2 top指令
-
top可以动态的查看程序的变化,可以用来观察每个进行CPU、内存的占用率
top -d 数字
-d:更新的秒数
-
界面按键
M :根据内存占用率排序。
P :根据CPU占用率排序。
q :退出。
3.11.3 kill指令
- 可以使用 kill 指令关闭一个正在运行的程
kill -信号 进程id
常用信号:
-9:强制关闭程序。
-15:正常关闭程序。
3.11.4 工作管理(了解)
-
丢到后台
我们可以把一个程序丢到后台去执行,这样我们可以在前台继承做其它的工作。
按 ctrl + z 把当前工作丢到后台
这个指令会把工作丢到后台并让它处于“暂停”状态。
-
查看后台工作
可以使用 jobs 指令查看后台中运行的程序。
-
后台拿到前台
可以使用 fg 工作号 把后台运行的工作拿到前台来运行。
-
在后台运行
可以使用 bg 指令让一个程序在后台运行,而不是暂停。
-
关闭后台程序
可以使用 kill 指令关闭一个后台正在运行的程序。
3.12 防火墙操作
3.12.1 防火墙基本操作
systemctl start firewalld.service #开启防火墙
systemctl stop firewalld.service #关闭防火墙
systemctl enable firewalld.service #设置开机自动启动
systemctl disable firewalld.service #设置关闭开机自动启动
systemctl status firewalld #查看状态
systemctl restart firewalld.service #修改配置后需要重启服务使其生效
3.12.2 端口操作
firewall-cmd –version #查看版本
firewall-cmd –help #查看帮助
firewall-cmd –state #显示状态:
firewall-cmd --zone=public --list-ports #查看所有打开的端口
firewall-cmd –reload #更新防火墙规则
- 添加规则
firewall-cmd --zone=public --add-port=80/tcp --permanent
–add-service #添加的服务
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
- 移除规则
firewall-cmd --remove-port=80/tcp --permanent
3.13 其他命令
3.13.1 scp命令
Linux scp 命令用于 Linux 之间复制文件和目录。
scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。
scp [可选参数] file_source file_target
3.13.2 版本号
查看centos发行版本的命令
cat /etc/redhat-release
查看centos的Linux内核版本
cat /proc/version
4 网络配置
4.1 虚拟机的三种网络连接方式
4.1.1 Bridged桥接模式
这种方式下,虚拟机就像一台真正的计算机一样,直接连接到实际的网络上,与宿主机没有任何联系。
4.1.2 Host-only仅主机模式
这种方式下,虚拟机的网卡连接到宿主的 VMnet1 上,但系统并不为虚拟机提供任何路由服务,因此虚拟机只能和宿主机进行通信,而不能连接到实际网络上。
4.1.3 NAT模式
这种方式下,虚拟机的网卡连接到宿主的 VMnet8 上。此时系统的 VMWare NAT Service 服务就充当了路由器的作用,负责将虚拟机发到 VMnet8 的包进行地址转换之后发到实际的网络上,再将实际网络上返回的包进行地址转换后通过 VMnet8 发送给虚拟机。VMWare DHCP Service 负责为虚拟机提供 DHCP 服务。
4.1.4 网卡配置文件
名称 | 配置文件 | 重要参数 |
---|---|---|
网卡配置 | /etc/sysconfig/network-scripts/ifcfg-ens33 | DEVICE=物理设备名 IPADDR=IP地址 NETMASK=掩码值 NETWORK=网络地址 BROADCAST=广播地址 GATEWAY=网关地址 ONBOOT=[yes|no](引导时是否激活设备) USERCTL=[yes|no](非root用户是否可以控制该设备) BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议) HWADDR = 你的MAC地址NM_CONTROLLED=额外网管软件,建设设置为no |
私有DNS | /etc/hosts | IP 主机名 别名 |
DNS服务器 | /etc/resolv.conf | NAMESERVER ip地址 |
主机名 | /etc/hostname /etc/hosts | 修改主机名需要重新启动电脑:reboot |
4.2 自动重启
-
网络配置文件的位置:/etc/sysconfig/network-scripts/ifcfg-enXXX
-
修改
ONBOOT=yes #开启自动启用网络连接
4.3 静态IP
- 修改网络配置文件,内容如下:
BOOTPROTO=“static” #启用静态IP地址(修改已有,默认值:dhcp)
ONBOOT=“yes” #开启自动启用网络连接(修改已有)
IPADDR=“192.168.200.128” #设置IP地址(新添),根据自己的情况填写 192.168.xxx.xxx
NETMASK=“255.255.255.0” #设置子网掩码(新添)
GATEWAY=“192.168.200.2” #设置网关(新添),根据自己的情况填写 192.168.xxx.2
DNS1=“192.168.200.2” #设置主DNS(新添),根据自己的情况填写 192.168.xxx.2
DNS2=“8.8.4.4” #设置备DNS(新添)
- 重启网络
systemctl restart network
4.4 配置DNS
- 使用yum命令时,会出现网络不通的情况。需要通过配置dns进行处理。
4.5 常用指令
4.5.1 ip指令
ip是一个功能强大的综合性网络指令,可以查看网卡接口、路由、IP等功能
ip addr
- 查看网卡数据数据统计信息
ip -s link
4.5.2 ping指令
- ping,可以用来检测两台连接的连接情况
ping -c 数字 IP/主机名
-c:连接的次数。
-W:最长等待的秒数。
4.5.3 ss指令
- ss,指令,可以用来查看网络接口。
- 在centos7之前的版本中常用的是netstat这个指令
ss -参数列表
a:浏览所有接口。
n:解析服务名为端口号数字
t:tcp
l:监听的
p:显示使用socket的进程信息
u:udp
- 查看当前运行的所有tcp服务器,显示服务名
ss –at
- 查看当前运行的所有tcp服务器,显示端口号
ss -ant
5 软件安装
5.1 JDK安装
-
查询当前jdk版本
-
切换到jdk安装目录,
- 修改配置文件 /etc/profile (vim操作:shift + g 、o、esc、:wq)
在文件最后插入以下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
- 使配置文件生效,并测试
source /etc/profile
5.2 MySQL安装
- 步骤1:使用root的账号,卸载默认安装的mariadb
rpm -qa | grep -i mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64
- 步骤2:通过root账号,创建mysql账号,并设置密码为123456
useradd mysql
passwd mysql
- 步骤3:使用mysql账号,通过CRT登录
- 步骤4:上传mysql需要的资源包
- 步骤5:安装mysql,mysql没有权限安装,需使用su获得root账号的权限。
yum install mysql-community-*.rpm
- 步骤6:启动mysql服务(停止mysql服务)
systemctl start mysqld.service
systemctl stop mysqld.service
- 步骤7:查询root默认密码
grep ‘temporary password’ /var/log/mysqld.log
- 步骤8:登录mysql
mysql -uroot -p,Qp::,7#:hs0
- 步骤9:设置root密码
set password=password(“1234”);
set global validate_password_policy=0;
set global validate_password_length=1;
- 步骤10:退出
- 步骤11:创建mysql远程账号
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION;
flush privileges;
- 步骤12:开启防火墙端口(注意:使用root账号)
#添加 --permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
#重新载入
firewall-cmd --reload
#查看所有打开的端口:
firewall-cmd --zone=public --list-ports
启动:
systemctl start firewalld
关闭:
systemctl stop firewalld
- 步骤13:远程访问
mysql -h192.168.137.131 -uroot -p1234
5.3 使用Tomcat
- 步骤一:上传tomcat,并解压
tar -zxvf ./apache-tomcat-7.0.64.tar.gz
- 步骤二:将解压后的tomcat拷贝到 /var/local/java目录下
cp -r ./apache-tomcat-7.0.64 /usr/local/java/
- 步骤三:修改端口号(可选)
- 步骤四:启动tomcat
./bin/startup.sh
- 步骤五:linux内部访问
curl http://localhost:8080
- 步骤六:配置防火墙,放开对应端口号
#防火墙开启8080端口号
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#刷新(重新载入)
firewall-cmd --reload
- 步骤七:外部访问tomcat
5.4 使用Redis
5.4.1 安装
- 步骤0:安装gcc (redis编译时使用)
yum install -y gcc-c++
- 步骤1:上传资源包
- 步骤2:解压
tar -zxvf redis-4.0.11.tar.gz
- 步骤3:编译redis
-
情况1:完整成功
-
情况2:没有安装gcc
-
- 步骤4:安装redis
make PREFIX=/usr/local/redis install
- 步骤5:安装完成
在/usr/local/redis/bin下有几个可执行文件
redis-benchmark ----性能测试工具
redis-check-aof ----AOF文件修复工具
redis-check-dump ----RDB文件检查工具(快照持久化文件)
redis-cli ----命令行客户端
redis-server ----redis服务器启动命令
- 步骤6:拷贝配置文件(redis启动需要一个配置文件,可以修改端口号等信息)
cp redis.conf /usr/local/redis/
5.4.2 启动
- 步骤1:修改redis.config配置文件,设置后端模式启动(类似windows的服务)
vim /usr/local/redis/redis.conf
- 步骤2:输入“:set nu”显示编辑行号
- 步骤3:编辑前,显示效果
- 步骤4:输入“i”进行编辑操作,将“no”修改成“yes”
- 步骤5:按“esc”键退出编辑,输入“:wq”保存并退出
- 步骤6:切换到redis的安装目录,并启动程序
./bin/redis-server ./redis.conf
- 步骤7:查看redis启动情况(查看默认端口)
ps -ef | grep -i redis
5.4.3 停止
- 情况1:正常停止服务
./bin/redis-cli shutdown
- 情况2:强制停止服务(强制停止需要服务的pid好,通过ps进行查询)
kill -9 5730
5.4.4 连接
- 情况1:Linux系统客户端登录
./bin/redis-cli
- 情况2:远程访问(需要在window端安装redis: 解压 zip,并配置系统环境变量path)
在windows操作系统中,输入
redis-cli -h 192.168.216.128 -p 6379
- 步骤3:开放6379端口号
#添加 --permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重新载入
firewall-cmd --reload
- 步骤4:远程计算机拒绝(默认Redis本地访问)
注释掉IP限定(此操作有风险,之后将允许所有的IP都可以访问)
vim ./redis.conf => :set nu => i => 注释掉 => esc键 => :wq
- 步骤5:登录成功,但不允许操作
- 步骤6:设置安全认证(重新启动Redis)
vim ./redis.conf => /requirepass => i => 修改自定义密码 => esc键 => :wq
- 步骤7:window携带密码访问
![](.png)
- 步骤8:window GUI(RedisDesktopManager)工具访问(可选)
- 步骤9:Jedis测试(可选)
package com.txt;import redis.clients.jedis.Jedis;/*** Created by tanxintong.*/
public class TestJedis {public static void main(String[] args) {Jedis jedis = new Jedis("192.168.216.128");jedis.auth("liangtong");String ping = jedis.ping();System.out.println(ping);}
}
5.4.5 window redis安装
- 步骤一:解压redis
- 步骤二:配置系统环境变量path
5.4.6 注册服务
- 步骤一:运行install_server.sh
/root/redis-3.2.0/utils/install_server.sh
输入如下内容:
/usr/local/redis/redis.conf
/usr/local/redis/redis.log
/usr/local/redis/data
/usr/local/redis/bin/redis-server
- 步骤二:查看注册服务
- 步骤三:启动和停止服务
#启动
systemctl start redis_6379
#停止
systemctl stop redis_6379
5.5 使用RabbitMQ
5.6 使用ActiveMQ
5.6.1 安装
- 步骤1:上传
- 步骤2:解压
tar -zxvf apache-activemq-5.14.0-bin.tar.gz
- 步骤3:将Active MQ移到/usr/local/java目录下
mv ./apache-activemq-5.14.0 /usr/local/java/
5.6.2 启动
- 步骤1:启动activemq
./activemq start
./activemq stop
- 步骤2:配置系统环境变量(profile),任意目录下启动
vim /etc/profile
export ACTIVEMQ_HOME=/usr/local/java/apache-activemq-5.14.0/
export PATH=$ACTIVEMQ_HOME/bin:$PATH
5.6.3 使用
- 步骤1:开放8161端口号
#添加 --permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=8161/tcp --permanent
#重新载入
firewall-cmd --reload
- 步骤2:访问
http://192.168.216.128:8161/
5.6.4 程序访问
- 步骤1:开放8161端口号
#添加 --permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=61616/tcp --permanent
#重新载入
firewall-cmd --reload
- 步骤2:复制入门案例
package com.txt;import org.apache.activemq.ActiveMQConnectionFactory;import javax.jms.*;/*** Created by tanxintong.*/
public class TestActivemq {public static void main(String[] args) throws JMSException {//创建连接工程,使用默认路径(tcp://localhost:61616)ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();connectionFactory.setBrokerURL("tcp://192.168.216.128:61616");//获得连接Connection connection = connectionFactory.createConnection();//开始连接connection.start();//建立会话 (自动确认,客户端发送和接收消息不需要做额外的工作)Session session = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);//创建队列Queue queue = session.createQueue("HelloWorld");//生产者发送消息MessageProducer producer = session.createProducer(queue);TextMessage textMessage = session.createTextMessage("重大新闻666");producer.send(textMessage);sessionmit();session.close();connection.close();}}
=========================================================
后记
好啦,以上就是本期全部内容,能看到这里的人呀,都是能人。
十年修得同船渡,大家一起点关注。
我是♚焕蓝·未来,感谢各位【能人】的:点赞、收藏和评论,我们下期见!
各位能人们的支持就是♚焕蓝·未来前进的巨大动力~
注:如果本篇Blog有任何错误和建议,欢迎能人们留言!
更多推荐
Linux操作系统教程
发布评论