目录结构
目录结构: 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配置区别
- resolv.conf 配置优先于网卡的配置
resolv.conf 223.5.5.5 ----> 优先使用223.5.5.5解析域名 #连不上网可以先配置一个DNS上网
网卡-----> 114.114.114.114 - 如果网卡中存在dns 重启网卡会覆盖掉resolv.conf中的配置
- 如果网卡中不配置DNS 不影响resolv.conf配置文件
- 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信息