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(局域网内连接) 扩展 公网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信息

查看当前版本

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

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

上一篇:Linux文件详细属性


下一篇:Linux:文件属性信息-软硬链接数(ln)