三明linux培训,1、自动卸载分区格式化脚本--创建小型linux

本文介绍了一个bash脚本,该脚本可以自动卸载已挂载的磁盘分区,并创建三个新的分区:100MB用于启动,512MB用于交换,其余空间作为根分区。此外,脚本还提供了格式化这些分区的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash

# scripts: rmdisk.sh

# function

#The CH function is auto umount on the disk partition

CH () {

read -p "Enter your choice,if continue,umount the disk.continue:(y/Y)" CH

if [ "$CH" = "Y" -o "$CH" = "y" ];then

MOUNT=`mount |grep $1 |awk '{print $1}'`

for i in $MOUNT;do

fuser $i

umount $i

done

else

exit

fi

}

#The function FDISK is auto create 3 partition and format.

FDISK () {

dd if=/dev/zero of=$1 bs=512 count=1

partprobe $1

echo '

n

p

1

+100M

n

p

2

+512M

n

p

3

+128M

t

3

82

w ' | fdisk $1 &> /dev/null

[ $? -ne 0 ] && return 68

sync

partprobe $1

sleep 1

mke2fs -j ${1}1 &> /dev/null

PART1=$?

mke2fs -j ${1}2 &> /dev/null

PART2=$?

mkswap ${1}3  &> /dev/null

PART3=$?

[ $PART1 -ne 0 -o $PART2 -ne 0 -o $PART3 -ne 0 ] && return 69

}

#check the partition has benn mounted

read -p "Look at the partition: " DISK

fdisk -l $DISK |grep ^/dev

MOUNT=`fdisk -l $DISK |grep ^/dev |awk '{print $1}'`

for i in $MOUNT;do

mount |grep "$i"

REVTL=$?

if [ $REVTL -eq 0 ];then

echo "The $i is mounted."

else

echo "The $i is not mounted."

fi

done

read -p "umount the $DISK of partition,and create 3 pattitions: continue(y/n)" CHOICE

if [ "$CHOICE" = "Y" -o "$CHOICE" = "y" ];then

CH $DISK

FDISK $DISK

echo "The action is successful!"

else

exit

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值