zoukankan      html  css  js  c++  java
  • 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
    	   状态    运行
    

    目录结构脑图

  • 相关阅读:
    Day 20 初识面向对象
    Day 16 常用模块
    Day 15 正则表达式 re模块
    D14 模块 导入模块 开发目录规范
    Day 13 迭代器,生成器,内置函数
    Day 12 递归,二分算法,推导式,匿名函数
    Day 11 闭包函数.装饰器
    D10 函数(二) 嵌套,命名空间作用域
    D09 函数(一) 返回值,参数
    Day 07 Day08 字符编码与文件处理
  • 原文地址:https://www.cnblogs.com/hsqKTm/p/13914801.html
Copyright © 2011-2022 走看看