• Linux目录结构及设备挂载 & 重要目录文件


    最大化 最小化切换 每行行首 会 “ 掉脑袋 ” 刷新一下即可
    或者最小化查看

    目录结构: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(局域网内连接) 
      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 必须执行权限
    
    分为: 执行
    字母 r w x
      案例:
    
      第一个步骤:停止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信息

    /proc/loadavg 平均负载

      [root@oldboy-lnb ~]# cat /proc/loadavg
      0.00 0.01 0.05 1/114 7403
      1分钟  5分钟  15分钟   的负载情况
    
      什么是负载
      衡量我们操作系统繁忙的程度
      负载越高    说明系统月繁忙
      眼里越大    处理数据越慢
      主要硬件 CPU 磁盘
      
      命令查看负载
            
      [root@oldboy-lnb ~]# uptime
       09:44:41 up  9:10,  2 users,  load average: 0.00, 0.01, 0.05
      当前时间   运行时间   当前登录用户   平均负载
    
      [root@oldboy-lnb ~]# w
      w: 58 column window is too narrow (当前窗口不够展示信息时,会这样提示)
      --------
      [root@oldboy-lnb ~]# w
       09:50:53 up  9:17,  2 users,  load average: 0.00, 0.01, 0.05
      USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
      root     pts/0    10.0.0.1         08:21    5.00s  0.03s  0.00s w
      root     pts/2    10.0.0.1         Fri08   21:51m  0.13s  0.13s -bash
    
      top      --->  查看负载,同时显示进程(实时)
      ps axuf  --->  查看负载,同时显示进程(静态)
    

    查看当前版本

      [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
    	   状态    运行
    

    目录结构脑图

  • 相关阅读:
    java图片压缩处理
    RocketMQ启动broker提示 错误:找不到或无法加载主类
    Docker
    openresty (nginx+lua)实现请求过滤
    mybatis-3.4.0 Date类型非空字符串判断bug
    ClickHouse 官方文档
    Flume 搭建遇到的问题
    Hadoop与HDFS
    关于Linux
    mybatis insert 返回主键
  • 原文地址:https://www.cnblogs.com/hsqKTm/p/13914801.html
Copyright © 2020-2023  润新知