文件系统
文件系统
yum使用
yum的底层逻辑
1.执行yum.install nginx安装命令
2.yum去/etc/yum.repos.d/这个目录 #cd/etc/yum.repos.d/
#源文件必须放在/etc/yum.repos.d/这个目录下,必须.repo结尾 ,
#源文件必须指定下载软件链接 bashurl
3.yum去/etc/yum.repos.d/下所有的以.repo结尾的yum源文件找bashurl对应的链接,去找仓库里面的软件包
4.通过对应链接,开始下载安装包。 下载的位置:/var/cache/yum/yum仓库名称 cat/etc/yum.conf 得到: cachedir=/var/cache/yum/$basearch/$releasever
5.安装所以的软件(rpm.ivh)
6.检测是否安装完毕并返回
搭建yum仓库: 保存软件提供下载 对应上面的第三步,有仓库才可以
1.创建目录,充当仓库 #房子
2.在仓库创建Packages目录,用来存放软件 #家具
3.下载测试软件到Packages #装家具
基础为前三步
4.下载访问软件Nginx #装电话
5.下载仓库初始化软件,yum-utils 和createrepo #电话卡,依赖关系
6.createrepo 仓库名称 初始化仓库
会在仓库目录中自动创建 repodata目录,主要存放yum依赖关系的软件
7.修改nginx配置文件,使其代理yum仓库
#修改 /etc/nginx/nginx.conf 里面的
root 改成自己仓库路径;
#实现目录索引 加到server里
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
#systemctl restart nginx 重启nginx
8.编辑yum源
留一个新建的源 其他.repo移动到里面新文件夹
新建的源编写
[local] 不是local也行
name=德玛西亚 源的简介
baseurl= 指定的地址
gpgcheck=0 默认不检测
9.更新源
yum clean all
yum makecache
10.测试
yum.remove zip
yum.install zip
nginx编译安装
rpm安装:单独安装,不能解决依赖
yum安装:解决依赖,不能灵活定制安装
编译安装:可以定制安装,不能解决依赖 可以想安装那个安哪个
下载源代码nginx包:https://nginx.org/download/nginx-1.20.1.tar.gz
解压tar -xf nginx-1.20.1.tar.gz 后面为安装包名字
1.检查系统
cd 解压后的文件夹里
[root@localhost ~]# cd nginx-1.20.1
执行[root@localhost nginx-1.20.1]# ./configure
让他自动检查就好了 依赖包这三个是
少什么安装什么 pcre 和pcre-devel 、zlib 和zlib-devel make gcc gcc-c++
[root@localhost nginx-1.20.1]# yum install pcre pcre-devel -y
2.编译
#要在解压目录下运行
执行make
加上-j 多核编译 速度快,容易出错
3.安装
#查询一下
[root@localhost nginx-1.20.1]# ls /usr/local/
bin etc games include lib lib64 libexec sbin share src
#要在解压目录下运行
执行make install
4.查看usr/local
[root@localhost nginx-1.20.1]# ls /usr/local/
bin etc games include lib lib64 libexec nginx sbin share src
多了一个nginx
5.测试
停止之前的nginx systemctl stop nginx
启动刚才安装的nginx /usr/local/nginx/sbin/nginx
proc文件系统和var日志文件
#系统日志:/var/log/messages
软件安装运行以及系统运行异常日志文件
#系统日志:/var/log/secure 系统登录日志(可记可不记)
proc系统运行时信息
proc/cpuinfo 和 lscpu 相同 查看cpu信息
cat /proc/meminfo 和free -h依赖于/proc/meminfo 查看当前系统运行状态
/proc/loadavg 保存当前系统负载情况 单位时间内 系统进程占用cpu的相对时间
[root@localhost ~]# cat /proc/loadavg
0.00 0.01 0.05 1/113 7284
[root@localhost ~]# w 后面这块也是负载
15:53:32--当前系统时间
up--状态(up启动,down关闭)
6:06--启动时间
2 user 有几个一个窗口(虚拟机的也算一个)
load average:0.05, 0.03, 0.05--负载
一分钟 五分钟分钟 十五分钟
5% 3% 5%
15:53:32 up 6:06, 2 user, load average: 0.05, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/1 192.168.15.1 13:21 4.00s 0.17s 0.01s w
#proc/mounts 当前系统所有挂载信息,实时
文件信息详述
文件属性
文件信息概述
d 文件夹
- 普通文件
l 链接文件 软连接
c 字符设备文件(字体)/dev里面的tty都是字体,字符设备文件
b 块设备文件(硬盘)/dev里面的sda1,sdb1都是b开头的设备文件
s socket文件(网络编程文件)
p 管道文件(前一个命令的结果交给后面命令处理即为管道技术)
硬链接和软连接
硬链接:ln[源来的路径] [新的路径]
都指向了硬盘一块空间,相当于文件别名,ID号一致 新路径ln里面创建
硬链接个数为0时,才会删除源文件
软链接:ln -s[源来的路径] [新的路径]
相当于一个文件的快捷方式
小练习
创建300.txt touch 300.txt
硬链接301.txt ln 300.txt 301.txt
软连接302.txt ln -s 300.txt 302.txt
ll -i
134319262 -rw-r--r--. 2 root root 0 Sep 23 17:41 300.txt
134319262 -rw-r--r--. 2 root root 0 Sep 23 17:41 301.txt
134319263 lrwxrwxrwx. 1 root root 7 Sep 23 17:41 302.txt -> 300.txt
删除300.txt
由于302是软连接到300.txt的文件名,所以302后面软连接飘红 300删掉了 还剩下一个301硬链接
--------------------------------------------------------------------
root,root 第4-5列
比如一年赚了20w
所有者:钱是谁的,我自己
家庭组:也属于家庭
扩展名
.conf 配置文件
.log 日志文件
.sh shell脚本文件
.py python脚本文件
innode(了解即可)
相当于身份证号,每个人都是唯一的
ls -i查看id号
df -i查看所有id号
存储blocl
可以df -h查看用了多少存储
用户和用户组(重点)
#文件用户和用户组(重点)
用户uid:系统管理员
用户组gid:班级小组,具备某种相同特征的一系列用户的集合
创建用户
用户名命名,字母和数字,必须字母开头
useradd[选项(非必须)] [用户名称] 创建用户
groupadd[选项(非必须)] [用户名称]创建用户组
id 查看指定用户的id(默认当前用户)
选项
-u 指定uid 代表用户的唯一编号
-g 指定gid 代表用户组的唯一编号
-r 指定创建系统用户 useradd -r test01(默认为普通用户)
-s 指定用户默认的解析器 如下
useradd test0003 -s /bin/sh
系统用户和普通用户的区别
系统用户一般用运行系统级别的应用程序
id号在 0 ~ 200之间的用户运行的是操作系统级别的应用程序
id号在 201 ~ 999 之间的用户运行的是用户级别的应用程序
通常情况下,id号在1000以下,那么该用户就是系统用户,在1000以上是普通用户。
普通用户一般用来登录操作系统
系统常用解析器
vim /etc/passwd 保存的用户信息
/bin/bash
默认为bash解析器
/bin/sh
练习
创建组 编号为222的demaxiya
[root@localhost dev]# groupadd -g 222 demaxiya
创建用户id为111 属于222id组的 gailun
[root@localhost dev]# useradd -u 111 -g 222 gailun