一 重要目录及文件
1 重要目录
/etc : 系统配置目录
/bin -> /usr/bin /root : 保存常用命令的目录
/root : 超级管理员目录
/home : 普通管理员目录
/usr : 存放应用程序的目录
/boot : 存放系统启动文件
/dev : 存放硬件相关信息
/proc : 存放系统运行的信息
/mnt : 临时挂载目录
/opt : 相当于下载目录
/usr/local : 安装第三方软件的目录
/tmp : 临时文件
/var : 存放日志的目录
/run : 存放应用程序运行时产生的临时文件
2 /etc目录下重要文件
# 网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-[网卡名称]
# 解析映射文件
公网DNS:/etc/resolv.conf
本地DNS:/etc/hosts
# 主机名称文件
/etc/hostname
# 磁盘配置文件
/etc/fstab
# 开机脚本文件
/etc/rc.local
# 启动级别文件
/usr/lib/systemd/system/runlevel*level # centos7
/etc/inittab # centos6
# 变量加载文件
/etc/profile # 初始化一些系统变量
/etc/bashrc
~/.bashrc
~/.bash_profile
# 登录提示文件
/etc/motd
/etc/issue
二 /etc目录下重要文件详解
1 网卡配置文件
# 网卡配置文件地址: /etc/sysconfig/network-scripts/ifcfg-[网卡名称]
# 1.查看当前系统网卡信息命令
ip a ====> ip addr
ifconfig
ipconfig : 查看windows主机的网卡、用在centos6上
nmtui : 依赖于NetworkManager
nmtui命令会开启一个图形化的配置工具,nmtui可提供一个文本界面来与NetworkManager交互用于配置网络。
该工具包含在NetworkManager-tui子软件包中。
需要单独安装 NetworkManager-tui
lo : 回环网络 用于本地开发测试,排除网络的干扰
etho : 公网网卡
# 2.查看网卡配置信息
/etc/sysconfig/network-scripts/ifcfg-[网卡名称] # 网卡的文件路径地址
eg:cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 打开网卡配置文件,完成静态ip配置,修改完毕后重启网络服务即可:systemctl restart network
DEVICE=eth0 # 网卡名字
BOOTPROTO=static # 网卡获得ip地址的方式
dhcp 以dhcp服务,动态获取IP
static 指定为静态,手工指定IP
none 根据其他选项,决定动态还是静态
NM_CONTROLLED=no # 表示该网卡 是否受NetworkManager服务管理
ONBOOT=yes # 网络服务启动时,是否激活网卡 yes代表激活,no代表禁用
TYPE=Ethernet # 网卡类型:以太网
IPADDR=10.1.1.11 # IP 地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=10.1.1.1 # 默认网关
DNS1=10.1.1.1 # DNS1 服务器
DNS2=8.8.8.8 # DNS2 服务器
PEERDNS=yes # 是否允许网卡在启动时,向DHCP服务器查询DNS信息
设置为yes时,此文件设置的DNS,将覆盖/etc/resolv.conf
若开启了DHCP,则默认为yes,故DHCP的dns 也会覆盖/etc/resolv.conf
HWADDR=14:da:e9:eb:a9:61 # 网卡的MAC地址
USERCTL=no # 是否允许普通用户启动或者停止该网卡
IPV6INIT=no # 是否在该网卡上启动IPV6的功能
# 3.网卡重启命令
systemctl restart network # 重启网络 就是所有网卡都重启
ifdown 或 ifup [网卡名字] # 暂停 或重启 指定网卡
# 4.故障排查
1.确认网关地址是否通畅:
先ping 网关,再ping 公网:ping www.baidu.com
2.确认网卡配置是否正确:
vi /etc/sysconfig/network-scripts/ifcfg-[网卡名称]
3.确认网络管理服务是否关闭:
systemctl stop NetworkManager # 关闭NetworkManager
systemctl disable NetworkManager # 开机不自启
# Linux系统管理网络有两个服务:Network 和 NetworkManager,只能启动一个,关闭NetworkManager
NetworkManager作用:是redhat6自带的检测网络、自动连接网络的图形化工具。
NetworkManager服务会干扰网络配置 eg:DNS经常会被刷掉,所以通常关闭
4.确认虚拟网络编辑配置
5.确认虚拟软件服务开启
6.确认虚拟网卡配置信息
2 解析映射文件
# 0 dns检索优先级
浏览器DNS缓存 -> 本地系统DNS缓存 -> 本地计算机HOSTS文件 -> ISP DNS缓存(公网DNS解析文件) -> 递归or迭代搜索
# 1.公网DNS
114.114.114.114 # 中国电信
223.5.5.5 # 阿里云 有点问题
8.8.8.8 # 谷歌
# 1.公网DNS配置文件:/etc/resolv.conf
这个文件可以查看和临时配置公网DNS服务器(域名解析)
# 2.永久修改DNS信息,需要修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network # 重启网络
cat /etc/resolv.conf
# Generated by NetworkManager
search localdomain
nameserver 114.114.114.114
nameserver 8.8.8.8
# resolv.conf文件中:search、domain、nameserver 参数解释
nameserver [ip]
该选项用来制定DNS服务器的,可以配置多个nameserver指定多个DNS 最多3个
domain [域名]
用来指定本地的域名,在没有设置search的情况下,search默认为domain的值
search [域名1] [域名2]
原来当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,
重新请求DNS,直到被正确解析或试完search指定的列表为止
# 2.本地DNS:/etc/hosts
ip地址 域名 # 可空格 指定多个域名
3 主机名称文件
# 主机名就相当于当前主机的名称。默认主机名:localhost.localdomain
# 1.修改主机名
修改主机名实际上是修改 /etc/hostname 文件
第一种方式: # 注:立即生效
hostnamectl set-hostname [主机名]
eg:
hostnamectl set-hostname linux
cat /etc/hostname
linux
第二种方式: # 注:重启生效
vim /etc/hostname
# 2.作用
1.方便区分主机
2.大规模集群中,方便连接
# 在本地dns中,将ip与主机名 做一个映射,后续连接需要ip的地方,就可以直接用主机名代替
# 3.知识储备:
# scp : 通过网络传输文件
格式: scp [当前主机的文件路径] [传输到的系统用户名]@[ip]:[路径]
# ansible : 主机清单 --> 主机组
4.磁盘配置文件
# /etc/fstab 文件是配置磁盘挂载的配置文件
# 1.磁盘永久挂载
# 方式一:将挂载信息配置到/etc/fstab文件中 # 先做快照,防止配置失误后,可恢复!
分区的路径 挂载目录的路径 挂载分区的文件系统类型 权限 是否备份 是否检测
/dev/mapper/centos-root / xfs defaults 0 0
/dev/sdb1 /mnt xfs defaults 0 0
# 注:
1.当挂载信息出现问题时,linux主机将无法正常开机
2.在添加完配置信息之后,一定要检测语法是否正确 # mount -n 同一挂载点,若被多个磁盘挂载,会被覆盖
3.挂载完要重启
# 方式二:在开机自启动脚本中增加挂载命令
开机脚本文件作用:实现系统启动后,读取文件中的命令,从而实现一些操作随系统启动自动运行
# 将挂载命令添加到:/etc/rc.local 文件--开机脚本文件
mount /dev/sdb1 /mnt
1.为rc.local文件添加可执行权限
chmod +x /etc/rc.d/rc.local
2.修改rc.local文件 # 添加命令语句:mount /dev/sdb1 /mnt # 试一下1/2的顺序
vim /etc/rc.local
3.重启
reboot
5.网络服务文件
# 1.网络服务文件: /etc/services
# 2.文件格式
service-name port/protocol [aliases..] [#comment]
网络服务的名称 端口/通信使用的协议(TCP/UDP) 服务别名 服务注释 以#标记开头
# 3.查询 某个服务
grep '^ftp\|^ssh' /etc/services
6.修改root密码
# 忘记密码如何重置密码?
# 思路:进入到单用户模式下,再修改root密码
1.关闭selinux # 必须是永久关闭
2.重启
3.在启动界面上,按e键,进入单用户模式
4.在包含linux16 这一行,将ro修改为rw,并且在其后面增加 init=/sysroot/bin/sh # 让单用户模式默认进入sh命令
5.按ctrl+X键,重新引导系统
6.执行命令:chroot /sysroot/ ,切换到原来的系统中
7.修改root密码 # passwd root
passwd [指定需要修改密码的用户]
8.使密码生效
touch /.autorelabel
9.重新启动客户机
# 在命令行中修改密码 # 前提:知道原密码
passwd root
Changing password for user root.
New password: # 输入新密码
BAD PASSWORD: The password is a palindrome
Retype new password: # 确认新密码
passwd: all authentication tokens updated successfully.
7.设置启动系统启动目标
# 1.查看当前系统运行模式:
1.runlevel # 查看的是数字模式
2.systemctl get-default # 查看的是全称模式
# 2.修改系统运行模式:
systemctl set-default [模式名称]
eg: systemctl set-default graphical
# 3.启动系统启动目标 (设置时不要加target)
# centos7的7种运行目标
0.poweroff target # 关机
1.rescue target # 单用户模式 只能在主机本机上操作,远程连接进入不到
2.multi-user target # 多用户模式,无网络
3.multi-user target # 多用户模式,有网络
4.未使用
5.graphical target # 图形界面模式
6.reboot target # 重启
# centos6的7中运行级别 (与上几乎对应)
8.变量加载文件
# 配置环境变量和别名文件:
/etc/profile # 系统级别配置文件
/etc/bashrc # 系统级 (定义别名)
/etc/profile.d/ # 系统级别的配置目录
~/.bash_profile # 用户级别配置文件 (用户自定义的环境变量)
~/.bashrc # 用户级 (定义别名)
# 适用于任何用户: 系统变量
/etc/profile.d
/etc/profile
/etc/bashrc
# 只适用于~用户: 用户变量
~/.bash_profile
~/.bashrc
# ps:
1. vim /home/user1/.bash_history # 每次登陆用户的操作都记录其中
2. su - user1进行操作然后退出,查看该文件内容
3. vim /home/user1/.bash_logout # 切换用户后,退出日志会添加一条
4. > /home/user1/.bash_history # 这样每次退出用户后都会自动清空~/.bash_history中的内容
9.用户登录(切换)
# 切换用户
# 1.su [用户名]
# 相当于系统运行时,换一个用户,变量文件只加载 bashrc 文件,且当前目录不会切换
优先级: 用户变量 > 系统变量 ~/.bashrc > /etc/bashrc
# eg:
su root
~/.bashrc
/etc/bashrc
# 2.su - [用户名]:
# 相当于重新开机登录用户,所有变量文件都重新加载
优先级:/etc/profile > ~/.bash_profile > ~/.bashrc > /etc/bashrc
# eg:
su - root
Last login: Sat Sep 18 12:00:12 CST 2021 on pts/3
/etc/profile
~/.bash_profile
~/.bashrc
/etc/bashrc
# 退出登录
exit
10.登录提示文件
# /etc/motd : 文件中内容,会在用户登录系统之后进行显示
# /etc/issue : 文件中内容,会在用户登录系统之前进行显示