我们日常的很多操作都离不开磁盘,磁盘的管理,也是 Linux 应用的一个大板块。
df -h
磁盘容量的使用状况和挂载盘符。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs 12G 4.6G 7.5G 38% /
devtmpfs 128M 0 128M 0% /dev
tmpfs 128M 0 128M 0% /dev/shm
tmpfs 128M 13M 116M 11% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 128M 0 128M 0% /sys/fs/cgroup
none 128M 0 128M 0% /run/shm
du -h file
查看指定文件或目录的大小,du -a path
可以递归查看目录和隐藏文件。
$ du -h file
237k file
fdisk 命令可以查看磁盘的一些情况和对磁盘进行分区操作。
fdisk -l
查看磁盘信息。
$ fdisk -l
/dev/sda1
/dev/sda2
/dev/sda3
...
/dev/sdb
返回的这些信息中 sda
和 sdb
分别代表了两块硬盘设备。其中带编号的 sda 1/2/3
说明该设备已经有多个分区,而不带编号的 /dev/sdb 是未分区的存储设备。每一个设备可以有多个分区,1-4
为主分区,5+
是逻辑分区。
下面,我们用 fdisk
命令对未分区的 /dev/sdb
做分区操作,
$ fdisk /dev/sdb
运行完成上面的命令会进入分区系统,之后需要通过若干个子命令进行分区操作,在这操作的过程中,每一个步骤系统都会有详情的提示,我们输入第一个命令 "n" 进入分区。
n
- 按下 “n” 之后会进入分区状态,下一步要填写分区的类型,有三个类型可以选择 p 主分区、e 扩展分区、l 逻辑分区,我们选择 “p”。p
- 选择 “p 主分区” 之后,需要填写分区的编号 1-4。 1
- 完成编号的填写就剩最后一个步骤了,那就是分区的大小。+1024M
我们选择1G的大小。操作完上面的步骤,就完成了一次分区操作,我们可以按 p
查看当前磁盘的分区状态。
如果磁盘还剩空间,那么接着按 n
命令,重复上面的步骤。
最后如果所有的分区都完成了,按 w
可以保存,如果对分区的结果不满意,那么按 q
可以退出分区操作。
分成完成之后,需要做一次格式操作,使用 mke2fs
工具。
mke2fs -t ext4 /dev/sda5 // -t 指定文件系统类型 | ext4 是 Linux 流行的文件系统
挂载是个有意思的事情,刚接触 Linux 不久的同学们经常们经常会有困惑,为什么插了 U 盘在系统上没显示,那是因为没有挂载。挂载就是让设备跟某个目录关联,然后通过这个目录可以进入、读取 ... 设备的内容。我们刚刚分区出来的 空磁盘
,也需要做挂载操作。
挂载使用的命令是 mount
,如果不加任何参数使用 mount ,会返回当前系统已经完成挂载的设备信息。
$ mount
/dev/simfs on / type simfs (rw,relatime,usrquota,grpquota)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,mode=755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
...
我们做个实例,挂载我们刚刚分区出来的一个主分区 /dev/sdb1
mkdir ~/newpath
mount /dev/sdb1 ~/newpath
挂载之后 ~/newpath
关联的就是 /dev/sdb1
设备。
通过 mount 命令挂载的磁盘,只是临时的,当系统重启之后就会消失,如果想要实现永久的挂载,那么要把挂载信息配置到 /etc/fstab
文件里面。格式如下:
UUID=c61117ca-9176-4d0b-be4d-1b0f434359a7 /root/f ext4 defaults 0 0
/*
1. UUID
2. 挂载点
3. 文件系统
*/
UUID
的获取可以通过这个命令 blkid /dev/sdb1
。
配置成功之后,运行 mount -a
加载 /etc/fstab 文件。