1. ホーム
  2. スクリプト・コラム
  3. リナックスシェル

詳細な手順でフォーマットされたディスクを素早く作成するシェルスクリプト

2022-02-07 15:48:12

今回は、シェルスクリプトを使用して、マウント用のパーティション付きディスクをフォーマットする方法を、以下のように紹介します。

ディスクの現在のパーティション状態を表示する

現在のディスクのパーティションの状態を表示するには、次のコマンドを使用します: fdisk -l

fdisk -l
//View disk information
lsblk

ドライブをパーティションモードにする

fdisk /dev/sdb

Command (type m for help): m // print options menu

Add a new partition:
Command (type m for help): n // Add a partition

Select partition type.
Select (default p): e 
//Enter e to create an extended partition

Number of partitions:
Partition number (1-4, default 1): 1

Set the sectors:
Start sector (2048-83886079, default 2048): enter 
Last sector, +sector or +size{K,M,G} (2048-83886079, default 83886079): Enter

Save
command (type m for help): w // save exit

フォーマット操作、完了したらマウントして使用可能

mkfs -t ext3 /dev/sdb

//Mount the file system, ISO image to the specified folder.
// temporary :
mount /dev/cdrom (source file) /mnt (source mount point)
//permanent: 
vi /etc/fstab
dev/sdb /mnt iso9660 default 0 0

新しく追加されたディスクスクリプトを管理者選択で作成、フォーマット、マウントします。

注意:最初に勝手にディスクが作成されます

#! /bin/bash
# Use a shell script to implement a partitioned formatted mount of a disk
PS3="Prompt to select the disk to be created: "
select W in `ls /dev/sd*|grep -o 'sd[b-z]'|uniq` quit
do
  case $W in
  sda)
   fdisk -l /dev/sda
   break;;
  sd[b-z])
    echo "n
      p

      w" | fdisk /dev/$W
  mkfs.xfs -i size=512 /dev/${W}"1" &>/dev/null
  mkdir -p /data/${W}"1" &>/dev/null
  echo -e "/dev/${W}"1" /data/${W}"1" xfs defaults 0 0\n" >> /etc/fstab
  mount -a &>/dev/null
  break;;
  quit)
  break;;
  *)
  echo "Error disk, please check again";;
  esac
done  

新しく追加されたディスクスクリプトを自動的に作成、フォーマット、マウントする。

#! /bin/bash
To format a partition to mount a disk using a shell script

for V in $(ls /dev/sd[b-z])
do
 echo -e "n\np\n\n\n\n\nw\n" |fdisk $V
 mkfs.xfs -i size=512 ${V}1 &>/dev/null
 sleep 1
 M=$(echo "$V" |awk -F "/" '{print $3}')
 mkdir -p /data/${M}1 &>/dev/null
 echo -e "${V}1 /data/${M}1 xfs defaults 0 0\n" >>/etc/fstab
 mount -a &>/dev/null
done

アンマウント

 umount /dev/sdb

パーティションの削除

注:このディスクセッションに移動します

fdisk /dev/sdb 

//enter partition mode
m d 1 in sequence

この記事は、フォーマットされたディスクを素早く作成するシェルスクリプトについて、詳しく説明しています。フォーマットされたディスクを作成するシェルスクリプトについては、Script Houseの過去記事を検索するか、以下の関連記事を引き続き閲覧してください。