Linux中硬盘分区、文件系统

lsblk 查看块设备
Linux中硬盘分区、文件系统
fdisk 支持msdos,在centos7中也支持gpt(不建议使用) 建议使用交互式
fdisk -l 查看所有硬盘的分区信息
fdisk -l /dev/sda 查看指定硬盘的分区信息
fdisk /dev/sdb
o 设置msdos分区表
g 设置gpt分区表(不建议使用)
m 帮助
n 创建分区
p 主分区
e 扩展分区 (请把所有空间分给扩展)
起始的扇区数 一般直接回车,取可用的最小扇区
结束的扇区数 一般用+XX K/M/G 来指定具体分多少大小的分区
q 退出不保存
w 退出并保存
t 设置分区的类型
L 查看分区的类型所对应的代码表示方式
d 删除指定分区
a 设置该分区为启动分区,或设置为非启动
p 显示分区表
u 更新显示分区起止的单位,在扇区和柱面之间切换
Linux中硬盘分区、文件系统
非交互方式
echo -e "n\np\n\n\n+1G\nw\n" |fdisk /dev/sdb &> /dev/null

gdisk 只能划分gpt分区(很好记,gdisk --gpt都是g)也是建议使用交互式分区
gdisk -l 列出所有硬盘分区表
gdisk -l /dev/sdb 列出指定硬盘的分区表
gdisk /dev/sdb 对分区进行划分
o 创建gpt分区表
m 帮助
n 创建分区
起始的扇区数 一般直接回车,取可用的最小扇区
结束的扇区数 一般用+XX K/M/G 来指定具体分多少大小的分区
q 退出不保存
w 退出并保存
t 设置分区的类型
L 查看分区的类型所对应的代码表示方式
d 删除指定分区
p 显示分区表

非交互方式
echo -e "n\n\n\n+2G\n\nw\ny\n" |gdisk /dev/sdb
Linux中硬盘分区、文件系统
cat /proc/partitions 当前内核所加载的分区表(内核加载不等于)
对于非系统所在硬盘,内核自动更新分区表,而对于系统所在硬盘,不能直接列新,要使用以下命令
通知内核读取分区表
cenots5\centos7: partprobe (centos6不可用)
centos6:partx -a /dev/sda 添加
partx -d --nr /dev/sda7 删除
mkfs
mkfs.xfs /dev/sdb1
mkfs -t xfs -f /dev/sdb2
mkfs.ext4 /dev/sdb2
mkfs -t ext4 /dev/sdb2
mke2fs /dev/sdb2 格式化为ext2
mke2fs
mke2fs -j /dev/sdb2 增加日志区,即格式化为ext3
-b block size
-t ext2|ext3|ext4
-L "LABEL"
e2label /dev/sdb2 仅限ext文件系统
e2label /dev/sdb2 hello
/etc/fstab
LABEL=mage1 /mnt/mage1 ext4 defaults 0 0
UUID=996b2280-1eaa-4560-b8e3-0c742912afa8 /mnt/mage2 ext4 defaults 0 0

[root@instructor_v7(nanyibo) ~]# blkid -U 996b2280-1eaa-4560-b8e3-0c742912afa8
/dev/sdb2
[root@instructor_v7(nanyibo) ~]# blkid -L mage1
/dev/sdb1
[root@instructor_v7(nanyibo) ~]# findfs /dev/sdb2
/dev/sdb2
[root@instructor_v7(nanyibo) ~]# findfs UUID=996b2280-1eaa-4560-b8e3-0c742912afa8
/dev/sdb2
[root@instructor_v7(nanyibo) ~]# findfs LABEL=mage1
/dev/sdb1

扩展分区swap
基于分区的Swap
fdisk /dev/sda
mkswap /dev/sda9
swapon /dev/sda9
开机自动激活,写入/etc/fstab
基于文件的swap
dd if=/dev/zero of=swap.img bs=1M count=1024
mkswap swap.img
swapon /app/swap.img
开机自动激活,写入/etc/fstab

mke2fs:ext系列文件系统专用管理工具
-t {ext2|ext3|ext4}
-b {1024|2048|4096} 指定block大小
-L 'LABEL'
-j: 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小
-N #:指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m #: 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...]:启用指定特性
-O ^FEATURE:关闭指定特性
Linux中硬盘分区、文件系统
硬盘
/dev/sdb
分区
/dev/sdb1
创建文件系统
/dev/sdb1

tune2fs:重新设定ext系列文件系统可调整参数的值
-l:查看指定文件系统超级块信息;super block
-L 'LABEL':修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用, –O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl ***
-U UUID: 修改UUID号
Linux中硬盘分区、文件系统
作业:
1、 创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项
fdisk /dev/sda 创建分区
mke2fs –t ext4 –b 2048 –L TEST –m 1 /dev/sda6
vim /etc/fstab #增加一行sda6信息能自动开机挂载
UUID:x--x
tune2fs –o ^acl /dev/sda6
2、写一个脚本,完成如下功能:
(1) 列出当前系统识别到的所有磁盘设备
(2) 如磁盘数量为1,则显示其空间使用信息
否则,则显示最后一个磁盘上的空间使用信息
A=fdisk -l|egrep -o "Disk /dev/sd[a-z]"|cut -d" " -f2
B=fdisk -l|egrep -o "Disk /dev/sd[a-z]"|cut -d" " -f2|wc -l
[ $B == 1 ] && echo df -h /dev/sda || df -h fdisk -l|egrep -o "Disk /dev/sd[a-z]"|tail -1|cut -d" " -f2
3、将CentOS6的CentOS-6.8-x86_64-bin-DVD1.iso和CentOS-6.8-x86_64-bin-DVD2.iso两个文件,合并成一个CentOS-6.8-x86_64-Everything.iso文件,并将其配置为yum源
创建空目录。复制文件
mkdir c6c7
cp iso1 c6/
cp iso2 c6/
#创建iso文件mkisofs -r -o centos6 /c6/
#挂载mount /c6/centos6 /mnt/
编辑仓库
vim /etc/yum.repo.d/cento68every.repo
[centos6]
name=centos6
baseurl=file:///mnt
gpgchekc=0
enabled=1

猜你喜欢

转载自blog.51cto.com/13116366/2128487