lsblk
fdisk -l
parted -s /dev/sdb mklabel msdos
 parted -s /dev/sdb mkpart primary 0 100%
lsblk
 df
parted -s /dev/sdb print
lsblk
 mkfs -t ext4 /dev/sdb1
 df -TH
 history

 

parted 磁盘分区-挂载-删除-shell脚本进行磁盘分区

2020-09-21阅读 1180
 
parted脚本自动挂载分区磁盘
1.parted 核心命令
yum install -y parted # 安装 parted 分区工具包
parted -s /dev/sdb mklabel msdos # parted -s 选择磁盘 /dev/sdb
# 格式化磁盘 /dev/sdb为gpt 动态分区
# label [ˈlebəl] 标签
parted -s /dev/sdb mkpart primary 0 100% # 新建主分区,全部空间
# part [pɑrt] 分开,分区
# primary [ˈpraɪˌmɛri] 主分区
# parted -s a mkpart entended 3G 5G # 第一个扩展分区:从3G 到5G
# parted -s b mkpart logic 5G 100% # 第二个扩展分区:从5G到100%
# logic [ˈlɒdʒɪk] 逻辑,分区
parted -s /dev/sdb print # 选择磁盘,并打印信息;可以看到 Number [ˈnʌmbər] 编号 1
mkfs -t ext4 /dev/sdb1 # 格式化分区为 ext4 ;也可以格式化为ext3 等其他分区
mkdir /www # 新建挂载分区 /www
mount /dev/sdb1 /www # 挂载分区到到文件夹 /www
echo "
/dev/sdb1 /www ext4 defaults 0 0
" >> /etc/fatab # 写入开机启动配置文件
# default [diˈfɔ:lts] 默认
df -h # 重启服务器并查看挂载的分区
2. parted 脚本自动分区
#!/bin/bash
azparted=$(yum list installed | grep parted)
# 定义一个名称为azparted的变量,值为:
# 查看已安装的包,grep 匹配parted 名称
cdazparted=$(echo ${#azparted})
# 定义一个新变量:打印$azparted 变量的字符串长度 echo $(#azparted) if [ $cdazparted -lt 1 ]
# 判断变量字符串长度小于1
then # 然后
yum install -y parted
echo "您还没有安装parted,正在为您安装,请稍后:"
else # 其他情况
echo "parted 已经安装,无需操作,已经安装的信息为:
$azparted"
fi # if的结束标记 fi
#----------------------------------- 检测安装工具向上包结束 -------------------------------
echo "未分区的磁盘有: "
parted -l | grep -w "unrecognised disk label"
echo "
read 接收窗口命令界面输入的字符串;-p 加文字说明;需要分区的磁盘变量 a
请输入你要进行分区的磁盘; 磁盘格式为:/dev/dev
如果输入错误字符或者闪跳,请Ctrl +c 退出重新输入"
read -p "请输入要分区的磁盘:" a ;
echo "磁盘挂载目录格式为: /www 将会清空该目录下的文件,重复执行脚本,仅仅更改挂载目录,不会更改硬盘数据"
read -p "请输入您要挂载到那个目录:" m ;
#----------------------------------- 用户输入信息向上结束 -------------------------------
gsh=$(parted -s $a print | grep primary || logical ) # 定义一个变量 gsh ; sed s/[[:space:]]//g 删除空格
# parted -s $a print 打印要分区的磁盘信息$a为 /dev/xxx
# 打印信息后去匹配磁盘分区的类型:
# primary [ˈprʌɪm(ə)ri] 主分区,类型;logical [ˈlɒdʒɪk(ə)l] 逻辑分区
# 如果主分区和逻辑分区都不存在,那么就是空盘
###### 重点:
# parted -s $a print # 选择磁盘,并打印:打印选择的磁盘信息
# awk -F " " '$5=="primary" {print zi++ $6} '
# -F " " 分隔符为空格, 后面有单引号引起来的为坐标:先行后列
# $5 第5列的内容包含有 primary 字符 就被选中
# print 打印第6列, 有多个内容用zi++ 方法来换行打印所有
# parted -s /dev/sda print | awk -F " " '$5=="primary" {print c++ $6} '
if [ ${#gsh} -eq 0 ] # ${#gsh} 变量长度, -eq 小等于 0
then
echo "磁盘 $a 为空盘,没有找到主分区和逻辑分区,可以进行进行格式化并分区操作,请等待。。。 "
else
echo " # parted -s /dev/xxx rm 1
磁盘名称: $a 磁盘存在数据,是否继续格式化操作
"
fi
echo "请确认脚本的继续执行
y继续 | 任意字符退出
"
read gshy
case $gshy in
y) echo "您确认了继续格式化操作,脚本将继续执行"
;;
*) echo "您否定了格式化操作,不会影响磁盘数据。即将退出脚本。"
exit # 直接退出脚本
;;
esac
parted -s $a mklabel msdos # 格式化为gpt 动态分区
# msdos 其他类型
parted -s $a mkpart primary 0 100% # 分区 全部
#parted -s $a mkpart entended 3G 5G # 第一个扩展分区:从3G 到5G
#parted -s $a mkpart logic 5G 100% # 第二个扩展分区:从5G到100%
# logic [ˈlɒdʒɪk] 逻辑,分区
#-------------------------------------挂载------------------------------------
b=$(echo $a"1")
mkfs -t ext4 $b # 格式化分区
rm -rf $m
mkdir $m
mount $b $m # 挂载分区到/www 目录下
# 如果需要挂载到指定目录请创建文件夹后,再将此处的/mnt修改
bd=$(echo $b | awk -F"/" 'NR==1{print $3}')
# 打印变量,awk 字段处理,-F 指定分隔符为 /
# 坐标:第一行,第3列
sed -i "/"eiscparted"/d" /etc/fstab #先清除启动挂载
sed -i "/^$/d" /etc/fstab # 清除空行
echo "
$b $m ext4 defaults 0 0 #eiscparted
">>/etc/fstab # 开机自动挂载,字符单独一行,才会保留格式
echo "再次查看挂载的磁盘,如果之前有挂载过此硬盘,重启生效挂载到新目录
开发商:小绿叶技术博客 www.eisc.cn
"
df -h
# umount /dev/sdb* # 取消挂载所有分区
# -------------------------------------删除---------------------------------
# parted -s /dev/sdb rm 5 # rm删除sdb磁盘编号5的分区
# parted -s /dev/sdb print # 查看分区
# parted -s /dev/sdb mklabel msdos # 清除分区表,方便其他工具进行分区
# 脚本执行:
# rm -rf parted.sh ; yum install -y wget ; wget eisc.cn/file/shell/parted.sh ; chmod +x parted.sh ; ./parted.sh

gparted 当分区空间大于1T 用gparted分区的更多相关文章

  1. oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  2. LVM 管理减少swap分区空间增加到根分区

    简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现 ...

  3. [Linux] - Virtualbox-CentOS动态增加分区空间方法

    VirtualBox使用中,有时会因为当初分配空间不足导致出问题,可以使用如下方式增加分区空间: 一.VirtualBox设置: 1)到VirtualBox的安装目录下找到这个命令exe文件:vbox ...

  4. 扩容swap交换分区空间

    安装linux系统时会指定Swap分区大小,一般是内存的两倍,但在有些场景下可能预先设置的Swap分区空间不足,这个时候需要增加其大小 官方建议在RAM是2到4.5G时,swap是RAM的2倍:如果R ...

  5. #题目:有10 台被监控主机、一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次

    #题目:有10 台被监控主机.一台监控机,在监控机上编写脚本,一旦某台被监控机器/ 分区适用率大于80%, 就发邮件报警放到crontab 里面, 每10 分钟检查一次 #测试机器:虚拟机Linux ...

  6. 关于ubuntu系统boot分区空间不足而又无法卸载旧内核的解决方法

    2016年09月03日 14:16:45 萧氏一郎 阅读数:7802 标签: ubuntuboot分区清理更多 个人分类: linux   版权声明:本文为本猿原创文章,转载务必注明出处,多谢. ht ...

  7. centos 7.4 磁盘空间不足,扩容根分区 --lvm模式

    背景:根分区磁盘空间不足,需要扩容root磁盘空间 1.查看现有磁盘信息,可以看出根分区有26G [root@localhost ~]# df -h 2.查看新增加的磁盘信息(改虚拟机已经添加好了,不 ...

  8. 分配swap分区空间

    1. 分区,并修改为swap分区ID [root@centos2 ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux ). 更改将停留在内存中,直到您决定将更改写入磁盘 ...

  9. Linux学习(CentOS-7)---磁盘分区(概念、分区方法、分区方案)

    1磁盘分区相关的概念 1.1什么是磁盘 磁盘就是计算机的外部存储器设备,即将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失.简单地讲,就是一种计算机信息载体,也 ...

随机推荐

  1. APP或者前端通过识别用户代理详细信息和浏览器数据进行安全防御

    使用用户代理解析API 识别 访问您网站的浏览器,机器人,操作系统和设备 上手免费 阅读文档 解码用户代理 识别检测浏览器,操作系统,平台,设备类型以及其他30多个字段 多种浏览器,机器人,手机,平板 ...

  2. Kubernetes 部署策略详解-转载学习

    Kubernetes 部署策略详解 参考:https://www.qikqiak.com/post/k8s-deployment-strategies/ 在Kubernetes中有几种不同的方式发布应 ...

  3. SpringCloudAlibaba—微服务概念及SpringCloudAlibaba介绍

    目录 1.1 系统架构演变 1.1.1 单体应用架构 1.1.2垂直应用架构 1.1.3 分布式架构 1.1.4 SOA架构 1.1.5 微服务架构 1.2 微服务架构介绍 1.2.1 微服务架构的常 ...

  4. MySQL提升笔记(2):存储引擎盘点

    在前面我们了解了server层调用存储引擎层接口来完成sql的执行,使用存储引擎的好处是:每个存储引擎都有各自的特点,能够根据具体的应用建立不同存储引擎表. 需要注意的是,存储引擎是基于表的,而不是数 ...

  5. 安装mmdetection,运行报错Segmentation fault

    具体安装过程详见https://github.com/open-mmlab/mmdetection/blob/master/docs/INSTALL.md 在安装完成mmdetection后运行tes ...

  6. malloc函数详解 glibc2.27

    malloc 函数分析(glibc.2.27) 本人菜一只,如果分析的有错误,请大佬指正. __libc_malloc函数分析 void * __libc_malloc (size_t bytes) ...

  7. LNMP架构上线动态网站

    第一步,一键安装所需程序 yum install -y nginx php php-mysql php-fpm mariadb-server 第二步,修改Nginx配置文件/etc/nginx/ngi ...

  8. day8.函数基础

    一.函数介绍 1.什么是函数     函数就是盛放代码的容器,把实现某一功能的一组代码丢到一个函数中     就做成了一个小工具       具备某一功能的工具->函数     事先准备工具的过 ...

  9. MySQL中的注释符号有三种

    ①#... ②-- ... ③/*...*/ 注意事项: 其中...表示注释的文本内容 ★ 在使用-- ...注释内容时,需要在--和注释内容之间加一个空格符(如空格.tab.换行符等)

  10. PAT归纳总结——关于C++输入输出格式问题的一些总结

    自从使用了C++就不再想使用C语言来刷题了,C++便捷的输入输出方式,以及一些STL库函数的使用都要比使用C语言方便的多.但是使用的时候还有一些需要注意的地方,在这篇博客中写一下.(更好的教程可以参看 ...