磁盘文件系统管理与LVM逻辑卷
一、磁盘以及分区管理
无论是Linux系统还是Windows系统、当现有硬盘的规划不能满足当前需求时、我们就需要将其重新规划和调整
实现上述操作我们就需要用到fdisk磁盘及分区管理工具、此工具是大多数Linux系统中所自带的基本工具
下面我将在Vmware增加一块硬盘、以此来介绍fdisk工具的使用、真实环境需要在机箱内进行硬盘接口的物理连接
1)检测并确认新的硬盘
[root@node1 ~]# fdisk -l #检查 磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区 #第一块硬盘、20G Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000bedd6 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 41943039 19921920 8e Linux LVM -------------------------------------------------------------------------------------- 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 #第二块硬盘、60G Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
上面的信息包括了硬盘的整体情况、其中sda为原有设备、sdb为我后面加的、对于已有的分区输出的信息如下所示:
Device:设备文件名 Boot: 是否为引导分区、*代表有、反之则无 Start: 该分区在硬盘中的起始位置(柱面数) End: 该分区在硬盘中的结束为止(柱面数) Blocks:分区大小、以块为单位、默认块大小为1024字节 Id: 分区所对应的系统ID号、83为EXT4、8e表示LVM System:分区类型
2)规划硬盘中的分区
硬盘的、创建、更改、删除、等操作同样通过fdisk命令进行、只需硬盘设备文件作为参数即可、如fdisk /dev/sdb、即可进入交互式的分区管理界面中、如下所示:
[root@node1 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0x7b19e229 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):
1、输入 p 列出分区情况
命令(输入 m 获取帮助):p 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xc63c09ec 设备 Boot Start End Blocks Id System #啥都没有、因为我还没分区
2、输入 n 新建分区
n为新建、包括主分区和扩展分区、输入n之后、根据提示选择、p创建主分区、e创建扩展分区、l创建逻辑分区
选择分区号的时候、主分区和扩展分区的序列号只能为1-4、起始位置默认识别、结束位置可使用、+sizeM、+sizeG
3、创建一个主分区、容量指定为40G
命令(输入 m 获取帮助):n #新建 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p #主分区 分区号 (1-4,默认 1):1 #分区号 起始 扇区 (2048-125829119,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-125829119,默认为 125829119):+40G #容量为40G 分区 1 已设置为 Linux 类型,大小设为 40 GiB
4、创建一个扩展分区(容量为10G)、和两个逻辑分区(容量分别为5G)
命令(输入 m 获取帮助):n #创建扩展分区 Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): e 分区号 (2-4,默认 2):4 起始 扇区 (83888128-125829119,默认为 83888128): 将使用默认值 83888128 Last 扇区, +扇区 or +size{K,M,G} (83888128-125829119,默认为 125829119):+10G 分区 4 已设置为 Extended 类型,大小设为 10 GiB 命令(输入 m 获取帮助):n #创建第一个逻辑分区 Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): l 添加逻辑分区 5 起始 扇区 (83890176-104859647,默认为 83890176): 将使用默认值 83890176 Last 扇区, +扇区 or +size{K,M,G} (83890176-104859647,默认为 104859647):+5G 分区 5 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):n #创建第二个逻辑分区 Partition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5) Select (default p): l 添加逻辑分区 6 起始 扇区 (94377984-104859647,默认为 94377984): 将使用默认值 94377984 Last 扇区, +扇区 or +size{K,M,G} (94377984-104859647,默认为 104859647):+5G 将使用默认值 104859647 分区 6 已设置为 Linux 类型,大小设为 5 GiB 命令(输入 m 获取帮助):p #查看刚刚所创建的分区、分别为一个主分区、一个扩展分区、两个逻辑分区 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xc63c09ec 设备 Boot Start End Blocks Id System /dev/sdb1 2048 83888127 41943040 83 Linux /dev/sdb4 83888128 104859647 10485760 5 Extended /dev/sdb5 83890176 94375935 5242880 83 Linux /dev/sdb6 94377984 104859647 5240832 83 Linux
5、输入 d 删除分区
d为删除指定的分区、根据提示后面接分区序号即可
需要注意的是、如果扩展分区被删除、则下面的逻辑分区也会被删除、下面的操作为删除逻辑分区/dev/sdb6
命令(输入 m 获取帮助):d #准备删除分区 分区号 (1,4-6,默认 6):6 #输入序号 分区 6 已删除 命令(输入 m 获取帮助):p #再次查看已经被删除 磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0xc63c09ec 设备 Boot Start End Blocks Id System /dev/sdb1 2048 83888127 41943040 83 Linux /dev/sdb4 83888128 104859647 10485760 5 Extended /dev/sdb5 83890176 94375935 5242880 83 Linux
6、输入 t 变更分区类型
新建分区默认为EXT4或是XFS、无需变更、如果需要创建交换分区、则需要对分区类型进行变更以保持一致性
t可变更分区的ID号、依次输入目标分区序号、新的系统ID号即可、不同类型的文件系统对应不同ID、82为swap
命令(输入 m 获取帮助):t 分区号 (1,4-6,默认 6):6 Hex 代码(输入 L 列出所有代码):82 已将分区“Linux”的类型更改为“Linux swap / Solaris”
7、输入w和q退出
完成对硬盘的操作之后、可执行w和q、前者为保存退出、后者为不保存退出
命令(输入 m 获取帮助):w #保存并退出 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@node1 ~]# partprobe /dev/sdb #更新分区表信息、重新探测sdb磁盘中的分区变化
二、管理文件系统
1)创建文件系统
命令格式:mkfs -t 文件系统类型 分区设备
1、创建XFS文件系统
[root@node1 ~]# mkfs -t xfs /dev/sdb1
2、创建FAT32文件系统
[root@node1 ~]# mkfs -t vfat -F 32 /dev/sdb5
2)创建交换文件系统
命令格式:mkswap 分区设备
1、创建交换分区
[root@node1 ~]# mkswap /dev/sdb6 正在设置交换空间版本 1,大小 = 5240828 KiB 无标签,UUID=448b8a65-2083-4dc1-b571-fa9ef06f1d84
2、启用与停用交换分区
[root@node1 ~]# free -h | sed -n '1p;3p' #查看Swap的总大小、可看到为2G total used free shared buff/cache available Swap: 2.0G 0B 2.0G [root@node1 ~]# swapon /dev/sdb6 #启用交换分区sdb6 [root@node1 ~]# free -h | sed -n '1p;3p' #确认交换分区大小已经增加 total used free shared buff/cache available Swap: 7.0G 0B 7.0G
3)挂载与使用文件系统
挂载文件系统命令格式:mount -t 文件系统类型 存储设备 挂载点
卸载文件系统命令格式:umount /挂载点
1、挂载普通分区
[root@node1 ~]# mkdir /web #创建挂载点 [root@node1 ~]# mount /dev/sdb1 /web/ #将sdb1挂载至web目录 [root@node1 ~]# dsf -hT | sed -n '1p;10p' #查看是否正常挂载 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sdb1 xfs 40G 33M 40G 1% /web
2、挂载镜像文件
iso文件被视为回环文件系统、因此挂载之前需要加上 -o loop选项、如下所示将CentOS7.5这个镜像文件、挂载到/mnt目录
[root@node1 ~]# wget -c http://mirrors.sohu.com/centos/7.5.1804/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso [root@node1 ~]# mount -o loop CentOS-7-x86_64-DVD-1804.iso /mnt
3、卸载文件系统
[root@node1 ~]# umount /mnt/ #卸载刚刚所挂载到/mnt目录的ISO文件
4、设置文件系统自动挂载
/etc/fstab文件为mount的配置文件、里面包含了文件系统的静态挂载数据、每次开机时读取文件内容、并自动进行挂载
/etc/fstabe的挂载配置信息如下:
第一个字段:设备文件名
第二个字段:挂载点
第三个字段:文件系统类型、如EXT4、Swap、ISO9660
第四个字段:挂载参数、即mount -o可使用的参数、如defaults、rw、ro、noexec、分别表示默认、只读只写、禁用
第五个字段:表示文件系统是否需要dump备份、1为要、0为忽略
第六个字段:定义系统启动时磁盘检查顺序、0为不检查、1为有限检查、2为其次检查
(1)普通分区开机自动挂载
[root@node1 ~]# echo "/dev/sdb1 /web xfs defaults 0 0" >> /etc/fstab
(2)镜像文件开机自动挂载
[root@node1 ~]# echo "/root/CentOS-7.5-x86_64-DVD /mnt iso9660 defaults 0 0" >> /etc/fstab
(3)查看系统磁盘的使用情况
[root@node1 ~]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root xfs 17G 3.7G 14G 22% / devtmpfs devtmpfs 975M 0 975M 0% /dev tmpfs tmpfs 992M 0 992M 0% /dev/shm tmpfs tmpfs 992M 9.9M 982M 1% /run tmpfs tmpfs 992M 0 992M 0% /sys/fs/cgroup /dev/sdb1 xfs 40G 33M 40G 1% /web /dev/sr0 iso9660 4.2G 4.2G 0 100% /mnt /dev/sda1 xfs 1014M 157M 858M 16% /boot tmpfs tmpfs 199M 0 199M 0% /run/user/0
注意:挂载的时候文件的系统类型不能整错了、否则系统将会起不来
三、LVM逻辑卷配置与管理
1)LVM逻辑卷概述
LVM(Logical Volume Manager)即逻辑卷管理、它是Linux系统中对磁盘分区进行管理的一种机制
建立在硬盘和分区之上、文件系统之下的一个逻辑层、建立文件系统时屏蔽了下层的磁盘分区布局
所以我们可以在保持数据不变的情况下动态的去调整磁盘的容量、从而提高磁盘分区管理的灵活性
下面我们来看一下LVM的几个基本术语:
1) PV(Physical Volume)物理卷
位于系统最底层、通常对应为一个分区或整个硬盘、创建物理卷的时候会在分区或硬盘的头部创建一个保留块
用于记录LVM的属性、并把存储空间分割成默认大小为4MB的基本单元(Physical ExtendPE)、从而构成物理卷
2) VG(Volume Group)卷组
卷组位于物理卷之上、是由一个或多个卷组所组成的整体、在卷组中可动态的添加或删除物理卷、卷组名可自定义
3) LV(Logical Volume)逻辑卷
逻辑卷位于卷组之上、与物理卷没关系、对于逻辑卷来说、卷组就是一个整体、从这个整体当中切出一小块空间
作为用户创建文件系统的基础、这一小块就被称之为逻辑卷、而逻辑卷建立之后也可以动态的去扩展以及缩小空间
整体流程如下所示:
首先我们将一个普通分区或整个硬盘创建为物理卷、然后将物理卷上的存储空间组成一个逻辑整体、这就形成了卷组
最后基于这个卷组这个整体、在分割成不同的数据存储空间从而形成逻辑卷、我们需要知道的就是、逻辑卷才是用户最终可以挂载并使用的存储单位
2)LVM逻辑卷管理
LVM的管理命令主要包括三大类:PV物理卷管理、VG卷组管理、LV逻辑卷管理、对应的命令以pv、vg、lv开头
为了便于理解、我在Vmware中添加了三块硬盘、大小均为10G
每个磁盘划分成一个主分区、分别为:db1、dc1、dd1、最后将分区的类型更改为8e即可
1、PV 物理卷管理
(1)pvscan 命令、可简写为pvs
命令说明:用于扫描系统中已有的物理卷并输出相关信息
[root@node1 ~]# pvscan PV /dev/sda2 VG centos_node1 lvm2 [<19.00 GiB / 0 free] Total: 1 [<19.00 GiB] / in use: 1 [<19.00 GiB] / in no VG: 0 [0 ]
(2)pvcreate 命令
命令说明:用于将分区或硬盘创建为物理卷、主要是添加LVM属性并划分PE存储单位、后面使用设备名作为参数即可
[root@node1 ~]# pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. Physical volume "/dev/sdd1" successfully created.
(3)pvdisplay 命令
命令说明:用于显示物理卷的详细信息、指定物理卷作为参数即可
[root@node1 ~]# pvdisplay /dev/sdb1 "/dev/sdb1" is a new physical volume of "<10.00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size <10.00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID zmXIyX-nG2e-ZYr4-6lW6-r0uj-EUzm-YNFfxK
(4)pvremove 命令
命令说明:用于移除物理卷、即将物理卷还原为普通的磁盘或分区、移除之后将无法被pvscan识别
[root@node1 ~]# pvremove /dev/sdd1 Labels on physical volume "/dev/sdd1" successfully wiped.
2、VG 卷组管理
(1)vgscan 命令、可简写为vgs
命令说明:用于扫描系统中已经建立的LVM卷组及相关信息
[root@node1 ~]# vgscan Reading volume groups from cache. Found volume group "centos_node1" using metadata type lvm2
(2)vgcreate 命令
命令说明:用于将一个或多个物理卷创建为一个卷组、参数为中间卷组名、后面物理卷
[root@node1 ~]# vgcreate mds /dev/sdb1 /dev/sdc1 /dev/sdd1 #创建一个卷组、名为mds Volume group "mds" successfully created
(3)vgdisplay 命令
命令说明:用于显示系统中各个卷组的详细信息、后面接卷组名作为参数即可
[root@node1 ~]# vgdisplay mds --- Volume group --- VG Name mds System ID Format lvm2 Metadata Areas 3 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 3 Act PV 3 VG Size <29.99 GiB PE Size 4.00 MiB Total PE 7677 Alloc PE / Size 0 / 0 Free PE / Size 7677 / <29.99 GiB VG UUID 9pYNCm-el9R-XfpU-2RYB-IhSt-zZUf-h4bvp7
(4)vgremove 命令
命令说明:用于移除指定的卷组、后面使用卷组名作为参数即可
[root@node1 ~]# vgremove mds #移除名为mds的卷组 Volume group "mds" successfully removed
(5)vgextend命令
命令说明:用于扩展卷组的空间、参数为中间卷组名、后面物理卷
[root@node1 ~]# vgextend mds /dev/sdd1 #将物理卷sdd1、加入到mds卷组中 Volume group "mds" successfully extended
3、逻辑卷管理
(1)lvscan 命令、可简写为lvs
命令说明:用于扫描系统中已经建立的逻辑卷及相关信息
[root@node1 ~]# lvscan ACTIVE '/dev/centos_node1/swap' [2.00 GiB] inherit ACTIVE '/dev/centos_node1/root' [<17.00 GiB] inherit
(2)lvcreate命令
命令说明:用于从指定的卷组中分割空间、以创建新的逻辑卷、需要指定大小、逻辑卷名、卷组名作为参数
格式格式:lvcreate -L 容量大小 -n 逻辑卷名 卷组名
[root@node1 ~]# lvcreate -L +20G -n kawa mds #逻辑卷名为kawa、大小为20G Logical volume "kawa" created. [root@node1 ~]# ls /dev/mds/kawa #逻辑卷kawa的设备文件 /dev/mds/kawa [root@node1 ~]# ls /dev/mapper/mds-kawa #逻辑卷kawa的链接文件 /dev/mapper/mds-kawa
(3)lvdisplay 命令
命令说明:用于显示逻辑卷的详细信息、需要指定逻辑卷的设备文件作为参数
[root@node1 ~]# lvdisplay /dev/mds/kawa --- Logical volume --- LV Path /dev/mds/kawa LV Name kawa VG Name mds LV UUID mkyqcu-AAlA-mSIh-SRrk-Gru7-3YAQ-aQuxbV LV Write Access read/write LV Creation host, time node1, 2019-08-17 15:35:25 +0800 LV Status available # open 0 LV Size 20.00 GiB Current LE 5120 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2
(4)格式化名为kawa的逻辑卷、创建XFS文件系统、并将其挂在至/web目录
[root@node1 ~]# mkfs -t xfs /dev/mds/kawa meta-data=/dev/mds/kawa isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 [root@node1 ~]# mkdir /web [root@node1 ~]# mount /dev/mds/kawa /web #挂载至web目录 [root@node1 ~]# df -hT | sed -n '1p;10p' #验证是否挂载成功 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/mds-kawa xfs 20G 33M 20G 1% /web
(5)lvextend 命令
用于动态扩展逻辑卷的空间、前提是卷组还有尚未分配的空间、另外调整逻辑卷的容量之后、还需要执行xfs_growfs或者resize2fs以重新识别文件系统的大小
注意事项:
resize2fs 针对的是ext2、ext3、ext4文件系统 xfs_growfs 针对的是xfs文件系统
下面为刚刚创建好的逻辑卷进行扩容
[root@node1 ~]# lvextend -L +5G /dev/mds/kawa #为名为kawa的逻辑卷扩展5G空间 Size of logical volume mds/kawa changed from 20.00 GiB (5120 extents) to 25.00 GiB (6400 extents). Logical volume mds/kawa successfully resized. [root@node1 ~]# xfs_growfs /dev/mds/kawa #重新识别文件系统大小、如果是ext3、ext4则执行resize2fs meta-data=/dev/mapper/mds-kawa isize=512 agcount=4, agsize=1310720 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=5242880, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 5242880 to 6553600 [root@node1 ~]# df -hT | sed -n '1p;10p' #再次查看可以看见扩容成功 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/mapper/mds-kawa xfs 25G 33M 25G 1% /web
(6)lvremove 命令
命令说明:用于删除逻辑卷、后面接逻辑卷的设备文件作为参数即可、如下所示我们删除名为kawa的逻辑卷
[root@node1 ~]# lvremove /dev/mds/kawa Do you really want to remove active logical volume mds/kawa? [y/n]: y Logical volume "kawa" successfully removed
【只是为了打发时间】
磁盘文件系统管理与LVM逻辑卷的更多相关文章
- 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍
目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...
- Linux系统磁盘管理(lvm逻辑卷管理)
linux系统用户常遇到的一个问题就是如何精准的评估分区的大小,已分配合适的磁盘空间:普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文 ...
- Linux LVM逻辑卷配置过程详解
许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...
- LVM逻辑卷的创建及使用
在上一篇随笔里面 LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE.PV.VG以及LV),这 ...
- LVM逻辑卷基本概念及LVM的工作原理
这篇随笔将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!! 一.传统的磁盘管理 其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是 ...
- Linux磁盘管理:LVM逻辑卷的创建及使用
一.创建LVM逻辑卷 事先添加了三块虚拟物理磁盘/dev/sdb 1G, /dev/sdc 2G, /dev/sdd 3G 使用fdisk –l命令查看: [root@localhost ~]# fd ...
- LVM备份(2)-创建LVM逻辑卷
懵逼了几天,对LVM快照备份总算有了个比较清晰的认识 总的来说,就是这样: 1.普通分区备份比较困难,需要转化成LVM逻辑卷进行管理 2.在新创建的LVM逻辑卷上进行业务操作,比如建数据库 3.某个时 ...
- LVM备份(1)-创建LVM逻辑卷
LV(Logical Volume) - 逻辑卷 VG(Volume Group) - 卷组 PV(Physical Volume) - 物理卷 1.查看分区信息:fdisk -l 可看到磁盘大小为1 ...
- LVM逻辑卷扩容、缩容
LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理. 后期出现问题恢复数据也比较麻烦. 概念: ①PE(P ...
随机推荐
- Animator的小记
前阵子在做动画相关的内容,整理一下Animator. 1.动画切换 1.1状态之间的切换,在状态间连线(Make Transition),并且设置触发条件,代码里调用SetTrigger.SetBoo ...
- 【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?
在使用GeneXus开发项目的过程中,有很多用户会使用到WorkWithPlus这个模板.通过WorkWithPlus的编辑器,让页面的调整变得极为简单,尤其是响应式页面.在WorkWithPlus的 ...
- P2365 任务安排 batch 动态规划
batch ★☆ 输入文件:batch.in 输出文件:batch.out 简单对比时间限制:1 s 内存限制:128 MB 题目描述 N个任务排成一个序列在一台机器上等待完成(顺序不 ...
- light题目讲解 7.25模拟赛T1
心得:这一道题其实就是自己打暴力打出来的 没有想到正解真的就是暴力枚举 我的做法是这样的 就是枚举A字符串中长度为x的子串 看它是不是B串的子序列 接下来是我的绝望考试代码(100分AC) //lig ...
- 设置Linux主机SSH访问服务
检查是否开启22端口访问权限. 检查是否安装openssh-server 开启ssh服务:sudo service sshd start 使用ssh客户端进行访问:ssh userName@IP
- Ubuntu 设置中文输入法
环境:新安装的Ubuntu 16.04 LTS 本来打算使用sogou拼音,但是在输入后的提示框中内容为乱码,因此尝试重新安装. 1.sudo apt-get remove sogoupinyin & ...
- 个人任务day6
今日计划: 学会将网页放到公用网络上,并生成快捷方式. 昨日成果:完成登录页面.
- Java中SMB的应用
目录 SMB 服务操作 Ⅰ SMB简介 Ⅱ SMB配置 2.1 Windows SMB Ⅲ 添加SMB依赖 Ⅳ 路径格式 Ⅴ 操作共享 Ⅵ 登录验证 SMB 服务操作 Ⅰ SMB简介 SMB(全称 ...
- (转) exp1-3://一次有趣的XSS漏洞挖掘分析(3)最终篇
这真是最后一次了.真的再不逗这个程序员了.和预期一样,勤奋的程序员今天又更新程序了.因为前面写的payload都有一个致命的弱点,就是document.write()会完全破坏DOM结构.而且再“ ...
- scikit-learn基础
一.scikit-learn基础 sklearn.ensemble模块有两种基于决策树的算法----随机森林和极端随机树