2021韩顺平 一周学会Linux-笔记

2,032 阅读18分钟

自己做的笔记,来源于B站,2021韩顺平 一周学会Linux

一、Linux常用分区:

boot = 1G
image.png
swap = 和内存大小一样(2G)
image.png
根分区= 剩余的全分到根分区
image.png

二、Linux目录详解

/bin (/usr/bin、/usr/local/bin)是binary的缩写,这个目录存放着最经常使用的命令
/sbin(/usr/sbin、/usr/local/sbin)s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序
/home存放普通用户的主目录,在Linux中每个用户都有自己的目录,一般该目录是以用户名的账号命名
/root 该目录为系统管理员,也称作超级权限者的用户主目录
/bin系统开机所需要的最基本的动态链接库,其作用类似于Windows里面的DLL文件,几乎所有的应用程序都需要用到这个共享目录
/lost+fund这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件
/etc所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库的 my.conf
/usr这个非常重要的目录。用户很多应用程序和文件都放在这个目录下,类似于windows下的program files目录
/boot存放的是启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件
/proc这个目录是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信息
/srvservice缩写,该目录存放一些服务启动之后需要提取的数据
/sys这个是Linux2.6内核的一个很大变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs
/tmp这个目录是用来存放一些临时文件的
/dev类似于windows的设备管理器,把所有的硬件用文件的形式存储
/mediaLInux系统会自动识别一些设备,例如U盘、光驱、等等,当识别后,linux会把识别的设备挂载到这个目录下
/mnt系统提供该目录是为了让用户临时挂在别的文件系统的,我们可以将外部的存储挂在到/mnt上,然后进入该目录就可以查看里面的内容了,
/opt这个是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可以放到该目录下,默认为空
/usr/local这是另一个主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序
/var这个目录中存放着不断扩充的东西,习惯将继承被修改的目录放在这个目录下,包括各种日志文件
/etc/selinux[security-enhanced linux]SELinux是一种安全子系统,它能控制程序之能访问特定的文件,有三种工作模式,可自行设置

Linux关机重启

基本介绍
shutdown -h now立刻关机
shutdown -h 1 "Hello,1分钟后会关机"
shutdown -r now现在重新启动计算机
halt关机,作用和上面一样
reboot现在重新启动计算机
sync把内存的数据同步到磁盘中

注意细节

  1. 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
  2. 目前的shutdown/reboot/halt等均已经在关机前进行了sync,小心驶得万年船

用户登录和注销

基本介绍

  1. 登录时精良少用root账号,因为它是系统管理员,最大权限,避免操作失误。可以利用普通用户登录,登录后再用su 用户名命令来切换成系统管理员身份。
  2. 在提示符下输入logout 即可注销用户

使用细节

  1. logout注销质量在图形运行级别无效,在运行级别3下有小

用户管理

linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先想系统管理员申请一个账号,然后以这个账号的身份进入系统

添加用户

基本语法
useradd 用户名
应用案例
useradd milan
细节说明

  1. 当创建用户成功后,会自动的创建和用户同名的家目录,默认该用户的家目录在/home/milan
  2. 也可通过useradd -d 指定目录 新的用户名 ,给新创建的用户指定家目录

修改指定密码

基本语法
passwd 用户名

补充,显示当前用户所在目录 pwd

删除用户

基本语法
userdel 用户名 这个不会删除用户的家目录
userdel -r 用户名 这个会删除用户的家目录

查询用户信息

基本语法
id 用户名

切换用户

介绍
在操作linux中,如果当前用户的权限不够,可以通过su指令,切换到高权限用户,比如 root
基本语法
su 切换的用户
细节说明

  1. 当权限高的用户切到权限低的用户,不需要输入密码,反之需要
  2. 当需要返回到原来的用户时,使用exit/logout指令

查看当前用户/登录用户

基本语法
显示第一次登录的用户
whoami
who am i

用户组

介绍
类似于角色,系统可以对有共性的多个用户进行统一的管理
新增组
groupadd 组名
删除组
groupdel 组名
增加用户时直接加上组
useradd -g 用户组 用户名
修改用户的组
usermod -g 用户组 用户名

用户和组相关的文件

  • /etc/passwd文件

用户(user)的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识:组标识:注释性描述:主目录:登录shell

  • /etc/shadow文件

口令的配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小间隔:最大间隔:警告时间:不活动时间:失效时间:标志

  • /etc/group文件

组(group)的配置文件,记录Linux包含的组信息
每行含义:组:口令:组标识号:组内用户列表

运行级别

级别介绍
运行级别说明:
0:关机
1:单用户【找回丢失密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留用户
5:图形界面
6:系统重启
常用运行级别时3和5,也可以指定默认运行级别,

应用
命令: init[0123456],应用案例:通过init来切换不同的运行级别,比如5-3,然后关机

获取当前的运行级别

systemctl get-default

指定运行级别

  • centos7后运行界别说明

在centos7之前,/etc/inittab文件中
进行了简化

multi-user.target: analogous to runlevel 3
graphical.target: analogous to runlevel 5


# To set a default target, run:

systemctl set-default TARGET.target

例如:systemctl set-default multi-user.target

帮助指令

  • man 获得帮助信息

基本语法:man [命令获取配置文件](功能描述:获得帮助信息)

  • help 指令

基本语法:help 命令(功能描述:获得shell内置命令的帮助信息)

文件目录类

  • pwd

基本语法:pwd (功能描述:显示当前工作目录的绝对路径)

  • ls 指令

基本语法:ls [选项] [目录或文件]
常用选项:
- a:显示当给钱目录所有的文件和目录,包括隐藏文件
-l:以列表的方式显示信息

  • cd指令

基本语法:cd [参数](功能描述:切换到指定目录)
理解:绝对路径和相对路径
cd ~ 或者 cd:回到自己家目录
cd ..:回到当前目录的上一级目录

  • mkdir指令

mkdir指令用户创建目录
基本衣服啊:mkdir [选项 要创建的目录]
常用选项:
-p创建多级目录

  • rmdir指令

