昨日内容回顾
-
文件编辑命令
vi linux系统自带的 vim 需要额外的下载 # 可以使用yum命令下载 yum install vim -y 语法结构 vi 文件名 # 文件不存在自动创建
-
vi快捷方式
命令行模式 编辑模式 视图块模式(批量操作) 切换方式及识别方法 就看文件的最底部 如果什么都没有显示则为命令行模式 如何有--XXX--显示则为其他模式 --insert--插入模式 编辑模式 --vistul block--视图块模式 批量操作模式 最好全部记忆 多练习即可 """ 编辑文件的时候可能会出现两种情况的报错 1.编辑过程中断开连接 2.同一份文件被多人同时编辑 编辑文件内部原理 在编辑的过程中会产生一个隐藏文件 正常编辑完成后会自动删除 但是如果是上述两种情况该文件都会一直存在 从而导致报错的产生 解决方式也很简单 直接删除该文件即可 如何查看隐藏文件 ls -a """
-
linux目录结构及挂载概念
linux所有的目录都是从根目录开始 挂载:给存储设备开设一个挂载点(路径)从而可以接入到设备内部操作数据 挂载关键字 mount 存储设备 挂载点
-
FHS文件系统目录规范
FHS的产生是为了统一linux系统目录结构减少操作差异 /bin 存储二进制文件 /etc 配置文件相关 /dev 设备文件相关 /opt 第三方软件相关 /tmp 临时存储数据相关 /home 普通用户相关 /root 管理员用户相关 /sbin 管理员能够使用的命令相关 /mnt 临时挂载点 /usr 用户信息相关 /var 变量相关 /proc 内存信息相关 进程 线程 ... """ 在linux中一切皆文件 在python中一切皆对象 """
-
网卡设置及DNS服务器
1./etc/sysconfig/network-scripts/ifcfg-eth0 # ens33 ONBOOT=yes IPADDR=正确的ip地址 DNS1=dns服务地址 修改完该文件之后需要重启网卡才能生效 systemctl restart network 2.DNS服务器 DNS服务器地址不能瞎写 只有那么固定的几个而已
今日内容概要
- FHS目录主要文件
- etc目录下重要文件
- usr目录下重要文件
- var目录下重要文件
- proc目录下重要文件
- 系统优化相关
今日内容详细
网卡域名及主机名配置
"""
在linux中相同的功能实现的步骤和方法可能天差地别
"""
其实服务器的主机名并不能随意的命令 大部分情况下都是根据该服务器提供的功能所决定的
eg:
比如提供MySQL服务
db01 db02 db03...
比如提供网络服务
web01 web02 web03...
比如提供缓存服务
cache01 cache02 cache03...
centos6 /etc/sysconfig/network 主机名称配置⽂件
centos7 /etc/hostname 主机名称配置⽂件
修改主机名称(不推荐使用)
第⼀个⾥程:利⽤命令修改主机名称 # 临时修改
hostname jasonNB
ps:修改完成,需要重新连接,才能命令⽣效
第⼆个⾥程:编辑修改配置⽂件 # 永久修改
vi /etc/hostname
centos7有特殊修改主机名称⽅式(掌握!!!)
hostnamectl set-hostname jasonNB
如何快速生效
1.重新链接
2.执行bash命令
# 某些网址不支持直接使用IP地址访问
本地域名解析⽂件 /etc/hosts
⽹站⻚⾯信息变更
⼩公司 直接调试线上服务器 夜⾥操作
⼤企业 直接调试测试服务器测试访问 模拟真实环境访问
假设
京东线上⽹站服务器地址 112.65.34.1
京东线下⽹站服务器地址 10.0.0.200
[root@jasonNB ~]# vi /etc/hosts
10.0.0.200 www.jd.com # 指定映射关系
网络不通畅解决思路
1. 确认⽹关地址是否通畅
2. 确认⽹卡配置是否正确
3. 确认⽹络管理服务关闭
systemctl status NetworkManager # 查看当前服务状态
systemctl stop NetworkManager # 临时停止服务
systemctl disable NetworkManager # 永久停止
etc⽬录下重要的数据⽂件
/etc/fstab # filesystem table 系统挂载信息表
磁盘 --- 分区格式化 --- 系统中可以看到磁盘设备 ---
挂载(开了个⻔) PS:所有存储设备必须挂载才能使⽤
临时挂载:mount /dev/cdrom /mnt
永久挂载:修改⼀个和开机⾃动挂载相关的配置⽂件
/etc/fstab
设备⽂件 挂载点
/dev/第⼀个分区 : /boot
/dev/第⼆个分区 : swap
/dev/第三个分区 : /
cat /etc/fstab # 查看⽂件内容
blkid # 查看磁盘分区
总结:实现磁盘存储设备,挂载操作永久⽣效,开机⾃动加
载挂载信息
usr目录下主要的数据文件
/usr/local/ ⽤于保存⽤户安装软件程序信息 ==
D:\Program Files (x86)
linux系统如何安装软件(四种⽅式)
01. yum安装软件 # 可以解决软件的依赖关系
eg:购买外卖所有东⻄都准备集全
yum install -y tree vim bash-completion
针对出问题的软件可以重新安装修复
yum reinstall -y tree vim bash-completion
02. rpm包⽅式安装软件 # 在系统中需要有软件安装包
eg:购买⻝材(半成品)进⾏烹饪 少筷⼦少碗
⽆法解决软件依赖问题
rpm -ivh xxx.rpm
-i install 安装
-v verbose 显示详细信息
-h human 以⼈类更好看理解⽅式显示信息
rpm -qa tree
-q query 查询
-a all 所有软件信息
rpm -ql vim-enhanced
-l list 显示软件安装⽬录的列表信息
rpm -e tree 卸载软件
# -e erase 擦出==删除
'''一定不要使用yum卸载软件'''
03. 编译安装软件 # 安装软件更加灵活
eg:购买⻝材(⾮成品)进⾏烹饪 可以灵活调整⻝物的味道
设置软件安装路径 指定软件功能信息
'''编译安装需要耗费大量的时间'''
04. ⼆进制包安装软件 # 安装软件部署效率⾼
eg:⼩零⻝即⻝即⽤ ⽅便简单
CS 软件安装包(绿⾊版免安装)
'''所有的公司都非常希望自己的软件能够做成二进制包的形式'''
var⽬录下重要的数据⽂件
经常发⽣变化的⽂件保存在variable
经常变化的⽂件>>>:⽇志⽂件
/var/log/messages 服务运⾏情况信息、系统运⾏或异常信息
/var/log/secure ⽤户登陆信息保存⽂件
规律查看⽇志信息
[root@jasonNB ~]# # 三剑客中⽼三 grep
[root@jasonNB ~]# grep "Failed" /var/log/secure
Dec 10 12:39:00 oldboysh03
sshd[1705]:Failed password for root from
10.0.0.1 port 60099 ssh2
# 对于⽇志⽂件过⼤必须要做切割处理
secure-0k > secure-100k > ⼤⼩范围10M > 切割
secure-bak01 secure
'''一个合格的运维工程师一定需要学会如何查看日志文件并解决报错'''
proc目录下重要的数据文件
记录⼀些硬件使⽤情况 硬件详细信息
CPU # /proc/cpuinfo
命令查看CPU信息
lscpu
CPU(s): 4 整个服务器有多少核⼼
Core(s) per socket: 2 每颗CPU有多少核⼼
Socket(s): 2 服务器有⼏颗CPU
命令查看内存信息
cat /proc/meminfo
MemTotal: 2030172 kB --- 服务器的总共内存容量
MemFree: 1755372 kB --- 服务器未使⽤的CPU容量
MemAvailable: 1728900 kB --- 服务器还可以使⽤的
Buffers: 2076 kB
Cached: 86716 kB
实时使⽤情况
free、free -h
命令查看磁盘信息
df -h
查看负载情况
cat /proc/loadavg
0.00 0.01 0.03
平均每分钟负载 平均5分钟负载 平均15分钟负载
负载的数值不能超过服务器的核⼼数 8核 7(阈值)
利⽤命令查看负载信息
[root@oldboysh03 ~]# w系统优化相关
15:39:53 up 43 min, 2 users, load average:0.00, 0.01, 0.03
当前时间 服务器运⾏时间 连接⽤户数 平均负载情况
查看挂载信息
df -h
cat /proc/mounts # 记录系统挂载信息
系统优化相关
性能优化
安全优化
编码优化
1)了解⾃⼰的系统情况
cat /etc/redhat-release
uname -r/-a/-n/-s/... # 详⻅下图
2)在系统中创建⽤户信息
创建⽤户
useradd jason01
passwd jason01
切换⽤户状态管理主机
su - jason01 # su == switch user
进⾏检查确认
whoami
'''确认当前用户身份的快捷方法就是看命令的提示符 #管理员的 $普通用户的'''
环境变量
第⼀个环境变量:PS1 (命令提示符信息)
echo $PS1
修改环境变量:
第⼀个⾥程:临时修改
PS1="[\u@\h \w]\$" 错误修改环境变量⽅式
export PS1="[\u@\h \w]\$" 正确修改环境变量
⽅式
第⼆个⾥程:永久修改
vim /etc/profile
export PS1="[\u@\h \w]\$ " # 添加内容
source /etc/profile # 重新加载⽂件内容
下载软件优化
1)需要修改yum源⽂件(指定使⽤哪个yum软件仓库)
# 类似于pip换源
curl -o /etc/yum.repos.d/CentOS-Base.repo
http://mirrors.aliyun.com/repo/Centos-7.repo
yum repolist
PS:万⼀阿⾥云不好⽤,可以选择清华yum源
https://mirrors.tuna.tsinghua.edu.cn/help/centos/
2)需要修改yum扩展源epel源
第⼆个特殊的软件仓库
# epel Extra Packages for Enterprise Linux
wget -O /etc/yum.repos.d/epel.repo
http://mirrors.aliyun.com/repo/epel-7.repo
检查测试
yum install -y bash-completion-extras
3)所有源⽂件更新进⾏最终确认
yum repolist
"""
闲暇时光
yum install sl cowsay -y
sl
cowsay "JasonNB!!!"
animalsay "数据分析五期NB"
"""