目录结构:FHS
/bin # 存放普通二进制命令
/boot # 系统引导文件
/dev # 设备文件 磁盘 光驱
/etc # 服务的配置文件
/mnt # 系统设备临时挂载点
/opt # 第三方软件默认安装位置
/sbin # 管理员的可运行的二进制命令
/tmp # 临时存储数据的地方 类似Windows的回收站
/usr # 二级层次目录标准
/var # 经常变化的数据文件存储的目录 日志。。。
Linux的目录机构和设备挂载
1. 树状结构显示
2. 一切皆文件
3. 硬件设备必须先挂载才可以使用 如果不挂载相当于没有门窗的屋子 进不去 出不来
步骤:
第一步:把ios镜像文件放入光驱
虚拟机 ---> 右键 ---> 属性 ---> CD/DVD
第二步:查看当前硬件光驱
cat /dev/cdrom # 输出乱码,无法正常查看
第三步:创建挂载点 创建一个门
如:[root@oldboy-lnb ~]# mkdir /data
第四步: cdrom挂载到/data
使用mount
[root@oldboy-lnb ~]# mount /dev/cdrom /data
第五步:通过门/data进入到光驱内 查看光驱数据 也可以使用df -h查看
[root@oldboy-lnb ~]# cd /data
第六步:如何卸载设备 卸载时要退出光驱查看,回到家目录
使用umount
[root@oldboy-lnb ~]# umount /data
重要的目录文件
/etc/重要目录
网卡配置文件
精简不必要的配置
[root@oldboy-lnb ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet # 以太网 快速以太网
BOOTPROTO=none # 获取IP地址的方式 1 none 2 static 3.dhcp(路由器 三层交换机 192.168.1.2-192.168.1.254)
NAME=eth0 # 网卡的名称 在系统中显示的名称
UUID=2ccba174-21d0-4cb4-810f-93b5e16d1768 # 设备的唯一标识 系统会为每个硬件设备 分配一个UUID作为设备的唯一标识
DEVICE=eth0 # 网卡的硬件名称
ONBOOT=yes # 自动启动 自动激活该网卡
IPADDR=10.0.0.200 # IP地址 类似家的地址 唯一的 公网IP(任意有网络的地方连接) 私网IP(局域网内连接) 扩展 公网IP 私网IP
PREFIX=24 # 子网掩码 决定了当前网络中可用的主机数量 24--> 10.0.0.1-10.0.0.254 255.255.255.0
GATEWAY=10.0.0.254 # 网关 类似于 楼宇的大门 想要上网 必须配置网关 不配置网关只能在局域网内发送数据
DNS1=223.5.5.5 # 域名解析协议 负责把域名解析成IP地址 什么是域名 www.bidu.com www.sina.com
精简配置后,重启网卡
两种方法
1. systemctl restart network
2. ifdown eth0 && ifup eth0
精简完成
!cat # 执行最后一次执行cat的命令
cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.254
DNS1=223.5.5.5
/etc/hostname 主机名称
作用:可以访问主机名称进行通讯
访问一台服务器的两种方式
1.通过IP地址访问
2.通过主机名访问
如何查看主机名
[root@oldboy-lnb ~]# hostname
oldboy-lnb
[root@oldboy-lnb ~]# hostnamectl
Static hostname: oldboy-lnb
[root@oldboy-lnb ~]# cat /etc/hostname
oldboy-lnb
如何修改主机名
1.临时修改,重启失效
[root@oldboy-lnb ~]# hostname oldboyedu ---> 重新打开一个窗口,即可显示
2.永久修改,重启生效
1)直接修改配置文件
第一步 直接修改配置文件
[root@oldboy-lnb ~]# vi /etc/hostname
oldboy-dnb
第二步 重启操作系统
reboot
2)使用命令方式修改主机名 __推荐使用__
[root@oldboy-dnb ~]# hostnamectl set-hostname oldboy-lnb
[root@oldboy-dnb ~]# reboot
临时+永久重启生效
/etc/resolv.conf 配置DNS服务器IP地址
作用:配置DNS IP地址 解析域名为IP地址
工作中优先使用
resolve.conf和网卡的DNS配置的区别
1.resolve.conf配置优先于网卡的配置
resolve.conf 223.5.5.5 ---> 优先使用223.5.5.5解析域名
网卡 --------> 114.114.114.114
2.如果网卡中存在dns 重启网卡会覆盖resolv.conf中的配置
3.如果网卡中不配置DNS 不影响resolve.conf配置文件
配置备用DNS
[root@oldboy-lnb ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 114.114.1114.114
....
/etc/hosts 本地域名解析
存放着域名和IP地址的对应关系
作用:访问域名时 先查看hosts下有没有对应的域名解析 先查看有没有对应的域名解析 测试环境使用
/etc/issue 登录后系统显示的内容
/etc/issue.net
存放着登录后的系统版本号和内容版本号
清空
> /etc/issue
> /etc/issue.net
/etc/motd 登录系统后显示的内容
登录xshell后显示的内容
/etc/inittab 系统的运行级别
当前默认的运行时3
0 # 关机 配置文件不能设置为0
1 # 单用户模式 救援模式 密码忘记
2 # 多用户模式 没有NFS 网络文件系统
3 # 完全多用户模式 当前默认的级别 运行3级别
4 # 保留 未开发
5 # 桌面模式 desktop centos 不安装桌面 浪费资源
6 # 重启
init 0 关机
init 6 重启
查看当前的运行级别
[root@oldboy-lnb ~]# runlevel
N 3
[root@oldboy-lnb ~]# systemctl get-default
multi-user.target
设置默认的运行级别
systemctl set-default runlevel3.target
/etc/fstab 开机设备自动挂载
UUID=fc714715-249e-42ae-bd82-26ab4c2fc0a0 |
swap |
swap |
defaults |
0 |
0 |
设备唯一的标识(也可以写设备名) |
目录挂载点 |
文件系统 |
挂载的参数 |
是否磁盘备份 |
开机自检 |
0为关闭
1为开启
开机磁盘备份 占用大量的磁盘空间 浪费IO 负载变高
开机自检 检查磁盘是否有坏道 fsck命令
如何让cdrom开机自动挂载
第一步:
获取cdrom的uuid或者设备名称
uuid : blkid
设备名:/dev/cdrom /dev/sr0
第二步:
写入/etc/fstab 开机自动挂载
设备唯一的标识(也可以写设备名) |
目录挂载点 |
文件系统 |
挂载的参数 |
是否磁盘备份 |
开机自检 |
/dev/cdrom |
/mnt |
swap |
iso9660 |
0 |
0 |
第三步:
检查开机是否自动挂载
reboot
df -h
/etc/rc.local 开机自动运行命令或自动运行某个服务
rc.local 必须执行权限
案例:
第一个步骤:停止sshd
服务 并设置为开机禁止启动
systemctl distable sshd
reboot
第二个步骤:
测试xshell是否能够连接 ---> 无法连接
第三个步骤:
测试/etc/rc.local
vi /etc/rc.local
systemctl start sshd # 开机后执行这条命令
进行测试 发现无法连接
第四步: 给/etc/rc.d/rc.local 执行权限
chmod +x /etc/rc.d/rc.local
第五步: 重启 测试 正常连接
测试完后把sshd重新加入开机自动运行
[root@oldboyedu ~]# systemctl enable sshd
查看服务的状态
[root@oldboyedu ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled(开机是否自动运行 enabled 自动运行 disable 禁止开机启动); vendor preset: enabled)
Active: active (running) since Tue 2020-11-03 11:37:49 CST; 1min 11s ago
状态 运行
开机自动挂载是否可以使用rc.local
vi /etc/rc.local
mount /dev/cdrom /mnt
/etc/profile 全局变量
配置全局变量文件、
连接xshell或开机自动运行profile中的变量
变量的命名(下划线 字母开头,不允许数字开头)
等号右边为 变量的只(可以是数字 命令 字母)
等号两边不允许有空格
[root@oldboyedu ~]# dir="/etc/sysconfig/network-scripts/"
查看调用变量使用$
root@oldboyedu ~]# echo $dir
/etc/sysconfig/network-scripts/
定义变量使用反引号``
[root@oldboyedu ~]# time=`date +%F-%H-%M-%S`
[root@oldboyedu ~]# echo $time
2020-11-04-09-54-00
单引号和双引号的区别 (双引号可以使用里面已经定义的变量)
[root@oldboyedu ~]# time=`date +%F-%H-%M-%S`
[root@oldboyedu ~]# echo $time
2020-11-04-09-54-00
[root@oldboyedu ~]# test='oldboy name $dir'
[root@oldboyedu ~]# echo $test
oldboy name $dir
[root@oldboyedu ~]# test="oldboy name $dir"
[root@oldboyedu ~]# echo $test
oldboy name /etc/sysconfig/network-scripts/
系统的环境变量都是大写
Linux中的所有在文件中的命令 都属于shell
source和 . 执行文件 相当于把子shell中的命令在父shell中执行
[root@oldboyedu ~]# source /etc/profile
[root@oldboyedu ~]# echo $name
oldboy
/usr目录
/usr/local 存放第三方安装程序的地方
软件安装的三种方式
1. yum
语法格式:yum -y install package.nanme
-y yes # 遇到提示自动输入yes
yum remove package.name # 删除软件
yum reinstall package.name # 重新安装 ---> 软件装不好删不掉可用
yum list # 列出仓库内如有软件
yum repolist # 查看当前系统所有仓库
yum clean all # 清空缓存
yum特点:自动解决依赖问题
2. rpm
语法格式:rpm -ivh package.rpm (包必须存在 前提把包下载到某个目录)
-i # install 安装
-v # verbose 显示安装过程
-h # 显示安装进度
rpm -q # 查看软件是否安装,可查看多个
[root@oldboyedu ~]# rpm -q lrzsz wget curl # 查看多个命令是否安装
lrzsz-0.12.20-36.el7.x86_64
wget-1.14-18.el7_6.1.x86_64
curl-7.29.0-51.el7.x86_64
rpm -qa # 查看当前系统所有安装过的软件包
rpm -ql # 查看安装包所有内容
rpm -e # 删除软件包
特点:不支持自己自动解决依赖
3. 编译安装
/usr/local目录
下载源码
cd 源码包
.configure
make && make install
/var 存放服务日志
[root@oldboy-lnb ~]# ll /var/log/messages # 系统相关的一些日志 记录到messages
-rw-------. 1 root root 3156305 Nov 4 08:14 /var/log/messages
[root@oldboy-lnb ~]# ll /var/log/secure
-rw-------. 1 root root 36184 Nov 4 08:00 /var/log/secure # 登录系统相关的日志 记录到secure
tail # 默认显示文件后10行
-n 显示n行 n为数字 简写 tail -4
-f 时时显示文件内容的变化 查看最新的日志 简写 tailf
head # 默认显示文件前10行
使用head和tail命令 取出文件中的第7行
[root@oldboyedu ~]# head -n7 /var/log/messages |tail -n1
Oct 30 08:28:52 oldboy-lnb kernel: Disabled fast string operations
安全日志 邮件提醒管理员
[root@oldboyedu ~]# [ `grep Failed /var/log/secure|wc -l` -gt 2 ] && echo "send email.... 管理员"
send email.... 管理员
/proc目录
内存的映射
/proc/meminfo 查看内存信息
内存中存储了什么数据?
运行起来的所有进程都在内存中运行
什么是buffer 写缓冲 数据先写入到内存中 存储这部分数据的内存 称为缓冲区
什么是cache 读缓存 数据线调用到内存中 存储这部分数据的内存 称为缓存区
free -h 查看当前系统的内存信息
/proc/copuinfo 查看CPU信息
查看当前版本
[root@oldboy-lnb ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
查看服务的状态
[root@oldboyedu ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled(开机是否自动运行 enabled 自动运行 disable 禁止开机启动); vendor preset: enabled)
Active: active (running) since Tue 2020-11-03 11:37:49 CST; 1min 11s ago
状态 运行