admin管理员组

文章数量:1594603

文章目录

    • 1. 目录考古
    • 2. 一级目录作用
    • 3. /etc/下重要配置文件
      • 3.1 /etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件
      • 3.2 /etc/resolv.conf (DNS主配置文件)
      • 3.3 /etc/hosts (域名和IP的对应配置文件)
      • 3.4 /etc/hostname 配置主机名
      • 3.5 /etc/issue
      • 3.6 /etc/issue
      • 3.7 /etc/motd
      • 3.8 /etc/fstab
        • 3.8.1 /etc/fstab文件内容含义
        • 3.8.2 实现光盘自动挂载
      • 3.8.3 mount临时挂载光盘
      • 3.9 /etc/rc.local
      • 3.10 /etc/inittab
      • 3.11 /etc/profile
        • 3.11.1 环境变量的使用
    • 4. /proc/下重要配置文件
      • 4.1 /proc/cpuinfo
      • 4.2 /proc/meminfo
      • 4.3 /proc/loadavg
      • 4.4 top命令(cpu、内存、平均负载)

1. 目录考古

  • 1969年unix在贝尔实验室诞生了,当时只有一块磁盘(1.4M)只有根目录,然后就满了,又添加了另一块磁盘(/usr),然后又满了,又加了一块磁盘(/home)
  • /目录是专门放系统程序的,/usr专门放程序,/home专门放用户的数据。
  • 随着硬盘的逐渐增大,现在都挂载一张盘上,因为/目录下的内容,和/usr/下的内容非常相似,所以/usr/保留了下来,/usr/又叫二级层次目录。
  • 硬盘:包括ssd 机械
    磁盘:只含机械

2. 一级目录作用

