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信息

原文地址:https://www.cnblogs.com/jia-shu/p/13927576.html