rmdir指令删除空目录
基本语法:rmdir [选项] 要删除的空目录

  • touch 指令

touch 指令创建一个空文件
基本语法:touch 文件名

  • cp指令

cp指令拷贝文件到指定目录
基本语法:cp [选项] source dest
常用选项:
-r:递归复制整个文件夹
使用细节:强制覆盖不提示的方法\cp -r source dest

  • rm 指令

说明:rm指令移除文件或目录
基本语法:rm [选项] 要删除的文件或目录
常用选项:
-r:递归删除整个文件夹
-f:强制删除不提示

  • mv 指令

mv移动文件与目录或重命名
基本语法:
mv oldNameFile newNameFIle(功能描述:重命名文件)
mv /temp/movefile /targetFolder(功能描述:移动文件)

  • cat 指令

cat 查看文件内容
基本语法:cat [选项] 要查看的文件
常用选项:
-n:显示行号
使用细节:
cat 只能浏览文件,而不是修改文件,为了浏览方便,一般会带上管道命令 | more
cat -n /etc/profile | more [进行交互]

  • more 指令

more指令是一个基于vi编辑器的文本过滤器,它可以全屏的方式按页显示文本文件内容,more指令中内置了若干快捷键,详见说明
image.png
基本语法:more 要查看的文件

  • less指令

less指令用来分屏查看文件内容,它的功能与more指令类似,但比more指令更强大,支持各种显示终端lless质量在显示文件内容时,并不是一次性将整个文件加载之后才显示,二十根据显示需要加载内容,对于大型文件具有较高的效率。
image.png
基本语法:less 要查看的文件

  • echo指令

echo输出内容到控制台
基本语法:echo [选项] [输出内容]
输入出环境变量:echo $PATH

  • head 指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:head 文件(功能描述:查看文件头10行内容)
head -n 5 文件(功能描述:查看文件头5行内容,5可以时任意数字)

  • tail 指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前后10行内容
基本语法:
tail 文件(功能描述:查看文件尾10行内容)
tail -n 5 文件(功能描述:查看文件尾5行内容,5可以时任意数字)
tail -f 文件(功能描述:实时追踪文档的所有更新)

  • > 指令 和 >> 指令

输出重定向和>>追加
基本语法:
ls -l > 文件(功能描述:列表的内容写入文件a.txt中(覆盖))
ls -al >> 文件(功能描述:列表的内容追加到文件aa.txt的末尾)
cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2中)
echo "内容" >> 文件(功能描述:将echo的内容追加到文件中)

  • ln指令

软件链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其它文件的路径
基本语法:
ln -s [源文件或目录] [软链接名称](功能描述:给源文件创建一个链接)
细节说明:当我们使用pwd指令查看目录时,任然看到的时软链接所在的目录

  • history

查看已经执行过的历史命令,也可以执行历史命令
基本语法:history(功能描述:查看已经执行过的历史命令)

时间日期类

  • date 指令-显示当前日期

基础语法:
date(功能描述:显示当前时间)
date "+%Y"(功能描述:显示当前年份)
date "+%m"(功能描述:显示当前月份)
date "+%d"(功能描述:显示当前时那一天)
date "+%Y-%m-%d\ %H:%M:%S"(功能描述:显示年月日时分秒)

  • date 指令设置日期

基本语法:date -s 字符串日期
如:date -s "2022-06-26 10:22:37"

  • cal指令

查看日历指令
基本语法:cal [选项](功能描述:不家选项,显示本月日历)

搜索查找类

  • find指令

find指令将从指定目录下递归遍历其各个子目录,将满足条件的文件或目录显示在终端
基本语法:find [所属范围] [选项]
选项说明:
image.png
find / -size +100G 大于100G
find / -size -100b(小于100kb)

  • locate指令

locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径locate数据库实现快速定位给定文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确性,管理员必须定期更新locate
基本语法:locate 搜索文件
特别说明:
由于locate指令基于数据库进行查询,所属有第一次运行前,必须使用updatedb指令创建locate数据库

  • which指令,可以查看某个指令在那个目录下

  • grep指令和管道符号 |

grep 过滤查找,管道符,"|",表示将前一个命令的处理结果输出传递给后面的命令处理
基本语法:
grep [选项] 查找内容 源文件
常用选项:
image.png

例子:
查找文件中的字符
grep -n "pid=15061" Xorg.0.log.old 查询 pid=15061
使用管道符过滤进程
ps -ef | grep -n "/usr*"

压缩和解压类

  • gzip和gunzip指令

gzip用于压缩文件,gunzip用于解压文件
基本语法:
gizp 文件(功能描述:要锁文件,只能将文件压缩为*.gz)
gunzip 文件.gz(功能描述:解压缩文件命令)

  • zip/unzip指令

zip用于压缩文件,unzip用于解压文件,这个在项目打包发布中很重要
基本语法
zip [选项] XXX.zip 将要压缩的内容(功能描述:压缩文件和目录的命令)
unzip [选项] XXX.zip(功能描述:解压缩文件)
zip常用选项:
-r:递归压缩,即压缩文件
unzip的常用选项
-d 指定解压后的文件存放目录

  • tar 指令

tar指令是打包指令,最后打包后的文件是.tar.gz的文件
基本语法
tar [选项] XXX.tar.gz 打包内容(功能描述:打包目录,压缩后的文件格式.tar.gz)
选项说明:
image.png
压缩 tar -zcvf xxx.tar.gz 要打包内容
解压tar -zxvf XXX.tar.gz
解压到指定目录:tar -zxvf /home/XXX.tar.gz -C /opt/tmp2/

Linux组基本介绍

在Linux中的每个用户必须属于一个组,不能独立于组外。在Linux中每个文件有所有者、所在组、其它组的概念

  1. 所有组
  2. 所在组
  3. 其它组
  4. 改变用户所在组

文件目录所有者

一般文件的创建者,谁创建了该文件,就自然成为了该文件的所有者

  • 查看文件的所有者

ls -al
image.png

  • 修改文件的所有者

chown 用户名 文件

组的创建

groupadd 组名

文件目录所在组

