linux 的 磁盘管理

 

1. 查看信息

1.1 查看磁盘信息

在linux中如果需要查看磁盘信息,需要使用df和du命令。

df: 列出文件系统中整个磁盘的使用量

du:评估文件系统中磁盘的使用量,经常用来推算目录所占的容量

 

df –hl
 
 

 

df( abbreviation for disk free)中常见的命令:

     -l, --local 限制列出的文件结构;

     -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...);

     -a, --all 包含所有的具有 0 Blocks 的文件系统;

     -k, --kilobytes 就像是 --block-size=1024;

     -P, --portability 使用 POSIX 输出格式;

--- 详情参见:  https://en.wikipedia.org/wiki/Df_(Unix)

 

du (abbreviated from disk usage) 在此不再赘述,网上的资料已经很多了

--- 详情参见:https://en.wikipedia.org/wiki/Du_(Unix)

 

1.2 查看磁盘大小

这里介绍一个du的命令

sudo du –h –max-depth=1 
# 或者是
du -ah --max-depth=1 <目录路径> # a/ all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况
# 假如要查看每个用户所占用的磁盘空间 sudo du –h -d=1 /home

 

 

1.3 查看内存信息

linux中所有的资源以文件的形式展现,比如内存的信息便是在/proc/meminfo存储,通过

cat /proc/meminfo

可以查看详细的内存信息;

free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述;

free -h

 

1.4 查看版本信息

 

lsb_release -a
cat /etc/issue

 

1.5 查看内核版本

 

uname –a

 

2. linux磁盘的管理

 

2.0 查找磁盘

bh@bh:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdc  /dev/sdd

解释: linux中所有的设备的都是以文件的形式展现的,磁盘也是如此;linux系统中凡是可以检测到的设备都会在/dev下出现。

dev是device的缩写,sd是mass-storage driver 的缩写,由此可见,如果要查看可用的磁盘,可以通过 ls /dev/sd* 查看;

 

 

查看磁盘信息:

bh@bh:~$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

 

2.1 分区操作

# 假定要分区的设备是 sdb
fdisk -l /dev/sdb
# 分区过后,记得根据提示按w进行保存,否则无效
# 分区操作
sudo fdisk /dev/sdb
# 根据提示信息划分磁盘区域
# 在划分完毕以后,记得输入w进行保存

再次查看,验证分区结果

bh@bh:~$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdd



2.2 磁盘的格式化

磁盘分区完毕以后,就是要对分区格式化。格式化的命令很简单 mkfs(make file systerm), centOS7可能会用xfs作为预设格式,ubuntu使用的是ext4;

mkfs.ext4 只有两个参数:
-b : 设置block的大小,可以设置1k,2k,4k,等等;

-L:

bh@bh:~$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.44.1 (24-Mar-2018)
Found a dos partition table in /dev/sdb1
Proceed anyway? (y,N) y
mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
        filesystem with 0 blocks, specify higher inode_ratio (-i)
        or lower inode count (-N).

格式化以后,可以通过 dumpe2fs 命令查看:

bh@bh:~$ sudo dumpe2fs -h /dev/sdb1

dumpe2fs 1.44.1 (24-Mar-2018)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          9f15b1a8-b750-4f45-9231-f7911ebda515

.....
Inode count:              122101760
Block count:              488378390
Reserved block count:     24418919
Free blocks:              480431167
Free inodes:              122101749
First block:              0
Block size:               4096
Fragment size:            4096
....

Journal checksum:         0xcb55b6e4

 

2.3 磁盘的挂载

# 对sdb1进行格式化,格式的文件系统格式是ext4
sudo mkfs.ext4 /dev/sdb1

 

# 创建挂载目录
sudo mkdir /home1
#挂载分区sdb1, 同时给定分区格式
bh@bh:/$ sudo mount -t ext4 /dev/sdb1 /home1
#查看挂载目录的信息
bh@bh:/$ df /home1 # 通过df 命令可以看到挂载成功
Filesystem      1K-blocks  Used  Available Use% Mounted on
/dev/sdb1      1921802520 77852 1824032608   1% /home1

 

 

 

 

3. 磁盘操作的总结:

# 查看设备
bh@bh:/$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd
#对设备sdd进行操作
bh@bh:/$ sudo fdisk /dev/sdd

Welcome to fdisk (util-linux 2.31.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

The old ext4 signature will be removed by a write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x334596a8.

Command (m for help): n # 输入m会提示相关磁盘的操作,n代表new一个新分区
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p):# 设置磁盘的主分区还是扩展分区

Using default response p.
Partition number (1-4, default 1): 
First sector (2048-3907029167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3907029167, default 3907029167):

Created a new partition 1 of type 'Linux' and of size 1.8 TiB.

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
# 格式化sdd1, 并输出相关信息
bh@bh:/$ sudo mkfs.ext4 /dev/sdd1 
mke2fs 1.44.1 (24-Mar-2018)
Creating filesystem with 488378390 4k blocks and 122101760 inodes
Filesystem UUID: d0e572d2-6970-44d7-8f3f-91905c095f8c
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

bh@bh:/$ sudo mkdir /home3 # 创建目录,视为挂载点
bh@bh:/$ sudo mount -t ext4 /dev/sdd1 /home3 # 将sdd1挂载到home3上
bh@bh:/$ df -h /home3 # 查看最终home3的信息
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdd1       1.8T   77M  1.7T   1% /home3

你可能感兴趣的:(linux 的 磁盘管理)