Linux 配置与磁盘管理

news2024/11/25 13:22:23

目录

    • 物理设备的命名规则
    • Linux中硬盘分区部分
    • Linux在分区上建立文件系统
    • 挂载
    • Linux硬盘管理工具
    • LVM逻辑卷管理器
      • 物理卷、卷组合逻辑卷的建立
    • 逻辑卷的使用
    • LVM整体创建流程
    • 硬盘配额配置(针对用户或者群组使用的空间)

物理设备的命名规则

Linux系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等。

如:/dev/sda5这个设备文件名称所包含信息
 
在这里插入图片描述
 

说明:
/dev:表示硬件设备文件所在的目录,也就是我们添加上面硬件设备到系统上,那么设备将在这个目录下面呈现。
/dev/sda5中的sd:sd表示是SCSI设备,hd表示IDE设备。
/dev/sda5中的/sdn,n以字母a、b、c…表示,表示的是硬盘的顺序号,假设我们现在Linux有两块硬盘,第一个是/dev/sda,第二个就是/dev/sdb。
/dev/sda5中的/sdan,n以数字表示1、2、3…表示分区的顺序号,这个顺序号可以根据fdisk命令来操作。
 
 

Linux中硬盘分区部分

首先我们需要搞懂我们创建分区是用来干什么的?
我们创建完分区之后分区是用来建立文件系统的。

查看计算机上的硬盘及分区情况的操作:fdisk -l
 
在这里插入图片描述
 
fdisk常用方法:
fdisk -l:查看计算机上的硬盘及分区情况
fdisk -d :删除磁盘分区
fdisk 具体硬盘

 
在这里插入图片描述
 
然后m参数解释:
 
在这里插入图片描述
 

在讲Linux系统分区之前,首先得介绍一下硬盘分区的知识,具体分区知识如下图所示。
 
在这里插入图片描述

 
 

Linux在分区上建立文件系统

然后我们又抛出一个问题:为什么要建立文件系统,建立文件系统后能干嘛?
为了能在硬盘分区上存储和读取文件,我们需要在分区上创建文件系统。 每一个文件系统在Linux中都被解释成由一个根目录为起点的目录树结构,并且Linux将各个文件系统挂载(mount命令)在系统目录树中使用,也就是我们可以在挂载的目录下存放文件,然后文件就存储在该分区上的意思。对于不同的设备,计算机里面有许许多多中文件系统,不同的文件系统存放和搜索文件的方式都有不同。

硬盘分区后,下一步的工作就是建立文件系统。类似于Windows下的格式化硬盘。格式化硬盘就相当于初始化操作。

建立文件系统的命令是mkfs。
查看可建立文件系统的命令是mkfs[Tab][Tab],如
在这里插入图片描述
在/dev/sdb1上创建一个xfs类型的文件系统(初始化过程)
mkfs.xfs /dev/sdb1
接下来将分区挂载到对应的目录里面。
 
 

挂载

那么什么又是挂载?

Linux 系统中“一切皆文件”,所有文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,硬件设备也都是文件,它们各有自己的一套文件系统。
因此产生的问题是,当在 Linux 系统中使用这些硬件设备时,只有将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为“挂载”。

我们先来举个例子
我们想通过Linux命令的方式来访问我们的U盘设备,但是我们的U盘设备有自己的一套文件目录结构,而我们Linux本身也有自己的一套文件目录结构。如下图所示:
 

在这里插入图片描述
 

图中可以看到,目前 Linux 系统文件和U 盘分属两个文件系统,还无法使用命令行找到 U 盘文件(无法找到/dev/sdb1下的文件如/sdb1/a),需要将两个文件系统进行挂载。

所以我们需要在Linux的根目录下面新建一个目录,如/mnt/hardware-u,通过挂载命令将U盘系统文件挂载到此目录中,如下图所示:
 

在这里插入图片描述
 
挂载完成后,U盘文件系统已经成为Linux文件系统中的一部分了,此时我们访问/mnt/hardware/就相当于访问U盘。

我们知道Linux根目录下面的/dev目录文件负责所有的硬件设备文件,当我们将U盘插入Linux后,系统会给U盘分配一个目录文件,这个就是位于/dev下面,如/dev/sdb1,但是无法通过/dev/sdb1/ 直接访问 U 盘数据,访问这个目录只会提供给我们设备的一些基本信息。所以我们必须进行挂载到Linux目录下面才可以使用。

