day09 文件属性

昨日回顾

yum底层原理:
    第一步:执行yum install nginx安装命令
    第二步:yum去/etc/yum.repos.d这个目录中
    第三步:根据/etc/yum/repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
    第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/[yum仓库的名称])
    第五步:安装所有的软件(rpm -ivh)
    第六步:检测是否安装完毕并返回
    
源的三个条件:
    1.必须放在/etc/yum.repos.d目录中
    2. 必须以.repo结尾
    3.其功能指定下载软件的连接

yum仓库搭建流程:
    1.创建目录,充当仓库
    	[root@localhost ~]# mkdir yumrepo
    	
    2.仓库中创建Packages目录,用于存放软件
        [root@localhost ~]# cd yumrepo
        [root@localhost yumrepo]# mkdir Packages
        
    3.下载测试软件到Packages目录,用于存放软件
        [root@localhost yumrepo]# cd /yumrepo/Packages
        [root@localhost Packages]# wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
    
    4.下载远程访问软件:Nginx
    	[root@localhost Packages]# yum install nginx
    	
    5.下载仓库初始化软件(yum-utils、createrepo)
    	[root@localhost Packages]# yum install yum-utile createrepo 
    	
    6.初始化仓库
    	[root@localhost Packages]# createrepo /yumrepo
    	
    7.修改Nginx配置文件,使其代理yum仓库目录索引
    	[root@localhost Packages]# vim /etc/nginx/nginx.conf
            root /yumrepo
            autoindex on;
            autoindex_exact_size off;
            autoindex_localtime on;
        [root@localhost Packages]# systemctl restart nginx  # 重启nginx服务,在浏览器测试
        
    8.编辑yum源
        1)、将/etc/yum.repos.d中所有的文件备份到backup目录中
            [root@localhost Packages]# cd /yum.repos.d/
            [root@localhost yum.repos.d]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup

        2)、创建local.repo文件
        	[root@localhost yum.repos.d]# touch local.repo

        3)、编辑local.repo
        	[root@localhost yum.repos.d]# vim local.repo
            [local]
            name="本地源"
            baseurl=http://192.168.15.200
            gpgcheck=0
            
        4、更新源
        [root@localhost yum.repos.d]# yum clean all
        [root@localhost yum.repos.d]# yum clean makecache
        
    9.测试
        [root@localhost yum.repos.d]# yum remove zip
        [root@localhost yum.repos.d]# yum install zip

二进制编译安装

编译安装软件:
    优点:单独定制安装软件(定制化)
    缺点:不能解决依赖关系
    前提是:下载源代码包:https://nginx.org/download/nginx-1.20.1.tar.gz
    	[root@localhost ~]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
    知识储备:
    	解压文件:tar -xf nginx-1.20.1.tar.gz
    	[root@localhost ~]# ll   # 查看到当前有nginx-1.20.1.tar.gz压缩包
    	[root@localhost ~]# tar -xf nginx-1.20.1.tar.gz  利用tar -xf来解压
    	
1、检查系统
    [root@localhost ~]# cd nginx-1.20.1
    [root@localhost nginx-1.20.1]# ll
    [root@localhost nginx-1.20.1]#./configure        # 检查系统命令,缺失哪个装哪个
    # 注:一定在nginx-1.20.1里才能执行./configure命令
    ./configure: error: the HTTP rewrite module requires the PCRE library.
    [root@localhost yum.repos.d]# yum install pcre pcre-devel -y    # 装 pcre pcre-devel 这两个软件
    
    [root@localhost nginx-1.20.1]#./configure        # 检查系统命令,缺失哪个装哪个
    ./configure: error: the HTTP gzip module requires the zlib library.  # 缺失zlib
    [root@localhost nginx-1.20.1]# yum install zlib zlib-devel -y  # 装 zlib zlib-devel 这两个软件
    [root@localhost nginx-1.20.1]# yum install make gcc gcc-c++ -y   # 这三个包最好装下
    
2、编译
	[root@localhost nginx-1.20.1]# make            # 编译命令
	-j : 多核编译, 但是容易出错

3、安装
	[root@localhost nginx-1.20.1]# make install    # 编译安装
	[root@localhost nginx-1.20.1]# cd /usr/local   # 进入usr/local里
	[root@localhost local]# ll                     # 查询有nginx吗
	[root@localhost local]# cd nginx/              # 进入nginx
    [root@localhost nginx]# pwd
    /usr/local/nginx                               # 默认装在 /usr/local/nginx 这里