当某个用户创建了一个文件后,这个文件的所在组就是该用户所在组

  • 查看文件/目录所在组

ls -al

  • 修改文件所在组

基本指令
chgrp 组名 文件名

其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组

改变用户所在组

在添加用户时,可以指定将该用户添加到那个组中,同样的用root的管理权限可以改变某个用户所在的组
改变用户所在组:
usermod -g 新组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录

权限的基本介绍

ls -l显示的内容如下
drwxrw-r--. 2 root root 4096 6月 22 22:54 abc
0-9位说明:

1.第0位确定了文件类型(d,-,l,c,b)
  l 是链接,相当于windows中的快捷方式
  d 是目录,相当于windows的文件夹
  c 是字符设备文件,鼠标,键盘
  d 是块设备, 如硬盘
  - 是普通文件
  
2.第1-3位确定所有者(该文件的所有者)拥有该文件的权限。---user
3.第4-6位确定所属组(该用户的组)拥有该文件的权限。---Group
4.第7-9位确定了其它用户拥有该文件的权限。---Other

rwx权限

  • rwx作用到文件
  1. [r]代表可读(read):可以读取,查看
  2. [w]代表可以写(write):可以修改,但不代表可以删除该文件,删除一个文件的前提条件是对该文件所在目录有写权限,才可以删除
  3. [x]代表可执行(execute):可以被执行

  • rwx作用到目录
  1. [r]代表可读(read):可以读取,ls可以查看目录内容
  2. [w]代表可以写(write):可以修改,对目录内创建+删除+重命名目录
  3. [x]代表可以执行(execute):可以进入该目录

文件及目录权限实战

  • ls -l 中显示的内容如下

-rwxrw-r--. 1 root root 376 6月 26 17:37 hello.txt.gz
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:- l d c b
其余字符每三个一组(rwx)读:r,写(w)执行(x)
第一组rwx:文件拥有者的权限是度,写,执行
第二组rw:与文件拥有者同一组的用户有读和写
第三组r:不与文件拥有者同一组的其它用户的权限只有读

可用数字表示为:r=4,w=2,x=1,因此rwx=4+2+1
其它说明:
1: 文件链接数
root 用户
root 组
376 文件大写(字节)
时间
文件名

修改权限 - chmod

  • 基本说明:

通过chmod指令,可以修改文件或目录的权限。

  • 第一种方式:+,-=变更权限

u:所有者 g:所有组 o:其他人 a:所有人(u g o)
image.png
chomd u=rwx,g=rw,o=x 文件/目录
chomd o+w 文件/目录 给其他人写权限
chomd a-x 文件/目录给所有人去掉执行权限

案例演示:
给abc文件的所有者读写执行权限,给所在组读执行权限,给其它组读执行权限
chmod u=rwx,g=rx.o=rx abc
给abc文件所有者除去执行权限,怎加组写的权限
chmod u-x,g+w abc
给abc文件的所有用户添加读的权限
chmod a+r abc

  • 第二种方式:通过数字变更权限

r=4 w=2 x=1 rwx=4+2+1=7
chmod u=rwx,g=rxo=x 文件目录名
相当于chmod 751 文件目录名

修改文件所有者-chown

  • 基本介绍

chown 新用户 文件/目录 改变所有者
chown 新用户:新组 文件/目录 改变所有者和所在组
-R 如果是目录, 则使其下所有子文件或目录递归生效

修改文件/目录所在组-chgrp

  • 基本介绍

chgrp 新的组 文件/目录 改变所在组

crond 定时任务调度

cribtab 进行定时任务的设置

  • 概述

任务调度:是之系统在某个时间执行的特定命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行,如病毒扫描等
个人用户工作:个人用户可能希望执行某些程序,比如对mysql数据库的备份。

  • 基本语法

crontab [选项]

  • 常用选项

image.png

  • 快速入门

设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e 命令
接着输入任务调度文件
*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思是说每小时的每分钟执行一次ls -l /etc/ > /tmp/to.txt

  • 参数细节

image.png

  • 特殊符号说明

image.png

  • 特殊事件执行任务案例

image.png

  • 应用实例

案例1:每隔1分钟,将当前日期信息,追加到/tmp/mydate 文件中
*/1 * * * * date >> mydate
案例2:每隔1分钟,将当前日期和日历都追加到/tmp/mycal文件中
echo 'date >> /tmp/mycal && cal >> /tmp/mycal' > my.sh
chmod a+x /root/my.sh
*/1 * * * * /root/my.sh
案例3:每天凌晨2:00 将mysqlshujuku testdb,被分到文件中,提示:指令为mysqldump -u root -p 密码 数据库 >> /home/db.bak

  • 相关指令

conrtab -r:终止任务调度
crontab -l:列出当前有哪些任务调度
service crond restar 重启任务调度

at 定时任务

  • 基本介绍
  1. at命令是一次性定时计划任务,at的手误进程atd会以后台模式运行,检查作业队列来运行。
  2. 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
  3. at命令是一次性定时计划任务,执行完一个任务后不在执行此任务了
  4. 在使用at命令时候,一定要保证atd进程的启动,可以使用相关指令来查看(ps -ef |grep atd)
  • at命令格式

at [选项] [时间]
ctrl+d 结束at命令的输入

  • at命令选项

image.png

  • at使劲啊定义

image.png

  • 应用实例

