• 4.Linux目录结构


    目录结构

    目录结构: FHS

    ​ /bin 存放普通二进制命令
    ​ /boot 系统引导文件
    ​ /dev 设备文件 磁盘 光驱
    ​ /etc 服务的配置文件
    ​ /mnt 系统设备临时挂载点 (想查看光驱的内容 就把光驱挂载到系统中某个目录下)
    ​ /opt 第三方软件默认安装的位置(jenkins)
    ​ /sbin 管理员的可运行的二进制命令
    ​ /tmp 临时存储数据的目录 类似windows的回收站
    ​ /usr 二级目录层次标准/操作系统软件资源所放置的目录
    ​ /var 经常变化的数据文件存储的目录 日志..

    1./etc 服务的配置文件

    etc/重要目录

    ​ /etc/sysconfig/network-scripts/ifcfg-eth0 #网卡
    ​ /hostname #主机名
    ​ /resolv.conf #配置DNS的IP地址,优先与网卡使用
    ​ /hosts #存放域名与IP地址的关系,本地域名解析
    ​ /issue #登录系统显示的内容
    ​ /motd #登录系统后显示的内容
    ​ /inittab #系统运行的等级
    ​ /fstab #开机自动挂载磁盘
    ​ /rc.local #开机自动运行命令或某些服务
    ​ /var #存放服务日志的文件

    ​ /profile #配置环境变量的文件

    1./etc/sysconfig/network-scripts/ifcfg-eth0 网卡

    [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地址 类似家的地址 唯一的
    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

    重启网卡错误

    错误信息:Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details.

    解决方法:在 /etc/sysconfig/network-scripts目录下删除掉别的ifcfg-xxx(只保留一个你网卡同名的文档)

    ​ 再把NetworkManager停用

    NetworkManager停用命令 systemctl stop NetworkManager
    systemctl disable NetworkManager

    2./hostname 主机名

    ​ 如何查看主机名:

    ​ hostname 或 cat /etc/hostname

    ​ 如何修改主机名:

    ​ 1.临时修改 重启失效:hostname 名字

    ​ 2.永久修改

    ​ 1)直接修改配置文件,再重启

    ​ vi /etc/hostname

    ​ reboot

    ​ 2)使用命令方式修改主机名 推荐使用

    ​ hostnamectl set-hostname 名字

    yum源

    下载阿里云YUM源网站opsx.alibaba.com

    查看当前源:yum repolist

    3.resolv.conf #配置DNS服务器IP地址

    ​ 作用: 配置DNS IP地址 解析域名为IP地址

    resolv.conf和网卡的dns配置区别

    1. resolv.conf 配置优先于网卡的配置
      resolv.conf 223.5.5.5 ----> 优先使用223.5.5.5解析域名 #连不上网可以先配置一个DNS上网
      网卡-----> 114.114.114.114
    2. 如果网卡中存在dns 重启网卡会覆盖掉resolv.conf中的配置
    3. 如果网卡中不配置DNS 不影响resolv.conf配置文件
    4. nslookup www.baidu.com #解析域名,查看当前使用的DNS IP地址

    ​ 找不到命令就安装命令yum -y install nslookup #No package nslookup available找不到包

    ​ 找nslookup在那个包里 yum provides nslookup,找到之后安装包

    DNS服务器 共用的DNS:
    223.5.5.5
    223.5.5.6
    114.114.114.114 电信
    8.8.8.8 谷歌
    202.106.0.20 联通

    resolv.conf配置DNS

    # Generated by NetworkManager
    nameserver 8.8.8.8
    nameserver 223.5.5.5
    
    
    4.hosts #存放着域名和IP地址的对应关系

    ​ 文件作用: 本地域名解析 访问域名的时候 先查看hosts下有没有对应的域名解析 测试环境使用

    ​ Windows hosts路径:C:WindowsSystem32driversetc

    5.issue #登录系统显示的内容

    ​ issue.net #存放着登录后的系统版本号和内核版本

    清空,以免暴露内核信息,命令:> /etc/issue > /etc/issue.net

    6.motd # 登录系统后显示的内容 使用xshell连接后显示的内容

    ​ 编辑:vi /etc/motd

    7.inittab #系统的运行级别 当前默认级别3

    0 #关机 配置文件不能设置为0

    1 # 单用户模式 救援模式 密码忘记了 # 如何进入单用户模式修改密码 作业!
    2 # 多用户模式 没有NFS 网络文件系统
    3 # 完全多用户模式 当前默认的级别 运行3级别
    4 # 保留 未开发
    5 # 桌面模式 desktop centos不安装桌面 浪费资源
    6 # 重启

    ​ init 0 #关机 init 6 #重启

    ​ 查看当前运行级别runlevel

    ​ 设置运行级别systemctl set-default runlevel3.target #不要更改

    8.fstab #开机自动挂载设备

    ​ UUID=cd3ad562-0789-4384-b0fa / xfs defaults 0 0

    ​ 设备的唯一标识(也可以写设备名) 目录挂载点 文件系统 挂载参数 磁盘是否备份 开机是否自检

    ​ 0为关闭,1为开启。

    ​ 如何让cdrom开机自动挂载

    ​ 获取磁盘的UUID命令:blkid #设备名: /dev/cdrom /dev/sr0

    ​ 写入vi /etc/fstab 开机自动挂载

    ​ /dev/cdrom /mnt iso9660 defaults 0 0

    ​ 检查是否开机自动挂载df -h

    9.rc.local #开机自动运行命令或者自动运行某个服务

    ​ 三种权限:读r 写w 执行x

    ​ rc.local必须给执行权限 chomd +x /etc/rc.d/rc.local #可通过ll /etc/rc.local看执行文件位置

    案例:
    第一个步骤: 停止ssh服务 并设置为开机禁止启动
    systemctl disable sshd #disable禁止开机运行
    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	#enbale开机自动运行	
    

    查看服务的状态: systemctl status sshd

    10.var #存放服务的日志文件

    ​ var/log/messages #系统相关的一些日志 记录到messages

    ​ var/log/secure #登录系统相关的日志 记录到secure日志

    tail # 默认显示文件后10行
    -n 显示n行 n为数字 简写 tail -4
    -f 时时显示文件内容的变化 查看最新的日志 简写 tailf
    head # 默认显示文件前10行

    ​ 使用head和tail命令 取出文件中的第7行:head -7 /var/log/messages |tail -1

    11.profile #配置环境变量

    ​ 1.定义字符串或者数字使用单引号或者双引号(能解析变量命令)

    ​ 变量赋值:a="/etc/sysconfig/network-scripts/"

    ​ 查看调用变量使用$:cd $a

    ​ 2.定义命令变量使用反引号``

    ​ time=date +%F-%H-%M-%S

    ​ echo $time

    ​ linux中所有在文件中的命令 都属于子shell, source 和 . /etc/profile执行文件 相当于把子shell中的命令在父shell中执行

    ​ 3.shell执行命令的过程

    ​ 1)查看命令的位置which cat命令

    ​ 2)当我们执行cat命令 会先去查找PATH变量中的所有的目录

    ​ 如果找到 则执行命令 如果找不到则返回命令找不到 command not found

    ​ 3)测试:把cat命令移动到/tmp目录,执行cat命令 无法执行

    ​ 解决方法:1.将cat移回原来的目录

    ​ 2.把新的位置增加到PATH变量中

    ​ #临时生效:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp"

    ​ #永久生效:编辑vim /etc/profile 把/tmp目录写入PATH中后,再source /etc/profile即可

    2./usr 操作系统软件资源所放置的目录

    /usr下重要目录

    1.local #存放第三方安装程序的位置

    ​ 软件安装的三种方法:

    ​ 1)yum #类似我们直接使用软件商城进行安装

    ​ yum特点: 自动解决依赖问题

    ​ 格式:安装软件:yum -y install package.name(需要安装的原件名称)

    ​ 删除软件:yum remove package.name

    ​ 重新安装: yum reinstall package.name

    ​ yum list # 列出仓库内所有软件
    ​ yum repolist # 查看当前系统所有仓库
    ​ yum clean all# 清空缓存

    ​ eg:安装ifconfig命令 #大部分命令属于其他的安装包 安装rz上传sz下载命令一样

    ​ 1.如何知道命令属于哪个软件包?

    ​ yum provides ifconfig 或 百度

    ​ 2. ifconfig 属于net-tools包,安装yum -y install net-tools

    ​ 3.输入ifconfig 显示网络设备信息

    ​ 2)rpm #类似于我们自己先把包下载下来 然后在安装

    ​ 特点: 不支持自动解决依赖

    ​ 格式:rpm -ivh package.rpm #后缀为rpm(包必须存在 提前把包下载到某个目录) 缺少什么包手动安装什么包

    ​ 参数:-i install 安装 -v verbose 显示安装过程 -h 显示安装进度

    ​ -q 查看软件是否安装 -qa查看当前系统所有安装过的软件包 -ql查看安装包的所有的内容

    ​ -e 删除软件包

    ​ 3)编译安装 #类似自己动手解决吃饭问题,从头开始下载

    3./proc #当前内核运行状态的一系列特殊文件

    /proc 重要目录

    1.meminfo #当前内存的利用状况等的信息

    ​ free -h 查看当前系统的内存信息

    ​ cat /proc/meminfo # 查看内容信息

    ​ MemTotal: 995684 kB
    ​ MemFree: 611536 kB
    ​ MemAvailable: 681660 kB
    ​ Buffers: 2224 kB
    ​ Cached: 189840 kB

    ​ 什么是buffer 写缓冲 数据先写入到内存中 存储这部分数据的内存 称为缓冲区
    ​ 什么是cache 读缓存 数据线调用到内存中 存储这部分数据的内存 称为缓存区

    2.cpuinfo # cpu信息

    ​ cat /proc/cpuinfo # 查看内容信息

    ​ lscpu # 查看CPU信息

  • 相关阅读:
    Java实现 LeetCode 637 二叉树的层平均值(遍历树)
    Java实现 LeetCode 637 二叉树的层平均值(遍历树)
    PHP xml_set_object() 函数
    PHP xml_set_notation_decl_handler() 函数
    PHP xml_set_external_entity_ref_handler() 函数
    PHP xml_set_element_handler() 函数
    PHP xml_set_default_handler() 函数
    最小直列大小 | min-inline-size (Logical Properties)
    最小宽度 | @viewport.min-width (Device Adaptation)
    最小块大小 | min-block-size (Logical Properties)
  • 原文地址:https://www.cnblogs.com/jia-shu/p/13927576.html
Copyright © 2020-2023  润新知