Linux学习笔记-B站韩顺平
Posted KK-Greyson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记-B站韩顺平相关的知识,希望对你有一定的参考价值。
文章目录
- 第一章:LINUX 开山篇-内容介绍
- 第二章:Linux 基础篇-Linux 入门
- 第三章:Linux 基础篇-VM 和 Linux 的安装
- 第四章:Linux 基础篇-目录结构
- 第五章:Linux 实操篇-远程登录到 Linux 服务器
- 第六章:Linux 实操篇- Vi 和 Vim 编辑器
- 第七章:Linux 实操篇-开机、重启和用户登录注销
- 第八章:Linux 实操篇-用户管理
- 第九章:Linux 实操篇-实用指令
- 第十章:Linux 实操篇-组管理和权限管理
- 第十一章:Linux 实操篇-定时任务调度
- 第十二章:Linux 实操篇-Linux 磁盘分区、挂载
- 第十三章:Linux 实操篇-网络配置
- 第十四章:Linux 实操篇-进程管理(重点)
- 第十五章:Linux 实操篇- RPM 与 YUM
- 第十七章:大数据定制篇-Shell编程
- 第二十一章:Linux 高级篇-日志管理
- 第二十二章:Linux 高级篇-定制自己的 Linux 系统
- 第二十四章:linux 系统-备份与恢复
- 注:该文章部分转载自:韩顺平_2021图解 Linux 全面升级教学笔记,可以去B站搜索视频,加老师微信获得资料。
第一章:LINUX 开山篇-内容介绍
1.1.本套 Linux 课程内容
1.2.Linux 使用在那些地方
linux运营工程师主要做:
服务器规划
调试优化
对系统进行日常监控
故障处理
对数据的备份和处理
日志的分析
1.3.Linux 的应用领域
1.个人桌面领域的应用
2.服务器领域(Linux最主要的领域)
linux 在服务器领域的应用是最强的。
linux 免费、稳定、高效等特点在这里得到了很好的体现,尤其在一些高端领域尤为广泛(c/c++/php/java/python/go)
3.嵌入式领域
linux 运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百 KB 等特点, 使其近些年来在嵌入式领域的应用得到非常大的提高
主要应用:机顶盒、数字电视、网络电话、程控交换机、手机、PDA、智能家居、智能硬件等都是其应用领域。以后在物联网中应用会更加广泛。
第二章:Linux 基础篇-Linux 入门
2.1.Linux 介绍
linux 是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,
目前很多企业级的项目(c/c++/php/python/java/go)都会部署到 Linux/unix 系统上。
常见的操作系统(windows、ios、android、MacOS, Linux, Unix)
Linux之父:Linus Torvalds
Linux主要的发行版:
Ubuntu(乌班图)、RedHat(红帽)、CentOS...
Linux只是一个内核,在此基础上有不同的人对其进行包装(开发了很多软件包/工具,做成了发行版)
2.2.Linux 和 Unix 的关系
2.2.1.unix 是怎么来的
2.2.2.Linux 是怎么来的
2.2.3.Linux 和 Unix 关系图
第三章:Linux 基础篇-VM 和 Linux 的安装
3.1.安装 vm 和 Centos
学习 Linux 需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个 Centos 系统来学习
1.先安装 virtual machine 15.5 (vmware15.5)
2.再安装 Linux (CentOS 7.6/centOS8.1)
3.原理:
Linux磁盘手动分区:
设置密码不要写那么简单,可以百度搜索生成随机密码。
3.2.网络连接的三种模式
给虚拟系统连接网络。
张三,李四,王五在同一网段内,假设ip地址都是192.168.0.x
桥接模式:
虚拟系统直接与外部系统通信,虚拟系统也是192.168.0.x的ip地址
这样就占用了该网段的主机号,类似于同一局域网内有多了一台主机
但是x最多有255种,超过了数量就会造成ip冲突
NAT模式:
nat地址转换
虚拟系统通过本主机与外部系统通信,不造成ip冲突
主机模式:独立的系统,不和外部发生联系
3.3.虚拟机的克隆
如果已经安装了一台 linux 操作系统,你还想再更多的,没有必要再重新安装,只需要克隆就可以
方式1:直接拷贝一份安装好的虚拟机文件
在我的电脑中找到要克隆的虚拟机的文件,赋值后粘贴到另一个位置,在 vmware 中打开就好了。
方式2:使用 vmware 的克隆操作(注意:克隆时,需要先关闭 linux 系统 先关机)
在 vmware 中鼠标右击要克隆的虚拟机---->管理---->克隆---->克隆方法
克隆方法:
链接克隆:对原系统的引用(本质上没有克隆,就一个系统)
完整克隆:一般选这个,克隆出来的系统与原系统完全一样
3.4.虚拟机的快照
如果你在使用虚拟机系统的时候(比如 linux),你想回到原先的某一个状态,
也就是说你担心可能有些误操作造成系统异常,需要回到原先某个正常运行的状态,
vmware 也提供了这样的功能,就叫快照管理。
方法:
对左栏虚拟机鼠标右击--->快照--->拍摄快照
查看快照管理器,点击要回到的快照图标,转到。
注意:每次拍摄一个快照都是对当前状态进行保存,会占用硬盘空间,做有意义的快照。
应用实例:
1.最初状态拍摄一个快照A
2.创建一个文件夹,拍摄一个快照B
3.再创建一个文件夹,拍摄一个快照C
4.从C回到A
5.从A回到B
6.再创建一个文件夹,拍摄一个快照D
7.回到A
3.5.虚拟机的迁移和删除
虚拟系统安装好之后,虚拟系统的本质就是文件(放在文件夹的)
虚拟系统的迁移:
把安装好的虚拟系统这个文件夹整体拷贝或者剪切到另外位置使用。
虚拟机系统的删除:
在vmware中,鼠标右击要移除的虚拟系统---->移除
但是,该操作并没有把虚拟系统的文件夹删除,还要再去找到文件夹将其删除。
3.6.安装vmtools
1. vmtools 安装后,可以让我们在 windows 下更好的管理 vm 虚拟机
2. 可以设置 windows 和 centos 的共享文件夹
(主机和虚拟系统都可以操作共享文件夹,更加方便)
如何安装:
仔细看视频吧
3.7.设置共享文件夹
仔细看视频吧
如何设置共享文件夹?
在主机上找到一个位置创建一个文件夹作为共享文件夹
然后在vm上操作:
鼠标右击虚拟系统--->设置--->选项--->共享文件夹--->添加(将上述文件夹路径填上就好了)
如何在虚拟系统上找到共享文件夹?
点击主文件夹--->其他位置--->计算机---->mnt---->hgfs--->里面就有共享文件夹
注意:在实际开发中,文件的上传下载是需要使用远程方式完成的
因为是主机A与主机B上的虚拟系统通信(我们教学,所以虚拟系统在自己的主机上)
远程方式后面学。
第四章:Linux 基础篇-目录结构
4.1.目录结构基本介绍
linux 的文件系统是采用级层式的树状目录结构,
在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
记住一句经典的话:在 Linux 世界里,一切皆文件(!!)
4.2.具体的目录结构(不要背,了解就好)
目录 | 注解 | 介绍 |
---|---|---|
/bin | 常用 | 是 Binary 的缩写, 这个目录存放着最经常使用的命令;子目录:/usr/bin 和 /usr/local/bin |
/sbin | s 就是 Super User 的意思,这里存放的是系统管理员使用的系统管理程序;子目录:/usr/sbin 和 /usr/local/sbin | |
/home | 常用 | 存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名 |
/root | 常用 | 该目录为系统管理员,也称作超级权限者的用户主目录 |
/lib | 系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库 | |
/lost+found | 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件(该目录隐藏起来了,使用命令可以看到) | |
/etc | 常用 | 所有的系统管理所需要的配置文件和子目录, 比如安装 mysql 数据库 my.conf |
/user | 常用 | 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与 windows 下的 program files 目录 |
/boot | 常用 | 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件 |
/proc | 不能动这个文件,可能造成系统崩溃 | 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息 |
/srv | 不能动 | service 缩写,该目录存放一些服务启动之后需要提取的数据 |
/sys | 不能动 | 这是 linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs |
/tmp | 这个目录是用来存放一些临时文件的 | |
/dev | 类似于 windows 的设备管理器,把所有的硬件用文件的形式存储 | |
/media | 常用 | linux 系统会自动识别一些设备,例如 U 盘、光驱等等,当识别后,linux 会把识别的设备挂载到这个目录下 |
/mnt | 常用 | 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。 (比如共享文件) |
/opt | 这是给主机额外安装软件所存放的目录(想要安装某个软件,把它的安装软件放在这个目录下)。如想要在虚拟系统上安装 ORACLE 数据库就可以先把其安装文件放在该目录下。默认为空 | |
/user/local | 常用 | 这是另一个给主机额外安装软件所安装的目录(软件安装后的目标目录)。一般是通过编译源码方式安装的程序 |
/var | 常用 | 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件 |
/selinux | security-enhanced linux | SELinux 是一种安全子系统,它能控制程序只能访问特定文件, 有三种工作模式,可以自行设置. 类似于360,保证系统安全。这个目录看不到,因为没有被启用 |
第五章:Linux 实操篇-远程登录到 Linux 服务器
5.1.为什么需要远程登录 Linux
说明: 公司开发时候,具体的应用场景是这样的:
1. linux 服务器是开发小组共享
2. 正式上线的项目是运行在公网
3. 因此程序员需要远程登录到 Linux 进行项目管理或者开发
5.2.下载Xshell6和Xftp6
远程登录工具Xshell:
1.Xshell 是目前最好的远程登录到 Linux 操作的软件,流畅的速度并且完美解决了中文乱码的问题,是目前程序员首选的软件。
2.Xshell 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TELNET 协议。
3.Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
注意:
1.使用Xshell之前,需要知道Linux的ip地址
如何知道ip地址?
在Linux中,鼠标右击桌面打开终端,输入ifconfig指令,ens33中,就可以知道ip地址了。
2.要保证本机可以ping通虚拟主机
在本机DOS命令窗口中输入命令:ping 虚拟主机ip地址
登录Xshell:
打开Xshell--->添加会话--->主机(虚拟主机ip地址)--->确定
双击密钥--->选择接受并保存主机密钥(就不用重复接受了)
远程登陆成功
远程上传下载文件Xftp:
是一个基于 windows 平台的功能强大的 SFTP、FTP 文件传输软件。
使用了 Xftp 以后,windows 用户能安全地在 UNIX/Linux 和 Windows PC 之间传输文件
操作同上
注意:xftp打开时乱码:属性--->选项--->UTF-8编码
第六章:Linux 实操篇- Vi 和 Vim 编辑器
6.1. vi 和 vim 的基本介绍
Linux 系统会内置 vi 文本编辑器
Vim可以看作是Vi的增强版本,Vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
代码补完、编译及错误跳转等方便编程的功能特别丰富。
6.2. vi 和 vim 常用的三种模式
1.正常模式:
以 vim 打开一个档案就直接进入一般模式了(这是默认的模式)。
在这个模式中,你可以使用『上下左右』按键来移动光标,
可以使用『删除字符』或『删除整行』来处理档案内容,
也可以使用『复制、粘贴』来处理你的文件数据。
2.插入模式
按下 i, I, o, O, a, A, r, R 等任何一个字母之后才会进入编辑模式, 一般来说按 i 即可.
可以写东西了。
3.命令行模式
在这个模式当中,可以提供你相关指令,完成读取、存盘、替换、离开 vim,显示行号等动作
6.3. vi 和 vim 基本使用
案例:使用 vim 开发一个 Hello.java 程序
使用xshell登录编写(因为以后工作都是这样写的):
首先输入:vi Hello.java 或者 vim Hello.java (使用vim编辑器编写java程序)
回车后进入正常模式
之后输入i等字母,进入插入模式(编辑模式)
然后可是写代码:
public class Hello
public static void main(String[] args)
System.out.println("Hello World");
然后保存,怎么保存?
先 按 Esc 回到正常模式
然后输入冒号: 接着输入wq (代表写入并退出write quit)
回车
结束
输入ls命令,就可以看到Hello.java文件
还想修该文件:再输入 vim Hello.java (按Tab键 代码补全) 就有回到了上面
6.4. 各种模式的相互切换
6.5. vi 和 vim 快捷键
快捷键 | 模式 | 介绍 |
---|---|---|
yy | 正常模式 | 复制当前行 |
p | 正常模式 | 粘贴 |
5yy | 正常模式 | 复制当前行向下的5行 |
dd | 正常模式 | 删除当前行 |
5dd | 正常模式 | 删除当前行向下的5行 |
在文件中查找某个单词:
初始在正常模式,输入/,进入命令行模式,然后输入要查找的单词,回车查找
输入n查找到下一个
想查找另一个单词:输入/,重复上述即可
正常模式--->命令行模式
给文件每行设置行号:
先冒号:
然后set nu (set number)
回车
取消行号:
先冒号:
然后set nonu
回车
快捷键到该文档的最首行(正常模式):gg
快捷键到该文档的最末行(正常模式):G
撤销动作(比如删除某一行,发现删错了,然后恢复这一行)(正常模式):u
在某个文件中,想让光标移动到第20行(正常模式):输入20,再输入 shift+g
更多的快捷键:有整理的文档和下图
第七章:Linux 实操篇-开机、重启和用户登录注销
7.1.关机和重启命令
命令 | 介绍 |
---|---|
shutdown -h now | 立即关机(h—>halt停止) |
halt | 立即关机,同上 |
shutdown | 1分钟后关机 |
shutdown -h 1 | 同上,给每一个登录到Linux系统的用户发一条消息:1分钟后关机 |
shutdown -h 2 | 2分钟后关机 |
shutdonw -r now | 现在重新启动(r—>rboot重启) |
reboot | 现在重新启动,同上 |
sync | 把内存的数据同步到磁盘 |
注意 | 不管是重启还是关机,首先要运行 sync 命令,把内存中的数据写到磁盘中;目前的 shutdown/reboot/halt 等命令均已经在关机前进行了sync,但还是手动执行一下sync保险 |
既可以在Xshell,也可以在Linux执行上述指令
进入Linux,打开终端,验证上述指令
7.2.用户登录和注销
用户登录:
登录时尽量少用 root 帐号登录,因为它是系统管理员,最大的权限,避免操作失误。
而且以后也用不到root,除非你是系统管理员。
可以利用普通用户登录,登录后再用”su - 用户名’命令来切换成系统管理员身份.
注销:
在提示符下输入 logout 即可注销用户
注意:logout 注销指令在图形运行级别无效,在运行级别 3 下有效.
运行级别后面讲。
验证:
使用普通用户登录
使用Xshell远程登陆Linux
输入命令:su - root 变为root用户
再输入:logout 注销用户回到普通用户
再输入:logout 退出系统
注意:退出系统后,如何要重新连接到Linux,双击左栏会话再重新输入即可。
第八章:Linux 实操篇-用户管理
8.1.基本介绍
Linux 系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
一个Linux系统中只有一个root用户,但是由root用户可以创建多个其他用户,可以给这些用户分配权限,
其中每个用户会对应一个目录,这个目录叫做家目录。
8.2.添加用户
语法:useradd 用户名
比如:useradd milan 注册新用户milan
注意:当创建用户成功后,会自动创建和用户同名的家目录,该用户的家目录默认在home目录下
也可以给新用户指定家目录:useradd -d 指定目录 新用户名
比如:useradd -d /home/test king 创建一个新用户king,其家目录test
8.3.指定/修改密码
语法:passwd 用户名 给某个用户设置/更改密码
注意:要写用户名。不写用户名默认设置当前用户,如果当前用户是root就麻烦了。
比如:给milan设置密码
命令:pwd --->显示当前用户所在目录 Print Working Directory
8.4.删除用户
语法: userdel 用户名
普通用户不能删除别的用户,只有root用户可以;并且不能自己删除自己
1.删掉用户,但是保留其家目录:
userdel 用户名
2.将用户和其家目录一起删除(这个操作要谨慎):
user -r 用户名
一般情况,建议保留家目录(不删除)
8.5.查询用户信息
语法:id 用户名
id root:
uid=0(root) gid=0(root) 组=0(root) userid是0 gruopid组id是0 所在组0
当用户不存在:返回无此用户 no such user
8.6.切换用户
在操作 Linux 中,如果当前用户的权限不够,可以通过 su - 指令,切换到高权限用户(比如 root)
语法: su - 切换用户名
创建一个用户lucy,指定密码,然后切换到lucy
注意:
1.从权限高的用户切换到权限低的用户,不需要输入密码,反之需要。
2.当需要返回到原来用户时,使用 exit/logout 指令
8.7.查看当前用户/登录用户
语法:who am i 或者 who am I
who am i --->第一个登录该系统的用户信息
假设A用户登录系统,切换到B用户,B输入命令who am i,输出的还是A用户的信息
8.8.用户组
介绍:类似于角色,系统可以对有共性/有相同的权限的多个用户进行统一的管理
新增组:groupadd 组名
假如A用户和B用户有相同的权限,一个一个赋权限太麻烦了;
可以把A用户和B用户放在一个组里,然后给这个组赋权限,组里的用户有相同的权限。
新增一个用户,其实会默认生成一个跟用户名相同的组,然后把用户放到该组里。
就像是 id root:uid=0(root) gid=0(root) 组=0(root)--->root组
例子:增加一个用户zwj,把他直接放到组wudang中
命令:
groupadd wudang
useradd -g wudang zwj
id zwj:uid=1001(zwj) gid=1001(wudang) 组=1001(wudang)
修改用户的组:usermod -g 用户组 用户名
例子:把zwj 放到组 mojiao 中
命令:
groupadd mojiao
usermod -g mojiao zwj
id zwj:uid=1001(zwj) gid=1002(mojiao) 组=1002(mojiao)
新增一个用户john,怎么把john放进组mojiao中?
useradd jhon
usermod -g mojiao jhon
新增一个用户john,john在以自己的名字命名的组john中,从john组到mojiao组
删除组:groupdel 组名
8.9.用户和组的相关文件
(1)/etc/passwd 文件
每增加一个用户,就会把用户的信息保存到该文件。
用户(user)的配置文件,记录用户的各种信息
每行都是一个用户,每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
主目录:用户所在的家目录
shell:命令解释程序
将发布的指令通过shell解析,再传给Linux内核
Linux是看不懂发布的指令的
shell有很多种,中国一般用的是bash
命令:viw /etc/passwd 可以查看该文件(还有其他命令)
(2)/etc/shadow 文件
口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
(3)/etc/group 文件
组(group)的配置文件,记录 Linux 包含的组的信息每行含义:组名:口令:组标识号:组内用户列表
第九章:Linux 实操篇-实用指令
9.1.指定运行级别
Linux系统运行级别:
0:关机
1:单用户【可以找回丢失密码】
2:多用户状态没有网络服务(一般不用,没网络)
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用运行级别是 3 和 5
切换运行级别命令:init 选0-6
指定默认运行级别:
CentOS7之前是在文件/etc/inittab文件中设置
CentOS7之后对设置进行了简化:
用 multi-user.target 代表3运行级别
用 graphical.target 代表5运行级别
7版本之后主要用3和5运行级别。
用命令:systemctl get-default 查看当前系统运行级别
用命令:systemctl set-default multi-user.target /graphical.target 设置默认运行级别
9.2.找回 root 密码
在登录系统时,忘记了root密码,如何找回root密码?
资料中有,不同版本方式不同,介绍CentOS7之后的版本解决方法:
9.3.帮助指令
语法:man 命令或配置文件
是manual的简写,manual是手册的意思
功能:获得帮助信息
例子:查看ls命令的帮助信息
输入 man ls 之后,会看到ls的具体信息(要回到前一个页面,输入q)
注意:可能不止一页,使用空格或下键,可以往下看
---------------------------------------------------------------------
ls命令:列出目录内容
格式:ls [选项] [文件名...]
ls -a --->列出所有文件,包括隐藏文件(隐藏文件以 . 开头)
ls -l --->单列输出
选项以 - 开始
选项可以组合使用,没有顺序:
比如: ls -al 也可以 ls -a -l 表示列出所有的文件 并 单列输出
ls默认是对当前目录下的文件
也可以指定某个目录:
如: ls -al /root 把root目录下的所有文件单列输出
---------------------------------------------------------------------
语法:help 命令
功能:获得 shell 内置命令的帮助信息
例子:查看 cd 命令的帮助信息
help cd
语法:man [命令或配置文件]
功能:获得帮助信息
例子:查看ls命令的帮助信息
man ls
9.4.关于文件目录的指令
基本语法:pwd (print working directory)
功能:显示当前目录的绝对路径
---------------------------------------------------------------------
基本语法:ls [选项] [目录或是文件]
常用选项:
-a:显示当前目录所有的文件和目录,包括隐藏的。
-l:以列表的方式显示信息
---------------------------------------------------------------------
基本语法:cd [参数]
功能:切换到指定目录
cd ~ 或者 cd --->回到当前用户的家目录
cd .. --->回到当前目录的上一级目录
案例 1:使用绝对路径切换到 root 目录
cd /root
案例 2:使用相对路径到 root 目录
比如当前在 /home/tom
cd ../../root ../..回到了根目录,再/root
---------------------------------------------------------------------
基本语法:mkdir [选项] 要创建的目录路径
功能:创建目录
常用选项:
-p:创建多级目录
案例1:在home下创建一个目录dog
mkdir /home/dog
案例2:在home下创建多级目录 /home/animal/tiger
mkdir -p /home/animal/tiger
---------------------------------------------------------------------
基本语法:rmdir [选项] 要删除的空目录路径
功能:删除一个空目录
案例:删除一个目录 /home/dog
rmdir /home/dog
注意:
rmdir 删除的是空目录,如果目录下有内容是无法删除的。
如果需要删除非空目录,需要使用命令:rm -rf 要删除的目录
比如: 删除animal目录
rm -rf /home/animal
---------------------------------------------------------------------
基本语法:touch 文件名称
功能:创建空文件
案例::在/home 目录下,创建一个空文件 hello.txt
touch /home/hello.txt
或者当前目录是home:touch hello.text
---------------------------------------------------------------------
基本语法:cp [选项] 被拷贝的文件 拷贝到哪个地方
功能:拷贝文件到指定目录
常用选项:
-r:递归复制整个文件夹
案例1:将 /home/hello.txt 拷贝到 /home/bbb 目录下
若在根目录下操作:
先创建 bbb目录
mkdir /home/bbb
然后复制
cp /home/hello.txt /home/bbb
案例2:递归复制整个文件夹,比如将 /home/bbb 整个目录,拷贝到 /opt
cp -r /home/bbb /opt
注意:强制覆盖不提示的方法:\\cp
\\cp -r /home/bbb /opt
---------------------------------------------------------------------
基本语法:rm [选项] 要删除的文件或目录
功能:移除文件或目录
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示
案例1:将 /home/hello.txt 删除
rm /home/hello.txt
案例2:递归删除整个文件夹 /home/bbb ,并不提示
rm -rf /home/bbb
注意:强制删除不提示的方法:带上 -f 参数即可
---------------------------------------------------------------------
功能:移动文件与目录或重命名
基本语法:
mv 原文件名 新文件名 (功能描述:重命名)
mv 被移动的文件 移动到哪 (功能描述:移动文件)
案例 1: 将 /home/cat.txt 文件 重新命名为 pig.txt
[root@hspEdu01 ~]# cd /home
[root@hspEdu01 home]# touch cat.txt
[root@hspEdu01 home]# ls
cat.txt jack king milan zwj
[root@hspEdu01 home]# mv cat.txt pig.txt
[root@hspEdu01 home]# ls
jack king milan pig.txt zwj
案例 2:将 /home/pig.txt 文件 移动到 /root 目录下
[root@hspEdu01 home]# mv pig.txt /root
[root@hspEdu01 home]# ls
jack king milan zwj
[root@hspEdu01 home]# cd /root
[root@hspEdu01 ~]# ls
Hello.java pig.txt
移动并重名:mv pig.txt /root/cow.txt
案例 3: 移动整个目录,比如将 /opt/bbb 移动到 /home 下
mv /opt/bbb /home/
---------------------------------------------------------------------
前面学过一个查看:vim
cat也可以查看,cat只能查看不能修改,cat更安全。
基本语法:cat [选项] 要查看的文件
功能:查看文件内容
常用选项:
-n:显示行号
案例1:查看 /etc/profile 文件内容,并显示行号。
cat -n /etc/profile
注意:
cat 只能浏览文件,而不能修改文件;为了浏览方便再加上管道命令 | more
管道命令:把前面的结果再交给下一个指令进行处理。
语法:| 其他指令
cat -n /etc/profile | more
意思:先执行cat -n /etc/profile 然后,按回车键输出一行,按空格翻页等。
---------------------------------------------------------------------
基本语法:more 要查看的文件
功能:
more 指令是一个基于 VI 编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。
more 指令中内置了若干快捷键(交互的指令),详见操作说明:
基本语法:less 要查看的文件
功能:
less 指令用来分屏查看文件内容,它的功能与 more 指令类似,但是比 more 指令更加强大,支持各种显示终端。
less 指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。
有一个文件是100M,用vim查看会将其全部加载再显示出来,这样会很慢。
使用less,会先加载一部分显示出来,再根据指令显示剩下的,这样更快。
所以要查找一些大的文件,建议用less。
案例: 采用 less 查看一个大文件文件 /opt/杂文.txt
首先使用xftp将杂文.txt传输到opt下
然后输入指令:less /opt/杂文.txt
下面操作中:
想要找某个字或词
输入:/要找的字或词 然后按n向下找 按N向上找
操作说明:
基本语法:echo [选项] [输出内容]
功能:输出内容到控制台
案例: 使用 echo 指令输出环境变量
比如输出 $PATH $HOSTNAME
输入:echo $HOSTNAME (环境变量一般加$)
案例: 使用 echo 指令输出 hello,world!
输入:echo hello,world!
echo "hello,world!" 加不加引号都可以
---------------------------------------------------------------------
功能:head 用于显示文件的开头部分内容,默认情况下 head 指令显示文件的前 10 行内容。
基本语法:
head 文件 (功能描述:查看文件头 10 行内容)
head -n 5 文件 (功能描述:查看文件头 5 行内容,5 可以是任意行数)
案例: 查看/etc/profile 的前面 5 行代码
head -n 5 /etc/profile
---------------------------------------------------------------------
功能:tail 用于输出文件中尾部的内容,默认情况下 tail 指令显示文件的前 10 行内容。
基本语法:
tail 文件 (功能描述:查看文件尾 10 行内容)
tail -n 5 文件 (功能描述:查看文件尾 5 行内容,5 可以是任意行数)
tail -f 文件 (功能描述:实时追踪该文档的所有更新,只要该文件改动了什么内容就可实时看到)
---------------------------------------------------------------------
>指令和>>指令:
> 输出重定向(覆盖)
>> 追加
基本语法:
ls -l >文件1 (功能描述:将列表的内容写入文件1中(覆盖写))
ls -al >>文件1 (功能描述:将列表的内容追加到文件1的末尾)
cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
echo "内容">> 文件1 (将内容追加到文件1的末尾)
案例 1: 将 /home 目录下的文件列表 写入到 /home/info.txt 中,覆盖写入。
ls -l /home > /home/info.txt [如果 info.txt 没有,则会自动创建]
案例 2: 将当前日历信息 追加到 /home/mycal 文件中
cal >> /home/mycal
---------------------------------------------------------------------
功能:给原文件创建一个软链接
软链接也称为符号链接,类似于 windows 里的快捷方式,主要存放了链接其他文件的路径
基本语法:
ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接)
ln是link
案例1:在/home 目录下创建一个软连接 myroot,连接到 /root 目录
(这样 切换到myroot 其实就是切换到root)
ln -s /root /home/myroot
案例2: 删除软连接 myroot
rm /home/myroot
当我们使用 pwd 指令查看目录时,仍然看到的是软链接所在目录。
---------------------------------------------------------------------
功能:查看已经执行过历史命令,也可以执行历史指令
基本语法:
history (功能描述:查看已经执行过历史命令)
可以看其他登录的用户做了什么操作。
案例 1: 显示所有的历史命令
history
案例 2: 显示最近使用过的 10 个指令。
history 10
案例 3:执行历史编号为 5 的指令
!5
9.5.关于时间日期的指令
date指令:
1.显示当前日期
基本语法:
date (功能描述:显示当前时间)
date +%Y (功能描述:显示当前年份)
date +%m (功能描述:显示当前月份)
date +%d (功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
Y year
m month
d day
H hour
M minute
S second
案例 1: 显示当前时间信息
date
案例 2: 显示当前时间年月日
date "+%Y-%m-%d"
案例 3: 显示当前时间年月日时分秒
date "+%Y-%m-%d %H:%M:%S"
2.设置日期
基本语法:
date -s 字符串时间
案例 1: 设置系统当前时间
date -s "2020-11-03 20:02:10"
cal指令:
查看日历指令 cal
基本语法:
cal [选项] (功能描述:不加选项,显示本月日历)
案例 1: 显示当前日历
cal
案例 2: 显示 2020 年日历
cal 2020
9.6.关于搜索查找有关的指令
find 指令
从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
基本语法:
find [搜索范围] [选项]
选项说明:
案例 1: 按文件名:根据名称查找 /home 目录下的 hello.txt 文件
find /home -name hello.txt
案例 2:按拥有者:查找 /opt 目录下,用户名称为 nobody 的文件
find /opt -user nobody
案例 3:查找整个 linux 系统下大于 200M 的文件
+n 大于 -n 小于 n 等于
单位有 k,M,G
find / -size +200M
[root@hspEdu01 opt]# find / -size +200M
/proc/kcore
find: ‘/proc/12775/task/12775/fd/5’: 没有那个文件或目录
find: ‘/proc/12775/task/12775/fdinfo/5’: 没有那个文件或目录
find: ‘/proc/12775/fd/6’: 没有那个文件或目录
find: ‘/proc/12775/fdinfo/6’: 没有那个文件或目录
/run/media/root/CentOS 7 x86_64/LiveOS/squashfs.img (这个文件大于200M)
[root@hspEdu01 opt]# cd /run/media/root/CentOS\\ 7\\ x86_64/LiveOS/
[root@hspEdu01 LiveOS]# ls
squashfs.img TRANS.TBL
[root@hspEdu01 LiveOS]# ls -l
总用量 442741
-rw-r--r--. 1 root root 453365760 11月 26 2018 squashfs.img
-r--r--r--. 1 root root 224 11月 26 2018 TRANS.TBL
[root@hspEdu01 LiveOS]# ls -lh (上面的总用量大小看不懂,加上h human 能看懂的内容)
总用量 433M
-rw-r--r--. 1 root root 433M 11月 26 2018 squashfs.img
-r--r--r--. 1 root root 224 11月 26 2018 TRANS.TBL
locate 指令
可以快速定位文件路径。
利用事先建立的系统中所有文件名称及路径的 locate 数据库实现快速定位给定的文件。
Locate 指令无需遍历整个文件系统,查询速度较快。
为了保证查询结果的准确度,管理员必须定期更新 locate 时刻
基本语法:
locate 搜索文件
注意:
由于 locate 指令基于数据库进行查询,
所以第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
案例 1: 请使用 locate 指令快速定位 hello.txt 文件所在目录
updatedb
locate hello.txt
which 指令
可以查看某个指令在哪个目录下
案例:ls 指令在哪个目录
which ls
grep 指令和 管道符号 |
grep指令往往和管道符号 | 结合使用
grep:过滤查找
管道符:“|”
表示将前一个命令的处理结果输出传递给后面的命令处理。
比如:先 cat a.txt,然后又想看a.txt文件中有没有hello这个词
那么就 cat a.txt | grep "hello" --->先找到a.txt,然后再在a.txt中找hello
基本语法:
grep [选项] 查找内容 源文件
常用选项:
-n 显示匹配行及行号
-i 忽略字母大小写
案例 1: 请在 hello.txt 文件中,查找"yes"所在行,并且显示行号
写法 1: cat /home/hello.txt | grep "yes" 引号写不写都行
cat /home/hello.txt | grep -n "yes" 显示行号
写法 2: grep -n "yes" /home/hello.txt
9.7.关于压缩和解压的指令
gzip/gunzip 指令
gzip 用于压缩文件
gunzip 用于解压的
基本语法:
gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz 文件)
gunzip 文件.gz (功能描述:解压缩文件命令)
案例 1: gzip 压缩,将 /home 下的 hello.txt 文件进行压缩
gzip /home/hello.txt
案例 2: gunzip 解缩,将 /home 下的 hello.txt.gz 文件进行解压
gunzip /home/hello.txt.gz
zip/unzip 指令
zip 用于压缩文件
unzip 用于解压的
(这个在项目打包发布中很有用的)
基本语法:
zip [选项] XXX.zip 将要压缩的内容 (功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip (功能描述:解压文件)
zip 常用选项
-r:递归压缩,即压缩目录
unzip 的常用选项
-d<目录> :指定解压后文件的存放目录
案例 1:将 /home 下的所有文件/文件夹压缩成 myhome.zip
zip -r myhome.zip /home/ [将 home 目录及其包含的文件和子文件夹都压缩]
案例 2:将 myhome.zip 解压到 /opt/tmp 目录下
mkdir /opt/tmp
unzip -d /opt/tmp /home/myhome.zip
tar 指令
tar 指令是打包指令,最后打包后的文件是 .tar.gz 的文件。
把一个或者多个文件(夹)用压缩软件进行压缩的过程,一般可称之为打包。
tar指令可以压缩也可以解压。
根据选项来 压缩还是解压。
基本语法:
tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
案例 1:压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
使用了选项:-z -c -v -f
多个文件就 空格直接写在后面就好了
案例 2:将 /home 的文件夹压缩成 myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
案例 3:将 pc.tar.gz 解压到当前目录
tar -zxvf pc.tar.gz
案例 4:将 myhome.tar.gz 解压到 /opt/tmp2 目录下
(1) mkdir /opt/tmp2
(2) tar -zxvf /home/myhome.tar.gz -C /opt/tmp2
注意:-C 后写要解压到的位置
第十章:Linux 实操篇-组管理和权限管理
10.1. Linux 组基本介绍
在 linux 中的每个用户必须属于一个组,不能独立于组外。
在 linux 中每个文件都有所有者、所在组、其它组的概念。
1) 所有者
2) 所在组
3) 其它组
4) 改变用户所在的组
10.2.文件/目录的所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
但是所有者也可以更改。
1.查看文件/目录的所有者(在/home下才能看到)
指令:ls –ahl
-ahl是三个选项
-h human 让输出的结果方便人看(文件的大小容易看)
drwxr-xr-x. 6 root root 4.0K 2月 23 13:59 .
dr-xr-xr-x. 18 root root 4.0K 2月 20 16:45 ..
-rw-r--r--. 1 root root 24 2月 22 21:59 hello.txt
...
第三列就是文件的所有者
2.修改文件/目录所有者指令:chown 新所有者 文件名
案例:
要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
chown tom apple.txt
10.3.组的创建
基本指令:
groupadd 组名
案例:
创建一个组 monster
groupadd monster
创建一个用户 fox ,并放入到 monster 组中
useradd -g monster fox
10.4.文件/目录的所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)。
查看文件/目录所在组
指令:
ls –ahl 或者ll
ll并不是linux下一个基本的命令,它实际上是ls -l的一个别名。
Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便。
案例:使用 fox 来创建一个文件,看看该文件属于哪个组?
使用fox创建一个文件:
su fox
然后touch ok.txt
然后ll
-rw-r--r--. 1 fox monster 0 11 月 5 12:50 ok.txt
第三列:文件的所有者(谁创建了这个文件,就是这个文件的所有者)
第四列:文件的所在组(某个用户创建了一个文件,该文件所在组=该用户所在组)
注意:/etc/group下存放着所有的组
使用指令:cat /etc/group 可以查看所有的组
比如查看有没有mojiao这个组
可以使用管道命令和grep过滤
cat /etc/group | grep mojiao
当一个文件很大,想找某个关键词就可以这个过滤!
修改文件/目录所在的组
指令:
chgrp 组名 文件名
案例:使用 root 用户创建文件 orange.txt ,看看当前这个文件属于哪个组,
然后将这个文件所在组,修改到 fruit 组。
groupadd fruit
touch orange.txt
看看当前这个文件属于哪个组 -> root 组
chgrp fruit orange.txt
10.5.其它组
除文件的所有者和所在组的用户外,系统的其它用户都是该文件的其它组
10.6.改变用户所在的组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组。
改变用户所在组
usermod –g 新组名 用户名
usermod –d 目录名 用户名 (改变该用户登陆的初始目录)
特别说明:用户需要有进入到新目录的权限。
如何查看用户所在的组?
id 用户名 --->显示用户信息
案例:
将 zwj 这个用户从原Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍
前言: 本文是听的b站韩顺平老师 Linux 课程的 63~85 集所做的笔记,大家可以配套该文章学习韩老师的 Linux 课程,也可以借助此文章来学习 Linux 的知识。可以收藏起来,以后要用时,随用随查。
文章目录
1. 网络配置
1.1 查看网络 IP 和网关(ifconfig)
-
查看 Windows 环境中 VMnet8 网络配置
ipconfig
-
查看 Linux 中网络配置
ifconfig
-
测试主机之间网络连通性
// 测试当前服务器是否可以连接目的主机
ping 目的主机的ip地址
示例:测试当前服务器是否可以连接到百度
ping www.baidu.com
1.2 Linux 网络环境配置
-
方式一:自动获取 IP
- 说明:登陆后,通过界面来设置自动获取 IP
- 特点:Linux 启动后会自动获取 IP
- 缺点:每次自动获取的 IP 地址可能不一样
-
方式二(推荐):指定 IP
- 说明:直接修改配置文件来指定 IP,并可以连接到外网
- 编辑:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
- 要求:将 IP 地址配置为静态的(将 BOOTPROTO 的值改为 static,再设置指定 IP,保存,然后重启网络系统
service network restart
)
1.3 设置主机名和 hosts 映射
-
查看当前主机名
hostname
-
修改主机名(修改文件在 /etc/hostname
中)
// 1. 进入主机名修改文件
vim etc/hostname
// 2. 修改主机名,保存退出,并且重启系统
-
设置 host 映射
- 通过建立 host 映射,我们就可义直接通过
ping 主机名
的方式来访问测试是否连接到要访问的主机 - host 文件中设置的是要访问的 IP 和主机名,通过
ping 主机名
,就可以在对应 host 文件中找到主机名,然后又可以找到对应的 IP - 在 Windows 中,进入
C:\\Windows\\System32\\drivers\\etc
文件中,再将 IP 和对应主机名名写成下面的形式即可,例如 - 在 Linux 中,进入
/etc/hosts
文件中,进行编辑
1.4 主机名解析过程分析(Hosts、DNS)
-
Hosts
Hosts 是一个文本文件,用来记录 IP 和 Hostname(主机名)的映射关系
-
DNS
DNS 是 Domain Name System 的缩写,即域名系统,是互联网上作为域名和 IP 地址相互映射的一个分布式数据库
-
实例解析:用户在浏览器输入了 www.baidu.com
- 浏览器先检查浏览器缓存中有没有该域名解析 IP 地址,如果有,就先调用这个 IP 完成解析;如果没有,就检查 DNS 解析缓存,如果 DNS 解析缓存中有就直接返回 IP 完成解析(上述两个缓,都可以理解为本地解析器缓存)
- 一般来说,当电脑第一次成功访问某一个网站后,在一定时间内,浏览器或操作系统会缓存它的 IP 地址(DNS 解析记录)
- 如果本地解析器缓存没有找到对应映射,就会检查系统中 hosts 文件里有没有配置对应的域名 IP 映射,如果有,则完成解析
- 如果本地解析器缓存中和 host 文件中均没有找到对应的 IP,则到域名服务器 DNS 进行解析域
- 如果域名服务器 DNS(DNS其实有一组,它是递进的) 中也没有,那么就返回域名不存在
-
在 cmd 窗口中可以输入下面指令来显示 DNS 域名解析缓存或手动清理 DNS 的缓存
// 显示 DNS 域名解析缓存
ipconfig /displaydns
// 手动清理 DNS 缓存
ipconfig /flushdns
2. 进程管理
2.1 介绍
- 在 Linux 中,每个执行的程序都被称为一个进程,每一个进程都分配一个 ID 号(即 PID、进程号)
- 程序没有执行时,是静态的,其实就是一份代码。当其被加载到内存中运行后, 是动态的,就是进程
- 每个进程都可能以两种方式存在,前台与后台。
- 前台进程:就是用户目前的屏幕上可以进行操作的
- 后台进程:就是实际已经在操作,但是屏幕上无法看到的进程,通常使用后台方式执行
- 一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束
2.2 显示系统执行的进程(ps)
查看当前系统中,有哪些正在执行,以及它们执行的状况
ps [选项]
// 显示当前终端的所有进程信息
ps -a
// 以用户的格式显示进程信息
ps -u
// 显示后台进程运行的参数
ps -x
// 显示所有进程
ps -e
// 以全格式显示进程(可以显示父进程 PPID)
ps -f
// 选项可以组合使用,例如
ps -aux
ps -ef
// 加上 grep 进行过滤
ps [选项] | grep xxx
补充: ps 显示信息说明
字段 说明 PID 进程识别号 TTY 终端信息 TIME 此进程所占用 CPU 时间 COMMAND 正在执行的命令或进程 USER 执行该进程的用户 %CPU 占用 CPU 的百分比 %MEM 占用物理内存的百分比 VSZ 占用虚拟内存大小(单位:KB) RSS 占用物理内存大小(单位:KB) STAY 运行状态(S 表示睡眠、s 表示该进程是会话的先导进程、N 表示进程拥有比普通优先级更低的优先级、R 表示正在运行、D 表示短期等待、Z 表示僵死进程、T 表示被跟踪或者被停止) START 执行的开始使时间
2.3 终止进程(kill、killal)
若是某个进程执行一半需要停止时间,或是已消耗了很大的系统资源时,就可以考虑停止该进程
// 通过进程号杀死进程
kill [选项] 进程号
// 常用选项
-9 表示强迫进程立即停止
// 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
killal 进程名
补充:
通过 killall 杀死进程的话,所有子进程都会被干掉
2.4 查看进程树(pstree)
更加直观的查看进程信息
pstree [选项]
// 常用选项
-p 显示进程的 PID
-u 显示进程的所属用户
2.5 动态监控进程(top、netstat)
top 与 ps 命令相似,它们都用来显示正在执行的进程。top 与 ps 最大的不同之处是 top 在执行一段时间可以更新正在运行的进程
-
top 指令用法:
top [选项]
// 常用选项
// -d [秒数] 表示指定 top 命令每隔几秒更新,默认是3秒
// -i 表示使 top 不显示任何闲置后者僵死进程
// -p 表示通过指定监控进程 ID 来仅仅监控某个进程的状态
指令显示信息说明:
-
交互操作说明:
操作 功能 P 以 CPU 使用率排序,默认就是此项 M 以内存的使用率排序 N 以 PID 排序 q 退出 top
-
监视指定用户
// 首先进入 top,输入 u,再回车,再输入用户名即可
-
终止指定的进程
// 首先进入 top,输入 k,再回车,再输入要结束的进程 ID 号
-
查看系统网络情况
netstat [选项]
// 常用选项
// -an 表示按一定顺序排序输出
// -p 表示显示哪个进程在调用
-
检测主机连接命令
ping 对方ip地址
ping 是一种网络检测工具,它主要是用来检测远程主机是否正常,或是两个主机之间的网络或网卡故障
3. 服务管理
3.1 介绍
服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如:mysqld、sshd 防火墙等,因此我们又称其为守护进程
3.2 service 管理指令
-
service 指令
service 服务名 [start | stop | restart | reload | status]
// start 开启服务
// stop 关闭服务
// restart 重启服务
// reload 重装服务
// status 查看状态
-
在 CentOS7.0 后很多服务不再使用 service 指令去管理了,而是使用 systemctl 指令
-
service 指令管理的服务在 /etc/init.d
中查看
-
查看系统中所有服务指令
setup
// 带✳的表示自动启动
// 可以通过把光标放在✳上,按住空格键,来取消✳
3.3 服务的运行级别
Linux 系统有7种运行级别(runlevel),常用的是级别3和5
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 运行级别1:单用户工作状态,root 权限,用于系统维护,禁止远程登录
- 运行级别2:多用户状态(没有 NFS),不支持网络
- 运行级别3:完全的多用户状态(有 NFS),无界面,登录后进入控制台命令行模式
- 运行级别4:系统未使用,保留
- 运行级别5:X11 控制台,登陆后进图图形 GUI 模式
- 运行级别6:系统正常关闭并启动,默认运行级别不能设为6,否则不能正常启动
开机流程说明:
-
查看当前运行级别
systemctl get-default
-
更改运行级别
systemctl set-default 要更改的运行级别
-
注意:在 CentOS7 后运行级别在 /etc/initab
文件种进行了简化
multi-user.target
表示运行级别3graphical.target
表示运行级别5
3.4 chkconfig 指令
-
通过 chkconfig 命令可以给服务器在各个不同运行级别时设置自动启动或关闭
-
chkconfig 指令管理的服务在 /etc/init.d
中查看
-
chkconfig 基本语法
// 查看 chikconfig 管理的服务
chkconfig
// 查看具体的某个服务
chkconfig 服务名
// 设置某个服务的自启动或关闭
chkconfig --level 运行级别 服务名 on/off
3.5 systemctl 指令
-
systemctl 管理指令
systemctl [start | stop | restart | status] 服务名
// start 开启服务
// stop 关闭服务
// restart 重启服务
// status 查看状态
systemctl 指令管理的服务在 /usr/lib/systemd/system
中查看
-
systemctl 设置服务的自动启动状态
// 查看各个服务器开机启动状态,可以使用 grep 过滤
systemctl list-unit-files [ | grep 服务名]
// 设置服务开机启动
systemctl enable 服务名
// 关闭服务开机启动
systemctl disable 服务名
// 查询某个服务是否是自动启动的
systemctl is-enabled 服务名
3.6 打开或者关闭指定端口(firewall)
在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080
-
打开端口
firewall-cmd --permanent --add-port=端口号/协议
-
关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
-
重新载入,才能生效
firewall-cmd --reload
打开或者关闭端口之后,要重新载入才能生效
-
查询端口是否开放
firewall-cmd --query-port=端口/协议
开或者关闭指定端口(firewall)
在真正的生产环境中,往往需要将防火墙打开,但是如果打开防火墙,那么外部请求数据包就不能跟服务器监听端口通讯。这时,需要打开指定的端口,例如:80、22、8080
-
打开端口
firewall-cmd --permanent --add-port=端口号/协议
-
关闭端口
firewall-cmd --permanent --remove-port=端口号/协议
-
重新载入,才能生效
firewall-cmd --reload
打开或者关闭端口之后,要重新载入才能生效
-
查询端口是否开放
firewall-cmd --query-port=端口/协议
4. rpm 包的管理
4.1 介绍
rpm 是用于互联网下载包的打包及安装工具,它包含在某些 Linux 分发版中。它会生成具有 .RPM
扩展名的文件。RPM 是 RedHat Package Manger(RedHat 软件包管理工具)的缩写,类似于 Windows 的 setup.exe
,这一文件格式名称虽然打上了 RedHat 的标志,但是理念是通用的
4.2 rpm 包的简单查询
-
查询已安装的所有 rpm 软件包,或查询是否安装了某个具体的软件包
rpm -qa | grep xxx
返回结果是包名,例如:firefox-60.2.2-1.el7.centos.x86_64
,其中
- firefox 是名称
- 60.2.2-1 是版本号
- el7.centos.x86_64 是适用操作系统
-
查询软件包是否安装
rpm -q 软件包名
-
查询软件包信息
rpm -qi 软件包名
-
查询软件包中的文件
rpm -ql 软件包名
-
查询文件所属的软件包
rpm -qf 文件全路径名
4.3 卸载 rpm 包
卸载 rpm 包
rpm -e RPM包的名称
注意:
- 当删除某个软件包时,可能会报
xxx is needed by sss
的信息,因为你要删除的软件包 xxx 被 sss 引用了。 - 强制删除,可以增加参数 --nodeps,但是不推荐使用,可能导致依赖该软件包的程序无法运行
4.4 安装 rpm 包
安装 rpm 包
rpm -ivh RPM包全路径名称
参数说明:
- i 表示 install 安装
- v 表示 verbose 提示
- h 表示 hash 进度条
5. yum
5.1 介绍
yum 是一个 shell 前端软件包管理器。基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包
5.2 基本指令
-
查询 yum 服务器是否有需要安装的软件
yum list | grep 软件名
-
安装指定的 yum 包
yum install 包名
以上是关于Linux学习笔记-B站韩顺平的主要内容,如果未能解决你的问题,请参考以下文章
Linux 学习笔记网络配置进程管理rpm 包的管理和 yum 介绍
Linux 初学篇运行级别找回 root 密码帮助指令文件目录指令