而如果是建立好的文件系统,也可以用上面的来解释,我们在分区上建立好文件系统,但是这个文件系统比如xfs有自己的一套目录文件系统,Linux也有自己一套目录文件系统,这个时候,我们无法通过/dev/sdn的方式来访问我们在硬件分区上建立的xfs文件系统,所以我们必须将我们硬件分区上建立的xfs文件系统目录与Linux文件系统目录结构合二为一,既挂载,我们才可以在Linux系统中进行访问。

 
 

Linux硬盘管理工具

1、df命令
用来查看所有文件系统的使用情况,如容量、已用、可用、挂载点等,参数-h表示容易读取
df -h
 
在这里插入图片描述
 
2、mount、umount挂载和卸载命令
(1)mount挂载
文件系统所挂载到的目录被称为挂载点(mount point),Linux系统中提供了**/mnt/media**两个专门的挂载点。
挂载命令:mount 参数 设备 挂载点
参数:

  • -t:指定要挂载的文件系统的类型。
  • -r:如果不想修改要挂载的文件系统,可以使用该选项以只读方式挂载。
  • -w:以可写的方式挂载文件系统。
     
    (2)mount卸载

umount 命令:mount 设备 挂载点

3、文件系统自动挂载
如果要实现每次开机自动挂载文件系统,可以通过编辑/etc/fstab文件来实现。
 
在这里插入图片描述
 

例如,如果实现每次开机自动将文件系统类型为xfs的分区/dev/sdb1挂载到/sdb1目录下,需要在/etc/fstab文件中添加下面一行。
/dev/sdb1 /sdb1 xfs defaults 0 0
 
 

LVM逻辑卷管理器

LVM(Logical Volume Manager)允许用户对硬盘资源进行动态调整。也就是说LVM是管理磁盘的一种方式,核心特点是灵活调整大小,通常是空间不够用,进行扩充。比如说,我们Linux中根空间/root空间不够了,我们如何进行扩充,如果LVM的磁盘管理,那么我们就很容易进行扩充。LVM技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,卷组可以把多块硬盘进行卷组合并。这样我们就不用关系物理硬件设备的底层架构和布局就可以实现对硬盘分区的动态调整。

LVM技术架构如图所示:
 

在这里插入图片描述
 

一般而言,在生产环境中无法精确地预估每个硬盘分区在日后的使用情况,因此会导致原先分配的硬盘分区不够用。比如,伴随着业务量的增加,用于存放交易记录的数据库目录的体积也随之增加;分析并记录用户的行为导致日志目录的体积不断变大,这些都会导致原有的硬盘分区在使用上捉襟见肘。另外,还存在对较大的硬盘分区进行精简缩容的情况。

可以通过部署LVM来解决上述问题,部署LVM时,需要逐个配置物理卷、卷组和逻辑卷。

 

物理卷、卷组合逻辑卷的建立

物理卷可以建立在整个物理硬盘上,也可以建立在硬盘分区中。

  • 如在整个硬盘上建立物理卷,则不要在该硬盘上建立任何分区。
  • 如使用硬盘分区建立物理卷,则需事先对硬盘进行分区并设置该分区为LVM类型。
  •  

(1)建立LVM类型的分区
利用fdisk命令在/dev/sdc上建立LVM类型的分区。
① 先建立主分区
 
在这里插入图片描述
 
②使用t子命令将第1个分区的类型修改为LVM类型。
 

在这里插入图片描述 

③最后使用w命令保存对分区的修改,并退出fdisk命令。
 

(2)建立物理卷
利用pvcreate命令可以在已经创建好的分区上建立物理卷。物理卷直接建立在物理硬盘或者硬盘分区上,所以物理卷的设备文件使用系统中现有的硬盘分区设备文件的名称。

建立物理卷Physical Volume的过程中LVM将底层硬盘空间划分成了一个一个的PE(physical Etend),LVM磁盘管理中PE的默认大小是4M大小,PE是逻辑卷管理的基本单位比如说我有一个400M的硬盘,那么在将其格式化成PV的时候,其实际就是将这块物理硬盘划分成了100个的PE,因为PE默认的大小就是4M。(这里的PE好像不能修改)
 

