操作系统目录结构

  1. 操作系统挂载概念
    挂载操作目的: 实现数据可以存储到磁盘中(磁盘分区中)
    挂载操作原理:

    1. 系统分区说明: 使用一个文件表示一个分区
      /dev/sda (sas disk a 第一块磁盘)
      /dev/sda1 (sas disk a 第一块磁盘 第一个分区)
      /dev/sda2 (sas disk a 第一块磁盘 第一个分区)

      分区操作:
      /dev/sda1 /boot 目录
      /dev/sda2 swap 交换分区 ???
      /dev/sda3 / 目录

      add mount(挂载) point(点)

    2. 如何进行分区挂载操作:
      第一个里程: 获得一个存储设备
      ls -l /dev/cdrom — 光驱存储设备文件

      第二个里程: 创建一个目录作为挂载点
      mkdir /oldboy — 创建一个空目录

      第三个里程: 挂载操作
      语法格式: mount 存储设备信息 挂载点(空目录)
      mount /dev/cdrom /oldboy

      第四个里程: 检查确认工作
      检查方式一:
      [root@linux67 ~]# cd /oldboy
      [root@linux67 oldboy]# ls
      CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
      EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL

      检查方式二:
      [root@linux67 oldboy]# df
      Filesystem 1K-blocks Used Available Use% Mounted on
      /dev/sr0(存储设备文件) 4480476 4480476 0 100% /oldboy 挂载点

      [root@linux67 oldboy]# ls -l /dev/cdrom
      lrwxrwxrwx. 1 root root 3 Oct 18 10:17 /dev/cdrom -> sr0
      [root@linux67 oldboy]# ls -l /dev/sr0
      brw-rw----. 1 root cdrom 11, 0 Oct 18 10:17 /dev/sr0
      说明: /dev/sr0是真正光驱设备文件, 而/dev/cdrom是光驱设备文件的快捷方式

      第五个里程: 挂载点目录卸载过程
      umount /oldboy
      说明: 尽量要离开挂载点目录, 再进行卸载

    挂载异常问题:

    1. 没有使用空目录进行挂载
      源目录中的数据无法再进行查看

    2. 目录挂载后无法看到存储设备中数据
      在挂载点目录中, 进行的挂载操作

  2. 系统重要目录说明:
    bin — 存储命令文件信息(普通用户可以使用命令文件) Binary
    sbin — 存储命令文件信息(超级管理员用户可以使用命令文件) super Binary
    etc — 保存程序配置文件信息
    lib — 保存系统32位库文件信息 library
    lib64 — 保存系统64位库文件信息 library
    root — 用户家目录(皇宫 皇帝家 root)
    home — 用户家目录(平民窟 普通用户 oldboy)
    var — 保存经常发生变化的数据信息 日志文件log Variable
    boot — 系统启动引导目录
    dev — 存储系统设备文件信息 device
    mnt — 临时挂载点目录
    tmp — 临时存放文件目录(回收站) temporary
    usr — 根目录替身???
    opt — 第三方软件程序数据保存的目录
    proc — 存储系统进程和内核文件信息
    存储数据都是存储到了内存中
    http://www.pathname.com/fhs/pub/fhs-2.3.html

  3. 系统重要文件说明:

    1. /etc 目录中重要文件
      第一个重要文件: ifcfg-eth0 ifcfg-eth1 ifcfg-ens33
      文件作用说明: 网络服务配置文件
      文件保存路径: /etc/sysconfig/network-scripts/ifcfg-eth0
      文件配置信息:
      TYPE=Ethernet — 网络类型 以太网网络类型
      BOOTPROTO=none — 获取地址方式 自动获取IP地址(dhcp)/手动静态配置(none static静态)
      DEFROUTE=yes — 是否开启默认路由 可以实现主机访问外网???
      NAME=eth0 — 网卡的名称信息
      DEVICE=eth0 — 网卡的名称信息
      UUID=b9738c93-895f-4cbe-9e9a-48aa091f4efb — 设备硬件标识信息
      ONBOOT=yes — 确认网卡是否激活
      IPADDR=10.0.0.200 — 网卡IP地址信息
      PREFIX=24 — 子网掩码信息 决定一个局域网中可以有多少台主机配置IP地址
      255.255.255.0 拥有多少个主机 250个人
      GATEWAY=10.0.0.254 — 网关可以实现A网络主机可以和其他任意网络主机进行通讯
      DNS1=10.0.0.254 — DNS(domain name system 域名解析系统)
      实现网络通讯需要有IP地址 和 百度服务器主机通讯
      利用名称(域名)服务器 -DNS服务器(www.baidu.com 182.61.200.7)- 百度IP地址

    2. /usr 目录中重要文件

    3. /var 目录中重要文件

    4. /proc 目录中重要文件02. 系统重要文件说明:

    5. /etc 目录中重要文件
      第一个重要文件: ifcfg-eth0 ifcfg-eth1 ifcfg-ens33
      文件作用说明: 网络服务配置文件
      文件保存路径: /etc/sysconfig/network-scripts/ifcfg-eth0
      文件配置信息:
      TYPE=Ethernet — 网络类型 以太网网络类型
      BOOTPROTO=none — 获取地址方式 自动获取IP地址(dhcp)/手动静态配置(none static静态)
      DEFROUTE=yes — 是否开启默认路由 可以实现主机访问外网???
      NAME=eth0 — 网卡的名称信息
      DEVICE=eth0 — 网卡的名称信息
      UUID=b9738c93-895f-4cbe-9e9a-48aa091f4efb — 设备硬件标识信息
      ONBOOT=yes — 确认网卡是否激活
      IPADDR=10.0.0.200 — 网卡IP地址信息
      PREFIX=24 — 子网掩码信息 决定一个局域网中可以有多少台主机配置IP地址
      255.255.255.0 拥有多少个主机 250个人
      GATEWAY=10.0.0.254 — 网关可以实现A网络主机可以和其他任意网络主机进行通讯
      DNS1=10.0.0.254 — DNS(domain name system 域名解析系统)
      实现网络通讯需要有IP地址 和 百度服务器主机通讯
      利用名称(域名)服务器 -DNS服务器(www.baidu.com 182.61.200.7)- 百度IP地址

    配置文件生效:
    方法一: 重启网络服务
    systemctl restart network
    异常问题:
    a 配置文件有错误
    b NetworkManager
    方法二: 针对不同网卡进行重启操作
    ifdown eth0 ; ifup eth0
    ifdown eth0 && ifup eth0

    修改网卡名称方法:

    1. 修改网卡文件中的名称
      NAME=eth0
      DEVICE=eth0
    2. 修改网卡文件本身名称
      cd /etc/sysconfig/network-scripts/
      mv ifcfg-ens33 ifcfg-eth0
    3. 修改系统内核配置文件
      vim /etc/default/grub
      GRUB_CMDLINE_LINUX=“biosdevname=0 net.ifnames=0 rhgb quiet”
    4. 使配置文件生效
      grub2-mkconfig -o /boot/grub2/grub.cfg
    5. 重启系统
      reboot

    第二个重要文件: resolv.conf
    文件作用说明: 用于解析名称信息
    文件保存路径: /etc/resolv.conf
    文件配置信息:

    Generated by NetworkManager

    nameserver 10.0.0.254 —> DNS服务器地址信息 223.5.5.5 223.6.6.6(阿里云) 114.114.114.114(电信公司)
    配置文件生效:
    两种方法:

    1. 配置好信息, 会立即生效
    2. 在网卡中配置DNS, 重启网络服务

    第三个重要文件: hosts
    文件作用说明: 用于解析名称信息 可以访问域名或主机名
    文件保存路径: /etc/host
    文件配置信息:
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    182.61.200.7 www.baidu.com
    10.0.0.41 backup
    配置文件生效:
    文件配置完毕, 立即生效

    总结: 和域名解析有关文件:

    1. 网卡配置文件
    2. 域名解析文件
    3. 主机解析文件

    第四个重要文件: hostname
    文件作用说明: 主机名称配置文件
    文件保存路径: /etc/hostname
    文件配置信息:

    cat /etc/hostname

    linux67

    主机名称修改方法:
    centos6 centos7
    临时修改: 立即生效 hostnamectl set-hostname oldboyedu.com — 临时永久都做了修改
    hostname oldboyedu
    永久修改: 重启系统配置依旧生效
    修改文件信息
    vim /etc/sysconfig/network

    第五个重要文件: rc.local
    文件作用说明: 文件中的命令信息会在系统启动时自动执行
    文件保存路径: /etc/rc.local
    文件配置信息:
    vim /etc/rc.local
    mount /dev/cdrom /mnt
    配置文件生效:
    修改文件权限 chmod +x /etc/rc.d/rc.local

    启动系统 — 直接运行 /etc/rc.local(/etc/rc.d/rc.local 执行权限)文件 — 执行文件中每一行命令

    什么是脚本文件:
    将多个命令操作可以整合在一个文件中, 这个文件就是脚本文件
    · 脚本文件编写:
    #!/bin/bash
    mkdir -p /oldboy/oldboy01/oldboy02
    touch /oldboy/oldboy.txt
    echo oldboy67 >/oldboy/oldboy.txt
    mount /dev/cdrom /mnt
    · 脚本文件运行:
    方法一: 加上sh命令执行脚本文件中信息
    sh test_01.sh
    方法二: 不要加上sh命令直接运行脚本文件
    /server/scripts/test_01.sh

    文件权限信息:
    r read 可读 w write 可编辑 x 可执行 execute
    chmod +x 文件信息

    第六个重要文件: fstab
    文件作用说明: 完成开启自动挂载操作文件
    文件保存路径: /etc/fstab
    文件配置信息:
    UUID=8814f471-53b4-4eb7-aee9-a20b2ce6fe64 / xfs defaults 0 0
    UUID=7f45bd81-656c-45c3-8c9b-01105857d65a /boot xfs defaults 0 0
    UUID=79d951d0-06a4-4f9f-9d10-e273dc25d4d1 swap swap defaults 0 0
    01 02 03 04 05 06

    1. 存储设备文件信息 可以使用UUID或者/dev/sdax进行配置
      root@oldgirledu ~]# blkid
      /dev/sr0: UUID=“2018-11-25-23-54-16-00” LABEL=“CentOS 7 x86_64” TYPE=“iso9660” PTTYPE=“dos”
      /dev/sda1: UUID=“7f45bd81-656c-45c3-8c9b-01105857d65a” TYPE=“xfs”
      /dev/sda2: UUID=“79d951d0-06a4-4f9f-9d10-e273dc25d4d1” TYPE=“swap”
      /dev/sda3: UUID=“8814f471-53b4-4eb7-aee9-a20b2ce6fe64” TYPE=“xfs”
    2. 挂载点目录信息
    3. 文件系统类型??
      存储数据 – 磁盘 — 做阵列 — 分区 — 格式化 — 创建文件系统(存储数据方式不太一样) — 挂载操作
      居住环境 – 地 — 连接起来 — 规划 — 清理 — 建筑风格 — 门
    4. 默认挂载参数信息 ???
    5. 是否进行磁盘数据备份 ???
    6. 是否检查磁盘信息 ???

    配置文件生效:
    存储设备文件信息 挂载点信息 xfs defaults 0 0
    方法一: 重启系统
    方法二: mount -a

    第七个重要文件: inittab
    文件作用说明: 查看/设置系统默认运行级别
    系统运行级别:
    linux教学: 01 python教室 02 网络安全: 03
    启动自动运行一些服务: 启动自动运行一些服务: 启动自动运行一些服务:
    vm 飞秋 QQ 亿图 pycharm web程序软件 数据库 系统基础运行服务开启
    运行级别 == 系统不同的运行方式

    文件保存路径: /etc/inittab文件

    修改系统运行级别:
    centos6 centos7
    临时配置: 默认修改系统运行模式(target)
    init 级别编号 systemctl set-default 模式信息 0
    0 - halt (Do NOT set initdefault to this) runlevel0.target -> poweroff.target
    关机级别
    1 - Single user mode runlevel1.target -> rescue.target
    单用户模式 破解系统密码信息(root) 救援模式 == 单用户模式
    2 - Multiuser, without NFS (The same as 3, if you do not have networking)
    多用户模式, 没有网络服务模式
    3 - Full multiuser mode multi-user.target
    多用户模式, 具有网络服务模式 多用户模式
    4 - unused
    未使用
    5 - X11 runlevel5.target -> graphical.target
    图形化级别
    6 - reboot (Do NOT set initdefault to this) runlevel6.target -> reboot.target
    重启级别
    runlevel 查看级别配置信息 systemctl get-default 查看默认配置信息
    永久配置:
    vim /etc/inittab
    id:3:initdefault: — 默认是3运行级别

    第八个重要文件: profile
    文件作用说明: 配置系统变量 或者 环境变量 或者 别名信息
    文件保存路径: /etc/profile

    变量:
    a 什么是变量: 应用题 已知条件 未知条件
    100m 人每秒4m速度前行 多久走完100m 3*x=100 x=33.33
    x=33.33 oldboy=xxx
    变量 值(abc 100)
    b 如何应用变量:
    设置
    oldboy=123456
    应用
    echo $oldboy
    c 变量存在的意义: 在脚本中存在
    #!/bin/bas
    info=oldgirl

    echo /oldboy/ i n f o − 01 / info-01/ info01/info-02/ i n f o − 03 e c h o / o l d g i r l / info-03 echo /oldgirl/ info03echo/oldgirl/info-01/ i n f o − 02 / info-02/ info02/info-03
    echo /oldbaby/ i n f o − 01 / info-01/ info01/info-02/$info-03
    指定一些经常变化的信息, 利用变量可以快速修改调整

    环境变量: PATH

    1. 系统默认已经设置好的变量 OK
    2. 环境变量都是大写字母表示 OK
    3. 环境变量可以被所有用户调用 OK
    4. 系统环境变量都有具体存在价值
      echo $PATH
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin

    设置修改环境变量:
    临时修改环境变量:
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

    永久修改环境变量:
    /etc/profile
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

    方法一: 配置文件生效
    重新连接
    方法二: 利用命令记录加载
    source /etc/profile

    1. /usr 目录中重要文件

    2. /var 目录中重要文件

    3. /proc 目录中重要文件
      变量:
      a 什么是变量: 应用题 已知条件 未知条件
      100m 人每秒4m速度前行 多久走完100m 3*x=100 x=33.33
      x=33.33 oldboy=xxx
      变量 值(abc 100)
      b 如何应用变量:
      设置
      oldboy=123456
      应用
      echo $oldboy
      c 变量存在的意义: 在脚本中存在
      #!/bin/bas
      info=oldgirl

    echo /oldboy/ i n f o − 01 / info-01/ info01/info-02/ i n f o − 03 e c h o / o l d g i r l / info-03 echo /oldgirl/ info03echo/oldgirl/info-01/ i n f o − 02 / info-02/ info02/info-03
    echo /oldbaby/ i n f o − 01 / info-01/ info01/info-02/$info-03
    指定一些经常变化的信息, 利用变量可以快速修改调整

    环境变量: PATH

    1. 系统默认已经设置好的变量 OK
    2. 环境变量都是大写字母表示 OK
    3. 环境变量可以被所有用户调用 OK
    4. 系统环境变量都有具体存在价值
      echo $PATH
      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin

    设置修改环境变量:
    临时修改环境变量:
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

    永久修改环境变量:
    /etc/profile
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin:/tmp

    方法一: 配置文件生效
    重新连接
    方法二: 利用命令记录加载
    source /etc/profile

    设置别名功能:
    别名有什么用:

    1. 简化复杂命令重复输入
    2. 将危险命令进行转换 rm 删除文件 == 将文件移动到 /tmp

    实现别名配置: alias(查看别名 设置别名) unalias(取消)
    临时配置:
    alias 别名=‘命令信息’
    alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0’

    永久配置:
    vi /etc/profile
    alias net=‘cat /etc/sysconfig/network-scripts/ifcfg-eth0’

    练习题: 给rm设置一个别名, 实现rm删除数据, 实质上是将数据移动到/tmp
    rm(别名)
    alias rm=‘mv xxxx’
    第一个里程: 临时设置别名
    alias rm=‘mv -t /tmp’
    说明信息:
    rm /oldboy.txt == mv -t /tmp /oldboy.txt /oldboy01.txt

    第二个里程: 编写profile文件
    vi /etc/profile
    alias rm=‘mv -t /tmp’

    第三个里程: 查看局部配置文件
    cat ~/.bashrc
    alias rm=‘rm -i’

    第四个里程: 将局部配置进行调整
    vi ~/.bashrc
    #alias rm=‘rm -i’

    补充说明: 永久配置变量 环境变量 别名文件信息

    1. 全局配置文件 — 对系统中所有用户都有影响
      /etc/profile /etc/bashrc
    2. 局部配置文件 — 对系统中某个用户有影响
      ~/.bash_profile ~/.bashrc
      说明: 系统中以. 开头的文件都是隐藏文件
      说明: 局部配置优先于全局配置

    国法 === 全局配置 强奸法: 强行违背妇女和儿童意愿
    家规 === 局部配置 强奸法: 强行违背妇女和儿童意愿 也不能违背男人

    如何还原rm别名本来的删除命令作用:
    方法一: 临时取消别名功能
    unalias rm
    方法二: 临时使用命令绝对路径操作命令
    /bin/rm oldgirl.txt
    方法三: 在别名前面加上一个 \ (还原别名命令本身的意思)
    \rm oldboy.txt

    第九个重要文件: motd issue issue.net
    文件作用说明: 系统信息提示文件
    · motd: 表示在用户登录系统之后, 会显示提示信息
    · issue 标识在用户登录系统之前, 会显示提示信息
    issue.net

    文件保存路径 文件如何配置

    1. /usr 目录中重要文件
      /usr/local | /opt — 第三方软件安装程序目录
      系统安装软件方法:
      a 利用yum命令安装软件 360软件管家(yum仓库)
      特点说明: 下载软件 并进行安装 自动解决依赖关系
      操作演示: yum install -y tree

      b 利用rpm命令安装软件 官网下载软件安装程序 — 安装软件
      特点说明: 需要解决软件依赖关系 安装软件
      操作演示:
      下载过程
      wget https://mirrors.aliyun.com/centos/7.7.1908/os/x86_64/Packages/vim-enhanced-7.4.629-6.el7.x86_64.rpm
      安装过程
      rpm -ivh vim-enhanced-7.4.629-6.el7.x86_64.rpm

      c 利用编译方法安装软件
      特点说明: 灵活的安装或配置软件功能 无法解决软件依赖
      操作演示:
      三部曲(配置 configure 编译 make 安装 make install)

      d 利用二进制包方法安装软件
      特点说明: 绿色软件(软件解压后直接使用) 数据库服务

    2. /var 目录中重要文件
      a /var/log/messages — 记录系统或者软件运行情况(正常/异常)
      b /var/log/secure — 记录用户登录系统情况信息
      用户登录成功信息
      Oct 22 12:13:45 linux67 sshd[8410]: Accepted password for root from 10.0.0.1 port 51635 ssh2
      Oct 22 12:13:45 linux67 sshd[8410]: pam_unix(sshd:session): session opened for user root by (uid=0)
      用户断开连接信息
      Oct 22 12:14:42 linux67 sshd[8410]: pam_unix(sshd:session): session closed for user root
      用户登录错误信息
      Oct 22 12:15:41 linux67 unix_chkpwd[8437]: password check failed for user (root)
      Oct 22 12:15:41 linux67 sshd[8435]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=10.0.0.1 user=root
      Oct 22 12:15:41 linux67 sshd[8435]: pam_succeed_if(sshd:auth): requirement “uid >= 1000” not met by user “root”
      Oct 22 12:15:43 linux67 sshd[8435]: Failed password for root from 10.0.0.1 port 51642 ssh2
      Oct 22 12:15:47 linux67 sshd[8435]: error: Received disconnect from 10.0.0.1 port 51642:0: [preauth]
      Oct 22 12:15:47 linux67 sshd[8435]: Disconnected from 10.0.0.1 port 51642 [preauth]
      01 02 03 04

      1. 登录连接时间信息
      2. 显示主机名称信息
      3. 登录方式是什么 sshd(远程连接) login(本地连接)
      4. 登录过程详细信息 关注失败信息

      日志信息如何进行查看: cat
      方法一: 只查看最新的信息
      head -n 文件信息 — 查看文件前几行信息
      tail -n 文件信息 — 查看文件后几行信息
      tail -f 文件信息 — 实时查看日志文件最新数据内容
      方法二: 关注指定信息 fail error
      grep “关注信息” 文件
      -C -B -A -i

    3. /proc 目录中重要文件

  4. 课程知识总结梳理

    1. 系统重要文件信息
      /etc/profile 设置别名 全局配置文件/局部配置文件
      /etc/motd 显示信息 登录后显示信息
      /etc/issue 显示信息 登录前显示信息
      /etc/issue.net
    2. 系统安装软件方法
      a 利用yum安装软件 360软件管家
      b 利用rpm安装软件 下载软件–安装软件 无法解决依赖
      c 利用编辑安装软件 安装软件更加灵活 无法解决依赖
      d 利用二进制包安装软件 软件解压直接使用
    3. 系统重要日志文件
      messages
      secure
      如何查看日志文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值