Linux06--etc目录及重要文件


一 重要目录及文件

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
    
    ipconfig : 查看windows主机的网卡、用在centos6上   
    nmtui : 依赖于NetworkManager
    
    nmtui命令会开启一个图形化的配置工具,nmtui可提供一个文本界面来与NetworkManager交互用于配置网络。该工具包含在NetworkManager-tui子软件包中。通常不会默认随NetworkManager的安装而安装该子软件包。需要单独安装 NetworkManager-tui
    
    lo   : 回环网络  
    etho : 公网网卡  
    eth1 : 私网网卡  


# 2.查看网卡配置信息  
    /etc/sysconfig/network-scripts/ifcfg-[网卡名称]   # 网卡的文件路径地址
    
    eg:cat /etc/sysconfig/network-scripts/ifcfg-eth0  


# 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 
        
    4.确认虚拟网络编辑配置  
    5.确认虚拟软件服务开启  
    6.确认虚拟网卡配置信息  

2 解析映射文件

# 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
        domain [域名]         
            用来指定本地的域名,在没有设置search的情况下,search默认为domain的值
        search [域名1] [域名2]
            原来当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,
            重新请求DNS,直到被正确解析或试完search指定的列表为止

# 2.本地DNS:/etc/hosts

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.修改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.  

6.设置启动系统启动目标

# 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中运行级别 (与上几乎对应)

7.变量加载文件

# 配置环境变量和别名文件:  
    /etc/profile    # 初始化一些系统变量  
    /etc/bashrc  
    
    /etc/profile.d/ # 是个目录
    ~/.bashrc  
    ~/.bash_profile  
 
# 适用于任何用户:  系统变量 
    /etc/profile.d  
    /etc/profile  
    /etc/bashrc  
                  
# 只适用于~用户:  用户变量
    ~/.bashrc  
    ~/.bash_profile 

8.用户登录(切换)

# 切换用户

# 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 

9.登录提示文件

# /etc/motd  : 文件中内容,会在用户登录系统之后进行显示  

# /etc/issue : 文件中内容,会在用户登录系统之前进行显示