系统重要目录说明:
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 目录中重要文件
第一个重要文件: ifcfg-eth0 ifcfg-eth1 ifcfg-ens33
文件作用说明: 网络服务配置文件
文件保存路径: /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
异常问题:
a 配置文件有错误
b NetworkManager
方法二: 针对不同网卡进行重启操作
ifdown eth0 ; ifup eth0
ifdown eth0 && ifup eth0
/usr 目录中重要文件
/var 目录中重要文件
/proc 目录中重要文件
修改网卡名称方法:
- 修改网卡文件中的名称
NAME=eth0
DEVICE=eth0 - 修改网卡文件本身名称
cd /etc/sysconfig/network-scripts/
mv ifcfg-ens33 ifcfg-eth0 - 修改系统内核配置文件
vim /etc/default/grub
GRUB_CMDLINE_LINUX="biosdevname=0 net.ifnames=0 rhgb quiet" - 使配置文件生效
grub2-mkconfig -o /boot/grub2/grub.cfg - 重启系统
reboot
第二个重要文 件: resolv.conf
文件作用说明: 用于解析名称信息
文件保存路径: /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
文件作用说明: 用于解析名称信息 可以访问域名或主机名
文件保存路径: /etc/host
文件配置信息:
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
文件配置信息:
cat /etc/hostname
linux67
主机名称修改方法:
centos6 centos7
临时修改: 立即生效 hostnamectl set-hostname oldboyedu.com --- 临时永久都做了修改
hostname oldboyedu
永久修改: 重启系统配置依旧生效
修改文件信息
vim /etc/sysconfig/network
第五个重要文件: rc.local
文件作用说明: 文件中的命令信息会在系统启动时自动执行
文件保存路径: /etc/rc.local
文件配置信息:
vim /etc/rc.local
mount /dev/cdrom /mnt
配置文件生效:
修改文件权限 chmod +x /etc/rc.d/rc.local
启动系统 --- 直接运行 /etc/rc.local(/etc/rc.d/rc.local 执行权限)文件 --- 执行文件中每一行命令
什么是脚本文件:
将多个命令操作可以整合在一个文件中, 这个文件就是脚本文件
· 脚本文件编写:
!/bin/bash
mkdir -p /oldboy/oldboy01/oldboy02
touch /oldboy/oldboy.txt
echo oldboy67 >/oldboy/oldboy.txt
mount /dev/cdrom /mnt
· 脚本文件运行:
方法一: 加上sh命令执行脚本文件中信息
sh test_01.sh
方法二: 不要加上sh命令直接运行脚本文件
/server/scripts/test_01.sh
文件权限信息:
r read 可读 w write 可编辑 x 可执行 execute
chmod +x 文件信息
第六个重要文件: 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
01 02 03 04 05 06
- 存储设备文件信息 可以使用UUID或者/dev/sdax进行配置
root@oldgirledu ~]# blkid (blkid 命令:可以查看块设备(包括交换分区)的文件系统类型、LABEL、UUID、挂载目录等信息)
/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
第七个重要文件: inittab
文件作用说明: 查看/设置系统默认运行级别
系统运行级别:
linux教学: 01 python教室 02 网络安全: 03
启动自动运行一些服务: 启动自动运行一些服务: 启动自动运行一些服务:
vm 飞秋 QQ 亿图 pycharm web程序软件 数据库 系统基础运行服务开启
运行级别 == 系统不同的运行方式
文件保存路径: /etc/inittab文件
centos6
临时配置:
init 级别编号
0 - halt (Do NOT set initdefault to this)
关机级别
1 - Single user mode
单用户模式 破解系统密码信息(root)
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
多用户模式, 没有网络服务模式
3 - Full multiuser mode
多用户模式, 具有网络服务模式
4 - unused
未使用
5 - X11
图形化级别
6 - reboot (Do NOT set initdefault to this)
重启级别
runlevel 查看级别配置信息
centos7
默认修改系统运行模式(target)
systemctl set-default 模式信息 0
runlevel0.target -> poweroff.target
runlevel1.target -> rescue.target
救援模式 == 单用户模式
multi-user.target
多用户模式
runlevel5.target -> graphical.target
runlevel6.target -> reboot.target
systemctl get-default 查看默认配置信息
永久配置:
vim /etc/inittab
id:3:initdefault: --- 默认是3运行级别
centos6 手动改 runlevel init x
centos7
第八个重要文件: profile
文件作用说明: 配置系统变量 或者 环境变量 或者 别名信息
文件保存路径: /etc/profile
变量:
a 什么是变量: 应用题 已知条件 未知条件
100m 人每秒4m速度前行 多久走完100m 3*x=100 x=33.33
x=33.33 oldboy=xxx
变量 值(abc 100)
b 如何应用变量:
设置
oldboy=123456
应用
echo $oldboy
c 变量存在的意义: 在脚本中存在
!/bin/bas
info=oldgirl
echo /oldboy/info-02/info-01/info-03
echo /oldbaby/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
永久修改环境变量:
/etc/profile
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp
方法一: 配置文件生效
重新连接
方法二: 利用命令记录加载
source /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'
练习题: 给rm设置一个别名, 实现rm删除数据, 实质上是将数据移动到/tmp
rm(别名)
alias rm='mv xxxx'
第一个里程: 临时设置别名
alias rm='mv -t /tmp'
说明信息:
rm /oldboy.txt == mv -t /tmp /oldboy.txt /oldboy01.txt第二个里程: 编写profile文件
vi /etc/profile
alias rm='mv -t /tmp'第三个里程: 查看局部配置文件
cat ~/.bashrc
alias rm='rm -i'第四个里程: 将局部配置进行调整
vi ~/.bashrcalias rm='rm -i'
补充说明: 永久配置变量 环境变量 别名文件信息
- 全局配置文件 --- 对系统中所有用户都有影响
/etc/profile /etc/bashrc - 局部配置文件 --- 对系统中某个用户有影响
~/.bash_profile ~/.bashrc
说明: 系统中以. 开头的文件都是隐藏文件
说明: 局部配置优先于全局配置
国法 === 全局配置 强奸法: 强行违背妇女和儿童意愿
家规 === 局部配置 强奸法: 强行违背妇女和儿童意愿 也不能违背男人
如何还原rm别名本来的删除命令作用:
方法一: 临时取消别名功能
unalias rm
方法二: 临时使用命令绝对路径操作命令
/bin/rm oldgirl.txt
方法三: 在别名前面加上一个 \ (还原别名命令本身的意思)
\rm oldboy.txt
motd issue issue.net
文件作用说明: 系统信息提示文件
· motd: 表示在用户登录系统之后, 会显示提示信息
· issue 标识在用户登录系统之前, 会显示提示信息
issue.net
-
/usr 目录中重要文件
/usr/local | /opt --- 第三方软件安装程序目录
系统安装软件方法:
a 利用yum命令安装软件 360软件管家(yum仓库)
特点说明: 下载软件 并进行安装 自动解决依赖关系
操作演示: yum install -y treeb 利用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.rpmc 利用编译方法安装软件
特点说明: 灵活的安装或配置软件功能 无法解决软件依赖
操作演示:
三部曲(配置 configure 编译 make 安装 make install)d 利用二进制包方法安装软件
特点说明: 绿色软件(软件解压后直接使用) 数据库服务 -
/var 目录中重要文件
a /var/log/messages --- 记录系统或者软件运行情况(正常/异常)
b /var/log/secure --- 记录用户登录系统情况信息
用户登录成功信息
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- 登录连接时间信息
- 显示主机名称信息
- 登录方式是什么 sshd(远程连接) login(本地连接)
- 登录过程详细信息 关注失败信息
日志信息如何进行查看: cat
方法一: 只查看最新的信息
head -n 文件信息 --- 查看文件前几行信息
tail -n 文件信息 --- 查看文件后几行信息
tail -f 文件信息 --- 实时查看日志文件最新数据内容
方法二: 关注指定信息 fail error
grep "关注信息" 文件
-C -B -A -i
- /proc 目录中重要文件
CPU信息查看:
physical id : 0 --- 服务器上有几颗CPU
processor : 0 --- 服务器CPU核心数
physical id : 0 physical : 0 -- 2行 == 服务器有两颗CPU
physical id : 0
physical id : 1 physical : 1
physical id : 1
[root@linux67 ~]# grep "physical id" /proc/cpuinfo | uniq
physical id : 0
physical id : 1
[root@linux67 ~]# grep "physical id" /proc/cpuinfo | uniq |wc -line
2
说明: | 管道符号: 将前一个命令执行输出结果通过管道交给后面的命令进行再次处理
processor : 0 -- 4行 == 整个服务器有4个核心
processor : 1
processor : 2
processor : 3
统计服务器总的核心数:
[root@linux67 ~]# grep -c processor /proc/cpuinfo
4
补充: wc命令介绍:
-c, --bytes print the byte counts
将字节统计信息输出(包含空格和换行符)
-m, --chars print the character counts
将字符统计信息输出
-l, --lines print the newline counts ******
统计文件中有多少行
-w, --words print the word counts
[root@linux67 ~]# lscpu
CPU(s): 4
Socket(s): 2
内存信息: cat /proc/meminfo
MemTotal: 2028116 kB --- 服务器总的内存数量
MemFree: 1720948 kB --- 空闲内存数量
MemAvailable: 1703560 kB --- 可用的内存数量 ***
Buffers: 2092 kB --- 划分内存一定空间用于缓冲使用 加快数据写入
Cached: 98352 kB --- 划分内存一定空间用于缓存使用 加快数据读写
使用命令查看:
[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
硬盘信息: cat /proc/mounts
/dev/sr0 /mnt iso9660 ro,relatime 0 0
/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
- 存储设备文件信息
- 磁盘挂载点信息
- 文件系统类型信息
- 挂载的参数信息
- 是否备份磁盘信息
- 是否检查磁盘
使用命令查看磁盘:
[root@linux67 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 98G 1.6G 97G 2% /
devtmpfs 980M 0 980M 0% /dev
/dev/sr0 4.3G 4.3G 0 100% /mnt
/dev/sda1 1014M 127M 888M 13% /boot
tmpfs 199M 0 199M 0% /run/user/0
如何在系统中生成大文件:
使用循环方法:
for 变量 oldboy in {1..300} oldboy=1 oldboy=2 ... oldboy=10
do
做什么事
done
for oldboy in {1..300};do cat /etc/services >>/tmp/oldboy.txt;done
查看负载情况: cat /proc/loadavg
cat /proc/loadavg
0.09 0.10 0.07 1/133(?) 8019(?)
每1分钟 每5分钟 每15分钟
负载值 <= 服务器总的核心数
查看命令信息:
w uptime top
w
10: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 --- 执行脚本
- 操作系统挂载概念 mount / umount
- 操作系统重要目录 /var /proc /etc
- 操作系统重要文件
/etc
a 网卡配置文件
b DNS解析配置文件
c 本地解析配置文件
d 主机名称配置文件
e 开机运行命令文件
f 开机自动挂载文件
g 系统运行级别文件
h 环境变量或别名配置文件 4个
i 登录显示信息文件 登录前 登录后
/var
messages secure
/proc
cpuinfo meminfo mounts loadavg
lscpu free -h df -h w uptime top
-bash-4.2# whoami
root
-bash-4.2# cd
-bash-4.2# pwd
/root
-bash-4.2# cp /etc/skel/.b* /root/