文章目录
- 1. 挂载的知识
- —1.2 磁盘空间需要挂载使用
- —1.3 系统挂载操作实践(利用光驱进行挂载)
- ——1.3.1 确认设备文件是否存在
- ——1.3.2 确认有没有一个空的目录
- ——1.3.3 进行设备信息挂载
- ——1.3.4 进行挂载检查确认
- ——1.3.5 卸载方式
- ——1.3.6 mount挂载概念
- 2.目录结构简述以及规范
- —2.1 目录结构概述
- —2.2 目录结构发展规范
- 3. 网卡配置文件ifcfg-eth0
- 4. 网络出现故障排查思路
- —4.1 重启服务
- —4.2 查看网络配置
- 5. 域名解析文件resolv.conf
- —5.1 记录DNS服务器信息
- —5.2 公共的DNS服务器有哪些
- —5.3 操作流程
- 6. 主机名设置文件hostname
- —6.1 查看文件
- —6.2 临时修改
- —6.3 永久修改
- —6.4 centos7中临时修改和永久修改整合
- 7. IP地址和域名对应的hosts文件
- 8. 自动挂载功能的文件fstab
- 9. 开机加载脚本文件rc.local
- 10. 运行级别设置文件inittab
- —10.1 centos6(runlevel)
- —10.2 centos7(target 目标)
- —10.3 查看系统的运行级别
- —10.4 如何设置运行级别
- 11. 变量信息自动加载文件profile
- —11.1 查看文件
- —11.2 设置变量&调取变量
- —11.3 环境变量
- —11.4 变量永久生效
- —11.5 和环境变量配置有关的文件
- 12. 登录提示信息文件motd/issue
- 13.安装程序软件
- —13.1 查看安装目录
- —13.2 yum安装软件
- —13.3 rpm安装软件
- —13.4 编译安装
- —13.5 二进制包安装
- 14. 系统日志文件
- —14.1 /var/log/messages
- —14.2 /var/log/secure
- —14.3 查看日志文件
- ——14.3.1 tail命令显示文件的最后(10行)信息
- ——14.3.2 head命令显示文件的前几行(10行)信息
- ——14.3.3 实时追踪一个文件数据信息的变化
- ——14.3.4 查看指定信息
- ——14.3.5 日志保存备份切割处理
- 15. 目录系统硬件信息/proc
- —15.1 作用
- —15.2 查看系统CPU信息
- —15.3 查看系统内存信息
- —15.4 系统的负载信息
- —15.5 系统挂载信息文件
- 16. 系统优化
- —16.1 确认好系统的版本信息
- —16.2 添加新的用户方法
- —16.3 运维工作方式
- 17. su – 用户名和 su 用户名
- 18. 设置系统别名alias
- —18.1 作用介绍
- —18.2 寻找命令所对应的文件
- —18.3 三种取消(忽略)别名方法
- —18.4 临时修改别名
- —18.5 永久修改别名
1. 挂载的知识
—1.2 磁盘空间需要挂载使用
linux系统设备信息利用文件表示(一切皆文件)
将一个磁盘设备看做是一个房子 (存储设备文件)
将一个空目录看做是一个门(挂载点)
将门安装到房子的过程称为挂载
将门从房子上拆下来过程称为卸载
ll /dev/sda 磁盘文件
—1.3 系统挂载操作实践(利用光驱进行挂载)
虚拟机设置查看
——1.3.1 确认设备文件是否存在
(房子是否盖好了)
磁盘不会直接加载出来
但是本次是用光驱代替磁盘来进行挂载
确认光驱是否存在,如下所示
[root@linux ~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Jan 2 10:43 /dev/cdrom -> sr0
——1.3.2 确认有没有一个空的目录
确认门是否买好了
ls -l /mnt
——1.3.3 进行设备信息挂载
门安装到房子上
mount 设备文件信息 挂载点信息
mount /dev/cdrom(房子) /mnt(门)
[root@linux ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected(写保护), mounting read-only(只读)
[root@linux ~]]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Sep 27 19:12 /dev/cdrom -> sr0
——1.3.4 进行挂载检查确认
df -h
——1.3.5 卸载方式
umount /mnt
——1.3.6 mount挂载概念
确认门是否买好了
ls -l /mnt
——1.3.3 进行设备信息挂载
门安装到房子上
mount 设备文件信息 挂载点信息
mount /dev/cdrom(房子) /mnt(门)
[root@linux ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected(写保护), mounting read-only(只读)
[root@linux ~]]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Sep 27 19:12 /dev/cdrom -> sr0
——1.3.4 进行挂载检查确认
df -h
——1.3.5 卸载方式
umount /mnt
——1.3.6 mount挂载概念
df -h
——1.3.5 卸载方式
umount /mnt
——1.3.6 mount挂载概念
2.目录结构简述以及规范
—2.1 目录结构概述
bin
命令,二进制文件(命令)的存放目录
binary
/bin==usr/bin
sbin
超级命令,只有root用户能用的命令
super binary
/sbin==usr/sbin
boot
系统引导程序+系统内核
dev
设备 光驱 硬盘
device
挂载才能使用
etc
存放系统或服务的配置文件
home
普通用户的家目录,贫民窟
root
root用户的家目录 皇宫
lib
库文件存放目录
libary
lib64
库文件存放目录
lost+found
磁盘、文件系统损坏 断电 临时存放文件
media
类似失物招领处
misc
mnt
临时的挂载点目录
挂载点:给设备提供一个入口
opt
第三方软件安装在这里
proc
虚拟目录,显示内存中信息(进程 服务信息 内核)
selinux(centos7没有)
selinux及他的配置文件存放的位置
srv
sys
虚拟的目录 内存信息
tmp
临时文件的存放位置 垃圾堆
temp
usr
存放用户的程序软件
user
unix software resource
var
经常变化的文件:系统日志,相关服务日志文件
—2.2 目录结构发展规范
FHS组织 http://www.pathname.com/fhs/pub/fhs-2.3.html
3. 网卡配置文件ifcfg-eth0
IPV4和IPV6区别为:IP地址的详细方式不同
/etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet --网络类型 以太网
BOOTPROTO=none
获取IP地址方式:
a.本地网络笔记本等自动获取 dhcp
b.服务器 静态配置(none/static)
DEFROUTE=yes --是否使用默认路由
IPV4_FAILURE_FATAL=no --异常相关的等
NAME=eth0 --网卡名称 ifnames=0
UUID=f34fceea-400c-48e3-ab21-e0293b5d3a60 --硬件标识信息(此处指网卡)
DEVICE=eth0 --网卡设备名称 biosdevname=0
ONBOOT=yes --确认是否激活这块网卡 *
IPADDR=10.0.0.202 --网卡的IP地址
PREFIX=24 --掩码信息(网络中可能有多少台主机)
GATEWAY=10.0.0.254
网关地址信息
a.类似于国外旅游的海关
b.与虚拟主机的虚拟网络编辑器里的net设置中的网关IP相同
DNS1=10.0.0.254 --建立一个名称 和 IP地址的对应关系
4. 网络出现故障排查思路
—4.1 重启服务
系统的所有服务(网络)配置文件修改变更之后, 需要重启服务使之生效
centos7:
systemctl restart network
/etc/init.d/network start
centos6:
/etc/init.d/network restart
启动远程服务:/etc/init.d/sshd restart
—4.2 查看网络配置
centos7:
ip address show eth0(ip a)
nmtui
centos6:
ifconfig eth0
ip address show eth0(ip a)
—4.1 重启服务
系统的所有服务(网络)配置文件修改变更之后, 需要重启服务使之生效
centos7:
systemctl restart network
/etc/init.d/network start
centos6:
/etc/init.d/network restart
启动远程服务:/etc/init.d/sshd restart
—4.2 查看网络配置
centos7:
ip address show eth0(ip a)
nmtui
centos6:
ifconfig eth0
ip address show eth0(ip a)
1. 排查远程连接问题-链路是否通畅
到机房进行操作
2. 确认网关地址是否通畅
3. 确认网卡配置是否正确
4. 确认网络管理服务关闭
不关闭可能导致网卡配置正确但ip a 时不显示IP
systemctl status NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
5. 确认虚拟网络编辑配置
取消“使用本地DHCP服务将IP地址分配给虚拟机”
6. 确认虚拟软件服务开启
windows操作:
cmd->services.msc
7. 确认虚拟网卡配置信息
虚拟机设置->网络适配器->网络连接->自定义->
选择NAT模式相关的网卡在本地开启
5. 域名解析文件resolv.conf
—5.1 记录DNS服务器信息
DNS服务器是外网域名和IP的桥梁,不设置DNS服务器,只能连接到IP,链接不到IP对应的域名
—5.2 公共的DNS服务器有哪些
01. 阿里云
223.5.5.5
223.6.6.6
02. 电信
114.114.114.114
03. 谷歌
8.8.8.8
—5.3 操作流程
a.配置文件中可以编写DNS服务器地址信息
vi /etc/resolv.conf
nameserver 223.5.5.5
b.编写信息完毕后,会立即生效
c.网卡中的dns配置会覆盖掉resolv文件中的配置信息(网络服务重启)
6. 主机名设置文件hostname
—6.1 查看文件
centos6:/etc/sysconfig/network
centos7:/etc/hostname
—6.2 临时修改
[root@linux ~]# hostname
xiaoyong
[root@linux ~]# hostname gxy
重新断开连接或者执行bash即可生效修改成功
exit退出恢复原来的主机名
—6.3 永久修改
系统中一些配置希望永久更改, 需要编写修改配置文件
[root@linux ~]# vi /etc/hostname
gxy
重启即可
—6.4 centos7中临时修改和永久修改整合
hostnamectl set-hostname gxy
断开连接即可
7. IP地址和域名对应的hosts文件
01. 由开发人员汇总需求
02. 编写网站代码
03. 将编写好的代码发给运维人员
04. 在线下测试环境进行测试(尽可能模拟真实环境)
把www.jd.com指向测试服务器 10.0.0.203
—6.1 查看文件
centos6:/etc/sysconfig/network
centos7:/etc/hostname
—6.2 临时修改
[root@linux ~]# hostname
xiaoyong
[root@linux ~]# hostname gxy
重新断开连接或者执行bash即可生效修改成功
exit退出恢复原来的主机名
—6.3 永久修改
系统中一些配置希望永久更改, 需要编写修改配置文件
[root@linux ~]# vi /etc/hostname
gxy
重启即可
—6.4 centos7中临时修改和永久修改整合
hostnamectl set-hostname gxy
断开连接即可
7. IP地址和域名对应的hosts文件
01. 由开发人员汇总需求
02. 编写网站代码
03. 将编写好的代码发给运维人员
04. 在线下测试环境进行测试(尽可能模拟真实环境)
把www.jd.com指向测试服务器 10.0.0.203
windows
C:\Windows\System32\drivers\etc\hosts
linux
[root@linux ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.203 www.jd.com
8. 自动挂载功能的文件fstab
第一个历程: 购买安装新的硬件设备
然后重启服务器
虚拟机-设置-添加硬盘
第二个历程: 检查确认系统是否识别了新的硬件
fdisk -l
发现已经添加了一块新的磁盘/dev/sdb
第三个历程: 进行分区
fdisk /dev/sdb->n->p->回车x3->p->w
第四个历程: 格式化操作
mkfs.xfs /dev/sdb1
第五个历程: 进行磁盘设备挂载操作
临时挂载-重启之后发现消失 [root@oldboy-xiadao ~]# mount /dev/sdb1 /mnt [root@oldboy-xiadao ~]# df -h /dev/sdb1 10G 33M 10G 1% /mnt 永久挂载 /etc/fstab(filesystem table) --每次系统启动都会自动读取这个文件实现自动挂载 [root@xiaoyong ~]# blkid 查看UUID [root@xiaoyong ~]# vi /etc/fstab 添加UUID
卸载挂载
1.删除fstab中挂载的uuid
2.umount /mnt
如何实现光驱自动挂载
9. 开机加载脚本文件rc.local
开机会加载文件中的命令信息 --/etc/rc.local
[root@linux ~]# echo "mount /dev/sdb1 /mnt" >>/etc/rc.local
[root@linux ~]# cat /etc/rc.local
mount /dev/sdb1 /mnt
centos7的开机加载文件需要添加权限才能生效
[root@linux ~]# ls -l /etc/rc.d/rc.local
-rw-r--r--. 1 root root 473 Apr 11 2018 /etc/rc.d/rc.local
[root@linux ~]# chmod a+x /etc/rc.d/rc.local
[root@linux ~]# ls -l /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 473 Apr 11 2018 /etc/rc.d/rc.local
重启即刻生效
10. 运行级别设置文件inittab
windows
正常模式启动系统 --比较多的服务会开机运行
安全模式启动系统 --少量服务在运行
—10.1 centos6(runlevel)
cat /etc/inittab
0 关机模式
1 单用户模式 (修改系统用户密码信息)
2 多用户模式 (不支持NFS ) 不支持网络
3 多用户模式 (支持网络 默认运行级别)
4 未知 预留模式
5 图形化模式(又称为x11) 一般不用,因为需要耗费性能,还需要显卡
6 重启模式 init 6 == reboot
—10.2 centos7(target 目标)
—10.3 查看系统的运行级别
centos7
[root@xiaoyong ~]# systemctl get-default
centos6
[root@xiaoyong ~]#runlevel
—10.4 如何设置运行级别
centos6
临时设置:init 级别数值
永久设置:
vi /etc/inittab
更改最后一行id:3:initdefault
centos7
临时设置:init 级别数值
永久设置:systemctl set-default rescue.target(级别信息)
如何利用单用户模式修改系统root用户密码?
11. 变量信息自动加载文件profile
—11.1 查看文件
[root@linux ~]# cat /etc/profile
# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc
—11.2 设置变量&调取变量
[root@linux ~]# X=1
[root@linux ~]# echo $X
1
—11.3 环境变量
如:
[root@linux ~]# echo $LANG
en_US.UTF-8
01. 系统已经设置好的变量信息
02. 都是大写字母组成
03. 修改系统环境变量 需要借助一个命令和一个文件
echo "oldboy=123456" >>/etc/profile
04. 所有用户都可以调用
—11.4 变量永久生效
echo "oldboy=123456" >>/etc/profile
第一种方式:重新连接
第2种方式:立即加载文件配置
[root@oldboy-xiadao ~]# source /etc/profile
[root@oldboy-xiadao ~]# echo $oldboy
123456
—11.5 和环境变量配置有关的文件
国法
/etc/profile
/etc/bashrc 设置函数 和 别名
[root@xiaoyong ~]# alias ll
alias ll='ls -l --color=auto'
家规
~/.bashrc
~/.bash_profile
[root@xiaoyong ~]# ll -a
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
家规大于国法
12. 登录提示信息文件motd/issue
登录之后提示文件
[root@linux ~]# cat /etc/motd
不要随意使用root用户 不要随意使用rm
登录之前提示文件(英文)
[root@linux ~]# cat /etc/issue
耶稣保佑
[root@linux ~]# /etc/issue.net
13.安装程序软件
—13.1 查看安装目录
安装位置usr目录的usr/local
安装好软件重新连接生效
补全命令软件:yum install -y bash-completion
实现windows和linux传输下载功能的软件:yum install -y lrzsz
—13.2 yum安装软件
yum install
-y
yum install -y tree nc vim net-tools
解决软件依赖,但是不能灵活定制化
—13.3 rpm安装软件
rpm -ivh 软件包的名称
-i install
-v verbose*(显示安装过程)
-h human 以人类可读方式安装
[root@linux ~]# rpm -ivh gvnc-0.7.0-3.el7.x86_64.rpm
error: Failed dependencies:
libgdk_pixbuf-2.0.so.0()(64bit) is needed by gvnc-0.7.0-3.el7.x86_64
无法解决依赖关系
不能解决软件依赖,可以单独安装软件(半成品)
—13.4 编译安装
可以更加灵活的安装软件(软件安装路径)
安装配置:进入程序中->执行./configure 参数信息
编译过程(翻译的过程):make
编译安装:make instll
不能解决软件依赖,可以灵活定制化
—13.5 二进制包安装
直接解压后,即可使用
[root@linux ~]# cat /etc/motd
不要随意使用root用户 不要随意使用rm
登录之前提示文件(英文)
[root@linux ~]# cat /etc/issue
耶稣保佑
[root@linux ~]# /etc/issue.net
13.安装程序软件
—13.1 查看安装目录
安装位置usr目录的usr/local
安装好软件重新连接生效
补全命令软件:yum install -y bash-completion
实现windows和linux传输下载功能的软件:yum install -y lrzsz
—13.2 yum安装软件
yum install
-y
yum install -y tree nc vim net-tools
解决软件依赖,但是不能灵活定制化
—13.3 rpm安装软件
rpm -ivh 软件包的名称
-i install
-v verbose*(显示安装过程)
-h human 以人类可读方式安装
[root@linux ~]# rpm -ivh gvnc-0.7.0-3.el7.x86_64.rpm
error: Failed dependencies:
libgdk_pixbuf-2.0.so.0()(64bit) is needed by gvnc-0.7.0-3.el7.x86_64
无法解决依赖关系
不能解决软件依赖,可以单独安装软件(半成品)
—13.4 编译安装
可以更加灵活的安装软件(软件安装路径)
安装配置:进入程序中->执行./configure 参数信息
编译过程(翻译的过程):make
编译安装:make instll
不能解决软件依赖,可以灵活定制化
—13.5 二进制包安装
直接解压后,即可使用
软件安装成功查询方法
[root@linux ~]# rpm -qa bash-completion
bash-completion-2.1-8.el7.noarch
rpm -qa|grep vim
rpm -qa vim-*
查询命令属于哪个软件包:yum provides dig
找寻软件安装配置文件目录:
[root@linux ~]# rpm -ql bash-completion
/etc/bash_completion.d
/etc/bash_completion.d/redefine_filedir
14. 系统日志文件
—14.1 /var/log/messages
记录系统运行过程 或者 服务运行过程 一些异常信息
systemctl status rsyslog.service
有这个服务决定
—14.2 /var/log/secure
记录登录系统用户信息 登录成功/失败的信息
—14.3 查看日志文件
——14.3.1 tail命令显示文件的最后(10行)信息
[root@linux ~]# tail /etc/services
[root@linux ~]# tail -20 /etc/services
——14.3.2 head命令显示文件的前几行(10行)信息
[root@linux ~]# head /etc/services
[root@linux ~]# head -20 /etc/services
——14.3.3 实时追踪一个文件数据信息的变化
tail -f /var/log/secure
当监控文件被删除之后,会停止监控,需要重新执行命令进行监控信息
tail -F /var/log/secure
当监控文件被删除之后,会有报错提示信息,并且当文件恢复后,继续监控
——14.3.4 查看指定信息
[root@linux ~]# tail /etc/services
[root@linux ~]# tail -20 /etc/services
——14.3.2 head命令显示文件的前几行(10行)信息
[root@linux ~]# head /etc/services
[root@linux ~]# head -20 /etc/services
——14.3.3 实时追踪一个文件数据信息的变化
tail -f /var/log/secure
当监控文件被删除之后,会停止监控,需要重新执行命令进行监控信息
tail -F /var/log/secure
当监控文件被删除之后,会有报错提示信息,并且当文件恢复后,继续监控
——14.3.4 查看指定信息
tail -f /var/log/secure
当监控文件被删除之后,会停止监控,需要重新执行命令进行监控信息
tail -F /var/log/secure
当监控文件被删除之后,会有报错提示信息,并且当文件恢复后,继续监控
——14.3.4 查看指定信息
grep 老三 擅长过滤
[root@linux ~]# grep "Failed" /oldboy/secure-20161219
grep 结合管道符号 |
显示部分信息,管道前面命令执行的结构交给管道后面的命令进行处理
[root@linux ~]# grep "Failed" /oldboy/secure-20161219|head -5
grep参数: -i
ignorecase 忽略大小写查找数据
[root@linux ~]# grep -i "failed" /oldboy/secure-20161219|head -5
grep参数: -c
count 统计行数信息
[root@linux ~]# grep -c "Failed" /oldboy/secure-20161219
[root@linux ~]# grep "Failed" /oldboy/secure-20161219|wc -l
sed
老二 擅长对行进行操作 对文件内容进行编辑修改
awk
老大 擅长对列进行操作 对日志文件进行分析处理
——14.3.5 日志保存备份切割处理
1.可以利用脚本进行备份
2.logrotate日志切割处理程序 (了解)+定时任务
[root@linux ~]# ll /etc/logrotate.conf
-rw-r--r--. 1 root root 662 Jul 31 2013 /etc/logrotate.conf
15. 目录系统硬件信息/proc
—15.1 作用
目录中的数据都保存在内存里面
记录着一些系统硬件信息情况
—15.2 查看系统CPU信息
[root@linux ~]# cat /proc/cpuinfo
processor : 0 CPU的核数为1
physical id : 0 CPU的颗数=服务器路数1
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[root@linux ~]# grep "physical id" /proc/cpuinfo
physical id : 0
physical id : 0
physical id : 1
physical id : 1
[root@linux ~]# grep "processor" /proc/cpuinfo
processor : 0
processor : 1
processor : 2
processor : 3
2颗4核
命令查看cpu信息
[root@linux ~]# lscpu
CPU(s): 4
Core(s) per socket: 2 每个cpu2核
Socket(s): 2 2个插座,相当于2个cpu
—15.3 查看系统内存信息
[root@linux ~]# cat /proc/meminfo
MemTotal: 2030172 kB --- 总的内存大小
MemFree: 1751812 kB --- 空闲的内存大小 包含了分配给buffer和cache空间
MemAvailable: 1724832 kB --- 可用的大小 没有没人使用的空间
Buffers: 2076 kB --- 缓冲区大小 写
Cached: 85564 kB --- 缓存区大小 读
命令查看内存信息
[root@linux ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 130M 1.7G 9.5M 143M 1.6G
Swap: 1.0G 0B 1.0G
—15.4 系统的负载信息
[root@linux ~]# cat /proc/loadavg
0.00 0.01 0.05 2/118 2487
第一列: 平均1分钟负载大小
第二列: 平均5分钟负载大小
第三列: 平均15分钟负载大小
--------------------------------------
负载值 < 服务器CPU核数才比较合理,不然宕机
利用命令也可以看到系统负载信息
命令查看负载信息
[root@linux ~]# w
18:00:12 up 40 min, 3 users, load average: 0.00, 0.01, 0.05
—15.5 系统挂载信息文件
[root@linux ~]# cat /proc/mounts
利用命令查看负载信息
[root@linux ~]# df -h
16. 系统优化
—16.1 确认好系统的版本信息
[root@dba1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@dba1 ~]# uname -r
3.10.0-957.el7.x86_64
[root@dba1 ~]# man uname
uname - print system information
输出系统信息
—16.2 添加新的用户方法
useradd oldgirl
[root@oldboy-xiadao ~]# useradd oldgirl
[root@oldboy-xiadao ~]# passwd oldgirl --- 交互的设置密码
echo 123456|passwd --stdin oldboy01 --- 免交互的设置密码
Changing password for user oldgirl.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
验证过程
[root@oldboy-xiadao ~]# su - oldgirl
[oldgirl@oldboy-xiadao ~]$
[oldgirl@oldboy-xiadao ~]$ whoami
oldgirl
—16.3 运维工作方式
01. 操作前备份
02. 进行操作前要确认(比如:修改网卡信息之前确认网络通不通)
03. 进行修改操作
mv data.txt /tmp
04. 检查确认
05. 编写总结文档
17. su – 用户名和 su 用户名
—15.1 作用
目录中的数据都保存在内存里面
记录着一些系统硬件信息情况
—15.2 查看系统CPU信息
[root@linux ~]# cat /proc/cpuinfo
processor : 0 CPU的核数为1
physical id : 0 CPU的颗数=服务器路数1
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
[root@linux ~]# grep "physical id" /proc/cpuinfo
physical id : 0
physical id : 0
physical id : 1
physical id : 1
[root@linux ~]# grep "processor" /proc/cpuinfo
processor : 0
processor : 1
processor : 2
processor : 3
2颗4核
命令查看cpu信息
[root@linux ~]# lscpu
CPU(s): 4
Core(s) per socket: 2 每个cpu2核
Socket(s): 2 2个插座,相当于2个cpu
—15.3 查看系统内存信息
[root@linux ~]# cat /proc/meminfo
MemTotal: 2030172 kB --- 总的内存大小
MemFree: 1751812 kB --- 空闲的内存大小 包含了分配给buffer和cache空间
MemAvailable: 1724832 kB --- 可用的大小 没有没人使用的空间
Buffers: 2076 kB --- 缓冲区大小 写
Cached: 85564 kB --- 缓存区大小 读
命令查看内存信息
[root@linux ~]# free -h
total used free shared buff/cache available
Mem: 1.9G 130M 1.7G 9.5M 143M 1.6G
Swap: 1.0G 0B 1.0G
—15.4 系统的负载信息
[root@linux ~]# cat /proc/loadavg
0.00 0.01 0.05 2/118 2487
第一列: 平均1分钟负载大小
第二列: 平均5分钟负载大小
第三列: 平均15分钟负载大小
--------------------------------------
负载值 < 服务器CPU核数才比较合理,不然宕机
利用命令也可以看到系统负载信息
命令查看负载信息
[root@linux ~]# w
18:00:12 up 40 min, 3 users, load average: 0.00, 0.01, 0.05
—15.5 系统挂载信息文件
[root@linux ~]# cat /proc/mounts
利用命令查看负载信息
[root@linux ~]# df -h
16. 系统优化
—16.1 确认好系统的版本信息
[root@dba1 ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@dba1 ~]# uname -r
3.10.0-957.el7.x86_64
[root@dba1 ~]# man uname
uname - print system information
输出系统信息
—16.2 添加新的用户方法
useradd oldgirl
[root@oldboy-xiadao ~]# useradd oldgirl
[root@oldboy-xiadao ~]# passwd oldgirl --- 交互的设置密码
echo 123456|passwd --stdin oldboy01 --- 免交互的设置密码
Changing password for user oldgirl.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
验证过程
[root@oldboy-xiadao ~]# su - oldgirl
[oldgirl@oldboy-xiadao ~]$
[oldgirl@oldboy-xiadao ~]$ whoami
oldgirl
—16.3 运维工作方式
01. 操作前备份
02. 进行操作前要确认(比如:修改网卡信息之前确认网络通不通)
03. 进行修改操作
mv data.txt /tmp
04. 检查确认
05. 编写总结文档
17. su – 用户名和 su 用户名
当不加任何参数执行su命令时,表示要切换到root用户,但这样执行,会遇到一些问题。因为虽然是切换到root用户了,但并没有改变为root用户登录环境,用户默认的登录环境,可以在/etc/passwd 中查得到,包括家目录,shell类型等。比较规范的操作方法是”su -“。见下面的实例。
实例1:由普通用户oldboy切换到root用户
[oldboy@oldboy ~]$ whoami #→确认当前用户为oldboy
oldboy
[oldboy@oldboy ~]$ su #→不加用户就表示切到root用户。当然也可以使用su root。
Password: #→这里当然就是root用户的密码了。
[root@oldboy oldboy]# env
HOSTNAME=oldboy
USER=oldboy
MAIL=/var/spool/mail/oldboy
PWD=/home/oldboy
HOME=/root
LOGNAME=oldboy
...省略部分无关内容...
#→细心的读者应该已经看到了,如果使用su而不加上“-”这个参数,那么,切换前的用户的相关信息还会存在,
这会引起很多麻烦,甚至会出现意想不到的结果。因此,切换用户时,最好是 “su - 用户名”。
这是生产场景中标准的切换用户的操作方法。
[root@oldboy oldboy]# exit #→退出当前用户,这个命令也可以用ctrl+d快捷键命令替代。
[oldboy@oldboy ~]$ su - #→带上“-”参数做切换,也可用su - root命令。这是生产场景中的标准操作方法。
Password:
[root@oldboy ~]# env|egrep "USER|MAIL|PWD|LOGNAME" #→切换后的环境变量信息结果。
使用egrep过滤包含想查看的字符串的行。
USER=root
MAIL=/var/spool/mail/root
PWD=/root
LOGNAME=root
#→这次和上次就不同了,所有的环境变量信息都切换到了root下。因此,请大家在切换用户时一定
要加上“su - 用户名”,这里提醒下,不光是切到root呦,切换到其他用户也是一样,呵呵。
su命令总结:
1)普通用户切换到root用户,可使用su -或su – root。必须输入root密码才能完成切换。 2)root用户切换到普通用户,可使用“su – 普通用户名”的写法。不需要输入任何密码就能完成切换。 切换到普通用户后,在执行一些命令如ifconfig时,可能会遭遇到环境变量PATH路径问题而找不到某些系统 命令(一般是/sbin,/usr/sbin等下面的命令),这时就需要将普通用户的PATH,配置成root的PATH内容, 前面的文章已讲解过这个配置方法,不清楚的读者,可以翻阅下。 3)如果仅希望在某用户下执行命令,而不直接切换到该用户下操作,可以使用 su – 用户名 -c “命令”的方式。
18. 设置系统别名alias
—18.1 作用介绍
cat /etc/sysconfig/network-scripts/ifcfg-eth0 -- catnet
将一个系统中的长命令进行精简 生成一个别名
alias mv='mv -i'
alias rm='rm -i'
alias cp='cp -i'
-i==interactive 采用交互方式,确认是否覆盖文件
prompt before overwrite
—18.2 寻找命令所对应的文件
[root@linux oldboy]# which rm
/usr/bin/rm
—18.3 三种取消(忽略)别名方法
1) \rm oldboy.txt
2)/usr/bin/rm ./oldboy.txt.bak
`\which rm` /oldboy/tr.txt.bak ==> /usr/bin/rm /oldboy/tr.txt.bak
说明: 反引号表示将引号里面命令执行结果,交给引号外面命令进行使用
3) unalias rm
—18.4 临时修改别名
rm /oldboy -rf
提示: no use rm command
[root@linux ~]# alias |grep rm
alias rm='rm -i'
[root@linux ~]# alias rm='echo no use rm command'
[root@linux ~]# rm /oldboy/tr01.txt -f
no use rm command /oldboy/tr01.txt -f
[root@linux ~]# ll /oldboy/tr01.txt
-rw-r--r-- 1 root root 7 Jan 11 15:38 /oldboy/tr01.txt
—18.5 永久修改别名
第一个历程: 编写别名配置文件(/etc/profile /etc/bashrc)
[root@linux ~]#vim /etc/profile
[root@linux ~]#alias rm='echo no use rm command'
第二个历程: 让配置文件加载生效
1) 重新连接
2) source /etc/profile
第三个历程: 检查别名设置信息
[root@linux ~]# alias|grep rm
alias rm='rm -i'
设置未成功
第四个历程: 检查家规文件的配置(~/.bashrc ~/.bash_profile)
[root@linux ~]#cat ~/.bashrc
alias rm='rm -i'
#alias rm='rm -i' --- 将家规配置进行注释
第五个历程: 让家规配置生效
1) 重新连接
2) source ~/.bashrc
第六个历程: 最后确认检查
[root@linux ~]#alias rm
alias rm='echo no use rm command'
测试:
[root@linux ~]#rm /etc/hosts
no use rm command /etc/hosts
设置成功