案例一:2天后下午5点执行/bin/ls /home
image.png
(命令输入完成后,输入两次ctrl + d
image.png
案例二:atq命令来查看系统中没有执行的工作任务
image.png
案例三:明天17点钟,输出时间到指定文件内,比如/root/date100.log
image.png
(命令输入完成后,输入两次ctrl + d
image.png
案例四:2分钟后,输出时间到指定文件内,比如/root/date200.log
image.png
(命令输入完成后,输入两次ctrl + d
image.png
案例五:删除已经设置的任务,atrm 编号
atrm 1

12章Linux 磁盘分区、挂在

Linux分区

  • 原理介绍
  1. Linux来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
  2. Linux采用了一种叫“载入”的处理方式,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。
  3. 示意图

image.png

  • 硬盘说明
  1. Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
  2. 对于IDE硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备类型,这里是指IDE硬盘了。“x”为盘号(a为基本盘,b为从属盘,c为辅助盘,d为辅助从属盘),“~”代表分区,前四个分区是用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个IDE硬盘上第三个主分区或扩展分区,hdb2表示第二个IDE硬盘的第二个主分区或扩展分区
  3. 对于SCSI硬盘则标识为“sdx~”,SCSI硬盘就是“sd”来表示分区所在设备类型的,其余则和IDE硬盘的表示方法一样
  • 查看所有设备挂在情况

命令:lsblk或者lsblk -f
image.png

挂载的经典案例

  • 说明

下面我们以怎加一块硬盘为例来熟悉一下自盘的相关命令和深入理解磁盘分区,挂在,卸载的概念。

  • 如何增加一块硬盘
  1. 虚拟机添加硬盘
  2. 分区
  3. 格式化
  4. 挂在
  5. 设置可以自动挂在
  • 虚拟机增加硬盘步骤1

在【虚拟机】菜单中,选择【设置】,然后设备在列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,直至完成。然后重启系统(才能识别)
image.png
重启后:
image.png

  • 虚拟机怎加硬盘步骤2

分区命令:fdisk /dev/sdb
开始对/sdb分区
m 显示命令列表
p 显示磁盘分区 同fdis -l
n 新增分区
d 删除分区
w 写入并退出
说明:开始分区后输入n,新增分区,然后选择p,分区类型为主分区。两次回车默认剩余全部空间。最后输入w写入分区并退出,若不保存退出输入q。
image.png

  • 虚拟机怎加硬盘步骤3

格式化磁盘
分区:mkfs -t ext4 /dev/sdb1

  • 虚拟机怎加硬盘步骤4

挂在:将一个分区与一个目录联系起来,
mount 设备名称 挂在目录
l例如:mount /dev/sdb1 /newdisk/
umount 设备名称或者挂载目录
例如:umount /dev/sdb1 或者 umount /newdisk
注意:用命令挂在重启后会失效

  • 虚拟机怎加硬盘步骤5

永久挂在:通过修改/etc/fstab实现挂载
添加完成后 执行mount -a即可生效
image.png

磁盘情况查询

  • 查询系统整体磁盘使用情况

基本语法:df -h
image.png

  • 查询指定目录的磁盘占用情况

基本语法:
du -h /目录
查询指定目录的磁盘占用情况,默认为当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth-1 子目录深度
-c 列出明细的同时,增加汇总

磁盘情况-工作实用指令

  1. 统计/opt文件夹下文件的个数

ls -l /opt|grep "^-" | wc -l "^-" 以-线开头的,wc -l统计个数

  1. 统计/opt文件夹下目录个数

ls -l /opt |grep "^d" | wc -l

  1. 统计/opt文件夹下文件个数,包括子文件夹里的

ls -lR /opt | grep "^-" | wc -l ls -lR /etc 中的R表示递归输出子目录

  1. 统计/opt文件夹下目录个数,包括子目录里面的

ls -lR /opt | grep "^d" | wc -l

  1. 以树状显示目录结构

tree /

13章网络配置

Linux网络配置原理图

  • 画出原理图,帮助理解

image.png

查看网络IP和网关

  • 查看虚拟机网络编辑器和修改IP地址

image.png

  • 查看windows环境中的VMnet8网络配置(ipconfig指令)
  • 查看Linux的配置ifconfig

ping 测试主机之间网络连通性

  • 基本语法

ping 目的主机(功能描述:测试当前服务器是否可以连接目的主机)

Linux 网络环境配置

  • 第一种方法(自动获取)

说明:登录后,通过界面来设置自动获取ip,
特点:Linux启动后会自动获取IP,缺点是每次自动获取的IP地址可能不一样。
image.png

  • 第二种方法(指定ip)

说明:
之恶极修改配置文件来指定IP,并可以连接到外网(程序员推荐)
编辑vim /etc/sysconfig/network-scripts/ifcfg-ens33
要求:将ip地址配置的静态的,比如:ip地址为:192.168.200.130

ifcfg-ens33 文件说明
DEVICE-eth0 # 接口名称(设备,网卡)
HWADDR=00:0c:2x:6x:0x:xx # MAC地址
TYPE=ethernet # 网络类型(通常是Ethemet)
UUID=32we-rwer324-234-2342 #随机id
# 系统启动的时候网络接口是否有效(yes/no)
ONBOOT=yes
# IP的配置方法[none|static|bootp|dhcp](引导时不适用协议|静态分配IP|BOOTP协议|DHCP协议)
BOOTPROTO=static
# IP地址
IPADDR="192.168.200.130"
# 网关
GATEWAY="192.168.200.2"
# 域名解析地址
DNS1="192.168.200.2"

如果时再虚拟机上,还需要设置这个
image.png

上面配置完后执行,重启生效
systemctl restart network

设置主机名和hosts映射

  • 设置主机名
  1. 为了方便记忆,可以给linux系统设置主机名,也可以根据需要修改主机名
  2. 指令 hostname 查看主机名
  3. 修改文件在/etc/hostname 指定
  4. 修改后,重启生效
  • 设置hosts映射

思考:如何通过,主机名能够找到(比如ping)某个Linux系统
windows:C:\Windows\System32\drivers\etc\hosts 文件指定即可
linux:/etc/hosts 文件指定即可

主机名解析过程分析(Hosts、DNS)

  • Hosts时什么

一个文本文件,用来记录IP和Hostname(主机名)的映射关系

  • DNS
  1. DNS,就是Domain Name SYstem 的缩写,翻译过来就是域名系统
  2. 是互联网上作为域名和IP地址相互映射的一个分布式数据库

14 进程管理(重点)

基本介绍

  1. 在Linux中,每个执行的程序都称之为一个进程。每一个进程都分配一个ID号(pid,进程号)
  2. 每个进程都可以以两种方式存在。前台与后台,所谓的前台进程就是用户目前的屏幕上可以操纵的。后台进程则是实际在操作,但由于屏幕上无法看到的进程,通常使用后台方式执行。
  3. 一般系统的服务都是以后台进程方式存在,而且都会常驻子系统中。直到关机

显示系统的执行的进程

  • 基本命令

ps 命令是用来查看目前系统中,有哪些正在执行,以及他们的执行状况。可以不加任何参数
USER:进程执行用户
PID:进程号
%CPU:占用CPU百分比
%MEM:占用物理内存百分比
VSZ:占用虚拟内存
RSS:占用物理内存
TTY:终端
STAT:运行状态,s表示sleep休眠,r:运行状态
START:执行开始时间
TIME:占用CPU时间
COMMAND:进程名称,执行该进程的指令

image.png
image.png

  • ps详解

ps -ef 是以全格式看是当前所有进程,查看进程的父进程

  1. 指令:ps -aux | grep XXX,比如我看看有没有sshd服务器
  2. 指令说明
  • System V展示风格
  • USER:用户名
  • PID:进程号
  • %CPU:进程占用CPU百分比
  • %MEM:进程占用物理内存的百分比
  • VSZ:进程占用的虚拟内存大小(单位:KB)
  • RSS:进程占用的物理内存大小(单位:KB)
  • TTY:终端名称,缩写
  • STAT:进程状态,其中S-睡眠,s-表示进程是会话的先导进程,N-表示进程拥有比普通优先级更低优先级,R-正在运行,D-短期等待,Z-僵死进程,T-被跟踪或被停止等
  • START:进程的启动时间
  • TIME:CPU时间,即进程使用CPU的总时间
  • COMMAND:启动进程所用的命令和参数,如果过长会被截断显示

终止进程kill和killall

  • 介绍

若是某个进程执行一般需要停止时,或是已消耗了很大的系统资源时,此时可以考虑停止该进程。使用kill命令来完成此项任务。

  • 基本选项

kill [选项] 进程号(功能描述:通过进程号杀死进程)
killall 进程名称(功能描述:通过进程名称杀死进程,也支持通配符,这在系统负载过大而变得满时很有用),,,子进程也会被杀掉

  • 常用选项

-9 表示强迫进程立即停止

查看进程树 pstree

  • 基本语法

pstree [选项] 可以更直观的来看进程信息

  • 常用选项

-p 显示进程PID
-u 显示进程的所属用户

服务(service)管理

  • 介绍

服务(service)本质就是进程,但是是运行在后台的,通常都会监听某个端口,等待其它程序的请求,比如(mysqld,sshd 防火墙等),因此我们又称之为守护进程,是Linux中非常重要的知识

  • service管理指令
  1. service 服务名 [start | stop | restart | reload | status]
  2. 在CentOS7后恩多服务不再使用service,而是,systemctl
  3. service指令管理的服务再/etc/init.d查看

image.png

  • 查看服务名:

方式一:使用setup -> 系统服务,就可以看到全部
setup
image.png
image.png
方式二:/etc/init.d 看到service指令管理的服务

  • 服务的运行级别(runlevel)

Linux系统又7种运行级别(runlevel):常用的是级别3和5
运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登录
运行级别2:多用户状态(没有NFS),不支持网络
运行级别3:完全的多用户状态(有NFS),登录后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登录后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设置为6,否则不能正常启动

开机流程:
image.png

  • chkconfig 指令

介绍

  1. 通过chkconfig命令可以给服务的哥哥运行级别设置自 启动/关闭
  2. chkconfig指令管理的服务再/etc/init.d 查看
  3. 注意:centos7后,很多服务使用systemctl 管理

chkconfig 基本语法

  • 查看服务chkconfig --list [| grep xxx]
  • 查询指定的服务chkconfig 服务名 --list
  • 设置指定的服务级别chkconfig --level 5(这个5是运行级别) 服务名 on/off

案例演示:对network服务,进行各种操作,吧network在3运行级别,关闭自启动
chkconfig --level 3 network off (关闭)
chkconfig --level 3 network on (开启)

chkconfig重新设置服务后自启动或关闭,需要重启机器

  • systemctl管理命令
  1. 基本语法:systemctl [start|stop|restart|status] 服务名称
  2. systemctl指令管理的服务在/usr/lib/systemd/system 查看
  • systemctl设置服务的自启动状态
  1. systemctl list-unit-files [| grep 服务名称](查看服务开机启动状态,grep 可以进行过滤)
  2. systemctl enable 服务名(设置服务开机启动)
  3. systemctl disable 服务名称(关闭服务开启动)
  4. systemctl is-enabled 服务名称(查询某个服务是否自自动)
  • 细节讨论
  1. 关闭或启用防火墙后,立即生效,[telnet 测试, 某个端口]
  2. 这种方式知识零食生效,当系重启后,还是回归以前对服务的设置
  3. 入宫希望设置某个服务自启动或关闭永久生效,要使用systemctl [enable | disable 服务名]
  • 打开或关闭指定端口

在真正的生产环境,往往需要将防火墙打开,但问题来嘞,如果我们把防火墙打开,那么外部请求数据宝就不能跟服务器监听端口通讯。这时,需要打开指定的端口。比如,80,22,8080。

  • firewall指令

打开端口:firewall-cmd --permanent --add-port=端口号/协议
关闭端口:firewall-cmd --permanent --remove-port=端口/协议
重新载入,才能生效:firewall-cmd --reload
查询端口是否开放:firewall-cmd -query-port=端口/协议

动态监控进程

  • 介绍

top与ps命令很相似。它们都是用来希纳是正在执行的进程。Top与ps最大的不同之处,在于top再执行一段时间可以更新正在运行的进程

  • 基本语法

top [选项]

  • 选项说明

image.png

image.png

top - 16:20:30 up 25 min, 1 user, load average: 0.00, 0.01, 0.04

内容含义
16:20:30当前系统时间
up 24 min系统运行时间
1 user当前系统登录用户数
load average: 0.00, 0.01, 0.04系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值

Tasks: 157 total, 1 running, 156 sleeping, 0 stopped, 0 zombie

内容含义
Tasks: 157 total进程总数
1 running正在运行的进程数
156 sleeping睡眠的进程数
0 stopped停止的进程数
0 zombie僵尸进程数

firewall-cmd
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

内容含义
0.2 us用户空间占用CPU百分比
0.0 sy内核空间占用CPU百分比
0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
99.8 id空闲CPU百分比
0.0 wa等待输入输出的CPU时间百分比
0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
0.0 si软中断(Software Interrupts)占用CPU的百分比
0.0 st用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间

KiB Mem : 2027892 total, 1104936 free, 468928 used, 454028 buff/cache

内容含义
2027892 total物理总内存
1104936 free使用的物理内存总量
468928 used空闲内存总数
454028 buff/cache用作内核缓存的内存量

KiB Swap: 2097148 total, 2097148 free, 0 used. 1380716 avail Mem

内容含义
2097148 total交换区总量
2097148 free使用交换机总量
0 used空闲交换区总量
1380716 avail Mem缓冲的交换区总量

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

列名含义
PID进程id
USER进程所有者用户名
PR优先级
NInice值。负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR共享内存大小,单位kb
S进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU上次更新到现在的CPU时间占用百分比
%MEM进程使用的物理内存百分比
TIME+进程使用的CPU时间总计,单位1/100秒
COMMAND命令名/命令行
  • 交互操作(区分大小写) | 参数 | 含义 | | --- | --- | | ? | 显示在top当中可以输入的命令 | | P | 以CPU的使用资源排序显示 | | M | 以内存的使用资源排序显示 | | N | 以pid排序显示 | | T | 由进程使用的时间累计排序显示 | | k | 给某一个pid一个信号,可以用来杀死进程(9) | | r | 给某个pid重新定制一个nice值(即优先级) | | q | 退出top(用ctrl+c也可以退出top) |

监听网络状态

  • 查看系统网络情况netstat

基本语法
netstat [选项]
选项说明
-an 按一定顺序排列输出
-p 显示哪个进程再调用
netstat -an
image.png

  • 检测主机连接命令ping:

是一种网络检测工具,它主要是用检测远程主机是否正常,或是两部主机之间的网络是否故障

rpm包管理

  • 介绍

rpm用于互联网下载包的打包及安装工具,它包含再某些Linux发行版中。它生成具有,rpm扩展名的文件。RPM是RedHatPackageManager(RedHat软件包管理工具)的缩写,类似windows的setup.exe,这一支文件格式名称虽然打上了RedHat的标志,但是理念是通的。
Linux发行版本都有采用(suse,redhat,centos等等),可以算是公认的行业标准了。

  • rpm包的简单查询指令

查询已经安装的rpm列表rpm -qa | grep xx

  • rpm包名基本格式

一个rpm包名:firefox-64.2.2-1.el7.centos.x86_64
名称:firefox
版本:60.2.2-1
适用于操作系统:el7.centos.x86_64 (表示centos7.x的64位系统)
如果i686、i386表示32位系统,noarch表示通用

  • rpm包的其它查询指令

rpm -qa 查询所有安装的所有rpm软件包
rpm -qa | more
rpm -qa | grep xxx
rpm -q 软件包名 查询软件包是否安装
rpm -qi 软件包名 查询软件包信息
rpm -ql 软件包名 查询软件包中的文件
rpm -qf 文件全路径 查询文件所属的软件包
rpm -qf /etc/passwd
rpm -qf /root/install.log

  • 卸载rpm包

基本语法
rpm -e RPM包名
细节讨论

  1. 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息。

如:rpm -e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1

  1. 如果我们就是要删除foo这个软件包,则可以增加参数--nodeps,就可以强制删除,但是一般不推荐这样做,因为依赖于该软件包的程序可能无法运行
  • 安装rpm包

基本语法:
rpm -ivh RPM包全路径名称
参数说明
i=install 安装
v=verbose 提示
h=hash 进度条

yum

  • 介绍

yum 是一个shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载rpm包并且安装,可以自行处理以来关系,并且以此安装所有依赖包。

  • yum的基本命令

查询yum服务器是否有需要安装的软件
yum list | grep xxx软件包列表

  • 安装指定的yum包

yum install xxx 下载安装

17 大数据定制篇-Shell编程

为什么要学习Shell编程

  1. Linux运维工程师再进行服务器集群管理时,需要编写Shell程序来进行服务器管理。
  2. 对于JavaEE和Python程序员来说,工作需要,你的老大会要求你编写一些Shell脚本来进行程序或是服务器维护,比如编写一个定时备份数据库的脚本。
  3. 对于大数据程序员来说,需要编写Shell程序来管理集群

Shell是什么

shell是一个命令解释器,它为用户提供了一个向linux内核发送请求以便运行程序的界面系统程序,用户可以用Shell来启动,挂载,停止甚至是编写一些程序。

Shell脚本执行方式

  • 脚本格式要求
  1. 脚本以#!/bin/bash开头
  2. 脚本需要可执行权限
  • 编写第一个Shell脚本

需求说明:创建一个Shell脚本,输出Hello World
image.png

  • 脚本的常用执行方式

方式1:(输入脚本绝对路径或相对路径)
说明:首先赋予hello.sh脚本的+x权限,再执行脚本
方式2:(sh+脚本)
说明:不用赋予脚本+x权限,直接执行即可。sh hello.sh

Shell的变量

  • Shell变量介绍
  1. Linux Shell中的变量分,系统变量和用户自定义变量
  2. 系统变量:$HOME``$PWD``$SHELL``$USER等待,比如:echo $HOME等等
  3. 显示当前shell中所有变量:set
  • shell变量的定义
  1. 定义变量:变量名=值
  2. 撤销变量:unset 变量名
  3. 申明静态变量:readonly 变量名,注意:不能unset

快速入门
案例1:定义变量A
案例2:撤销变量A
案例3:声明静态变量B=2,不能unset
image.png

  • shell变量的定义

定义变量的规则

  1. 变量名称可以由字母,数字和下划线组成,但是不能以数字开头
  2. 等号两侧不能有空格
  3. 变量名称一般习惯为大写,这是一个规范

将命令的返回值赋给变量

  1. A=date``反引号,运行里面的命令,把结果返回给变量A
  2. A=${date}等价于反引号

image.png

设置环境变量

  • 基本语法
  1. export 变量名=变量值(功能描述:将shell变量输出为环境变量)
  2. source 配置文件(功能描述:让修改后的配置信息立即生效)
  3. echo $变量名(功能描述:查询环境变量的之)
  • 快速入门
  1. /etc/profile文件中定义 TOMCAT_HOME环境变量
  2. 查看环境变量TOMCAT_HOME的值
  3. 在另一个shell程序中使用TOMCAT_HOME

注意:在输出TOMCAT_HOME环境变量前,需要让其source /etc/profile

image.png

  • shell脚本多行注释
:<<!
echo "Helo"
!

位置参数变量

  • 介绍

当我们执行一个shell脚本时,如果希望获取到命令行参数信息,就可以使用到位置参数变量
比如:./myshell.hs 100 200,这个就是一个执行shell的命令,可以在myshell 脚本中获取到参数信息

  • 基本语法

$n(功能描述:n为数字,0代表命令本身,0代表命令本身,1-9代表第一到第9个参数,十个以上的参数,十以上的参数需要用大括号包含,如9代表第一到第9个参数,十个以上的参数,十以上的参数需要用大括号包含,如{10})
$*(功能描述:这个变量代表命令行中所有参数,把所有的参数看成一个整体)<br/>*把所有的参数看成一个整体)<br />`@(功能描述:这个变量也代表命令行中所有参数,不过$@把每个参数区分对待)<br />$#`(功能描述:这个变量代表命令行中所有参数的个数)

  • 位置参数变量

案例:编写一个shell脚本 position.sh,在脚本中获取到命令行的各个参数信息。
image.png

预定义变量

  • 基本介绍

就是shell 设计者事先定义号的变量,可以直接在shell脚本中使用

  • 基本语法

$$(功能描述:当前进程的进程号(PID))
$!(功能描述:后台运行的最后一个进程的进程号(PID))
$?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行);如果这个变量的值非0(具体是那个数,有命令自己来决定),则证明上一个命令执行不正确

  • 应用实例

在一个shell脚本中简单使用一下预定义变量
image.png

运算符

  • 基本介绍

学习如何在shell中进行各种运算操作。

  • 基本语法
  1. "((运算式))((运算式))或[运算式]"或者 expr m + n
  2. 注意expr运算符间要有空格,如果希望将expr的结果赋给某一个变量,使用**``**括起来
  3. expr m -n
  4. expr *,/,% 乘,除,取余
  • 应用实例

案例1:计算(2+3) × 4 值
案例2:请求出命令行两个参数[整数]的和 20 50
image.png

条件判断

  • 判断语句

基本语法:
[ condition ]注意condition前后要有空格
非空返回true,可以使用$?验证(0为true,1为false)

应用实例
[ hspEdu ] 返回true
[ ] 返回false
[ condition ] && echo OK || echo notok 条件满足,执行后面的语句

  • 判断语句

常用判断

字符串比较
=
两个整数比较
-lt小于
-le小于等于
-eq等于
-gt大于
-ge大于等于
-ne不等于
按照文件权限进行比较
-r有读的权限
-w有写的权限
-x有执行的权限
按照文件类型进行判断
-f文件存在并且是一个常规的文件
-e文件存在
-d文件存在并且是一个目录

应用案例
案例1:"ok"是否等于"ok"
案例2:23是否大于等于22
案例3:/boot/shcode/aaa.txt 目录中的文件是否存在
image.png

流程控制

  • if 判断

基础语法

if [ 条件判断 ]
then
  代码
fi

或者

if [ 条件判断 ]
then
  代码
elif [ 条件判断 ]
then
  代码
fi

注意事项:[ 条件判断 ],中括号和条件判断之间必须有空格
应用案例 ifcase.sh
案例:请编写一个shell程序,如果输入的参数,大于等于60,则输出“及格”,如果小于60,则输出“不及格”
image.png

  • case 语句

基本语法

case $变量名 in
"值1")
  如果变量的值等于值1,则执行程序1
 ;;
 "值2")
  如果变量的值等于值3,则执行程序3
 ;;
   ...省略其它分之...
 *)
   如果变量的值都不是以上的值,则执行词此程序