在这里插入图片描述
 
物理卷的命令:

  • 创建物理卷:pvcreate 硬盘/硬盘分区
  • 显示系统上的PV信息(粗略):pvscan
  • 更加详细得显示系统上的PV信息(细致):pvdisplay
  • 删除物理卷:pvremove 硬盘/硬盘分区

 

(3)建立卷组(可以更改PE,一旦定了就不能改了)

在创建好物理卷后,使用vgcreate命令建立卷组。卷组中可以包含多个物理卷,也可以只有一个物理卷。

卷组的命令:

  • 创建卷组:vgcreate 卷组名 物理卷1 物理卷2 …
    这里的PE值使用默认的4 MB,如果需要增大可以使用-L选项,但是一旦设定以后不可更改PE的值。
  • 显示系统上的VG信息(粗略):vgscan
  • 更加详细得显示系统上的VG信息(细致):vgdisplay
  • 删除物理卷:vgremove 卷组名
     
    (4)建立逻辑卷

建立好卷组后,可以使用命令lvcreate在已有卷组上建立逻辑卷。逻辑卷设备文件位于其所在的卷组的卷组目录中,该文件是在使用lvcreate命令建立逻辑卷时创建的。
逻辑卷命令:

  • 创建逻辑卷:lvcreate
    -L选项用于设置逻辑卷大小,如:-L 20M
    -n参数用于指定逻辑卷的名称和卷组的名称,如-n 逻辑卷名 物理卷名
  • 显示系统上的LV信息(粗略):lvscan
  • 更加详细得显示系统上的LV信息(细致):lvdisplay

 
 

逻辑卷的使用

虚拟机创建过程:

发现,我们在创建系统的时候,新挂载点是使用LVM分区方案来的
 
在这里插入图片描述
 
虽然选择了LVM分区方案,但是我们的/boot分区的分区类型仍然是标准分区,因为/boot通常不需要扩大和缩小。/boot文件系统默认是xfs,一般1g就够用了。
 
在这里插入图片描述
 
swap,交换分区,也就是虚拟内存,对于swap来说,设备类型就是LVM类型了
 
在这里插入图片描述
 
根分区/和swap是一样的,如图
 
在这里插入图片描述
 

创建完进入系统:
pvdisplay
 
在这里插入图片描述
 
vgdisplay
 
在这里插入图片描述
 
lvdisplay
两个逻辑卷,一个swap,一个root,swap大小是2G,而root大小是27G,加起来就是29G,所以这两个逻辑卷占用了centos卷组的所有空间
 
在这里插入图片描述
 
在这里插入图片描述
 
使用lsblk命令来查看关系:
 
在这里插入图片描述
 
现在假设centos中的root逻辑卷空间不够了,我们需要给他增加空间,如果我们这个时候使用命令
lvextend -L -5g /dev/centos/root来给逻辑卷增加新的空间,那么肯定会失败,
因为我们的centos卷组已经没有了空间,而centos卷组的空间又来自于/dev/sda2,这个分区的空间也用完了,那么这个时候我们该怎么做呢?
我们需要创建新的物理硬盘,然后把物理硬盘变成物理卷,将物理卷加入到卷组中,然后把物理卷的空间给centos卷组,然后接下来就可以给centos卷组下的逻辑卷root增加空间了。

添加新硬盘:
 
在这里插入图片描述
 
变成物理卷
 
在这里插入图片描述
 
将物理卷添加到centos卷组中,也就是给centos卷组增加新的空间。
vgextend 哪个卷组 使用哪个物理卷来扩展
vgextend centos /dev/sdb
 
在这里插入图片描述
 
执行命令之后再看一下
 
在这里插入图片描述
 
然后拓展centos下的root逻辑卷
先使用lsblk来查看
 
在这里插入图片描述
 
使用:lvextend -L +5g /dev/centos/root
 
在这里插入图片描述
 
但是这里需要注意:我们使用df -hT来查看文件系统,容量还是之前的27g,貌似之前的修改对他没有用,所以,我们调整完逻辑卷的大小之后,也需要对文件系统的大小进行调整来匹配。
 
在这里插入图片描述
 
使用命令:xfs_growfs /dev/centos/root
如果是ext4,则xfs_growfs换成resize2fs
 
在这里插入图片描述
 
