天天看點

linux-mknod,fdisk,mkfs,mke2fs,blkid,e2lable,tune2fs,dumpe2fs,fsch,e2fsch,mount

zhi ngzhiton'g/dev

 主裝置号 (major number)

  辨別裝置類型

 次裝置号 (minor number)

  辨別同一種類型中不同裝置

[rhel@localhost ~]$ ll /dev/

brw-rw----. 1 root disk      8,   0 Feb 19 18:55 sda

brw-rw----. 1 root disk      8,   1 Feb 19 18:55 sda1

brw-rw----. 1 root disk      8,   2 Feb 19 18:55 sda2

brw-rw----. 1 root disk      8,   3 Feb 19 18:55 sda3

裝置id不占有磁盤塊,資料存放在inode中

mknod:建立塊或字元特殊檔案

NAME

       mknod - make block or character special files

SYNOPSIS

       mknod [OPTION]... NAME TYPE [MAJOR MINOR]

-m MODE 設定裝置檔案權限

[root@localhost ~]# mknod mydev c 66 0

[root@localhost ~]# ll

total 96

-rw-r--r--. 1 root root   989 Feb 18 17:09 adduser.sh

-rw-------. 1 root root  4080 Jun 21  2015 anaconda-ks.cfg

-rw-r--r--. 1 root root    95 Feb 17 20:23 case.sh

-rw-r--r--. 1 root root 42001 Jun 21  2015 install.log

-rw-r--r--. 1 root root  9154 Jun 21  2015 install.log.syslog

crw-r--r--. 1 root root 66, 0 Feb 19 19:23 mydev

-rw-r--r--. 1 root root   315 Feb 17 19:36 random.sh

-rwxr-xr-x. 1 root root   196 Nov 19 18:37 second.sh

-rw-r--r--. 1 root root   200 Nov 19 22:26 sum.sh

-rwxr-xr-x. 1 root root   118 Nov 19 18:53 third.sh

-rwxr-xr-x. 1 root root   425 Nov 19 18:48 user2.sh

-rwxr-xr-x. 1 root root   177 Nov 19 20:23 userexit.sh

[root@localhost ~]# mknod -m 640 mydev2 c 66 1

crw-r-----. 1 root root 66, 1 Feb 19 19:23 mydev2

裝置檔案是通路裝置的入口

[root@localhost ~]# echo "hello" >> /dev/pts/1

[root@localhost ~]#

[rhel@localhost ~]$ hello

[rhel@localhost ~]$

硬碟裝置的裝置檔案名:

IDE, ATA:hd

SATA:sd

SCSI: sd

USB: sd

 a,b,c,...來差別同一種類型下的不同裝置

IDE:

 第一個IDE口:主、從

  /dev/hda, /dev/hdb

 第二個IDE口:主、從

  /dev/hdc, /dev/hdd

sda, sdb, sdc, ...

hda:

 hda1: 第一個主分區

 hda2:

 hda3:

 hda4:

 hda5: 第一個邏輯分區

檢視目前系統識别了幾塊硬碟:

fdisk -l [/dev/to/some_device_file]