4、测试
    [root@localhost nginx]# systemctl stop nginx    # 停掉nginx
    [root@localhost nginx]# /usr/local/nginx/sbin/nginx    # 启动nginx服务
    
    [root@localhost nginx]# /usr/local/nginx/sbin/nginx -s stop   # 停止nginx服务  # 恢复以前的
    [root@localhost nginx]# systemctl start  nginx   # 启动nginx

var日志

文件信息:/var/log/messages
作用说明:软件安装运行以及系统运行异常日志文件

proc文件系统

文件信息:/proc/cpuinfo
作用:用于查看系统cpu信息情况文件
    [root@localhost ~]# cat /proc/cpuinfo   # 查看cpu类型

文件信息:/proc/meminfo
作用:用于查看系统内存信息情况文件
相关命令:free -h
    [root@localhost ~]# cat /proc/meminfo   # 查看内存

文件信息:/proc/loadavg
作用:用于查看系统负载信息情况文件,用于衡量系统繁忙程度

1、系统负载:单位时间内,系统进程占用CPU的相对时间。
    [root@localhost ~]# cat /proc/loadavg
	0.00 0.01 0.04 1/104 6702
	[root@localhost ~]#
	18:27:13     up       2:41,    1 user,  load average: 0.00,    0.01,       0.04
   当前系统时间  系统状态  启动事案件 1个窗口               1分钟负载  10分钟负载   15分钟负载
    [root@localhost nginx]# while true ; do w ; sleep 1; clear; done   # 死循环

文件信息:/proc/mounts
作用:用于查看系统挂载信息情况文件
    [root@localhost nginx]# cat /proc/mounts    # 查看挂载的所有信息

文件属性

1、常见的文件类型有哪些

    d : 文件夹
    - :普通文件
    l : 链接文件
    c : 字符设备文件
    b :块设备文件
    s : socket文件
    p : 管道文件
    管道:将前面一个命令的结果交给后面一个命令来处理即为管道技术。

2、硬链接和软连接
    硬链接  : ln [源来的路径] [新的路径]
    软连接  : ln -s [源来的路径] [新的路径]
注:在linux操作系统中,硬链接个数为0时,才会删除源文件

硬链接和软连接的区别:
	软链接:相当于建立了一个新的快捷方式文件,该文件有自己的名称和inode以及物理存储的文件数据,文件数据里记录着如何跳转的设置数据,访问该快捷文件会被重新定向到原始文件,删除原始文件,软链文件失效;

	硬链接:相当于为当前文件名对应的文件再建立了一个文件别名,别名对应的inode以及物理数据都是一样的,一旦建立,我们甚至根本无法区分谁是原始文件的原始名称,删除文件的其中一个名称,文件不会丢失,除非把所有的名称都删除。
	
file文件信息:
    配置文件:.conf
    日志文件:.log
    脚本文件:.sh
    python文件:.py

用户及用户组

1、用户和用户组
	用户相当于系统管理员
	用户组相当于具备某种相同特征的一系列用户的集合
	
2、创建用户:
    useradd:创建用户
    groupadd:创建用户组
    id	    : 查看指定用户的id(默认查看当前用户)
    
    格式:useradd [选项] [名称]
    选项:
        -u  :指定uid  # uid代表用户的唯一编号
        -g  :指定gid  # gid代表用户组的唯一编号
        -r  :指定创建系统用户
        -s  :指定用户默认的解析器
        
	用户名的规范:
        1、可以包含字母和数字
        2、必须以字母开头
        
系统用户和普通用户的区别:
    系统用户一般用运行系统级别的应用程序:
    普通用户一般用来登录操作系统
    id号在 0 ~ 200之间的用户运行的是操作系统级别的应用程序
    id号在 201 ~ 999 之间的用户运行的是用户级别的应用程序
    通常情况下,id号在1000以下,那么该用户就是系统用户,在1000以上是普通用户。    

系统常用的shell解析器
	查看:[root@localhost ~]# vim /etc/passwd
    /bin/bash   # root默认解析器

    /bin/sh

    /etc/passwd文件保存的是用户信息

        
案例:创建用户
[root@localhost ~]# groupadd -g 666 meng
[root@localhost ~]# useradd -u 666 -g 666 meng