再次使用df -hT命令查看:
 
在这里插入图片描述
 

删除逻辑卷-卷组-物理卷(必须按照逻辑卷→卷组→物理卷的顺序删除)
解除挂载—>逻辑卷→卷组→物理卷的顺序

LVM整体创建流程

物理磁盘(分区需要将分区设置成LVM类型)—>建立物理卷(PV)—>指定物理卷加入卷组(VG)—》卷组中抽调空间,制作逻辑卷(LV)—>格式化,挂载
 
 

硬盘配额配置(针对用户或者群组使用的空间)

  Linux是一个多用户的操作系统,为了防止某个用户或者群组占用过多的硬盘空间,可以通过硬盘配额(Disk Quota)功能限制用户或者群组对硬盘空间的使用。在Linux系统中可以通过索引节点硬盘区块来限制用户或者群组对硬盘空间的使用。
①索引节点数(inode):指限制用户和组可以创建的文件数量。
② 硬盘区块(block):指限制用户和组可以使用的硬盘容量。

我们来举个例子:
在这里插入图片描述
 
1、创建用户并添加到myqutogrp组中。

#!/bin/bash
# 使用script来建立实验quota所需的环境
groupadd myquotagrp
for username in myquota1 myquota2 myquota3 myquota4 myquota5
do
         useradd   -g  myquotagrp $username
         echo   "password"|passwd  --stdin $username
done

 
2、查看文件系统支持
要使用Quota(配额)必须要有文件系统的支持。假设你已经使用了预设支持Quota的核心,那么接下来就是要启动文件系统的支持。不过,先检查一下/home是否是个独立的filesystem呢?这需要使用“df”命令。
 
在这里插入图片描述 
在这里插入图片描述
 
从上面的数据来看,
这部主机的/home确实是独立的文件系统,因此可以直接限制/dev/sda2。
如果你的系统的/home并非独立的文件系统,那么可能就得要针对根目录(/)来规范。
使用mount查询一下/home的文件系统是什么。
如果是ext3/ext4/xfs,则支持Quota。
 

3、编辑配置文件fstab启用硬盘配额
① 编辑配置文件fstab,在/home目录项下加“uquota,grpquota”参数,存盘退出后重启系统。
 
在这里插入图片描述
 
② 在重启系统后使用mount命令查看,即可发现/home目录已经支持quota硬盘配额技术了:
 
在这里插入图片描述
 
③ 接下来针对/home目录增加其他人的写入权限,保证用户能够正常写入数据(这里看不懂的可以往下看拓展chmod命令):
 

在这里插入图片描述
 
4、使用xfs_quota命令设置硬盘配额
这里先说一下软限制和硬限制
软限制:超过这个值会有提示
硬限制:超过这个值之后就不能操作了
xfs_quota命令来设置用户myquota1对/home目录的quota硬盘容量配额。
上面的要求是:(5个用户都能够取得300MB的硬盘使用量(hard),文件数量则不予限制。此外,只要容量使用超过250MB,就予以警告(soft))
具体的配额控制包括:硬盘使用量的软限制和硬限制分别为250MB和300MB,文件数量的软限制和硬限制不作要求。
 

① 下面配置硬限制和软限制,并打印/home的配额报告。

[root@Server01 ~]# xfs_quota -x -c 'limit bsoft=250m bhard=300m isoft=0 ihard=0 myquota1' /home

[root@Server01 ~]# xfs_quota -x -c report /home

 
在这里插入图片描述
 

② 其他4个用户的设定可以使用quota复制。

[root@Server01 ~]# edquota -p myquota1 -u myquota2
[root@Server01 ~]# edquota -p myquota1 -u myquota3
[root@Server01 ~]# edquota -p myquota1 -u myquota4
[root@Server01 ~]# edquota -p myquota1 -u myquota5
[root@Server01 ~]# xfs_quota -x -c report /home

 
③ 更改组的quota配额
配额的单位是Bytes,1GB=1048576Bytes,这就是硬限制数,软件限制设为900000Bytes。如下所示。配置完成后存盘退出。

[root@Server01 ~]# edquota -g myquotagrp     //组的配置貌似是固定的
Disk quotas for group myquotagroup (gid 3007):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda2                        60     900000    1048576   

 

④ 最后,将宽限时间改成14天。配置完成后存盘退出。

