1. 😄系统挂载
1.1 概念
挂载(mounting) 是指操作系统使一个存储设备(如硬盘 CD等)上的电脑文件和目录可供用户通过计算机的文件系统访问的一个过程.
一般来说,当计算机关闭时,每个已挂载存储都将经历一次卸载,以确保所有排队的数据被写入,并保证介质上文件系统结构的完整性.
1.2 实际操作:Linux系统挂载的过程
步骤:
- 以存储设备–光驱为例.我们要实现通过Linux的文件系统访问光盘中的文件和目录.
- 在Linux中找到光驱设备.
- 将存储设备进行挂载.挂载命令语法格式为:
mount 挂载设备文件信息 挂载点(文件目录)
(挂载点必须存在) - 测试
(1)
(2)
(1):在Linux系统中挂载点下的文件信息;(2):Windows系统中使用压缩软件打开磁盘
我们可以发现(2)中的文件在(1)中都可以找到,我们达到了 在Linux中使用文件系统读取存储设备(这里是光盘)中的文件和目录信息,完成了挂载操作. - 一般来说,当计算机时,每个已挂载存储都将经历一次卸载.如图当系统重启后,我们无法通过文件系统读取光盘中的文件和目录.
1.3 踩坑
现象: 提示在光驱上没有找到介质
原因:
1.4 卸载
语法:umount 挂载点
1.5 总结
步骤 | 操作 |
---|---|
1 | 准备好存储设备(硬盘 CD)和挂载点 |
2 | mount 挂载设备文件信息 挂载点 |
2. 😄Linux的目录结构
意义 | 个人理解 | |
---|---|---|
/ | 最顶部的目录,是所有目录的直接或者间接的父级目录,也叫根目录 | Linux中一切从根开始 |
/boot | 存放系统的引导 启动信息 | boot:引导;启动 |
/bin | 存放程序的命令 | bin:binary 二进制 |
/sbin | 存放root用户的程序命令 | s:super |
/dev | 设备目录 | dev:device |
/etc | 存放一些配置信息 | |
/home | 用户目录 .root用户外 其他用户的家目录在此文件下 | |
/root | root用户的家目录 | |
/lib | 存放库文件 | lib:库 |
/lib64 | 存放库文件 专门给64位操作系统提供的 | |
/mnt | 常常充当临时挂载点 | |
/proc | 存储内核运行状态下的文件 proc目录下的内容在内存里 | proc:processes |
/tmp | 存放临时文件 可以理解为垃圾堆 | |
/opt | 存放程序软件 | |
/var | 存放经常变化的文件.例如各种服务的日志文件 | var:variable:变量 |
/usr | 用户应用程序和文件存放在此 类似于Windows下的program files目录 | |
/sys | 存放内核相关文件 | |
/selinux | Selinux是一个安全机制,类似于Windows的防火墙,这个目录存放selinux相关文件的 | |
/srv | 该目录存放服务启动后需要提取的数据 |
3. Linux下的重要文件
3.1 😄网卡配置文件(ifcfg-eth0)
ifcfg-eth0中配置了该主机的网络相关信息,例如:网络类型 网络启动协议 ip地址 子网掩码 网关 DNS地址等
位置: /etc/sysconfig/network-scripts/ifcfg-eth0
3.1.1 文件内容
项目 | 含义 |
---|---|
TYPE=Ethernet | 指定网络类型.Ethernet意为以太网.(拓展:FastEthernet 高速以太网 金融证券公司对网络要求极高) |
BOOTPROTO=none | 指定网络启动协议,即如何获得ip地址.手动配置:none static 或者 自动获取 dhcpd |
NAME=eth0 | 指定主机网卡的名称(逻辑名称) |
UUID | 每个硬件设备的唯一标识 |
DEVICE=eth0 | 指定主机网卡的名称(物理名称) |
ONBOOT=yes | 指定主机网卡是否处于开启状态 |
IPADDR=10.0.0.200 | IP地址 |
PREFIX=24 | 子网掩码 |
GATEWAY=10.0.0.2 | 网关.一个网络到另一个网络的必经之路 类比海关 |
DNS1=223.5.5.5 | DNS地址 |
3.1.2 修改文件后重启服务
方法一: 所有网卡重启
- 命令:
systemctl restart network
- 优点:简单
- 缺点:所有网卡都会重启,包括没有修改过的网卡
方法二:针对特定网卡重启
- 命令:
ifdown eth0 && ifup eth0
- 优点:不会引起不必要的网卡重启
- 缺点:复杂
&&符号:
含义:
A && B
. 即 A命令执行成功后 执行B命令
作用:一行可以执行两个命令
3.2 🙂DNS配置文件
DNS(Domain Name System)域名系统是互联网的一项服务.它作为将域名 和IP地址 相互映射的一个分布式数据库,能够让人更方便的访问互联网.
位置: /etc/resolv.conf
3.2.1 踩坑
- 原因:如图
- 结论: **ifcfg-eth0文件中的配置优先级大于resolv.conf.**所以我们更改网络配置还是以
etc/sysconfig/network-scripts/ifcfg-eth0
为准.
3.3 😄主机名称文件配置文件
如表所示:
临时修改 | 永久修改 | |
---|---|---|
Centos6系统 | hostname 新主机名 | 方法一:修改/etc/hostname 方法二: hostnamectl set-hostname 新主机名 |
Centos7系统 | hostname 新主机名 | 修改/etc/sysconfig/network |
备注 | 临时修改是指在主机重启后新主机名丢失 且临时修改后远程软件需要重新连接 | 永久修改后需要重新加载配置文件才能生效 |
3.4 🙂系统版本文件
如何查看当前Linux系统的版本?
cat /etc/redhat-release
3.5 😄解析映射文件
hosts文件: 在本地建立IP地址与主机名称的对应关系
理解一下解析映射文件的作用,以Windows为例:
ping 10.0.0.200
- 在解析映射文件中设置映射
10.0.0.200 oldboy-edu
ping oldboy-edu
- 将
10.0.0.200 oldboy-edu
注释
系统 | 位置 |
---|---|
Windows | C:\Windows\System32\drivers\etc\hosts |
Linux | /etc/hosts |
3.6 🙂磁盘挂载文件
fstab文件可以实现存储设备开启自动挂载
位置:/etc/fstab
3.7 🙂开机自动加载文件
做一个实验
-
查看ssh服务的运行情况 如图 ssh服务处于active状态 且enabled开机自启
-
关闭ssh服务的开机自启
-
再次查看ssh服务的运行情况 发现ssh服务不开机自启
-
重启系统.发现远程连接失败.原因 ssh服务没有开启
-
手动开启sshd服务
-
修改自动加载文件
/etc/rc.local
添加systemctl start sshd
-
重启系统 发现远程连接成功 说明自动加载文件起作用
3.7.1 踩坑
加上chmod +x /etc/rc.d/rc.local
,不然自动配置文件不起作用
4. 😄系统运行级别
4.1 查看运行级别
4.2 七种运行级别
级别 | 含义 | |
---|---|---|
0 | 系统的关机级别 | poweroff.target |
1 | 系统的单用户模式 用于修复系统 或 重置密码信息 | rescue.target |
2 | 系统的多用户模式 但无网络 | multi-user.target |
3 | 系统的多用户模式 正常系统运行级别 有网络 | multi-user.target |
4 | 预留级别 | multi-user.target |
5 | 图形化界面 | graphical.target |
6 | 系统的重启级别 | reboot.target |
4.3 切换运行级别
临时调整
init 切换的运行级别
永久调整
- 查看所有target信息
- 永久设置运行级别
systemctl set-default 运行级别
&systemctl get-default
5. 🙂变量 & 脚本
如何设置 & 获取变量?
lzh=594
&$lzh
如何使一个变量永久生效?
- 编辑
/ect/profile
- 让配置文件生效
source/etc/profile
5.1 脚本
将多个命令整合在一个文件中 通过执行加载一个文件可以完成多件事.
脚本文件yi.sh
结尾
做一个实验:
- 编辑一个脚本
helloworld.sh
- 运行脚本
sh xxx.sh
5.2 普通变量 与 环境变量
普通变量 和 环境变量 前者是人为设置 后者是系统默认设置
做一个实验:
- 查看环境变量
PATH
- 查看
cat
命令所在目录(which 命令
)
- 使用
cat
命令
- 将
cat
命令移动到/oldboy
- 再次使用
cat
命令.
原因: Linux 在执行命令时 会查找环境变量下的目录.cat已经不再/usr/bin/下 且 /oldboy/ 不再环境变量下
5.3 修改环境变量
方法 | |
---|---|
临时修改 | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy |
永久修改 | 1. vi /etc/profile 2. export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/oldboy |
- 修改
/etc/profile
- 重新加载文件
source /etc/profile
并 测试
6. 🙂系统别名
做一个实验:如何让cat /etc/sysconfig/network-scripts/ifcfg-eth0
这条命令更"简单"?
-
查看系统别名默认配置
alias
-
设置别名
alias catnet='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
-
使用
-
如何使别名失效?
unalias xxx
取消别名\rm -rf /oldboy
利用撬棍/user/bin/rm -rf /oldboy
绝对路径
-
如何使别名失效?
unalias xxx
取消别名\rm -rf /oldboy
利用撬棍/user/bin/rm -rf /oldboy
绝对路径