重要一级目录的作用

  • /bin 二进制命令常用
  • /sbin super binary 超级命令,只有root用户能用的命令。
  • /etc 存放绝大部分服务的配置文件
  • /dev (device)硬件设备文件(/dev/cdrom /dev/sda /dev/sdb)
  • /boot 系统引导文件,系统内核
  • /tmp temp临时文件的存放位置
  • /mnt 临时挂载点,给硬件设备提供了临时入口
  • /home 普通用户的家目录
  • /root root用户的家目录
  • /usr 二级目录层次,存放第三方程序安装的软件,编译安装的软件(存放用户的程序)
    • /usr/local 可以自己选路径
  • /opt option第三方软件安装的位置(自己开发的软件,默认安装路径,在程序中写好的安装路径,不可以选择)
  • /lib(64) libary库文件,内核模块信息(lib64 系统是64位库文件)
    • 系统在启动文件的时候,调用加载一下库文件,就是依赖,运行一个程序,依赖库,必须有库。(比如同桌一个word文档,看不了
      这时需要依赖office,这个库在安装的时候已经安装了,这个目录很少去使用它。
  • /var variable存放日志文件
  • /proc 虚拟的目录,里面的内容是内存中信息(内核、进程、软件),存放内存的映射信息
  • /sys 虚拟的目录,内存的信息

其他一级目录作用:

  • /run 运行的程序产生的数据
  • /media 挂载点,可移动的媒介(U盘、光盘)
  • /srv service系统提供的服务的数据

Linux中磁盘的标识:

  • sda 第一块磁盘

  • sda1 第一个磁盘的第一个分区,类似于windows第一个磁盘的c盘,/boot

  • sda2 第一个磁盘的第二个分区 swap

  • sda3 第一个磁盘的第三个分区 /

  • sdb 第二块磁盘

  • sdb1 第二块磁盘的第一个分区

3. /etc/下重要配置文件

配置文件:配置一些服务的功能

3.1 /etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件

  • /etc/sysconfig/network-scripts/ifcfg-eth0 (centos6.x默认eth0 centos7.x默认的ens33 安装系统修改 net.ifnames=0 biosdevname=0 扩展:进入系统修改网卡名称)

  • 作用: 修改IP地址 修改网关 修改DNS等配置

  • 重启网络服务,网卡配置文件才能生效,Linux中大部分的服务修改配置后必须要重启或者重新加载

    • centos7.X
      • systemctl restart network 重启网络服务(动作:start 启动stop 停止restart 重新启动reload 重新加载status 状态)
        • systemctl是系统控制,控制系统的什么东西,比如控制系统的网络服务
      • ifdown eth0 && ifup eth0
    • centos6.x
      • service network restart
      • /etc/init.d/network restart
  • ip地址和网关

    • 物理机状态下,运维人员手动配置,网关在IDC机房的路由器上,公司的就在公司的机房里面
    • 云服务器,自动分配的网关和ip
名称含义
TYPE=Ethernet网络类型:
(1)以太网
(2)Fastethernet 快速以太网(证券、股票用快速以太网)
BOOTPROTO=none指定IP地址的获取方式: (1)none,static 静态配置IP 常用 (2)dhcp,动态获取IP地址
(3)dhcp服务 (4) DHCP一般在路由器上,在公司配置的时候就配none、static,DHCP不用。局域网使用静态配置的时候可以防止ARP冲突,如果是DHCP的话不好防止ARP(地址解析协议)冲突,如果时DHCP的话,今天获取一个地址,明天获取一个地址,明天又获取到另一个地址,静态的话会在路由器里,把硬件的mac地址和IP地址同时绑定在一起,绑定在路由器里面。不会出现冲突,不会出现攻击。
NAME=eth0系统网卡的名称,逻辑网卡名
UUID=83a2d2d1-58b8-4757-a205-8872a8fd1379(1)设备的唯一标识 系统为每一个设备自动配置的一个标识符。
(2)blkid 查看所有的硬件设备唯一标识,可以在网卡中删除
DEVICE=eth0硬件名称
ONBOOT=yes是否激活设备, 网卡启动状态。 (装操作系统的时候,在配置IP的时候常规选项,网络可用自动连接启动网卡)
IPADDR=10.0.0.200(1)IP地址,使用远程连接工具Xshell连接的IP,公网唯一性, 局域内唯一。(2) 虚拟机上网的时候用的时Windows的NAT,转化成Windows的ip,主机出去上网请求路由器,又用到了NAT,转换成了公网IP。
PREFIX=24(1)子网掩码 决定了局域网内可用的IP地址数量
(2)/24 10.0.0.1-10.0.0.254,一个C的地址。
(3)PRFIX=24,NETMASK=255.255.255.0
GATEWAY=10.0.0.254网关,虚拟机去互联网的必经之路,类似于我们学校的大门。
DNS1=223.5.5.5域名解析,把域名解析成IP地址的过程 www.baidu—>110.242.68.3

3.2 /etc/resolv.conf (DNS主配置文件)

  • 文件作用: DNS配置文件,DNS作用解析域名 方便我们记住各大网站
    • 1.购买一台服务器 10.0.0.200
    • 2.WEB服务用户可以访问到我们 通过10.0.0.200访问
    • 3.我们去阿里云购买一个域名 www.wangkun cn net org
    • 4.去阿里云域名管理后台需要绑定 www.wangkun —> 10.0.0.200 A记录
    • 5.用户访问 www.wangkun -->DNS进行解析成对应的IP–>用户–>10.0.0.200建立连接
  • 机房有自己的DNS服务器
  • /etc/resolv.conf 和网卡配置文件比较
    • /etc/resolv.conf 优先生效(在公司里用/etc/resolve.conf进行修改)
    • resolv.conf 配置DNS,不需要重启,直接生效
    • 网卡中配置的DNS会覆盖/etc/resolv.conf
    • 网卡中不配置DNS不会覆盖/etc/resolv.conf
    • 网卡中配置DNS必须重启生效
  • 备用DNS(如果一个DNS服务器回了,就使用备用)
    • 网卡中的配置
      • DNS1=223.5.5.5
      • DNS2=114.114.114.114
      • DNS3=8.8.8.8
    • /etc/resolv.conf中的配置
      • nameserver 223.5.5.5
      • nameserver 114.114.114.114
      • nameserver 8.8.8.8
  • 如何查看自己的使用的是哪个DNS那??
    • yum install -y bind-utils
    • nslookup www.baidu
  • 如果服务器DNS没有配置或者DNS服务无法访问 请问会影响用户访问我们的服务器吗?
    • 不会影响,只会影响服务器访问外网,不会影响其他的用户访问自己。

3.3 /etc/hosts (域名和IP的对应配置文件)

文件作用: 配置的是IP地址和域名的对应关系(就是访问一个网址的时候,先去这个文件找一下看一下有没有对应的域名和IP的对应关系,如果有的话就直接使用,没有的话就去/etc/rsolv里去找DNS)。类似本地的DNS解析,类似于DNS劫持,本地的DNS服务器,(现在测试服务器上测试一下功能,在公司中做内部测试,同样的域名让他进入测试服务器,测试完功能之后,在上线) ,二阶段使用。
访问网站的过程:

  1. 浏览器输入www.baidu
  2. 浏览器先去查找本地的/etc/hosts文件
  3. 查看/etc/hosts文件中有没有 www.baidu --> IP 的地址对应关系
  4. 如果有则返回/etc/hosts文件中的IP地址给浏览器 建立连接
  5. 如果没有则回去找本地网卡中(/etc/reslov.conf)配置的DNS服务器进行解析成IP,给浏览器 建立连接。

3.4 /etc/hostname 配置主机名

  • /etc/hostname
    • 作用: 配置主机名,方便服务器之间的互联
    • 查看当前的主机名
      • 查看命令提示符
      • hostname命令
      • hostnamectl 查看系统相关信息
    • 修改主机名称
      • 临时修改 重启失效,不会修改配置文件/etc/hostname
        • hostname test,修改完之后,重新使用xshell连接系统
      • 永久修改
        • vim /etc/hostname 直接修改配置文件 必须重新启动操作系统生效,重启操作系统
      • 临时+永久,会修改配置文件也会临时生效
        • hostnamectl set-hostname oldboy-lnb
        • 相当于执行了hostname 主机名 + 修改了配置文件
  • 小提示:/etc/hostname 存在多个主机名则第一个优先生效

3.5 /etc/issue

  • 作用: 登录操作系统前的提示, 清空文件,提高系统安全性
  • 扩展输出重定向
    • > 标准正确输出重定向,先清空后写入(只接收命令执行成功后的结果)
      • 命令打错了,所以不写入文件,但是文件里已经清空了。
      • 1就是就是正确的,默认可以省略。
    • >> 标准正确追加输出重定向
    • 2> 标准错误输出重定向
    • 2>> 标准错误追加输出重定向
    • >   2> 同时接收正确的和错误的
      • echo hehe >he.txt 2>he.txt
    • >>  2>> 同时追加正确和错误输出
      • echo hehe >> oldboy.txt 2>> oldboy.txt
    • >>  2>&1 同时追加正确和错误输出
      • echo hehe >>oldboy.txt 2>&1
    • &>> 正确和错误都追加到文件中
      • echo hehe &>>oldboy.txt

3.6 /etc/issue

  • 作用: 远程登录前的提示,提高系统安全性 系统优化中,系统初始化
  • >/etc/issue

3.7 /etc/motd

  • 作用: 用户登录后显示的内容

3.8 /etc/fstab

3.8.1 /etc/fstab文件内容含义
  • 文件作用: 开机自动挂载硬件设备

UUID=ed705faa-7eb9-4879-b5f5-ab1d9cc4948a  /  xfs defaults  0 0

第一列

  • UUID 设备唯一标识符 系统为每个硬件自动分配 系统中唯一 类似身份证号
  • 查看方式:blkid
  • 设备名称:/dev/sr0 、/dev/sda1、 /dev/sda2、 /dev/sda3

第二列

  • /挂载点(通往硬件设备的大门),可以是系统已存在的目录,可以是自己新创建的目录,/mnt 临时挂载点。
  • 如果目录里有内容会隐藏,卸载后显示原来的内容

第三列

  • xfs 文件系统类型
  • centos7.x 默认的xfs,centos6.x 默认的ext4
  • 存储的快慢,xfs放大电影快, ext4存放小文件快。没有什么特别要求需求用xfs就可以了
    第四列
  • defaults 默认的选项参数,决定了我们是否有往硬件中增删改查的权限,一般是默认。

第五列

  • 0 开机是否自动备份磁盘的内容
  • 0 表示不备份,1表示备份,如果备份的话太占用磁盘的IO (已经把重要的数据备份)

第六列

  • 0 开机是否对磁盘进行检查fsck
3.8.2 实现光盘自动挂载
  • 在/etc/fstab中实现开机自动挂载(类似/ 、boot、 swap)
    • 在文件中添加:/dev/sr0  /data  iso9660  defaults  0  0
    • mount -a /etc/fstab (不用重启直接生效,,尽量不用重启,养成好习惯)
    • 如果挂载的目录,有文件,挂在上就隐藏了,ls -a 也找不到,卸载之后在出现。所以挂载尽量要用空目录。

3.8.3 mount临时挂载光盘

  • 第一步:
    把系统镜像文件插入到光驱中
  • 第二步:
    光驱的位置?所有硬件文件在/dev下
    光驱Liux系统中叫cdrom
    cat /dev/cdrom 无法查看
  • 第三步:
    给光驱开一个门,门可以是存在的目录,也可以是新创建的目录,最好是空的目录,如果目录中有内容 会隐藏目录内容,卸载后显示隐藏的内容。
    mount /dev/cdrom /mnt
  • 第四步:
    把门拆掉 umount 不要在门里面拆门
    umount /mnt
  • 第五步:检验是否挂载成功
    • 进入/mnt目录看里面是否有文件
    • df -h 检测一下
  • 卸载问题:设备在忙得状态
    • 退出当前的设备
    • 当前的xshell关闭重新连接在尝试
    • umount -f /mnt 强制卸载挂载点

3.9 /etc/rc.local

  • 文件作用:开机自动运行文件中的命令或者服务自动启动
  • 是一个软连接(类似windows的快捷方式),是一个脚本文件,在开机的时候自动执行该脚本
    • /etc/rc.local -> rc.d/rc.local(源文件)
  • Linux中大部分的服务都是使用systemctl管理,使用systemctl管理的不需要写入/etc/rc.local
    • 工作中: 自研发的项目,python项目,没有被systemctl所管理,这时把写入/etc/rc.local
  • 开机自动创建/data目录
    • 把可执行的命令写入到/etc/rc.local
    • 要给/etc/rc.d/rc.local 执行权限
    • chmod +x /etc/rc.d/rc.local 可执行(execute)

3.10 /etc/inittab

  • 文件作用: Linux系统的运行级别,centos6的运行级别的配置文件

什么是运行级别:(笔试题)

  • 每个级别表示不同功能,能做不同的事情
  • 类似于windows安全模式(PE)和正常登陆模式
  • 7个运行级别0-6

centos6.x操作系统

  • runlevel 运行级别(各种运行级别之间没有联系,相当于各自独立的模块,但是他们有重叠的文件)
    • 0 表示关机 不运行把默认的运行级别调整为0 想要关机的时候可以使用0级别进行关机
    • 1 表示单用户模式 类似windows安全模式 (忘记密码可以进入单用户模式进行修改)
    • 2 多用户用户 但是没有网络,不支持NFS(网络文件系统)
      • NFS就是存储,公司用的比较多,接收的文件,放到另一台主机上。
        用户想要把磁盘放到服务器上,通过NFS的方式放到另一台服务器上,
        把第二块盘做成远程存储
    • 3 完全多用户,默认的运行级别,当前的运行级别
    • 4 保留 待开发
    • 5 图形化界面 必须提前安装DESKTOP安装包勾选
      • 公司中禁止安装图形化,乌版图用图形化(python开发)
    • 6 重启 不可以设置为默认
  • 查看当前的运行级别
    • centos6.x 和 centos7.x
      • runlevel 命令
  • 永久修改运行级别
    • centos6.x
      • vim /etc/inittab
        id:5:initdefault: 永久修改为图形界面启动

centos7.x操作系统

  • target运行级别(ll /usr/lib/systemd/system/runlevel*.target) (下面这几个不需要记,因为2、3、4都是重复的,所以我们要用他们的软连接就行永久设置

    • 0.poweroff.target
    • 1.rescue.target
    • 2.multi-user.target
    • 3.multi-user.target
    • 4.multi-user.target
    • 5.graphical.target
    • 6.reboot.target
  • 查看当前的运行级别

    • centos6.x centos7.x
      • runlevel 命令
    • centos7.x
      • systemctl get-default
        • 输出结果为:multi-user.target(这个不知道,因为2、3、4都是这个名字,所以需要用下面的方法修改)
  • 永久修改运行级别

    • Centos7.x
      • systemctl get-default runlevel5.target(后面的内容可以tab出来,安装好自动补全安装包后,用Xshell要重新打开一个新的窗口才能生效
        • yum list | grep bash(查找这个软件包)
        • yum -y install bash-completion.noarch(tab自动补全)

小提示:

  • /etc/inittab 工作中不使用。临时调整使用的比较多:init 1(密码忘了,到单用户改密码)、init 0(关机,尽量不用)、init 6(重启,尽量不用)

3.11 /etc/profile

  • 文件作用: 存放环境的文件
  • /etc/profil中不是所有的内容都执行,必须是可执行的命令或者变量
3.11.1 环境变量的使用
  • 环境变量的分类(env、set可以查看系统定义的变量)
    • 局部变量 只有在当前的shell生效,类似家,家规
    • 全局变量 针对所有的shell生效,类似国家,国法
    • 用固定的值表,示不固定的值
  • 如何定义变量(临时定义)
    • 数字字母下划线的组合(不能数字开头)
    • 变量的名称=变量的值(name=oldboy)
    • 调用变量的值
      • echo $name
  • 永久生效 写入/etc/profile
    • 直接source /etc/profile 或者 新打开一个shell窗口,配置文件就生效了
      • 如果在配置文件中,添加变量时,前面有export,在父shell中执行,在子shell中也执行
      • 如果在配置文件中,添加变量时,前面没有export,在父shell中执行,在子shell中不执行
    • 只能在本窗口看命令,新打开一个shell窗口就失效了
      • 如果在命令提示符直接定义变量,如果变量前加了export,父shell和子shell都执行
      • 如果在命令提示符直接定义变量,如果变量前没有加了export,父shell中执行,子shell不执行
  • 如何生效
    • 重新连接xshell即可,连接后自动执行/etc/profile(因为用xshell重新连接的话,会加载这个文件)
    • 使用source 或者. 在父shell中运行/etc/profile
      • 注意: 使用source或. 生效的内容是可执行命令或者变量
        很多服务的配置文件中的等号,不是变量 ,而是普通的配置文件

环境变量的优点

  • 方便我们使用 可以重复调用
    • eth0=/etc/sysconfig/network-scripts/ifcfg-eth0
    • echo $eth0
  • 为了让用户正常使用操作系统提前设置好的环境变量
    • $PATH 存储了所有系统中自带命令的路径 第三方程序没有在PATH变量
    • echo $PATH
    • Linux中执行命令的原理
      • 用户输入可执行命令
      • 系统会去$PATH路径中查找命令
      • 如果查找到则正常运行命令
      • 如果找不到提示 命令找不到

4. /proc/下重要配置文件

4.1 /proc/cpuinfo

  • 作用:查看cpu的信息
    • cat /proc/cpuinfo|grep ‘physical id’
      • physical id(cup)
    • cat /proc/cpuinfo|grep ‘process’
      • processor(处理器中的核心)
  • lscpu命令查看CPU信息
    • lscpu
      CPU(s): 4   4个核心
      On-line CPU(s) list: 0-3  0-3个核心
      Thread(s) per core: 1  每个核心的线程数
      Socket(s): 2   插口插座,两个cpu

4.2 /proc/meminfo

  • 作用:内存的使用情况
  • 命令查看内存的使用情况
    • free -h(人性化显示)
      MemTotal: 1886804 kB   总共 内存
      MemFree:  1645360 kB 剩余 空闲
      MemAvailable:  1618280kB   可用内存
      Buffers:  2076 kB   缓冲
      Cached:   84128 kB   缓存

4.3 /proc/loadavg

  • 作用:查看平均负载
    • 平均负载:服务器的压力,衡量服务器一个繁忙的程度
    • (0.00 0.01 0.05 2/127(当前运行了几个进程) 6842)前三个参数最重要,1分钟的平均负载,5分钟的平均负载, 15分钟的平均负载
    • 当数值达到cpu核心总数,已经非常繁忙,核心数=2 负载值2,繁忙。导致服务器负载高最重要的原因: CPU、磁盘、网络
  • 使用uptime命令查看平均负载信息
    • uptime (静态显示负载)
      • 17:25:47(当前时间) up 7:03(系统登录了多长时间), 1 user(当前登录了几个用户), load average: 0.00, 0.01, 0.05(平均负载)
    • w (静态显示负载,窗口太小不显示)
      • TTY 代表从哪个终端连进来的
      • FROM 从哪来,来源IP(如果用xshell连接的话,ip应该是vmnet8的ip地址。如果局域网中的电脑去连接阿里的服务器,那么会在阿里服务器上显示的是路由器公网的ip,如果公司的服务器上不是自己公司的公网IP地址。公司的公网IP查看–> 直接在浏览器中输入IP即可,或者ip138)
      • LOGIN@什么时候登录的

4.4 top命令(cpu、内存、平均负载)

  • 动态实时显示负载、内存、CPU信息, q退出

本文标签: 配置文件结构目录