RHCSA_DAY10
分区过程
添加新硬盘--分区--格式化文件系统--挂载使用
扇区是磁盘存储数据的最小单元,默认一个扇区可以存储512字节的数据
磁盘类型介绍
IDE接口类型:主要用于个人家用计算机领域,优点价格便宜,去点数据传输速度慢
SCSI接口类型:主要用于服务器理领域,数据传输速度快,支持热插拔
STAT接口类型:串口磁盘,主要用于个人家用计算机领域
NVMe接口类型:固态硬盘接口
光纤通道接口:
Linux常用分区格式
MBR分区格式:比较古老的分区格式,分为主分区,只能划分4个主分区,扩展分区(容器)逻辑分区
IDE接口硬盘逻辑分区最多可以划分59个
SCSI接口硬盘逻辑分区最多可以划分11个
最大支持2.2T以内磁盘容量
GPT分区格式:可划分128个主分区,最大支持18EB磁盘容量(1EB=1024PB,1PB=1024TB,1TB=1024GB)
文件系统类型详解
文件管理系统,赋予分区文件系统分区才可以正常的使用,根文件系统,多少个多少个文件系统
CentOS5:分区默认使用文件系统类型ext3
CentOS6:分区默认使用文件系统类型ext4
ext4日志记录功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来
单个文件系统最大支持1EB的分区容量,单个文件最大可以存储16TB数据
CentOS7:分区默认使用文件系统类型xfs
xfs开启了日志记录的功能,数据恢复的时候比ext4文件系统块
单个文件系统最大支持8EB分区容量,单个文件最大可以存储500TB的数据
单个文件每秒读写数据的速度可以达到4G
swap文件系统:交换分区,硬盘空间去充当内存去使用
挂载
在Linux系统中用户无法直接使用硬件设备的,硬件设备在系统中都是以只读的方式存在的,必须挂载
挂载就是给我们用户提供一个可以使用设备的一个接口
挂载注意事项:
挂载点必须是一个目录,理论上还得是一个空目录
一个文件系统不允许重复挂载到多个目录下
一个目录不允许重复挂载多个文件系统
lsblk查看系统所有磁盘信息
lsblk(英文全拼:list block)用于列出当前系统所有磁盘与磁盘内的分区信息
命令格式:lsblk [选项...] [设备名]
常用选项:
-d #仅显示磁盘本身,不会列出磁盘的分区数据
-f #列出磁盘分区使用的文件系统类型
lsblk命令示例
#列出当前系统所有磁盘与磁盘内的分区信息
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /mnt/centos
#sda1:sd代表SCSI磁盘,a代表第一块磁盘,1代表第一个分区
#sdb:sd代表SCSI磁盘,b代表第二块磁盘,1代表第一个分区
#解释:
NAME #设备名称
MAJ:MIN #主设备号:次设备号,内核通过主次设备号识别磁盘
RM #是否为可卸载设备,1可卸载,0不可卸载
SIZE #设备的容量大小
RO #表示设备是否为只读,0非只读设备,1只读设备
TYPE #表示设备类型(disk为磁盘,part为分区,lvm逻辑卷,rom只读)
MOUNTPOINT #设备挂载点(SWAP没有挂载点)
#列出指定的磁盘信息
[root@localhost ~]# lsblk -d /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
#列出所有磁盘分区内使用的文件系统类型
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 4cb9bb38-c34a-4415-9614-ba38642bb86d /boot
└─sda2 LVM2_member cKn0jP-z8Bq-SNvl-BsNa-7vTg-GBU2-OiHCro
├─centos-root xfs 55dad88d-a600-42d1-b387-236db62ce396 /
└─centos-swap swap 2e91599a-6d72-483d-add8-6dfb84296170 [SWAP]
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 /mnt/centos
#列出指定分区的文件系统类型
[root@localhost ~]# lsblk -df /dev/sda1
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 xfs 4cb9bb38-c34a-4415-9614-ba38642bb86d /boot
df查看分区使用情况
df命令用于查看文件系统使用情况
命令格式:df [选项...] [参数...]
常用选项:
-h 以人类易读方式显示文件系统容量
-T 显示文件系统类型
df 命令示例
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 17811456 3746320 14065136 22% /
devtmpfs 480884 0 480884 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 8340 489608 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sr0 4480476 4480476 0 100% /mnt
/dev/sda1 1038336 169448 868888 17% /boot
tmpfs 99592 12 99580 1% /run/user/42
tmpfs 99592 0 99592 0% /run/user/0
[root@localhost ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 3.6G 14G 22% /
du统计文件/目录大小
du命令用于统计磁盘下目录或文件大小
命令格式:du [选项...] [参数...]
常用选项:
-h #以人类易读方式(Kb,MB,GB)显示文件大小
-s #只统计每个参数的总数
du 命令示例
[root@qm ~]# du -sh /root
5.8M /root
[root@qm ~]# ls
anaconda-ks.cfg upload 模板 图片 下载 桌面
initial-setup-ks.cfg 公共 视频 文档 音乐
[root@qm ~]# ll upload
-rw-r--r--. 1 root root 0 7月 12 10:11 upload
[root@qm ~]# du -sh upload
0 upload
[root@qm ~]#
/dev/目录下文件详解
[root@localhost ~]# ls /dev
hd[a-t]:IDE设备
sd[a-z]:SCSI设备
fd[0-7]:软盘驱动设备
md[0-32]:软RAID设备
loop[0-7]:本地回环设设备
lp[0-3]:打印机设备
mem:内存设备
null:空设备,也称为黑洞,任何写入的数据都将被丢弃
zero:零资源设备,任何写入的数据都将被丢弃
full:满设备,任何写入的数据都将失败
tty[0-63]:虚拟终端设备
random:随机数设备
urandom:随机数设备
port:存取I/O端口
blkid查看设备属性
blkid命令显示块设备属性信息(设备名称,设备UUID,文件系统类型)
命令格式:blkid [选项...] [参数...]
blkid命令示例
#显示系统所有块设备属性信息
[root@localhost ~]# blkid
/dev/sda1: UUID="4cb9bb38-c34a-4415-9614-ba38642bb86d" TYPE="xfs"
/dev/sda2: UUID="cKn0jP-z8Bq-SNvl-BsNa-7vTg-GBU2-OiHCro" TYPE="LVM2_member"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-root: UUID="55dad88d-a600-42d1-b387-236db62ce396" TYPE="xfs"
/dev/mapper/centos-swap: UUID="2e91599a-6d72-483d-add8-6dfb84296170" TYPE="swap"
#查看执行分区属性信息
root@localhost ~]# blkid /dev/sda1
/dev/sda1: UUID="4cb9bb38-c34a-4415-9614-ba38642bb86d" TYPE="xfs"
MBR分区格式
fdisk命令用于查看磁盘使用情况和磁盘分区(MBR分区格式)
命令格式:fdisk [选项...] [设备路径]
常用选项:-l 列出磁盘分区表类型与分区信息
分区
[root@localhost ~]# fdisk /dev/sdb
m #获取命令帮助 ※
p #显示磁盘分区表 ※
n #新增加一个分区 ※
q #不保存分区退出 ※
d #删除一个分区 ※
w #保存分区退出 ※
a #设置可引导标记
b #编辑bsd磁盘标签
c #设置DOS操作系统兼容标记
l #显示已知的文件系统类型,82为swap交换分区,83为Linux分区
o #建立空白DOS分区表
s #新建空白SUN磁盘标签
t #改变分区的系统ID
u #改变显示记录单位
v #验证分区表
x #附加功能
命令(输入 m 获取帮助):m
命令(输入 m 获取帮助):p
#划分第一个主分区
命令(输入 m 获取帮助):n
Select (default p): 回车
分区号 (1-4,默认 1):回车
起始 扇区 (2048-209715199,默认为 2048):回车
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+10G #指定大小(K,M,G)
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
#划分第二个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (2-4,默认 2):
起始 扇区 (20973568-209715199,默认为 20973568):
Last 扇区, +扇区 or +size{K,M,G} (20973568-209715199,默认为 209715199):+10G #指定分区大小
#划分第三个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
#查看分区信息
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
/dev/sdb3 41945088 62916607 10485760 83 Linux
#划分第四个分区
命令(输入 m 获取帮助):n
Select (default e): p
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):+10G
#继续划分分区
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
#提示如果想要创建更多的分区,先将一个主分区替换为扩展分区
#删除分区
命令(输入 m 获取帮助):d4
分区号 (1-4,默认 4):
分区 4 已删除
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):3
分区 3 已删除
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
#创建主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
#创建按扩展分区
命令(输入 m 获取帮助):n
Select (default e):
Using default response e
已选择分区 4
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):
分区 4 已设置为 Extended 类型,大小设为 70 GiB
#创建逻辑分区
命令(输入 m 获取帮助):n
添加逻辑分区 5
起始 扇区 (62918656-209715199,默认为 62918656):
Last 扇区, +扇区 or +size{K,M,G} (62918656-209715199,默认为 209715199):+10G
分区 5 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
/dev/sdb3 41945088 62916607 10485760 83 Linux
/dev/sdb4 62916608 209715199 73399296 5 Extended
/dev/sdb5 62918656 83890175 10485760 83 Linux
命令(输入 m 获取帮助):w
格式化文件系统
mkfs命令用于在分区上建立文件系统
常用文件系统类型
ext4,xfs
命令格式:
mkfs.xfs 分区设备路径 #格式化为xfs类型文件系统
mkfs.ext4 分区设备路径 #格式化为ext4类型文件系统
#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/sdb1
#查看文件系统类型
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="3bb79b0b-3f17-4ad9-ad47-f00dcb6a5afa" TYPE="xfs"
mount挂载
- mount文件系统挂载命令
- 命令格式:mount 设备路径 挂载点目录
#创建挂载点目录
[root@localhost ~]# mkdir /mybak
#挂载文件系统
[root@localhost ~]# mount /dev/sdb1 /mybak
#查看正在使用中的分区信息
[root@localhost ~]# df -Th
[root@localhost ~]# df -Th /mybak
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 xfs 10G 33M 10G 1% /mybak
总结:
添加硬盘---查看系统是否识别新硬盘 lsblk
划分分区---fdisk 设备路径
格式化文件系统---mkfs.xfs
挂载---创建挂载点目录--挂载 mount 设备路径 挂载点目录
查看分区使用情况 df -hT
umount卸载
- umount命令用于卸载文件系统
- 命令格式:umount 挂载点目录
#卸载文件系统[root@localhost ~]# umount /mybak[root@localhost ~]# df -h
开机自动挂载
- /etc/fstab用于存放文件系统信息,当系统启动时,系统会自动读取文件内容将指定的文件系统挂载到指定的目录
- 文件内容详解
[root@localhost ~]# vim /etc/fstab/dev/mapper/centos-root / xfs defaults 0 0UUID=5d36a8b5-5a58-450f-acf9-81fcddaa62de /boot xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0#解释:该文件内容为6个字段,每个字段详解如下第一个字段:要挂载的设备路径第二个字段:挂载点目录第三个字段:设备文件系统类型第四个字段:挂载参数,参数如下↓sync,async: 此文件系统是否使用同步写入 (sync) 或异步 (async) 的内存机制,默认为异步(async) atime,noatime:更新访问时间/不更新访问时间,访问分区时,是否更新文件的访问时间,默认为更新ro,rw:挂载文件为只读(ro)或读写(rw),默认为rwauto,noauto:自动挂载/手动挂载,执行mount -a时,是否自动挂载/etc/fstab文件内容,默认为自动(auto)dev,nodev:是否允许此文件系统上,可建立装置文件,默认为允许(dev)suid,nosuid:是否允许文件系统上含有SUID与SGID特殊权限,默认为允许(SUID)exec,noexec:是否允许文件系统上拥有可执行文件,默认为允许(exec)user,nouser:是否允许普通用户执行挂载操作,默认为不允许(nouser),只有root用户可以挂载分区defaults默认值:代表async,rw,auto,dev,suid,exec,nouser七个选项第五个字段:是否对文件系统进行备份,0不备份,1为备份第六个字段:是否检查文件系统顺序,允许的数字是0,1,2,0表示不检查,1的优先权最高/dev/mapper/centos-root / xfs defaults 0 0UUID=ae55ec6b-973b-498e-a366-f35e14b3d153 /boot xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0/dev/sdb1 /mybak xfs defaults 0 0 #手动添加
mount常用选项:
-a:依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来
-o:该选项后边可跟挂载时额外参数
remount命令:重新挂载文件系统,在文件系统出错时或重新挂载文件系统时非常重要
[root@localhost ~]# mount -a
GPT分区格式
gdisk命令用于查看磁盘使用情况和磁盘分区(GPT分区格式)
命令格式:gdisk [选项...] [设备路径]
常用选项:-l 列出磁盘分区表类型与分区信息
[root@localhost ~]# gdisk /dev/sdcGPT fdisk (gdisk) version 0.8.10 #GPT版本Partition table scan: #分区表扫描 MBR: not present #MBR分区不存在 BSD: not present #BSD分区不存在 APM: not present #APM分区不存在 GPT: not present #GPT分区不存在Creating new GPT entries. #创建新的GPT分区Command (? for help): ? #输入?号获取命令帮助p #显示磁盘分区表 ※n #新增加一个分区 ※q #不保存分区退出 ※d #删除一个分区 ※w #保存分区退出 ※#创建新的分区Command (? for help): nPartition number (1-128, default 1): 回车First sector (34-209715166, default = 2048) or {+-}size{KMGTP}: 回车 #输入起始扇区,默认2048开始Last sector (2048-209715166, default = 209715166) or {+-}size{KMGTP}: +20G #输入新增分区的大小,可以通过扇区数来增加,也可以通过+size{KMGTP}方式来增加Hex code or GUID (L to show codes, Enter = 8300): #这里要求输入分区的类型,直接回车就行#查看分区类型Command (? for help): p #输入p查看创建的分区Disk /dev/sdc: 209715200 sectors, 100.0 GiB #磁盘总容量...Total free space is 167772093 sectors (80.0 GiB) #磁盘剩余容量Number Start (sector) End (sector) Size Code Name 1 2048 41945087 20.0 GiB 8300 Linux filesystem#以创建的分区Command (? for help): w #输入w保存配置,如果不想保存可以输入q退出Do you want to proceed? (Y/N): y #问你是否相想继续,输入y继续 OK; writing new GUID partition table (GPT) to /dev/sdc.The operation has completed successfully. #写入成功#格式化文件系统[root@localhost ~]# mkfs.xfs /dev/sdc1#查看文件系统类型[root@localhost ~]# blkid /dev/sdc1/dev/sdc1: UUID="c57746eb-8170-4c86-82ad-6aae95de19f3" TYPE="xfs" #创建挂载点[root@localhost ~]# mkdir /webbak[root@localhost ~]# mount /dev/sdc1 /webbak[root@localhost ~]# df -hT/dev/sdc1 xfs 20G 33M 20G 1% /webbak#开机自动挂载[root@localhost ~]# vim /etc/fstab/dev/mapper/centos-root / xfs defaults 0 0UUID=ae55ec6b-973b-498e-a366-f35e14b3d153 /boot xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0/dev/sdb1 /mybak xfs defaults 0 0 /dev/sdc1 /webbak xfs defaults 0 0 #手动添加[root@localhost ~]# mount -a
LVM逻辑卷
逻辑卷:LVM(Logical Volume Manager)逻辑卷管理系统
逻辑卷可以实现将底层的物理分区整合成一个大的虚拟硬盘
逻辑卷技术是通过Linux系统内核dm(device mapper)设备映射组件
创建卷组
- 创建卷组思路:将创建好的物理卷组成卷组(或者直接创建卷组)
- 命令格式:vgcreate 卷组名 设备路径1 设备路径2...
#创建卷组[root@localhost ~]# vgcreate systemvg /dev/sdb2 /dev/sdb3#详细显示卷组信息[root@localhost ~]# vgdisplay systemvg --- Volume group --- VG Name systemvg #卷组名字 System ID Format lvm2 #卷组格式 Metadata Areas 2 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 2 Act PV 2 VG Size 19.99 GiB #卷组大小 PE Size 4.00 MiB Total PE 5118 Alloc PE / Size 0 / 0 Free PE / Size 5118 / 19.99 GiB VG UUID KEP7XS-wrkI-rTUY-RqBa-UJA6-YRkK-iKDabR #卷组UUID#简要显示卷组信息[root@localhost ~]# vgs systemvg VG #PV #LV #SN Attr VSize VFree systemvg 2 0 0 wz--n- 19.99g 19.99g
创建逻辑卷
- 创建逻辑卷思路:从创建好的卷组中创建逻辑卷
- 命令格式:lvcreate -L 大小 -n 逻辑卷名 卷组名
#创建逻辑卷[root@localhost ~]# lvcreate -L 10G -n mylv systemvg Logical volume "mylv" created.#简要查看逻辑卷信息[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g mylv systemvg -wi-a----- 10.00g [root@localhost ~]# lvs /dev/systemvg/mylv LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv systemvg -wi-a----- 10.00g #查看卷组信息,卷组信息以变小 [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 systemvg 2 1 0 wz--n- 19.99g 9.99g
格式化文件系统
#格式化文件系统[root@localhost ~]# mkfs.xfs /dev/systemvg/mylv#查看文件系统类型[root@localhost ~]# blkid /dev/systemvg/mylv/dev/systemvg/mylv: UUID="7f08daf8-ae3c-40b2-a282-4514a6f37111" TYPE="xfs" #挂载使用[root@localhost ~]# mkdir /dbbak[root@localhost ~]# mount /dev/systemvg/mylv /dbbak[root@localhost ~]# df -hT/dev/mapper/systemvg-mylv xfs 10G 33M 10G 1% /dbbak
扩展逻辑卷
- 逻辑卷支线上扩容,逻辑卷的空间来源于卷组,当卷组有足够的空间是,才可以扩展逻辑卷
- 扩展命令:lvextend
#扩容逻辑卷[root@localhost ~]# lvextend -L +9G /dev/systemvg/mylv #查看逻辑卷信息[root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root centos -wi-ao---- <17.00g swap centos -wi-ao---- 2.00g mylv systemvg -wi-ao---- 19.00g #扩容成功
扩展文件系统
当逻辑卷扩大以后,也需要多逻辑卷的文件系统进行扩展
刷新文件系统容量:
xfs_growfs #用于刷新XFS设备
resize2fs #用于刷新EXT3/EXT4设备(了解)
#扩展文件系统[root@localhost ~]# xfs_growfs /dbbak#[root@localhost ~]# df -hT/dev/mapper/systemvg-mylv xfs 19G 33M 19G 1% /dbbak#查看卷组信息[root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree centos 1 2 0 wz--n- <19.00g 0 systemvg 2 1 0 wz--n- 19.99g 1016.00m#扩容卷组
扩展卷组
- 卷组的空间来源于物理分区,当卷组没有足够空间提供给逻辑卷时,须扩容卷组
- 扩展卷组命令:vgextend
[root@localhost ~]# vgextend systemvg /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
systemvg 6 1 0 wz--n- <59.98g <40.98g
#扩容逻辑卷
[root@localhost ~]# lvextend -L +40G /dev/systemvg/mylv
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root centos -wi-ao---- <17.00g
swap centos -wi-ao---- 2.00g
mylv systemvg -wi-ao---- 59.00g
#扩展文件系统
[root@localhost ~]# xfs_growfs /dbbak
/dev/mapper/systemvg-mylv 59G 34M 59G 1% /dbbak
RHCSA_DAY10的更多相关文章
随机推荐
- python返回列表最大值(java返回数组最大值)
b=["3","2","1","6","5","2","1" ...
- Auto.js无障碍免root脚本开发学习
Auto.js 简单入门 官方文档:https://hyb1996.github.io/AutoJs-Docs/#/ https://blog.csdn.net/QiHsMing/article/de ...
- SpringCloud 微服务最佳开发实践
Maven规范 所有项目必须要有一个统一的parent模块 所有微服务工程都依赖这个parent,parent用于管理依赖版本,maven仓库,jar版本的统一升级维护 在parent下层可以有 co ...
- 使用Retrofit上传图片
Retrofit使用协程发送请求参考文章 :https://www.cnblogs.com/sw-code/p/14451921.html 导入依赖 app的build文件中加入: implement ...
- NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具
业精于勤,荒于嬉:行成于思,毁于随. 我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 这次我们介绍安装 NoSQL Manager for MongoDB 可 ...
- Python字符串格式方式 %s format()
p.p1 { margin: 0; font: 12px ".PingFang SC" } p.p2 { margin: 0; font: 12px "Helvetica ...
- 【Azure 应用服务】Azure Function App使用SendGrid发送邮件遇见异常消息The operation was canceled,分析源码逐步最终源端
问题描述 在使用Azure Function App的SendGrid Binging功能,调用SendGrid服务器发送邮件功能时,有时候遇见间歇性,偶发性异常.在重新触发SendGrid部分的Fu ...
- NSURLSession的简单使用
NSURLSession的简单使用(不同于NSURLConnection,仅仅支持异步请求) dataTask,简单请求直接block里面执行,不走代理 NSURLSessionDataTaskDel ...
- hadoop源码_hdfs启动流程_2_DataNode
执行start-dfs.sh脚本后,集群是如何启动的? 本文阅读并注释了start-dfs脚本,以及datanode的启动主要流程流程源码. DataNode 启动流程 脚本代码分析 start-df ...
- git配置多个ssh key
随着工作的深入,我们通常都会有多个git账户.比如公司gitlab一个账户,github或gitee有一个账户.而平时我们又回通过 配置ssh公私钥认证的方式省去繁琐的登录远程仓库的操作,不同的git ...