[root@Server01 ~]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be:days,hours,minutes,or seconds
 Filesystem      Block grace period   Inode grace period
 /dev/sda2            14days             7days
#原本是7days,我们将他给改为14days!

 

使用repquota命令查看文件系统的配额报表

 [root@Server01 ~]# repquota /dev/nvme0n1p2
** Report for user quotas on device /dev/nvme0n1p2
Block grace time: 14days; Inode grace time: 7days
                        Block limits                File limits
User       		used    	soft    hard  	grace   used  soft  hard  grace
----------------------------------------------------------------------
root      	                        --   0       	0       	0            3   	0     0       
......
myquota1  	--   12  	256000  307200            7 	0     0       
myquota2  	--   12  	256000  307200            7     	0     0       
myquota3  	--   12  	256000  307200            7     	0     0       
myquota4  	--   12  	256000  307200            7     	0     0       
myquota5  	--   12  	256000  307200            7     	0     0 

 
在这里插入图片描述

 
 

拓展一下chmod命令:(会的人可以跳过这里)
Linux chmod命令是控制用户对文件的权限的命令。
Linux/Unix的文件调用权限分为三级:文件所有者(Owner)、用户组(Group)、其他用户(Other Users).
 
请添加图片描述
 
chmod语法:chmod [-cfvR] [–help] mode file
参数说明:
mode:[ugoa…] [[±=][rwxX]…][,…]
其中:

  • u 表示该文件的拥有者,g 表示群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
    • 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

其他参数说明:

  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • 其他的没什么作用

请添加图片描述
 
举例子:
1、将文件 file1.txt 设为所有人皆可读取 :

chmod ugo+r file1.txt
  或者
chmod a+r file1.txt
  或者
chmod 777 file1.txt

2、将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入

chmod ug+w,o-w file1.txt file2.txt

3、为 ex1.py 文件拥有者增加可执行权限

chmod u+e ex1.py

4、将目前目录下的所有文件与子目录皆设为任何人可读取

chmod -R a+r *

 
  
  
  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分析trace 知识点分析的很全面

Total time breakdown:依据关键tag拆分,比如binderapplication/activitystart/doframe 找出时间差异大tag的cpu status :Running/Runnable/Sleeping/Uninterruptible sleep Running:SW-diff-check 或 cpu能力(大小核或频率) Runna…

v-for比v-if优先级更高?面试官:回去等通知吧

大厂面试题分享 面试题库 前后端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 web前端面试题库 VS java后端面试题库大全 前言 v-if和v-for哪个优先级更高呢?这是面试官常常问到的一个问题,…

七、vue-基础之条件渲染

一、条件渲染 在某些情况下,我们需要根据当前的条件决定某些元素或者组件是否渲染,这个时候我们就需要进行条件判断了。 Vue提供了下面的指令来进行条件判断: v-ifv-elsev-else-ifv-show (1)需求demo体验 我们直接…

Win11的两个实用技巧系列之内存不足导致永劫无间闪退解决方法、Win11本地安全机构保护误报修复方法

Win11内存不足导致永劫无间闪退解决方法 Win11内存不足导致永劫无间闪退怎么办?其实解决方法很简单,本文就为大家带来了详细的解决方法,感兴趣的朋友一起看看吧 Win11内存不足导致永劫无间闪退怎么办?永劫无间出现闪退的情况可能…

python练手小案例——采集二手车数据

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 本次案例亮点: 1、系统分析目标网页 2、html标签数据解析方法 3、海量数据一键保存 环境介绍: 在开始写我们的代码之前,我们要准备好运行代码的程序 Python 3.8.8 | Anaconda, Inc. :解释器 Pych…

物联网|ARM|Keil安装|MDK|增加V5编译器|物联网开发系列课程之零基础玩转Cortex-M系列CPU-学习笔记(1)

文章目录 第一阶段-课程背景及简介问题一 什么是物联网问题二 嵌入式系统在物联网中的角色问题三 不一样的嵌入式系统 课程介绍课程内容提要(学什么)课程特色课程要求(怎么学)课程目的(怎么用)课程约定 浅谈ARM什么是ARMARM体系架构CPU的特点ARM体系架构…

04-24 每日一题 1163. 按字典序排在最后的子串 学习笔记反思

