Linux运维-系统目录结构篇
开篇导读:
Linux中,一切从/目录开始,以树状结构向下扩展分布,这一章中将介绍/etc,/var/,/usr,/proc等一些重要的目录.
系统重要目录说明
bin --- 存储命令文件信息(普通用户可以使用命令文件) Binary
sbin --- 存储命令文件信息(超级管理员用户可以使用命令文件) super Binary
etc --- 保存程序配置文件信息
lib --- 保存系统32位库文件信息 library
lib64 --- 保存系统64位库文件信息 library
root --- 用户家目录(皇宫 皇帝家 root)
home --- 用户家目录(平民窟 普通用户 oldboy)
var --- 保存经常发生变化的数据信息 日志文件log Variable
boot --- 系统启动引导目录
dev --- 存储系统设备文件信息 device
mnt --- 临时挂载点目录
tmp --- 临时存放文件目录(回收站) temporary
usr --- 根目录替身
opt --- 第三方软件程序数据保存的目录
proc --- 存储系统进程和内核文件信息
存储数据都是存储到了内存中
/etc
作用: /etc是linux中存放配置文件的目录
-
ifcfg-eth0: 网卡配置文件
地址: /etc/sysconfig/network-scripts/ifcfg-eth0
配置文件构成参数:TYPE=Ethernet --- 网络类型 以太网网络类型 BOOTPROTO=none --- 获取地址方式 自动获取IP地址(dhcp)/手动静态配置(none static静态) DEFROUTE=yes --- 是否开启默认路由 可以实现主机访问外网??? NAME=eth0 --- 网卡的名称信息 DEVICE=eth0 --- 网卡的名称信息 UUID=b9738c93-895f-4cbe-9e9a-48aa091f4efb --- 设备硬件标识信息 ONBOOT=yes --- 确认网卡是否激活 IPADDR=10.0.0.200 --- 网卡IP地址信息 PREFIX=24 --- 子网掩码信息 决定一个局域网中可以有多少台主机配置IP地址 255.255.255.0 拥有多少个主机 250个人 GATEWAY=10.0.0.254 --- 网关可以实现A网络主机可以和其他任意网络主机进行通讯 DNS1=10.0.0.254 --- DNS(domain name system 域名解析系统) 实现网络通讯需要有IP地址 和 百度服务器主机通讯 利用名称(域名)服务器 -DNS服务器(www.baidu.com 182.61.200.7)- 百度IP地址
配置文件生效:
方法一:systemctl restart network 异常问题: 1)配置文件有错 2)systemctl stop NetworkManager 关闭NetworkManager再systemctl restart network. 方法二: ifdown eth0 ; ifup eth0 ifdown eth0 && ifup eth0 重启网卡eth0
修改网卡名称方法:
1) 修改网卡文件中的名称 NAME=eth0 DEVICE=eth0 2) 修改网卡文件本身名称 cd /etc/sysconfig/network-scripts/ mv ifcfg-ens33 ifcfg-eth0 3) 修改系统内核配置文件 vim /etc/default/grub GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet" 4) 使配置文件生效 grub2-mkconfig -o /boot/grub2/grub.cfg 5) 重启系统 reboot
-
resolv.conf: 配置公网DNS域名解析服务器网址
地址:/etc/resolv.conf
文件配置信息:# Generated by NetworkManager nameserver 10.0.0.254 ---> DNS服务器地址信息 223.5.5.5 223.6.6.6(阿里云) 114.114.114.114(电信公司)
配置文件生效:
两种方法:- 配置好信息, 会立即生效
- 在网卡中配置DNS, 重启网络服务
-
hosts: 配置DNS域名解析
地址:/etc/hosts
文件配置信息:127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 182.61.200.7 www.baidu.com 10.0.0.41 backup
配置文件生效:
文件配置完毕, 立即生效 -
hostname: 主机名称配置文件
地址:/etc/hostname
主机名称修改方法:
centos6 | centos7 |
---|---|
临时修改:hostname Jeter | 临时修改:hostnamectl set-hostname Jeter |
永久修改:修改文件信息 vim /etc/sysconfig/network | 永久修改:hostnamectl set-hostname Jeter |
-
rc.local: 文件中的命令会在系统启动时自动运行
地址:/etc/rc.local
文件配置信息:vim /etc/rc.local mount /dev/cdrom /mnt
配置文件生效:
修改文件权限 chmod +x /etc/rc.d/rc.local什么是脚本文件?
将多个命令操作整合在一个文件中, 这个文件就是脚本文件.
脚本文件以 #!/bin/bash 开头.表明这是一个脚本文件.
运行脚本文件:
方法一: 加上sh命令执行脚本文件中信息sh test_01.sh
方法二: 不要加上sh命令直接运行脚本文件,需要文件有执行权限
/server/scripts/test_01.sh
-
fstab: 永久挂载配置文件
地址:/etc/fstab
文件配置信息:UUID=8814f471-53b4-4eb7-aee9-a20b2ce6fe64 / xfs defaults 0 0 UUID=7f45bd81-656c-45c3-8c9b-01105857d65a /boot xfs defaults 0 0 UUID=79d951d0-06a4-4f9f-9d10-e273dc25d4d1 swap swap defaults 0 0 1 2 3 4 5 6
- 存储设备文件信息 可以使用UUID或者/dev/sdax进行配置
root@oldgirledu ~]# blkid
/dev/sr0: UUID=“2018-11-25-23-54-16-00” LABEL=“CentOS 7 x86_64” TYPE=“iso9660” PTTYPE=“dos”
/dev/sda1: UUID=“7f45bd81-656c-45c3-8c9b-01105857d65a” TYPE=“xfs”
/dev/sda2: UUID=“79d951d0-06a4-4f9f-9d10-e273dc25d4d1” TYPE=“swap”
/dev/sda3: UUID=“8814f471-53b4-4eb7-aee9-a20b2ce6fe64” TYPE=“xfs” - 挂载点目录信息
- 文件系统类型
存储数据 – 磁盘 — 做阵列 — 分区 — 格式化 — 创建文件系统(存储数据方式不太一样) — 挂载操作
居住环境 – 地 — 连接起来 — 规划 — 清理 — 建筑风格 — 门 - 默认挂载参数信息
- 是否进行磁盘数据备份
- 是否检查磁盘信息
配置文件生效:
存储设备文件信息 挂载点信息 xfs defaults 0 0
方法一: 重启系统
方法二: mount -a挂载与卸载:
目的:实现数据可以存放到磁盘中.Linux中想要使用硬盘,必须将该硬盘挂载到某个目录中,才可以使用该硬盘.
挂载操作原理:-
系统分区说明: 使用一个文件表示一个分区
/dev/sda (sas disk a 第一块磁盘)
/dev/sda1 (sas disk a 第一块磁盘 第一个分区)
/dev/sda2 (sas disk a 第一块磁盘 第一个分区)分区操作:
/dev/sda1 /boot 目录
/dev/sda2 swap 交换分区 ???
/dev/sda3 / 目录add mount(挂载) point(点)
-
如何进行分区挂载操作:
第一个里程: 获得一个存储设备
ls -l /dev/cdrom — 光驱存储设备文件第二个里程: 创建一个目录作为挂载点
mkdir /oldboy — 创建一个空目录第三个里程: 挂载操作
语法格式: mount 存储设备信息 挂载点(空目录)
mount /dev/cdrom /oldboy第四个里程: 检查确认工作
检查方式一:
[root@linux67 ~]# cd /oldboy
[root@linux67 oldboy]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL检查方式二:
[root@linux67 oldboy]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sr0(存储设备文件) 4480476 4480476 0 100% /oldboy 挂载点[root@linux67 oldboy]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 Oct 18 10:17 /dev/cdrom -> sr0
[root@linux67 oldboy]# ls -l /dev/sr0
brw-rw----. 1 root cdrom 11, 0 Oct 18 10:17 /dev/sr0
说明: /dev/sr0是真正光驱设备文件, 而/dev/cdrom是光驱设备文件的快捷方式第五个里程: 挂载点目录卸载过程
umount /oldboy
说明: 尽量要离开挂载点目录, 再进行卸载
挂载异常问题:
-
没有使用空目录进行挂载
源目录中的数据无法再进行查看 -
目录挂载后无法看到存储设备中数据
在挂载点目录中, 进行的挂载操作
- 存储设备文件信息 可以使用UUID或者/dev/sdax进行配置
-
inittab: 查看/设置系统默认运行模式(运行级别)
地址: /etc/inittab系统运行级别:
centos6 | centos7 |
---|---|
0 - halt (Do NOT set initdefault to this) 关机级别 | runlevel0.target -> poweroff.target |
1 - Single user mode 单用户级别 | runlevel1.target -> rescue.target 单用户模式 |
2 - Multiuser, without NFS (The same as 3, if you do not have networking) 多用户无网络级别 | multi-user.target 多用户模式 |
3 - Full multiuser mode 多用户网络级别 | multi-user.target 多用户模式 |
4 - unused 未使用 | multi-user.target 多用户模式 |
5 - X11 图形化级别 | runlevel5.target -> graphical.target 图形化模式 |
6 - reboot (Do NOT set initdefault to this) 重启级别 | runlevel6.target -> reboot.target 重启模式 |
临时配置:
centos6: init 3 切换到3多用户网络模式
centos7: systemctl set-default multi-user.target 切换到多用户模式
永久配置:
centos6: vim /etc/inittab
id:3:initdefault: --- 默认是3运行级别
centos7: systemctl set-default multi-user.target 切换到多用户模式
-
profile: 系统变量/环境变量配置文件
地址: /etc/profile
变量:
a 什么是变量: 应用题 已知条件 未知条件
100m 人每秒4m速度前行 多久走完100m 3*x=100 x=33.33
x=33.33 oldboy=xxx
变量 值(abc 100)b 如何应用变量:
设置
oldboy=123456
应用
echo $oldboyc 变量存在的意义: 在脚本中存在
#!/bin/bas
info=oldgirlecho /oldboy/ i n f o − 01 / info-01/ info−01/info-02/ i n f o − 03 e c h o / o l d g i r l / info-03 echo /oldgirl/ info−03echo/oldgirl/info-01/ i n f o − 02 / info-02/ info−02/info-03
echo /oldbaby/ i n f o − 01 / info-01/ info−01/info-02/$info-03
指定一些经常变化的信息, 利用变量可以快速修改调整环境变量: PATH
- 系统默认已经设置好的变量 OK
- 环境变量都是大写字母表示 OK
- 环境变量可以被所有用户调用 OK
- 系统环境变量都有具体存在价值
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
设置修改环境变量:
临时修改环境变量: 直接在命令行改 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp 永久修改环境变量: 进入到配置文件中修改 vim /etc/profile PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp
方法一: 配置文件生效
重新连接
方法二: 利用命令记录加载
source /etc/profile
. /etc/profile
设置别名功能:
别名有什么用:- 简化复杂命令重复输入
- 将危险命令进行转换 rm 删除文件 == 将文件移动到 /tmp
实现别名配置: alias(查看别名 设置别名) unalias(取消)
临时配置:
alias 别名=‘命令信息’
alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0’永久配置:
vi /etc/profile
alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0’补充说明: 永久配置变量 环境变量 别名文件信息
- 全局配置文件 — 对系统中所有用户都有影响
/etc/profile /etc/bashrc - 局部配置文件 — 对系统中某个用户有影响
~/.bash_profile ~/.bashrc
说明: 系统中以. 开头的文件都是隐藏文件
说明: 局部配置优先于全局配置
-
motd: 用户登录前显示提示信息
地址: /etc/motd -
issue,issue.net: 用户登录后显示提示信息
地址: /etc/issue, /etc/issue.net
/usr
/usr/local | /opt — 第三方软件安装程序目录
系统安装软件方法:
a 利用yum命令安装软件 360软件管家(yum仓库)
特点说明: 下载软件 并进行安装 自动解决依赖关系
操作演示: yum install -y tree
b 利用rpm命令安装软件 官网下载软件安装程序 --- 安装软件
特点说明: 需要解决软件依赖关系 安装软件
操作演示:
下载过程
wget https://mirrors.aliyun.com/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
安装过程
rpm -ivh vim-enhanced-7.4.629-6.el7.x86_64.rpm
c 利用编译方法安装软件
特点说明: 灵活的安装或配置软件功能 无法解决软件依赖
操作演示:
三部曲(配置 configure 编译 make 安装 make install)
d 利用二进制包方法安装软件
特点说明: 绿色软件(软件解压后直接使用) 数据库服务
/var
作用:存放系统临时数据
-
messages: 记录系统或软件运行情况的日志文件
地址:/var/log/messages用户登录成功信息 Oct 22 12:13:45 linux67 sshd[8410]: Accepted password for root from 10.0.0.1 port 51635 ssh2 Oct 22 12:13:45 linux67 sshd[8410]: pam_unix(sshd:session): session opened for user root by (uid=0) 用户断开连接信息 Oct 22 12:14:42 linux67 sshd[8410]: pam_unix(sshd:session): session closed for user root 用户登录错误信息 Oct 22 12:15:41 linux67 unix_chkpwd[8437]: password check failed for user (root) Oct 22 12:15:41 linux67 sshd[8435]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1 user=root Oct 22 12:15:41 linux67 sshd[8435]: pam_succeed_if(sshd:auth): requirement "uid >= 1000" not met by user "root" Oct 22 12:15:43 linux67 sshd[8435]: Failed password for root from 10.0.0.1 port 51642 ssh2 Oct 22 12:15:47 linux67 sshd[8435]: error: Received disconnect from 10.0.0.1 port 51642:0: [preauth] Oct 22 12:15:47 linux67 sshd[8435]: Disconnected from 10.0.0.1 port 51642 [preauth] 01 02 03 04 1. 登录连接时间信息 2. 显示主机名称信息 3. 登录方式是什么 sshd(远程连接) login(本地连接) 4. 登录过程详细信息 关注失败信息
日志信息如何进行查看: cat
方法一: 只查看最新的信息
head -n 文件信息 — 查看文件前几行信息
tail -n 文件信息 — 查看文件后几行信息
tail -f 文件信息 — 实时查看日志文件最新数据内容
方法二: 关注指定信息 fail error
grep “关注信息” 文件
-C -B -A -i
/proc
作用: 存放进程文件和内核文件
-
cpuinfo: 存放cpu信息
地址: /proc/cpuinfo
重要参数:physical id : 0 --- 服务器上有几颗CPU processor : 0 --- 服务器CPU核心数
统计服务器核心数: grep -c processor /proc/cpuinfo
使用命令查看: lscpu -
meminfo: 存放内存信息
地址: /proc/meminfo
重要参数:MemTotal: 2028116 kB --- 服务器总的内存数量 MemFree: 1720948 kB --- 空闲内存数量 MemAvailable: 1703560 kB --- 可用的内存数量 *** Buffers: 2092 kB --- 划分内存一定空间用于缓冲使用 加快数据写入 Cached: 98352 kB --- 划分内存一定空间用于缓存使用 加快数据读写
使用命令查看: free -h
-h: 以更适合人类查看的单位显示[root@linux67 ~]# free total used free shared buff/cache available Mem: 2028116 140908 1720708 9700 166500 1703320 Swap: 1048572 0 1048572 [root@linux67 ~]# free -h total used free shared buff/cache available Mem: 1.9G 137M 1.6G 9.5M 162M 1.6G Swap: 1.0G 0B 1.0G
-
mounts: 查看硬盘信息
地址:/proc/mounts
硬盘信息: cat /proc/mounts/dev/sr0 /mnt iso9660 ro,relatime 0 0 /dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0 01 02 03 04 05 06 1. 存储设备文件信息 2. 磁盘挂载点信息 3. 文件系统类型信息 4. 挂载的参数信息 5. 是否备份磁盘信息 6. 是否检查磁盘
使用命令查看: df -h
-
loadavg: 查看系统负载
地址: /proc/loadavg0.09 0.10 0.07 1/133(?) 8019(?) 每1分钟 每5分钟 每15分钟
负载值 <= 服务器总的核心数
使用命令查看: w,uptime,top
w10:36:31 up 1:36, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.0.0.1 09:37 7.00s 0.60s 0.00s w 01 02 03 04 05 06 07 01: 登录系统用户信息 02: 登录系统方式 pts/x(远程登录) ttyx(本地登录) 03: 远程登录主机用户IP地址信息 04: 用户登录主机时间 05: 用户登录主机空闲时间 06: 用户操作系统占用CPU情况 07: 检查用户远程之后再做什么 w --- 用户在执行w命令 -bash --- 进行基础命令操作 vim --- 编辑文件状态 sh xxx --- 执行脚本