【其他】Linux_ALL
Linux基础
注意:这个总结是用 Xmind 写的,源文件阅读更佳:蓝奏
密码:6y92有 Xmind 和 word 两种形式
推荐 Xmind 食用,亲测舒适
一.基础
1.1 远程
1.1.1Xshell
- 博客:https://blog.csdn.net/qq_65224479/article/details/124654734
- 用于远程登录和命令行操作 Linux
1.1.2 Xftp
- 博客:https://blog.csdn.net/qq_65224479/article/details/124655418
- 用于远程给 Linux 传输文件
1.2 编辑器
1.2.1 vim
1.2.1.1 介绍
vim 是vi 的增强版,支持编写代码
1.2.1.2 三种模式
-
普通模式
- 就是你输入 vim 文件名后那个界面,不能输入,只能移动光标,删除(delete),粘贴复制。
-
插入模式
- 进入方式:在普通模式下按airo任意一个字母的任意大小写,一般是按i
- 功能:完成对文件的写入
-
命令行模式
- 进入方式:一般是在插入模式中输入 Esc 然后输入:就ok。(这里建议大家用:用/会有一些小问题)
- 功能:用于编辑后文件的保存等处理
1.2.1.3 三种模式的具体切换
1.2.1.4 快捷键
-
复制
- (普通模式) yy 就是复制当前行,xyy就是复制连同当前行以及下面的一共x行
-
粘贴
- (普通模式)p:就会在光标行粘贴
-
撤销
- 在插入模式输入后想撤销,Esc 退出到普通模式,然后按u
-
删除
- (普通模式)dd就是删除当前行,xdd就是删除加上当前行的下面x行
-
查找
- 文件中查找某个单词
- (命令行)输入 /查找的单词 然后回车。
- 找到的单词就会高亮,然后按n就在找到的单词中跳下一个,N是上一个
-
行号
- (命令行下)输入 set nu 设置行号
- (命令行)输入 set nonu 取消行号
-
跳转
- (普通模式)gg到开头
- (普通模式)G到文尾
- (普通模式)数字 Shift +g:跳转到数字行
-
注意:上面都是建立在用 vim 打开文件后使用的
1.3 基础环境安装
-
VM 虚拟机的下载及配置
-
Centos 的下载以及配置
-
虚拟机的克隆
- 方法一:直接把那个系统的文件夹复制一份
- 方法二:在 VM 里面按图形页面整
-
虚拟机的迁移和删除
- 虚拟机系统的本质就是哪一个生成的文件夹,所以直接对那个文件夹操作即可
-
虚拟机快照
-
快照就是时间节点,做了快照,无论你进行了多少操作都可以回到指定的那个快照,也就是回到那个时间节点。
-
VM 一使用快照就蓝屏重启的问题解决
-
-
VMtools
-
就是如果虚拟机在你电脑上,你可以建立一个自己电脑和虚拟机共用的 share 文件夹。里面的东西双方都可以拿到
-
-
Linux文件目录
-
在 Linux 中一切皆文件,Linux 系统自己在主机上就是一个文件夹,他的内部也是由各种文件组成的
-
主要目录介绍
- /home:存放普通用户的
- /root:系统管理员的
- /etc:系统管理所需要的配置文件和子目录
- /usr:应用程序和文件的主要集中地
- /temp:临时文件
- /dev:硬盘
- /media:外接设备
- /mnt:临时挂别的文件系统–比如myshare
- /opt:格外安软件的
- /usr/local:另一个额外装软件的,一般是通过源码编译的执行文件
- /var:不断扩充的东西–日志
- 子主题 12
-
1.4 Linux 下 JavaEE 开发环境安装
-
JDK8
-
tomcat
-
IDEA
-
MySQL
二.实操
2.1 开关机,重启
-
shutdown -h now – 现在马上关机
-
shutdown -h 数字 – 数字分钟后关机
-
shutdown -r now – 现在马上重启
-
halt – 关机
-
reboot – 重启
-
sync – 数据同步到磁盘
- 建议每次重启关机前都自己输入一次,虽然一般来说会自动给你备份,小心驶得万年船。
2.2 用户登录和注销
-
一般来说建议开始登录一个普通用户然后 su -
root 这样切换成 管理员,记得-和root之间有空格 -
logout 为注销用户(也就是退出当前用户),在图形页面没用(有桌面那个),运行级别3(Xshell 或者没桌面那个多用户 Linux)下有用
- exit也行
2.3 用户管理
-
添加用户
-
useradd 用户名
-
指定目录创建用户
-
useradd -d 路径 新的名字
-
你创建的用户家目录名字是路径下的那个文件夹名
-
-
-
删除用户
-
保留家目录(推荐)
- userdel 用户名
-
全删了
- userdel -r 用户名
-
-
给用户设置密码
- passwd 用户名
- 普通用户只能改自己的,root可以改所有的
-
查询用户信息
- id 用户名
-
切换用户
- su - 用户名
- 注意- 和用户名中间有空格
-
查看当前用户
- whoami
- who am i
-
用户组
-
用处
- 将有共性或者有相同权限的用户放在一个用户组中
-
新建
- groupadd 组名
- 只有 root 有这个权利
-
删除
- groupdel 组名
-
用户入组
-
创建直接加入组
- useradd -g 组名 用户名
-
移动用户来这个组
-
usermod -g 组名 用户名
- 权限一般在 root 哪里
-
-
-
-
用户及组的相关文件
-
/etc/passwd
-
用户的配置文件,记录用户的各种信息
-
每行含义
- 用户名:加密口令:用户id:组id:注释:位置:登录Shell
- 这个Shell相当于编译器,翻译你指令给计算机的
- 那个加密口令就是密码,如果没有就是!
-
-
/etc/shadow
-
口令的配置文件
-
含义
- 登录名:加密密码:不认识的
-
-
/etc/group
-
组的配置文件,记录组的信息
-
每行含义
- 组名:口令:组id:组内列表(也加密了,看不到)
-
-
上面三打开方式:vim 加名
-
2.4 实用指令
-
运行级别
-
基本介绍
-
0关机
-
1单用户:找回密码,不可以远程登录
-
2多用户无网络
-
3多用户有网络(常用)
-
4系统未使用保留给用户
-
5图形界面
-
6重启
-
-
initi 数字: 切换
-
-
帮助
-
man 指令
- q退出
-
help 指令
- 查看 Shell 指令内部帮助
-
百度
-
-
文件目录
-
pwd
- 显示当前工作绝对目录
-
ls 目录/文件
-
查看当前目录所有信息
-
-a 显示所有包括隐藏的
-
-l 成行显示
- ll也可以
-
-
cd 目录
-
cd ~或者 cd
- 返回家目录
-
cd …
- 返回上一ml
-
-
mkdir 目录
- -p 创建多级目录
-
rmdir 目录
- 只能删除空目录
- rm -rf 目录: 删除非空目录
-
touch 文件
- 创建新的空文件
-
cp [参数] source dest
- -r 参数拷贝文件夹这种里面有好多的用的
- 想要不覆盖 cp前加 \
-
rm [参数] 文件/目录
-
删除文件或者目录
-
参数
- -r:删除整个文件夹
- -f:强制删除不提示
-
-
mv
-
重命名
- mv 旧文件名 新文件名
-
移动
- mv 旧地址 新地址
-
-
cat [参数] 目标名
-
查看目标信息
-
-n 显示行号
-
cat语句 | more :配合管道符号
- 将 | 前的内容交给 后面的
-
-
more 要看的文件
-
vim 的文本编辑器,以全屏幕的方式显示文本内容
-
快捷键
-
-
less 要看的文件
-
这个也和 more 差不多,但是是看多少加载多少更加智能
-
快捷键
-
-
echo 内容
- 显示内容到控制台
-
head 文件
-
显示文件前10行内容
-
head -n 数字 文件
- 显示开头前数字行
-
-
和>>
-
文件:定向输出到这个文件
-
文件:追加到文件中
-
-
ln -s 原文件 快捷方式
- 这个就一自命名的快捷方式
- 用 pwd 查看当前目录时,还是 ln 标签目录
-
查看历史操作
-
history
-
history 数字
- 查看最近 数字 行
-
!行号:执行第几行的指令
-
-
-
时间日期
-
date:显示当前时间
-
date ”+%Y-%m+%d %H:%M%S“:显示年月日时分表,以此类推
-
date -s 字符串时间:修改时间
-
cal
-
默认打印本月日历
-
cal 2022
- 显示 2022 全年日历
-
-
-
搜索查找
-
find [搜索范围] [选项]
-
选项
-
-name:按文件名来找
-
-user:按作者来找
-
-size:按大小来找
- +n大于
- -n小于
- n等于
- 单位有kMG
-
-
-
locate 文件
- 速度更快,因为塔是通过实现数据库来查找的
- 记得使用前updatedb一下
-
which 指令名
- 找指令在那个目录下面
-
grep [选项] 查找内容 源文件
-
选项
- -n:显示行号
- -i:忽略大小写
-
-
-
压缩解压
-
.gz
-
gzip 文件
- 压缩文件为*.gz文件
-
gunzip 文件.gz
- 解压文件
-
-
.zip
-
zip
-
zip [选项] XXX.zip 想压缩内容 [功能描述]
- -r:压缩文件夹的
-
-
unzip
-
unzip [选项] XXX.zip
-
-d 指定解压目录
- unzip -d /opt/tep xxx.zip
-
-
-
-
.tar.gz
-
tar [选项] XXX.tar.gz 打包内容 [功能描述]
-
选项:
-
可以同时打包多个
-
-
-
2.5 组管理与权限
-
文件和组管理
-
所有者:谁创立谁是所有者
-
查看文件所有者
- ls -ahl
-
更改文件所有者
- chown 用户名 文件名
-
同时改变文件和目录的所有
- chown 新所有者:新所在组 文件/目录
-
-
所在组
-
文件的创造者是那个组,文件就是哪个组的
-
更改文件所在组
- chgrp 组名 文件名
-
-
-R 使操作对被操作的子目录也生效
-
其他组
-
-
权限
-
开头部分
-
代表含义
-
第 0 位:文件类型
- l:链接
- d:目录
- c:字符设备文件,鼠标键盘
- b:块设备,硬盘
-
第 1~3 位:所有者拥有对该文件的权限
-
第 4~6 位:所属组拥有对该文件的权限
-
第 7~9 位:其他用户对该文件的权限
-
-
文件
-
符号详解
- r:可读
- w:可写,可以 vim 编辑
- x:可执行
-
-
目录
-
符号详解
- r:可读,ls查看目录列表
- w:可修改,对目录内创建,修改,重命名目录
- x:可执行,可以进入该目录
-
-
符号可以用数字代替
- r=4,w=2,x =1。组合起来直接用
-
-
其他部分
-
1
- 文件:硬连接数
- 目录:子目录数
-
tom :用户
-
javacode:组
-
101 文件大小(字节)
-
5月 7 19:13 最后修改时间
-
Hello.java 文件名/目录名
-
-
修改权限
-
±=类型
-
指代符号
- u:所有者
- g:所在组
- o:其他人
- a:所有人
-
演示
- chmod u-x,g+w,o+x 文件/目录名
- chmod u=rwx,g=rw,o=r 文件/目录名
-
-
数字类型
-
演示
- chomd 764 文件/目录
-
-
-
2.6 定时任务
-
crond
-
语法:crontab [选项]
-
-e 编辑
-
-
-
-
-
- 语句
-
-
-
五个占位符说明
- 第一个是一个小时中的第几分钟 0~59
- 第二个是一天中第几个小时 0~23
- 第三个是一个月中的第几天 1~31
- 第四个是一年中的第几个月 1~12
- 第五个是一周中的星期几 0~7 0,7都是周日
-
特殊符号说明
-
- 任何时间 比如第一个 * 就是一小时中的每分钟都执行一次的意思
- , 表示不连续的时间 “0 1,2,3 * * * 命令”就是每天 1:00 ,2:00,3:00 都执行一次
-
- 连续的时间
- */n 每隔多久来一次
-
-
-
-
-
-l 查询
-
-r 删除当前用户所有定时任务
-
service crond restart 重启任务调度
-
-
-
at
-
一次性定时任务,atd为监护进程,每60秒检查一下作业队列
-
使用 at 时一定要保证 atd 进程的启动
- ps -ef | grep atd
-
语法:at [选项] [时间]
-
输入完成:Ctrl + D两次
-
选项
-
时间
-
XX:XX
-
midnight,noon,teatime(16:00)
-
6pm,8am
-
today tomorrow
-
相对计时
-
now + 几 时间单位
-
时间单位
- minutes
- hours
- days
- weeks
-
-
-
精准
-
month day
-
mm/dd/yy
-
dd.mm.yy
-
时间 日期
- 04:00 2021-09-9
-
-
-
-
atq 查看当前系统有无执行任务
-
atrm 编号 删除
-
2.7 磁盘分区,挂载
-
载入处理
-
一个磁盘分区对应一个目录
-
硬盘
-
IDE 硬盘
-
驱动器标识符:hdx~
-
hd 表示 IDE 硬盘
-
x 盘号
- a 基础盘
- b 基本从属盘
- c 辅助主盘
- d 辅助从属盘
-
~ 分区
-
主分区或拓展分区
- 1~4
-
逻辑分区
- 5~
-
-
演示 hdb4
- 第2个IDE硬盘的第四个主分区或拓展分区
-
-
-
SCSI 硬盘 (主流)
- 标识 sdx~
-
-
查看所有设备挂载情况
- lsblk
- lsblk -f
-
虚拟机增加一块硬盘
-
-
磁盘情况查询
-
指令:df -h
-
查询指定目录的磁盘情况
-
du -h 目录
- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 带文件
- –max-depth=1 子目录深度
- -c 列出明细的同时,增加汇总值
-
-
-
统计
-
ls -l /opt | grep “^-” | wc -l
- 解释:管道符后面有个正则表达式,表示只查找以
-
开头的。也就是文件。然后又一个管道符后面是以行列来wc
统计个数
- 解释:管道符后面有个正则表达式,表示只查找以
-
ls -lR /opt | grep “^-” | wc -l
- 这个就可以统计那个目录下包括子目录的文件个数
-
ls -l /opt |grep “^d” | wc -l
- 这个就是统计它下面目录的
-
tree 目录
- 以树状显示目录结构
-
2.8 网络配置
-
原理图
-
查看虚拟机子网 IP 和网关
-
查看 Windows 环境下 Vmnet8 网络配置
- CMD 中 ipconfig
-
查看 Linux 环境下网络配置
- 命令行:ifconfig
-
测网络连通性
-
ping 对方地址(ip)
- 当前服务器是否可以连接目标主机
-
-
Linux 网络环境的配置
-
自动配置
- 默认都是这样,就是每次重启 Linux 都会自动获取 ip 每次都不一样
-
指定固定 ip
-
设置主机名和 hosts 映射
-
博客:https://blog.csdn.net/qq_65224479/article/details/124714882
-
hosts 原理:hosts 就是记录主机名和 IP 之间的映射关系
-
举例:在网址中输入
www.baidu.com
,他会首先在浏览器缓存中找这个名字看有没有对应的 IP ,没有就去 DNS 解析器缓存中找。以上两种属于本地解析器缓存。实在没找到回本地的 hosts 中找,还没有就去域名服务 DNS 中进行解析域,一层一层向上找。一旦找到这个网址就返回 ip 完成解析。都没找到就说 这个可能不存在。-
查看本地解析器缓存指令
- ipconfig /diaplaydns
-
清空
- ipconfig/flushdns
-
-
DNS 也就是一个大型的 hosts 一样,是 IP 和域名相互映射的分布式数据库。
-
-
-
2.9 进程管理
-
进程基本介绍
- 每个任务都是一个进程,都会有自己的进程 ID 号,并且分为前台与后台。前台就是你看到的。
-
ps :查看当前系统进程
-
显示信息解说
-
简略
- PID:进程号
- PPID:父进程 ID
- TTY:终端机号
- TIME:占用CPU时间
- CMD:指定该进程的指令
-
详细
-
-
参数
- -a 显示当前终端所有进程消息
- -u 以用户的格式显示进程消息
- -x 显示后台进程运行的参数
- -e 显示所有进程
- -f 以全格式
-
-
top:动态查看当前进程
-
语法:top [选项]
- -d 秒数 :每隔几秒刷新一次,默认3秒
- -i 不显示闲置或者僵死的进程
- -p PID 指定显示某个进程的情况
-
交互操作:看的时候用
- P 以CPU使用率排序 (默认)
- M 以内存使用率
- N PID
- q 退出
- 注意大小写
-
-
杀进程
-
kill [选项] 进程号
- 选项 -9 强制执行
-
killall 进程名
-
-
进程树
-
pstree [选项]
- -p 显示 PID
- -u 显示进程所属用户
-
-
服务
-
服务一般在后台默默的监听着某个端口,本质就是进程,也叫守护进程。
-
service 服务 [start/stop/restart/reload/status]
-
Centos7.0后大部分用的是 systemctl
-
他能管的服务在:/etc/init.d
- 现在是个软连接,指向:rc.d/init.d
-
-
查看服务
-
setup -> 系统服务
- 有小星星的就是自启动的,空格就可以更改
- tab 键退出
-
这里看
-
-
服务运行级别
-
开机流程
-
Centos7 后简化了,35
-
-
chkconfig
-
用途:给某个服务在各个运行级别下设置自 启动/关闭
-
能搞的服务:和service一样
-
这句话同样适用
-
语法
- 开关:chkconfig --level 数字 服务名 on/off
- 查看可以操作的服务:chkconfig --list [后面可以接 grep]
-
生效时间:虚拟机重启后
-
-
systemctl
-
管理指令
-
systemctl [start/restart/stop/status] 服务
- 这些都是立马生效的,但是重启之后就又没了。
-
管理服务所在的文件目录
- /usr/lib/systemd/system
-
-
设置自启动
-
systemctl list-unit-files 可以接过滤
- 查看当前所有服务的自启动现况
-
systemctl enable 服务
- 开服务自启动
-
systemctl disable 服务
- 关闭服务自启动
-
systemctl is-enabled 服务
- 查询
-
这个地方的开关是永久性的跟上面的start,stop不一样
-
-
-
防火墙和端口
-
端口
-
打开端口
- firewall-cmd --permanent --add-port=端口号/协议
-
关闭端口
- firewall-cmd --permanent --remove-port=端口号/协议
-
查看端口是否开放
- firewall-cmd --query-port=端口/协议
-
注意:无论打开还是关闭都需要重新载入防火墙才有用
- firewall-cmd --reload
-
telnet IP 端口
- 测试是否可以访问某个端口
-
-
-
监控网络状态
-
查看系统网络情况
-
netstat [选项]
-
选项
- -an 按一定顺序排列输出
- -p 显示那个进程在调用
-
-
-
检查主机连接命令
- ping 对方IP
-
-
2.10 RPM&YUM
-
RMP:RedHat Package Manager
-
Linux 下互联网下载和安装工具
-
查询所有已安装的RPM
- rmp -qa 可接过滤
-
查询某个是否安装
- rmp -q 软件包名
-
查询软件包信息
- rmp -pi 软件包名
-
查询软件包中文件
- rmp -pl 软件包名
-
查询文件的软件包
- rmp -qf 文件绝对路径
-
删除 rpm
-
rpm -e 软件包名
- 强制 rpm -e --nodeps 软件包名
-
-
安装软件
-
rpm -ivh RPM包全路径名称
-
参数说明
- i=install 下载
- v=verbose 提示
- h=hash 进度条
-
-
-
-
YUM
-
基于RPM的Shell前端软件包管理器
-
优点:可移动处理依赖关系
-
查询yum服务器是否有你要的安装包
- yum list|grep xx
-
安装
- yum install xx
-
三.Shell编程
3.1 开头
#!/bin/bash
3.2 多行注释
- :<<!
~
! - 注意是全英文和小于号的走向
3.3 执行方式
-
- 先赋予脚本可执行权限+x,然后就是打全脚本路径回车就行。或者 ./脚本名
-
- 直接 sh 加上名字/全路径
3.4 变量
-
系统变量
-
$HOME,$PWD,$SHELL,$USER
- 显示当前shell 中所有变量 set
-
-
用户自定义变量
-
基本语法
-
定义变量
- 变量名=值
-
撤销变量
- unset 变量
-
声明静态变量
-
readonly 变量
- 不能被unset
-
-
-
将指令返回的值赋给变量
-
用反引号
- C=
date
- C=
-
用$()
- D=$(date)
-
-
规则
-
变量名
- 可以包含:字母下划线数字,但是不可以用数字开头
-
等号两边不能有空格
-
变量名习惯大写
-
-
-
设置环境变量
-
export 变量名=变量值
- 将 Shell 变量输出为环境变量
-
source 配置文件
- 让修改后的信息立刻生效
-
echo $变量名
- 查询环境变量的值
-
-
位置参数变量
-
获取命令行的参数信息
- ./myshell.sh 10 10
-
基本语法
-
$n 表示第几个参数
- $0 就是命令本身
- $1~9 就是第几个参数
- ${10~} 10 以后要用大括号括起来
-
$* 表示命令行中所有参数看成一个整体
-
$@ 也是代表命令行所有参数,不过是区别对待
-
$# 表示命令行参数个数
-
-
-
预定义变量
-
就是 Shell 设计者事先定义好了,直接用就 ok
-
基本语法
-
$$ PID当前进程号
-
$! 后台运行的最后一个进程的 PID
-
$? 最后一次执行的命令的情况
- 0 就是正常
- 非0就是不正常
-
-
3.5 运算符
-
$((运算式))
-
$[运算式]
-
expr m + n
-
乘除取余
- * / %
-
如果希望 expr 的结果赋值 还是``
-
3.6 条件判断
-
基本语法
-
[ 判断对象 ]
- 注意对象两边有空格
- 非空就是 true,空就是 false
-
-
常用判断条件
-
- 字符串比较
- =
-
- 两个整数比较
- -lt 小于
- -le 小于等于
- -eq 等于
- -gt 大于
- -ge 大于等于
- -ne 不等于
-
3.按照文件权限进行判断
- -r 有读
- -w 有写
- -x 有执行
-
- 按照文件类型
- -f 文件存在且是个常规文件
- -e 文件存在
- -d 文件存在且是个目录
-
3.7 流程控制
-
if 判断
-
单分支
-
if [ 条件判断式子 ]
then
代码
fi- 如果 if 和 then 在同一行记得在 then 前加;
-
-
加上其他分支
- if [ 条件判断式子 ]
then
代码
else
其他代码
fi
- if [ 条件判断式子 ]
-
多分支
- if [ 条件判断式子 ]
then
代码
elif [ 条件判断式 ]
fi
- if [ 条件判断式子 ]
-
-
case 语句
-
模板
- case $变量名 in
情况1)
代码
;;
情况2)
~
;;
…
*)
~
;;
esac
- case $变量名 in
-
-
for 循环
-
语法
-
for 变量 in 值1 值2 值3 …
do
代码
done- $*与$@区别
-
for(( 初始值;循环控制条件;变量变化))
do
程序
done
-
-
-
while 循环
-
语法
- while [ 条件判断式 ]
do
代码
done
- while [ 条件判断式 ]
-
3.8 控制台读入
-
read 选项 参数
-
选项
- -p 指定读取值时的提示符
- -t 指定读取值时的等待时间,要是在指定时间内没有输入就直接退出
-
参数
- 读来的值给到的变量名
-
3.9 函数
-
系统函数
-
basename
- 返回主要文件名,删除前面的目录名和后缀
- basename 完整路径 文件后缀
-
dirname
- 在给定的路径下去除文件名然后返回所在目录
- dirname 完整路径
-
-
自定义函数
-
语法
-
定义
- [ function ] funname()
{
Action;
[return int;]
}
- [ function ] funname()
-
调用
- funname [值]
-
注意:定义的时候开头那个 function 可要可不要,但是那个 funname 后面的 () 是要的。然后就是。函数可以传值进入,跟那个位置函数一样
-
-
四.进阶
4.1 日志
-
日志时一种记录系统的工具
-
保存位置
- /var/log
-
系统常用日志
-
rsyslogd日志管理
-
rsyslogd(Centos7.6)
-
rsyslogd(Centos6.X)
-
本质是个后台程序与服务
-
配置文件
- /etc/rsyslog.conf
-
查询是否启动
-
ps aux | grep “rsyslog” | grep -v “grep”
- grep -v XX:除去XX的反向筛选
-
-
查询自启动状态
- systemctl list-unit-files | grep rsyslog
-
-
logroate
-
全局日志轮替规则或策略
- 后台程序自动执行
-
全局配置文件
-
/etc/logrotate.conf
-
参数说明
-
-
同代路径
- /etc/logrotate.d
-
-
编辑文件时的格式
-
.
- 第一个 * 代表日志类型
- 第二个 * 代表日志级别
-
-
日志类型
- anth pam产生的日志
-
日志类型
- 从上到下,级别从低到高,记录信息越来越少
-
日志内容含义解读
- 由 rsyslogd 记录的文件
-
-
日志轮替
-
含义
- 将旧的日志移动并改名,当过了一段时间就会删除旧日志
-
轮替文件命名
-
Centos7用logrotate进行日志轮替
-
改的方法
-
/etc/logrotate.conf 配置文件中的 dateext参数
- 如果有就会以日期作为后缀,只需要指定文件个数,多了删除就可以了。
- 如果没有这个参数,日志文件会自动改名从老的到新的依次XX,XX1,XX2,这样
-
-
-
原理:cron后台程序中会自动运行logrotate
-
-
怎末添加自己的日志
- 1.直接在/etc/logrotate.conf中写
- 2.在/etc/logrotate.d写
- 推荐第二种,利于管理和维护
-
怎末查看内存日志
-
journalctl
- 查看所有
-
journalctl -n 数字
- 查看最新 数字条
-
journalctl --since 19:00 --untill 19:10:00
- 查看这个时间段(可追加日期)
-
journalctl -p err
- 报错日志
-
journalctl -o verbose
- 日志详细内容
-
journalctl _PID=1234 _COMM=sshd
- 在相信日志中查看有这些参数的日志
-
journalctl | grep sshd
-
4.2 定制 Linux 系统
-
介绍
-
原理
-
Linux 启动流程
-
关键文件
-
kernel 文件
- vmlinuz-3.10.0-957.e17.x86_64
-
initrd文件
- initramfs-3.10.0-957.e17.x86_64.img
-
-
-
-
思路
-
- 在现有的 Linux 系统上加一块硬盘,整好后,有/boot和/区。然后他在现有Linux系统上是/dev/sdb。
-
- 我们把Linux启动的两个关键文件拷贝到这里来
- 3.然后新开一个 Linux 系统,磁盘直接删了,用我们这个自制的磁盘
-
- 后面需要什么功能就直接将硬盘挂载到正常机上拷贝
-
-
步骤
4.3 备份与恢复
-
方法一
- 直接把需要备份的文件或者区直接tar打包,然后恢复的时候直接解压覆盖
-
方法二
-
dump & restore
-
dump
-
先安装
-
yum -y install dump
- 那个 restore 会自动安装
-
-
分类
-
分卷备份
-
增量备份
- 就是比较两次不同的然后把不同的备份下来(也叫差异化备份)
- 这个是针对分区,但是如果备份的是文件或者目录。不支持增量备份。
-
-
指令
-
-
restore
-
语法
-
restore [模式选择][选项]
-
模式:不可混用每次只能指定一种
-
-C 对比模式,将备份的文件和已存在的文件互相对比
-
-i:交互模式 会一直问你跟你聊天
-
-r 还原模式
- 如果是增量备份要依次恢复,按数字小到大
-
-t 查看模式 看哈备份的有哪些文件
-
-
选项
- -f 从指定的文件读取备份数据,进行还原操作
-
-
-
-
-
4.4 界面管理
- webmin
- 宝塔
4.5 Linux0.01源码
有兴趣的同学可以自己研究研究
五.补充
5.1 资源
- 实战:蓝桥课堂https://www.lanqiao.cn/courses/1
- 在线Linux:https://blog.csdn.net/AlbenXie/article/details/102929893
- 网课:2021 韩顺平 一周学会Linux https://www.bilibili.com/video/BV1Sv411r7vd
- Linux 命令搜索:https://wangchujiang.com/linux-command
- 作者CSDN:https://blog.csdn.net/qq_65224479?spm=1019.2139.3001.5343
5.2 多说两句
- 期末不挂看实操和Shell线程
- 进阶不必太深入