不晓得脑袋的灵活性是不是和精力的充沛程度相关,看到红色的困难,感觉自信都没了 题目描述 给你一个字符串 s ,找出它的所有子串并按字典序排列,返回排在最后的那个子串 示例 1 :::success 输入:s “abab” 输出&…

【CocosCreator入门】CocosCreator组件 | Button(按钮)组件

Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中的Button组件可以通过设置按钮的状态和点击事件,实现在游戏中添加按钮交互的功能。 目录 一、组件介绍 二、组件属性 三、点击事件 Ⅰ、通过属性检查器添加回调 Ⅱ、通…

【AI话题】Chatbot UI下实现的对话模拟机

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 项目初衷:一、功能介绍:二、使用说明:1.注意事项: 三,未来功能:总结 项目初衷: …

让人悲观的国内ChatGPT的未来

最近关于ChatGPT的火爆已经不是简单的AI圈的事了,它已经席卷了所有的IT、媒体圈子,甚至是不同领域不同行业的人,只要你还对于变化与AI有一定的了解,那我相信你一定能知道ChatGPT是什么了。ChatGPT在某种程度上已经是相当于AGI通用…

时间序列的数据分析(七):数据平稳性

之前已经完成了六篇关于时间序列的博客,还没有阅读过的读者请先阅读: 时间序列的数据分析(一):主要成分 时间序列的数据分析(二):数据趋势的计算 时间序列的数据分析(三):经典时间序列分解 时间序列的数据分析(四):STL分解时间序列的数据分析(五):简单…

怎么使用gpt4-在哪里使用gpt

gpt-4怎么用 目前,GPT-4尚未发布或公开释放。因此,我们目前无法使用GPT-4。GPT-4是由OpenAI公司开发的人工智能语言模型,其预计能够比先前的版本GPT-3更加强大和智能化,但我们需要等待OpenAI官方发布有关GPT-4的更多信息。 如果…

搜索引擎找外贸客户

说起搜索引擎,我们每个人都不陌生,也许第一时间就能想到平日经常使用的“百度一下”和凭借强大算法及丰富功能占据近85%市场份额的谷歌搜索(Statista 2023年1月数据)这些耳熟能详的搜索引擎。对于外贸人而言搜索引擎也是非常实用的…

内卷的上海车展上,百度Apollo带来新型开放整零关系

/ 导读 / 汽车的智能化发展已然成为了当前市场最有热度的话题,更有希望引领新一代产业革命的浪潮。百度作为最早探索智能驾驶领域的企业之一,多年来始终打磨技术产品,已经形成了全栈的解决方案,从而帮助企业造好车。 在上海车展前…

谁不看谁是

报错Cannot create property type on string 是因为 你定义的相关变量是字符串 改成这样就行了 vue报错Cannot set properties of undefined (setting ‘xxx‘) 是因为没获取到值,需要在方法外层定义变量等于this,然后在方法内使用变量.name去查找值&a…

项目沟通管理5大技巧 第4个很重要

1、充分使用twitter管理沟通模型 项目沟通会议可以充分使用witter的管理沟通模型,提高会议沟通效率。使用此模型,主要是有三步: 第一步:倾听,项目经理需要保持中立的立场,不先表态,让团队成员畅…

nacos 1.4.2升级到nacos 2.1.1遇到的一些坑

文章目录 1 前言2 拉取nacos配置失败2.1 可能是端口号问题2.2 可能存在jar冲突2.3 可能nacos配置不对 1 前言 为了各组件更好的的兼容,最近系统进行了nacos升级, 由1.4.2升级为2.1.1,这里把遇到的一些坑做一下记录。 2 拉取nacos配置失败 在升级后&am…

Vue(事件处理、计算属性、监视属性)

一、事件处理 1. 语法 Vue模板 v-on:xxx"处理函数" xxx(作为绑定事件的简写)"处理函数" xxx指代的都是事件名 Vue实例 必须使用methods配置对象(配置多个函数方法) methods中配置函数,都是Vue…

哈希表题目:网格照明

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:网格照明 出处:1001. 网格照明 难度 6 级 题目描述 要求 在 n n \texttt{n} \times \texttt{n} nn 的二维网格 grid \texttt{grid}…

【C++技能树】原来比C方便这么多 --引用、内联函数、Auto、NULL与nullptr

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…