【Linux】【Basis】磁盘分区
IDE(ata):并口,133MB/s,设备/dev/hd[a-z]
SCSI:并口,Ultrascsi320, 320MB/S, UltraSCSI640, 640MB/S,设备/dev/sd[a-z]
宽带:16-1
窄带:8-1
SATA:串口,6gbps,设备/dev/sd[a-z]
SAS:串口,6gbps,设备/dev/sd[a-z]
USB:串口,480MB/s,设备/dev/sd[a-z] 并口:同一线缆可以接多块设备;
串口:同一线缆只可以接一个设备;
1.1.2. 硬盘类型:机械硬盘
track:磁道
sector:扇区,512bytes
cylinder:柱面
分区划分基于柱面:
平均寻道时间: 固态硬盘
https://www.cnblogs.com/chensiqiqi/p/6432371.html
1.1.3. 设备类型:块设备(block):随机访问,数据交换单位是“块”;字符设备(character):线性访问,数据交换单位是“字符”; 1.1.4. 设备文件:FHS,他是设备文件:关联至设备的驱动程序;设备的访问入口;设备号: major:主设备号,区分设备类型;用于标明设备所需要的驱动程序; minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口; mknod命令: make block or character special files 1.1.5. 引用设备的方式: 设备文件名 卷标 UUID 1.1.6. 磁盘分区:MBR, GPT MBR(Master Boot Record):从第一扇区开始,0 sector 分为三部分: 446bytes:bootloader, 程序,引导启动操作系统的程序; 64bytes:分区表,每16bytes标识一个分区,一共只能有4个分区(四个主分区或者三主一扩展,扩展分区可以分为n个逻辑分区); 2bytes:MBR区域的有效性标识;55AA为有效; 1.1.7. fdisk命令: 查看磁盘的分区信息: fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况; fdisk device n:创建新分区 d:删除已有分区 t:修改分区类型 l:查看所有已经ID w:保存并退出 q:不保存并退出 m:查看帮助信息 p:显示现有分区信息 查看:cat /proc/partitions 通知内核强制重读磁盘分区表: CentOS 5:partprobe [device] CentOS 6,7:partx, kpartx partx -a [device] kpartx -af [device] 创建文件系统: 元数据区: 文件元数据:inode (index node) 大小、权限、属主属组、时间戳、数据块指针 设备文件:存储数据指针的空间当中存储的是设备号(major, minor); 1.1.8. VFS: Virtual File System Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, reiserfs, btrfs 光盘:iso9660 网络文件系统:nfs, cifs 集群文件系统:gfs2, ocfs2 内核级分布式文件系统:ceph windows的文件系统:vfat, ntfs 伪文件系统:proc, sysfs, tmpfs, hugepagefs Unix的文件系统:UFS, FFS, JFS 交换文件系统:swap 用户空间的分布式文件系统:mogilefs, moosefs, glusterfs 1.1.10. 链接文件:访问同一个文件不同路径;硬链接:指向同一个inode的多个文件路径; 特性: (1) 目录不支持硬链接; (2) 硬链接不能跨文件系统; (3) 创建硬链接会增加inode引用计数;ln src link_file
符号链接:指向一个文件路径的另一个文件路径;
特性: (1) 符号链接与文件是两人个各自独立的文件,各有自己的inode;对原文件创建符号链接不会增加引用计数; (2) 支持对目录创建符号链接,可以跨文件系统; (3) 删除符号链接文件不影响原文件;但删除原文件,符号指定的路径即不存在,此时会变成无效链接; ln -s src link_file
2. 文件系统管理工具:2.1. 创建文件系统的工具:mkfs mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...2.2. 检测及修复文件系统的工具:fsck fsck.ext2, fsck.ext3, ...2.3. 查看其属性的工具:dumpe2fs, tune2fs2.4. 调整文件系统特性:tune2fs2.5. ext系列文件系统专用管理工具:mke2fs mke2fs [OPTIONS] device -t {ext2|ext3|ext4}:指明要创建的文件系统类型 mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4 -b {1024|2048|4096}:指明文件系统的块大小; -L LABEL:指明卷标; -j:创建有日志功能的文件系统ext3; mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3 -i #:bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个Indode; -N #:直接指明要给此文件系统创建的inode的数量; -m #:指定预留的空间,百分比; 2.6. e2label命令:卷标的查看与设定 查看:e2label device 设定:e2label device LABEL2.7. tune2fs命令:查看或修改ext系列文件系统的某些属性 adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems; 注意:块大小创建后不可修改; tune2fs [OPTIONS] device -l:查看超级块的内容; -j:ext2 --> ext3; -L LABEL:修改卷标; -m #:调整预留空间百分比; -O [^]FEATHER:开启或关闭某种特性; acl ^acl 2.8. dumpe2fs命令:显示ext系列文件系统的属性信息 dumpe2fs [-h] device 2.9. ext系列文件系统的专用工具: e2fsck : check a Linux ext2/ext3/ext4 file system e2fsck [OPTIONS] device -y:对所有问题自动回答为yes; -f:即使文件系统处于clean状态,也要强制进行检测; -t fstype:指明文件系统类型; fsck -t ext4 = fsck.ext4 -a:无须交互而自动修复所有错误; -r:交互式修复; 2.10. CentOS 6如何使用xfs文件系统: # yum -y install xfsprogs 创建:mkfs.xfs 检测:fsck.xfs 2.11. blkid命令: blkid device blkid -L LABEL:根据LABEL定位设备 blkid -U UUID:根据UUID定位设备 2.12. swap文件系统: Linux上的交换分区必须使用独立的文件系统; 且文件系统的System ID必须为82; 创建swap设备:mkswap命令 mkswap [OPTIONS] device -L LABEL:指明卷标 -f:强制 2.13. Windows无法识别Linux的文件系统; 因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Linux同时支持的文件系统:fat32(vfat); # mkfs.vfat device 2.14. 文件系统的使用: 首先要“挂载”:mount命令和umount命令 (1) 事先存在; (2) 应该使用未被或不会被其它进程使用到的目录; (3) 挂载点下原有的文件将会被隐藏; mount命令: mount [-nrw] [-t vfstype] [-o options] device dir -r:readonly,只读挂载; -w:read and write, 读写挂载; -n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性; mount -L LABEL dir mount -U UUID dir sync/async:同步/异步操作; atime/noatime:文件或目录在被访问时是否更新其访问时间戳; diratime/nodiratime:目录在被访问时是否更新其访问时间戳; remount:重新挂载; acl:支持使用facl功能; # mount -o acl device dir # tune2fs -o acl device rw:读写 dev/nodev:此设备上是否允许创建设备文件; exec/noexec:是否允许运行此设备上的程序文件; auto/noauto: user/nouser:是否允许普通用户挂载此文件系统; suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效; defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime. 一个使用技巧:可以实现将目录绑定至另一个目录上,作为其临时访问入口; mount --bind 源目录 目标目录 # mount # cat /etc/mtab # cat /proc/mounts mount -r /dev/cdrom mount_point 事先识别U盘的设备文件; # mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT umount device|dir 查看被哪个或哪些进程所战用: # lsof MOUNT_POINT # fuser -v MOUNT_POINT # fuser -km MOUNT_POINT 2.15. 交换分区的启用和禁用: 创建交换分区的命令:mkswap swapon [OPTION] [DEVICE] -a:定义在/etc/fstab文件中的所有swap设备; 禁用:swapoff swapoff DEVICE 2.16. 设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件 每行定义一个要挂载的文件系统及相关属性: 6个字段: (1) 要挂载的设备: 设备文件; LABEL UUID 伪文件系统:如sysfs, proc, tmpfs等 (2) 挂载点 swap类型的设备的挂载点为swap; (3) 文件系统类型; (4) 挂载选项 defaults:使用默认挂载选项; 如果要同时指明多个挂载选项,彼此间以事情分隔; defaults,acl,noatime,noexec (5) 转储频率 0:从不备份; 1:每天备份; 2:每隔一天备份; (6) 自检次序 0:不自检; 1:首先自检,通常只能是根文件系统可用1; 2:次级自检 2.17. 两个命令:df和du df命令: df [OPTION]... [FILE]... -l:仅显示本地文件的相关信息; -h:human-readable -i:显示inode的使用状态而非blocks du [OPTION]... [FILE]... -s: sumary -h: human-readable# cat /sys/block/sda/queue/rotational
1 #不是固态硬盘
0 #是固态硬盘
3. lvm
写个例子:
下面是本机状态
[root@hctjosadm01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_system-lv_root 4.0G 69M 4.0G 2% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 41M 880M 5% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/mapper/vg_system-lv_usr 4.0G 1.3G 2.8G 31% /usr
/dev/sda1 1014M 143M 872M 15% /boot
/dev/mapper/vg_system-lv_home 4.0G 33M 4.0G 1% /home
/dev/mapper/vg_system-lv_opt 4.0G 33M 4.0G 1% /opt
/dev/mapper/vg_system-lv_var 4.0G 2.3G 1.8G 56% /var
/dev/mapper/vg_system-lv_docker_registry 20G 104M 20G 1% /data_docker_registry
/dev/mapper/vg_system-lv_tmp 4.0G 33M 4.0G 1% /tmp
tmpfs 184M 0 184M 0% /run/user/0
[root@hctjosadm01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_system lvm2 a-- <99.00g <51.00g
[root@hctjosadm01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_docker_registry vg_system -wi-ao---- 20.00g
lv_home vg_system -wi-ao---- 4.00g
lv_opt vg_system -wi-ao---- 4.00g
lv_root vg_system -wi-ao---- 4.00g
lv_swap vg_system -wi-ao---- 4.00g
lv_tmp vg_system -wi-ao---- 4.00g
lv_usr vg_system -wi-ao---- 4.00g
lv_var vg_system -wi-ao---- 4.00g
[root@hctjosadm01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_system 1 8 0 wz--n- <99.00g <51.00g
3.1. 创建一个可用分区/文件夹
添加一块10G磁盘
[root@hctjosadm01 ~]# fdisk -l /dev/sdb Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
如果是虚拟机而且安装了vmtools,会自己识别,如果是物理机需要执行
echo "- - -" > /sys/class/scsi_host/host0/scan
把/dev/sdb创建成pv
[root@hctjosadm01 ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
[root@hctjosadm01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_system lvm2 a-- <99.00g <51.00g
/dev/sdb lvm2 --- 10.00g 10.00g
创建vg
[root@hctjosadm01 ~]# vgcreate vg_test /dev/sdb
Volume group "vg_test" successfully created
[root@hctjosadm01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_system 1 8 0 wz--n- <99.00g <51.00g
vg_test 1 0 0 wz--n- <10.00g <10.00g
创建lv,使用100%的剩余空间
[root@hctjosadm01 ~]# lvcreate -n lv_test -l 100%FREE vg_test
Logical volume "lv_test" created.
[root@hctjosadm01 ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv_docker_registry vg_system -wi-ao---- 20.00g
lv_home vg_system -wi-ao---- 4.00g
lv_opt vg_system -wi-ao---- 4.00g
lv_root vg_system -wi-ao---- 4.00g
lv_swap vg_system -wi-ao---- 4.00g
lv_tmp vg_system -wi-ao---- 4.00g
lv_usr vg_system -wi-ao---- 4.00g
lv_var vg_system -wi-ao---- 4.00g
lv_test vg_test -wi-a----- <10.00g
格式化并挂载
[root@hctjosadm01 ~]# mkfs.xfs /dev/mapper/vg_test-lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=655104 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=2620416, 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@hctjosadm01 ~]# mkdir /test
[root@hctjosadm01 ~]# mount /dev/mapper/vg_test-lv_test /test/
需要开机启动的话需要修改/etc/fstab
echo "/dev/mapper/vg_test-lv_test /test/ xfs defaults 0 0" >> /etc/fstab
3.2. 增加一块磁盘,扩展分区容量
增加一块磁盘/dev/sdc
[root@hctjosadm01 ~]# fdisk -l /dev/sdc Disk /dev/sdc: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
吧/dev/sdc加入卷组vg_test中
[root@hctjosadm01 ~]# vgextend vg_test /dev/sdc
Physical volume "/dev/sdc" successfully created.
Volume group "vg_test" successfully extended
[root@hctjosadm01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_system lvm2 a-- <99.00g <51.00g
/dev/sdb vg_test lvm2 a-- <10.00g 0
/dev/sdc vg_test lvm2 a-- <10.00g <10.00g
[root@hctjosadm01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_system 1 8 0 wz--n- <99.00g <51.00g
vg_test 2 1 0 wz--n- 19.99g <10.00g
增加lv大小
[root@hctjosadm01 ~]# lvextend -L +5G /dev/mapper/vg_test-lv_test
Size of logical volume vg_test/lv_test changed from <10.00 GiB (2559 extents) to <15.00 GiB (3839 extents).
Logical volume vg_test/lv_test successfully resized.
[root@hctjosadm01 ~]# xfs_growfs /dev/mapper/vg_test-lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=655104 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2620416, 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 2620416 to 3931136
#如果是ext4的文件系统,请使用resize2fs /dev/mapper/vg_test-lv_test
[root@hctjosadm01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_system-lv_root 4.0G 69M 4.0G 2% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 41M 880M 5% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/mapper/vg_system-lv_usr 4.0G 1.3G 2.8G 31% /usr
/dev/sda1 1014M 143M 872M 15% /boot
/dev/mapper/vg_system-lv_home 4.0G 33M 4.0G 1% /home
/dev/mapper/vg_system-lv_opt 4.0G 33M 4.0G 1% /opt
/dev/mapper/vg_system-lv_var 4.0G 2.3G 1.8G 56% /var
/dev/mapper/vg_system-lv_docker_registry 20G 104M 20G 1% /data_docker_registry
/dev/mapper/vg_system-lv_tmp 4.0G 33M 4.0G 1% /tmp
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg_test-lv_test 15G 33M 15G 1% /test
3.3. 缩小lv大小
先把文件系统umount
[root@hctjosadm01 ~]# umount /test
缩小文件系统会造成磁盘无法正常
[root@hctjosadm01 ~]# lvreduce -L 5G /dev/mapper/vg_test-lv_test
WARNING: Reducing active logical volume to 5.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_test/lv_test? [y/n]: y
Size of logical volume vg_test/lv_test changed from <15.00 GiB (3839 extents) to 5.00 GiB (1280 extents).
Logical volume vg_test/lv_test successfully resized.
# 缩小后文件容易损坏
[root@hctjosadm01 ~]# mount /dev/mapper/vg_test-lv_test /test
mount: /dev/mapper/vg_test-lv_test: can't read superblock
[root@hctjosadm01 ~]# mkfs.xfs /dev/mapper/vg_test-lv_test
mkfs.xfs: /dev/mapper/vg_test-lv_test appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
# 重新格式化要加-f
[root@hctjosadm01 ~]# mkfs.xfs -f /dev/mapper/vg_test-lv_test
meta-data=/dev/mapper/vg_test-lv_test isize=512 agcount=4, agsize=327680 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=1310720, 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@hctjosadm01 ~]# mount /dev/mapper/vg_test-lv_test /test
[root@hctjosadm01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_system-lv_root 4.0G 69M 4.0G 2% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 41M 880M 5% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/mapper/vg_system-lv_usr 4.0G 1.3G 2.8G 31% /usr
/dev/sda1 1014M 143M 872M 15% /boot
/dev/mapper/vg_system-lv_home 4.0G 33M 4.0G 1% /home
/dev/mapper/vg_system-lv_opt 4.0G 33M 4.0G 1% /opt
/dev/mapper/vg_system-lv_var 4.0G 2.3G 1.8G 56% /var
/dev/mapper/vg_system-lv_docker_registry 20G 104M 20G 1% /data_docker_registry
/dev/mapper/vg_system-lv_tmp 4.0G 33M 4.0G 1% /tmp
tmpfs 184M 0 184M 0% /run/user/0
/dev/mapper/vg_test-lv_test 5.0G 33M 5.0G 1% /test
3.4. 从卷组中移除pv,注意,只能在线移除没有在用的pv
[root@hctjosadm01 ~]# vgreduce vg_test /dev/sdc
Removed "/dev/sdc" from volume group "vg_test"
[root@hctjosadm01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_system lvm2 a-- <99.00g <51.00g
/dev/sdb vg_test lvm2 a-- <10.00g <5.00g
/dev/sdc lvm2 --- 10.00g 10.00g
3.5. 吧卷组整个移除
[root@hctjosadm01 ~]# umount /test
[root@hctjosadm01 ~]# lvremove /dev/mapper/vg_test-lv_test
Do you really want to remove active logical volume vg_test/lv_test? [y/n]: y
Logical volume "lv_test" successfully removed
[root@hctjosadm01 ~]# vgremove vg_test
Volume group "vg_test" successfully removed
[root@hctjosadm01 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vg_system lvm2 a-- <99.00g <51.00g
/dev/sdb lvm2 --- 10.00g 10.00g
/dev/sdc lvm2 --- 10.00g 10.00g
[root@hctjosadm01 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg_system 1 8 0 wz--n- <99.00g <51.00g
【Linux】【Basis】磁盘分区的更多相关文章
- Linux中磁盘分区——理论篇
Linux中磁盘分区——理论篇 现在主流的分区的方式有两种——MBR分区和GPT分区,本文将着重介绍MBR分区底层原理,及用相关命令验证相关原理 Linux中磁盘分区理论篇 为什么要对磁盘进行分区 M ...
- Linux下磁盘分区、挂载、卸载操作记录
Linux下磁盘分区.挂载.卸载操作记录. 操作环境:CentOS release 6.5 (Final) Last :: from 118.230.194.76 [root@CentOS ~]# [ ...
- linux初学者-磁盘分区方式篇
linux初学者-磁盘分区方式篇 一般的计算机都会采用mbr分区方式,这种分区方式只能够建立四个主分区,如果还需要或更多的分区,就需要将其中一个主分区建立成一个扩展分区,在里面建立逻辑分区,这些分区信 ...
- Linux系统磁盘分区、删除分区、格式化、挂载、卸载、开机自动挂载的方法总结
Linux系统按照MBR(Master Boot Record)传统分区模式: 注意:传统的MBR(Master Boot Record)分区方式最大只能分2T容量的硬盘,超过2T的硬盘一般采用GPT ...
- Linux下磁盘分区挂载
一般你去买vps都会看到介绍说硬盘多少G 比如 80G 但是你进入系统df -h的时候发现怎么只有10G呢, 其实这10G是用来装系统的和一些常用服务软件的 不是给你放网站数据的 那50G硬盘在哪 ...
- 文件系统管理 之 Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
一.df 命令:df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置: 举例: [root@localhost beinan] ...
- linux 系统磁盘分区之fdisk
对于学习磁盘分区,通常学习的都是fdisk命令 当然,对于小于2TB的磁盘,我们基本上是使用fdisk命令进行分区 下面就简单介绍一下fdisk操作磁盘的基本命令和场景模拟 常用命令介绍 fdis ...
- Linux 查看磁盘分区、文件系统、使用情况的命令和相关工具介绍
磁盘分区表.文件系统的查看.统计的工具很多,有些工具是多功能的,不仅仅是查看磁盘的分区表,而且也能进行磁盘分区的操作:但在本文,我们只讲磁盘分区的查看,以及分区的使用情况的查看:本文只是给新手上路之用 ...
- linux下磁盘分区详解 图文(fdisk;mkfs)
linux分区不同于windows,linux下硬盘设备名为(IDE硬盘为hdx(x为从a-d)因为IDE硬盘最多四个,SCSI,SATA,USB硬盘为sdx(x为a-z)),硬盘主分区最多为4个,不 ...
- 3. Linux系统磁盘分区介绍
1. 磁盘分区基本知识 1)磁盘在使用前一般要先分区(相当于建房子要分房间一样). 2)磁盘分区一般有主分区.扩展分区和逻辑分区之分.一块磁盘最多可以有4个主分区,其中一个主分区的位置可以用一个扩展分 ...
随机推荐
- 史上最简单的排序算法?看起来却满是bug
大家好,我是雨乐. 今天在搜论文的时候,偶然发现一篇文章,名为<Is this the simplest (and most surprising) sorting algorithm ever ...
- 【Mysql】表锁 行锁 记录锁 间隙锁
Mysql中的锁 基于锁的属性分类:共享锁.排他锁. 基于锁的状态分类:意向共享锁.意向排它锁 根据锁的粒度分类:全局锁.页锁.表级锁.行锁(记录锁.间隙锁.和临键锁),实际上的锁就这些,上面两种分类 ...
- 系统调用篇——SSDT
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...
- PHP高级特性-反射Reflection以及Factory工厂设计模式的结合使用[代码实例]
PHP高级特性-反射以及工厂设计模式的结合使用 [结合 Laravel-Admin 代码实例讲解] 利用反射来实现工厂模式的生产而无需创建特定的工厂类 本文地址http://janrs.com/?p= ...
- python实现超大图像的二值化方法
一,分块处理超大图像的二值化问题 (1) 全局阈值处理 (2) 局部阈值 二,空白区域过滤 三,先缩放进行二值化,然后还原大小 np.mean() 返回数组元素的平均值 np.std() 返回数 ...
- 深度学习,机器学习神器,白嫖免费GPU
深度学习,机器学习神器,白嫖免费GPU! 最近在学习计算机视觉,自己的小本本没有那么高的算力,层级尝试过Google的Colab,以及移动云的GPU算力,都不算理想.如果数据集比较小,可以试试Cola ...
- 接上篇:Git Worktree 高级使用,这样清爽多了
前言 上一篇文章 Git Worktree 大法真香 带大家了解了 git worktree 是如何帮助我同时在多个分支工作,并且互不影响的.但是创建 worktree 的目录位置不是在当前项目下,总 ...
- docker版本演变,安装,基本命令
1.docker 版本信息 Docker CE在17.03版本之前叫Docker Engine,版本号从0.1.0(2013-03-23)~1.13.1(2017-02-08),详见https://d ...
- C/C++转义字符表
转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) ,将当前位置移到前一列 008 \f 换页(FF),将当前位置移到下页开头 012 \n 换行(LF) ,将 ...
- Codeforces 1368E - Ski Accidents(构造+思维)
Codeforces 题面传送门 & 洛谷题面传送门 神仙构造题(不过可能我构造太烂了?) 首先考虑这个奇奇怪怪的 \(\dfrac{4}{7}\),以及这个每个点出度最多为 \(2\) 的条 ...