[root@localhost ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0004cc30

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          39      307200   83  Linux  (預設系統bootloader)

Partition 1 does not end on cylinder boundary.

/dev/sda2              39        2350    18566144   83  Linux

/dev/sda3            2350        2611     2097152   82  Linux swap / Solaris

管理磁盤分區:

fdisk /dev/sda

 p: 顯示目前硬體的分區,包括沒儲存的改動

 n: 建立新分區

  e: 擴充分區

  p: 主分區

 d: 删除一個分區

 w: 儲存退出

 q: 不儲存退出

 t: 修改分區類型

  L:

 l: 顯示所支援的所有類型

partprobe :通知核心重讀分區表

建立分區fdisk

Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

e

Partition number (1-4):

Value out of range.

Partition number (1-4): 4

First cylinder (263-2610, default 263):

Using default value 263

Last cylinder, +cylinders or +size{K,M,G} (263-2610, default 2610):

Using default value 2610

   l   logical (5 or over)

+2G

Invalid partition number for type `+'

l

First cylinder (263-2610, default 263): +2G

Last cylinder, +cylinders or +size{K,M,G} (263-2610, default 2610): +2G

First cylinder (525-2610, default 525):

Using default value 525

Last cylinder, +cylinders or +size{K,M,G} (525-2610, default 2610): +5G

First cylinder (1179-2610, default 1179):

Using default value 1179

Last cylinder, +cylinders or +size{K,M,G} (1179-2610, default 2610): +1G

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@localhost ~]# cat /proc/partitions

major minor  #blocks  name

   8        0   20971520 sda

   8        1     307200 sda1

   8        2   18566144 sda2

   8        3    2097152 sda3

   8       16   20971520 sdb

   8       17    2104483 sdb1

   8       20          1 sdb4

   8       21    2104483 sdb5

   8       22    5253223 sdb6

   8       23    1060258 sdb7

[root@localhost ~]# partprobe /dev/sdb

檢視核心支援的檔案系統

[root@localhost ~]# cat /proc/filesystems

nodev sysfs

nodev rootfs

nodev bdev

nodev proc

nodev cgroup

nodev cpuset

nodev tmpfs

nodev devtmpfs

nodev binfmt_misc

nodev debugfs

nodev securityfs

nodev sockfs

nodev usbfs

nodev pipefs

nodev anon_inodefs

nodev inotifyfs

nodev devpts

nodev ramfs

nodev hugetlbfs

 iso9660

nodev pstore

nodev mqueue

nodev selinuxfs

 ext4

建立檔案系統

mkfs: make file system (統一調用檔案格式化的函數)

 -t FSTYPE   (指定檔案類型)

mkfs -t ext2 = mkfs.ext2

mkfs -t ext3 = mkfs.ext3

[root@localhost ~]# mkfs.

mkfs.cramfs   mkfs.ext2     mkfs.ext3     mkfs.ext4     mkfs.ext4dev  mkfs.msdos    mkfs.vfat    

[root@localhost ~]# ll /sbin/ | grep mkfs

-rwxr-xr-x. 1 root root   10336 Aug 11  2014 mkfs

-rwxr-xr-x. 1 root root   26208 Aug 11  2014 mkfs.cramfs

-rwxr-xr-x. 5 root root   68960 Jun 27  2014 mkfs.ext2

-rwxr-xr-x. 5 root root   68960 Jun 27  2014 mkfs.ext3

-rwxr-xr-x. 5 root root   68960 Jun 27  2014 mkfs.ext4

-rwxr-xr-x. 5 root root   68960 Jun 27  2014 mkfs.ext4dev

lrwxrwxrwx. 1 root root       7 Jun 21  2015 mkfs.msdos -> mkdosfs

lrwxrwxrwx. 1 root root       7 Jun 21  2015 mkfs.vfat -> mkdosfs

[root@localhost ~]# mkfs -t ext3 /dev/sdb5

mke2fs 1.41.12 (17-May-2010)

Filesystem label=  (卷标)

OS type: Linux  

Block size=4096 (log=2) 

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

131648 inodes, 526120 blocks  (inode數量及block數量)

26306 blocks (5.00%) reserved for the super user (預留super block)

First data block=0

Maximum filesystem blocks=541065216

17 block groups (塊組)

32768 blocks per group, 32768 fragments per group

7744 inodes per group

Superblock backups stored on blocks:

 32768, 98304, 163840, 229376, 294912

Writing inode tables: done                           

Creating journal (16384 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

專門管理ext系列檔案:

mke2fs

 -j: 建立ext3類型檔案系統

 -b BLOCK_SIZE: 指定塊大小,預設為4096;可用取值為1024、2048或4096;

 -L LABEL:指定分區卷标;

 -m #: 指定預留給超級使用者的塊數百分比

 -i #: 用于指定為多少位元組的空間建立一個inode,預設為8192;這裡給出的數值應該為塊大小的2^n倍;

 -N #: 指定inode個數;

 -F: 強制建立檔案系統;

 -E: 使用者指定額外檔案系統屬性;

1、mke2fs  /dev/sdb5建立ext2檔案系統

[root@localhost ~]# mke2fs /dev/sdb5

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

131648 inodes, 526120 blocks

26306 blocks (5.00%) reserved for the super user

17 block groups

This filesystem will be automatically checked every 36 mounts or

2、mke2fs -j /dev/sdb5建立ext3檔案系統

[root@localhost ~]# mke2fs -j /dev/sdb5

Creating journal (16384 blocks): done (ext3是日志檔案系統)

This filesystem will be automatically checked every 26 mounts or

3、mke2fs -b 2048 /dev/sdb5建立塊大小為2048

[root@localhost ~]# mke2fs -b 2048 /dev/sdb5

Block size=2048 (log=1)

Fragment size=2048 (log=1)

131560 inodes, 1052240 blocks

52612 blocks (5.00%) reserved for the super user

Maximum filesystem blocks=538968064

65 block groups

16384 blocks per group, 16384 fragments per group

2024 inodes per group

 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816

4、mke2fs -L MYSDB /dev/sdb5指定卷标為MYSDB

[root@localhost ~]# mke2fs -L MYSDB /dev/sdb5

Filesystem label=MYSDB

This filesystem will be automatically checked every 21 mounts or

5、mke2fs -m 3 /dev/sdb5指定超級塊所占比例記憶體

[root@localhost ~]# mke2fs -m 3 /dev/sdb5

15783 blocks (3.00%) reserved for the super user

This filesystem will be automatically checked every 23 mounts or

6、mke2fs -i 4096 /dev/sdb5指定inode及block比例為1:4096

[root@localhost ~]# mke2fs -i 4096 /dev/sdb5

526320 inodes, 526120 blocks

Maximum filesystem blocks=540801024

32752 blocks per group, 32752 fragments per group

30960 inodes per group

 32752, 98256, 163760, 229264, 294768

This filesystem will be automatically checked every 31 mounts or

blkid /dev/sdb5檢視裝置檔案的基本屬性,關注UUID及TYPE、LABEL字段

[root@localhost ~]# blkid /dev/sdb5

/dev/sdb5: UUID="edc852aa-376d-411b-876a-0deb9f89b140" TYPE="ext2"

e2label: 用于檢視或定義卷标

 e2label 裝置檔案 卷标: 設定卷标

[root@localhost ~]# e2label /dev/sdb5 HELLO

[root@localhost ~]# e2label /dev/sdb5

HELLO

/dev/sdb5: UUID="edc852aa-376d-411b-876a-0deb9f89b140" TYPE="ext2" LABEL="HELLO"

tune2fs: 調整檔案系統的相關屬性

 -j: 不損害原有資料,将ext2更新為ext3;

 -L LABEL: 設定或修改卷标;

 -m #: 調整預留百分比;

 -r #: 指定預留塊數;

 -o: 設定預設挂載選項;

  acl

 -c #:指定挂載次數達到#次之後進行自檢,0或-1表關閉此功能;

 -i #: 每挂載使用多少天後進行自檢;0或-1表示關閉此功能;

 -l: 顯示超級塊中的資訊;

1、une2fs -j /dev/sdb5無損更新為ext3

[root@localhost ~]# tune2fs -j /dev/sdb5

tune2fs 1.41.12 (17-May-2010)

Creating journal inode: done

/dev/sdb5: LABEL="HELLO" UUID="edc852aa-376d-411b-876a-0deb9f89b140" SEC_TYPE="ext2" TYPE="ext3"

2、tune2fs -l /dev/sdb5檢視超級塊資訊

[root@localhost ~]# tune2fs -l /dev/sdb5

Filesystem volume name:   HELLO

Last mounted on:          <not available>

Filesystem UUID:          edc852aa-376d-411b-876a-0deb9f89b140

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype sparse_super large_file

Filesystem flags:         signed_directory_hash

Default mount options:    (none)

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              526320

Block count:              526120

Reserved block count:     26306

Free blocks:              476004

Free inodes:              526309

First block:              0

Block size:               4096

Fragment size:            4096

Reserved GDT blocks:      128

Blocks per group:         32752

Fragments per group:      32752

Inodes per group:         30960

Inode blocks per group:   1935

Filesystem created:       Tue Feb 21 14:49:15 2017

Last mount time:          n/a

Last write time:          Tue Feb 21 15:41:16 2017

Mount count:              0

Maximum mount count:      31

Last checked:             Tue Feb 21 14:49:15 2017

Check interval:           15552000 (6 months)

Next check after:         Sun Aug 20 15:49:15 2017

Reserved blocks uid:      0 (user root)

Reserved blocks gid:      0 (group root)

First inode:              11

Inode size:           256

Required extra isize:     28

Desired extra isize:      28

Journal inode:            8

Default directory hash:   half_md4

Directory Hash Seed:      903d8d69-a548-4c82-955e-328a4025eaeb

Journal backup:           inode blocks

dumpe2fs: 顯示檔案系統屬性資訊

 -h: 隻顯示超級塊中的資訊

[root@localhost ~]# dumpe2fs /dev/sdb5

dumpe2fs 1.41.12 (17-May-2010)

Journal features:         (none)

Journal size:             64M

Journal length:           16384

Journal sequence:         0x00000001

Journal start:            0

(塊組資訊)

Group 0: (Blocks 0-32751)

  Primary superblock at 0, Group descriptors at 1-1

  Reserved GDT blocks at 2-129

  Block bitmap at 130 (+130), Inode bitmap at 131 (+131)

  Inode table at 132-2066 (+132)

  30679 free blocks, 30949 free inodes, 2 directories

  Free blocks: 2073-32751

  Free inodes: 12-30960

Group 1: (Blocks 32752-65503)

  Backup superblock at 32752, Group descriptors at 32753-32753

  Reserved GDT blocks at 32754-32881

  Block bitmap at 32882 (+130), Inode bitmap at 32883 (+131)

  Inode table at 32884-34818 (+132)

  30685 free blocks, 30960 free inodes, 0 directories

  Free blocks: 34819-65503

  Free inodes: 30961-61920

Group 2: (Blocks 65504-98255)

  Block bitmap at 65504 (+0), Inode bitmap at 65505 (+1)

  Inode table at 65506-67440 (+2)

  30815 free blocks, 30960 free inodes, 0 directories

  Free blocks: 67441-98255

  Free inodes: 61921-92880

Group 3: (Blocks 98256-131007)

  Backup superblock at 98256, Group descriptors at 98257-98257

  Reserved GDT blocks at 98258-98385

  Block bitmap at 98386 (+130), Inode bitmap at 98387 (+131)

  Inode table at 98388-100322 (+132)

  Free blocks: 100323-131007

  Free inodes: 92881-123840

Group 4: (Blocks 131008-163759)

  Block bitmap at 131008 (+0), Inode bitmap at 131009 (+1)

  Inode table at 131010-132944 (+2)

  Free blocks: 132945-163759

  Free inodes: 123841-154800

Group 5: (Blocks 163760-196511)

  Backup superblock at 163760, Group descriptors at 163761-163761

  Reserved GDT blocks at 163762-163889

  Block bitmap at 163890 (+130), Inode bitmap at 163891 (+131)

  Inode table at 163892-165826 (+132)

  Free blocks: 165827-196511

  Free inodes: 154801-185760

Group 6: (Blocks 196512-229263)

  Block bitmap at 196512 (+0), Inode bitmap at 196513 (+1)

  Inode table at 196514-198448 (+2)

  Free blocks: 198449-229263

  Free inodes: 185761-216720

Group 7: (Blocks 229264-262015)

  Backup superblock at 229264, Group descriptors at 229265-229265

  Reserved GDT blocks at 229266-229393

  Block bitmap at 229394 (+130), Inode bitmap at 229395 (+131)

  Inode table at 229396-231330 (+132)

  Free blocks: 231331-262015

  Free inodes: 216721-247680

Group 8: (Blocks 262016-294767)

  Block bitmap at 262016 (+0), Inode bitmap at 262017 (+1)

  Inode table at 262018-263952 (+2)

  14414 free blocks, 30960 free inodes, 0 directories

  Free blocks: 280354-294767

  Free inodes: 247681-278640

Group 9: (Blocks 294768-327519)

  Backup superblock at 294768, Group descriptors at 294769-294769

  Reserved GDT blocks at 294770-294897

  Block bitmap at 294898 (+130), Inode bitmap at 294899 (+131)

  Inode table at 294900-296834 (+132)

  Free blocks: 296835-327519

  Free inodes: 278641-309600

Group 10: (Blocks 327520-360271)

  Block bitmap at 327520 (+0), Inode bitmap at 327521 (+1)

  Inode table at 327522-329456 (+2)

  Free blocks: 329457-360271

  Free inodes: 309601-340560

Group 11: (Blocks 360272-393023)

  Block bitmap at 360272 (+0), Inode bitmap at 360273 (+1)

  Inode table at 360274-362208 (+2)

  Free blocks: 362209-393023

  Free inodes: 340561-371520

Group 12: (Blocks 393024-425775)

  Block bitmap at 393024 (+0), Inode bitmap at 393025 (+1)

  Inode table at 393026-394960 (+2)

  Free blocks: 394961-425775

  Free inodes: 371521-402480

Group 13: (Blocks 425776-458527)

  Block bitmap at 425776 (+0), Inode bitmap at 425777 (+1)

  Inode table at 425778-427712 (+2)

  Free blocks: 427713-458527

  Free inodes: 402481-433440

Group 14: (Blocks 458528-491279)

  Block bitmap at 458528 (+0), Inode bitmap at 458529 (+1)

  Inode table at 458530-460464 (+2)

  Free blocks: 460465-491279

  Free inodes: 433441-464400

Group 15: (Blocks 491280-524031)

  Block bitmap at 491280 (+0), Inode bitmap at 491281 (+1)

  Inode table at 491282-493216 (+2)

  Free blocks: 493217-524031

  Free inodes: 464401-495360

Group 16: (Blocks 524032-526119)

  Block bitmap at 524032 (+0), Inode bitmap at 524033 (+1)

  Inode table at 524034-525968 (+2)

  151 free blocks, 30960 free inodes, 0 directories

  Free blocks: 525969-526119

  Free inodes: 495361-526320

fsck: 檢查并修複Linux檔案系統(通用檔案系統檢查及修複)

 -t FSTYPE: 指定檔案系統類型

 -a: 自動修複

[root@localhost ~]# fsck -a /dev/sdb5

fsck from util-linux-ng 2.17.2

HELLO: clean, 11/526320 files, 50116/526120 blocks

e2fsck: 專用于修複ext2/ext3檔案系統

 -f: 強制檢查;

 -p: 自動修複;

[root@localhost ~]# e2fsck /dev/sdb5

e2fsck 1.41.12 (17-May-2010)

挂載:将新的檔案系統關聯至目前根檔案系統

解除安裝:将某檔案系統與目前根檔案系統的關聯關系預以移除;

mount:挂載

mount 裝置 挂載點

 裝置:

  裝置檔案:/dev/sda5

  卷标:LABEL=“”

  UUID: UUID=“”

 挂載點:目錄

  要求:

   1、此目錄沒有被其它程序使用;

   2、目錄得事先存在;

   3、目錄中的原有的檔案将會暫時隐藏;

mount: 顯示目前系統已經挂載的裝置及挂載點

mount [options] [-o options] DEVICE MOUNT_POINT

 -a: 表示挂載/etc/fstab檔案中定義的所有檔案系統

 -n: 預設情況下,mount指令每挂載一個裝置,都會把挂載的裝置資訊儲存至/etc/mtab檔案;使用—n選項意味着挂載裝置時,不把資訊寫入此檔案;

 -t FSTYPE: 指定正在挂載裝置上的檔案系統的類型;不使用此選項時,mount會調用blkid指令擷取對應檔案系統的類型;

 -r: 隻讀挂載,挂載CD光牒時常用此選項

 -w: 讀寫挂載

 -o: 指定額外的挂載選項,也即指定檔案系統啟用的屬性;

  remount: 重新挂載目前檔案系統

  ro: 挂載為隻讀

  rw: 讀寫挂載

mount指令,可以挂載iso鏡像;

mount DEVICE MOUNT_POINT

-o loop: 挂載本地回環裝置

挂載完成後,要通過挂載點通路對應檔案系統上的檔案;

umount: 解除安裝某檔案系統

 umount 裝置

 umount 挂載點 

 解除安裝注意事項:

  挂載的裝置沒有程序使用;

1、mount挂載裝置/dev/sdb5 在目錄/mnt/test/

[root@localhost ~]# mkdir /mnt/test

[root@localhost ~]# mount /dev/sdb5 /mnt/test/

[root@localhost ~]# ll /mnt/test/

total 16

drwx------. 2 root root 16384 Feb 21 14:49 lost+found

2、umount解除安裝

[root@localhost ~]# umount /mnt/test/

total 0

3、檢視所有挂載裝置

[root@localhost ~]# mount

/dev/sda2 on / type ext4 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

/dev/sdb5 on /mnt/test type ext3 (rw)

4、檢視裝置挂載資訊

[root@localhost ~]# cat /etc/mtab

/dev/sda2 / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0" 0 0

/dev/sda1 /boot ext4 rw 0 0

none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0

/dev/sdb5 /mnt/test ext3 rw 0 0

5、隻讀方式重新挂載

[root@localhost ~]# mount -o remount,ro /dev/sdb5

/dev/sdb5 on /mnt/test type ext3 (ro)