;;
esac

应用实例 testCase.sh
案例1:当命令行参数是1时,输出“周一”,是2时,就输出“周二”,其它情况输出“other”
image.png

  • for循环

基本语法1

for 变量 in 值1 值2 值3...
do
  程序
done

应用实例testFor1.sh
案例1:打印命令行输入参数 [这里可以看出* 和 @区别]
image.png

基础语法2

for ((初始值;循环控制条件;变量变化))
do
  程序
done

应用实例testFor2.sh
案例1:从1加到100的值输出显示
image.png

  • while 循环

基本语法1

while [ 条件判断 ]
do
  程序
done

注意:while 和[ 有空格 条件判断和 [ 也有空格
应用实例 testWhile.sh
案例1:从命令行输入一个数n,统计从1 +...+n的值是多少?
image.png

read 读取控制台输入

  • 基本语法

read(选项)(参数)
选项:
-p :指定读取值的提示符
-t:指定读取值时等待的时间(秒),如果没有在指定的时间内输入,就不再等待了。

  • 参数

变量:指定读取值的变量名

  • 应用实例 testRead.sh

案例1:读取控制台输入一个NUM1值
案例2:读取控制台输入一个NUM2值,在10秒内输入
image.png

函数

  • 函数介绍

shell编程和其它编程语言一样,有系统函数,也有自定义函数。系统函数中,我们这里就介绍两个

  • 系统函数

basename基本语法
功能:返回完整路径最后/的部分,常用于获取文件名
basename [pathname] [suffix]
basename [string] [suffix](功能描述:basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来)
选项:
suffix为后缀,如果suffix被指定了,basename会将pathname或者string中的suffix去掉
应用实例
案例1:请返回/home/aaa/test.txt的”test.txt“部分
image.png

dirname基本语法
功能:返回完整路径最后/的前面的部分,常用于返回路径部分
dirname 文件绝对路径(功能描述:从给定的巴汗绝对路径的文件名中去除文件名(非目录部分),然后返回剩下的路径(目录部分))
应用实例
案例1:返回/home/aaa/test.txt/home/aaa
image.png

  • 自定义函数

基本语法

[ function ] funname[()]
{
  action;
  [return int;]
}

调用直接写函数名:funname [值]

应用实例
案例1:计算输入两个参数的和(动态获取),getSum
image.png

shell编程综合案例

  • 需求分析
  1. 每天凌晨2:30备份数据库 hspEduDB 到 /data/backup/db
  2. 备份开始和备份结束能够给出相应的提示信息
  3. 备份后的文件要求以备份时间为文件名,并打包成.tar.gz的形式,比如2021=02-12_230201.tar.gz
  4. 在备份同时,检查是否有10天前备份的数据库文件,如果有就将其删除

image.png

image.png
image.png

18、Python开发平台Ubuntu

image.png

21 Linux高级篇-日志管理

  1. 日志文件是重要的系统信息文件,其中记录了许多重要的系统事件,包括用户的登录信息,系统的启动信息、系统的安全信息、各种服务相关信息等。
  2. 日志对于安全来说也很重要,它记录了系统每天发送的各种事情,通过日志来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。
  3. 可以这样理解,日志是用来记录重大事件的工具

系统常用的日志

/var/log/目录就是系统日志文件的保存位置,看这张图
image.png

系统常用日志

日志文件说明
/var/log/boot.log系统启动日志
/var/log/cron记录与系统定时任务相关的日志
/var/log/cups/记录打印信息的日志
/var/log/dmesg记录了系统在开机时内核自检的信息。也可以使用dmesg命令查看内核自检信息
/var/log/btmp记录错误登录日志。这个文件是二进制文件,不能直接用vi查看,而要使用lastb命令查看。命令如下:**lastb**
/var/log/lastlog记录系统种所有用户最后一次登录时间日志。这个文件也是二进制文件,要使用**lastlog**命令查看
/var/log/mailog记录邮件信息的日志
/var/log/message记录系统重要消息的日志,这个日志文件中会记录Linux系统的绝大多数重要信息。如果系统出现文件,首先检查的应该就是这个日志文件
/var/log/secure记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh的登录、su切换用户、sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。是二进制文件,而要使用**last**命令查看
/var/tun/ulmp记录当前已经登录的用户信息。这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。这个文件不能用vi查看,而要使用w、who、users等命令查看

日志管理服务 rsyslogd

CentOS7.6日志服务是 rsyslogd,CentOS6.x日志服务是syslogd。rsyslogd功能更强大。
rsyslogd 的使用/日志文件的格式,和syslogd服务兼容的。
image.png
查询Linux 中的rsyslogd服务是否启动
ps aux | grep "rsyslog" | grep -v "grep"
(grep -v) 反向匹配

查询rsyslogd服务的自启动状态
systemctl list-unit-files | grep rsyslog

配置文件:**/etc/rsyslog.conf**
编辑文件时的格式为:. 存放日志文件
其中第一个代表日志类型,第二个代表日志级别

  1. 日志类型分为:

auth ##pam生产的日志
authpriv ##ssh、ftp等登录信息的验证信息
corn ##事件任务相关
kern ##内核
lpr ##打印
mail ##邮件
mark(syslog)-rsyslog ##服务内部信息,事件标识
news ##新闻组
user ##用户程序产生的相关信息
uucp ##unix to unix copy主机之间相关的通信
local 1-7 ##自定义的日志设备

  1. 日志级别

debug ##有调试信息的,日志通常最多
info ##一般信息日志,最常用
notice ##最具有重要性的普通条件信息
warning ##警告级别
err ##错误级别,组织某个功能或者模块不能正常工作的信息
crit ##严重级别,组织整个系统或者整个软件不能正常工作的信息
alert ##需要立刻修改的信息
emerg ##内核崩溃等重要信息
none ##什么都不记录
注意:从上到下,级别从第到高,记录信息越来越少

由日志服务rsyslogd记录的日志文件,日志文件的格式包含一下4列:
事件产生的时间
产生时间的服务器的主机名
产生事件的服务名或程序名
事件的具体信息

日志如何查看实例
查看一下/var/log/secure日志,这个日志中记录的时用户验证和授权方面的信息,来分析如何查看
image.png

日志轮换

image.png
image.png
image.png
image.png
image.png
image.png
image.png

25、Linux可视化管理 webmin和bt运维工具

webmin

  • 基本介绍

Webmin时功能强大的基于web的Unix/Linux系统管理工具。管理员通过浏览器访问webmin的各种管理功能并完成相应的管理操。

  • 安装webmin和配置

下载地址
download.webmin.com/download/yu…
download.webmin.com/download/yu…
安装:rpm -ivh webmin-1.700-1.noarch.rpm
重置密码:/usr/libexec/webmin/changepass.pl /etc/webmin root test root时webmin的用户名,不是os的,这里就是把webmin的root用户密码改成test
修改webmin服务的端口号(默认时10000处于安全考虑)vim /etc/webmin/miniserv.confport=10000修改为port=6666

重启webmin
/etc/webmin/restart # 重启
/etc/webmin/start # 启动
/etc/webmin/stop # 停止

开放端口
开放firewall-cmd --permanent --add-port=6666/tcp
更新配置 firewall-cmd --reload

bt(宝塔)

  • 基本介绍

bt宝塔Linux面板时提升运维效率的服务器管理软件,支持意见LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等多项服务器管理功能

  • 安装使用
  1. 安装:yum install -y wget && wget -O install.sh [http://download.bt.cn/install/install_6.0.sh](http://download.bt.cn/install/install_6.0.sh) && sh install.sh ed8484bec
  2. 安装成功后控制台会显示登录地址,账户名密码,复制浏览器打开登录

image.png