磁盘管理
df命令
df=disk filesystem 用于查看已挂载磁盘的总容量,使用量,剩余容量等信息的命令,不加任何参数直接使用,容量的默认单位是千字节(KByte)。
[root@test-01 ~]# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 16659456 872980 15786476 6% /devtmpfs 929836 0 929836 0% /devtmpfs 935392 0 935392 0% /dev/shmtmpfs 935392 8692 926700 1% /runtmpfs 935392 0 935392 0% /sys/fs/cgroup/dev/sda1 201388 75920 125468 38% /boot
上面的信息中后面的挂载点,像/ ,/boot ,这是我们在安装系统的时候划分的分区;/dev ,/dev/shm,这是内存分区,默认大小是内存的1/2 ,如果我们把文件保存在这个分区下,那么重启之后文件会消失。其他的想/run, /sys/fs/cgroup等分区是临时分区,平时工作当中不用动这些分区。
df命令常用的参数,-i ,-h ,-k ,-m
- df -i :表示查看inodes的使用情况,如果inodes使用100% ,就算分区还有空间,也不能在往里面写东西了,系统会提示磁盘空间已满。
[root@test-01 ~]# df -i文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点/dev/sda3 16669696 23863 16645833 1% /devtmpfs 232459 365 232094 1% /devtmpfs 233848 1 233847 1% /dev/shmtmpfs 233848 409 233439 1% /runtmpfs 233848 13 233835 1% /sys/fs/cgroup/dev/sda1 204800 330 204470 1% /boot
** 小技巧 ,直接使用这个命令显示出来的内容好多都是临时分区和内存分区,影响我们查看我们需要的磁盘信息,可以使用df -i | grep -v tmpfs , 管道符后面的意思是过滤掉含tmpfs的分区内容。 df -i | grep -v tmpfs 的显示内容可以明显的看到,临时分区和内存分区不会显示出来
[root@test-01 ~]# df -i | grep -v tmpfs文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点/dev/sda3 16669696 23863 16645833 1% //dev/sda1 204800 330 204470 1% /boot
- df -h 表示自适应合适的容量单位显示内容
- df -k 、df -m 分别表示以KB 和MB 为单位显示 操作显示如下:
[root@test-01 ~]# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 16G 853M 16G 6% /devtmpfs 909M 0 909M 0% /devtmpfs 914M 0 914M 0% /dev/shmtmpfs 914M 8.5M 906M 1% /runtmpfs 914M 0 914M 0% /sys/fs/cgroup/dev/sda1 197M 75M 123M 38% /boot[root@test-01 ~]# df -k文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 16659456 873004 15786452 6% /devtmpfs 929836 0 929836 0% /devtmpfs 935392 0 935392 0% /dev/shmtmpfs 935392 8664 926728 1% /runtmpfs 935392 0 935392 0% /sys/fs/cgroup/dev/sda1 201388 75920 125468 38% /boot[root@test-01 ~]# df -m文件系统 1M-块 已用 可用 已用% 挂载点/dev/sda3 16269 853 15417 6% /devtmpfs 909 0 909 0% /devtmpfs 914 0 914 0% /dev/shmtmpfs 914 9 906 1% /runtmpfs 914 0 914 0% /sys/fs/cgroup/dev/sda1 197 75 123 38% /boot
du 命令
du =disk useage 用来查看某个文件或者目录所占空间的大小,格式为du_ [参数] filename _ 该命令常用的参数有: -a 、-b 、-k、-m 、-s 、-c 、-h
- -a :表示全部文件和目录所占空间的大小都列出来。如果du命令不加任何参数,则只会列出目录 (包含子目录)的大小,如果du不指定单位,默认显示单位为KB 。
[root@test-01 ~]# du -a /root4 /root/.bash_logout4 /root/.bash_profile4 /root/.bashrc4 /root/.cshrc4 /root/.tcshrc4 /root/anaconda-ks.cfg12 /root/.bash_history12 /root/.ssh/.authorized_keys.swp4 /root/.ssh/authorized_keys16 /root/.ssh0 /root/40 /root/pawd56 /root[root@test-01 ~]# du /root16 /root/.ssh0 /root/456 /root
- du - b ,-k .-m 表示空间单位以 Byte , KB ,MB 显示内容。
- du -c 命令,表示最后加总 ,不常用。
- du -s 命令,只查看该目录的磁盘使用情况,不会列出目录下面的子目录和文件
磁盘分区
- 添加磁盘, 现在绝大多数的服务器都支持热拔插磁盘,在开机状态下,直接插入新的磁盘,系统也能够识别。在实验环境下使用虚拟机,则需要添加完磁盘后重启虚拟机。
- 使用fdisk命令可以查看系统中的磁盘设备和分区列表,
- fdisk -l ,不加设备名称,会显示所有磁盘设备和分区列表。
- fdisk -l 加设备名 ,则会列出该设备的分区表。
下面是我们添加完硬盘后重启虚拟机,运行fdisk -l 获得的结果:
[root@test-01 ~]# fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x0009b48b 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 411647 204800 83 Linux/dev/sda2 411648 8603647 4096000 82 Linux swap / Solaris/dev/sda3 8603648 41943039 16669696 83 Linux磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节
在上面我们可以看到,新添加的硬盘已经被系统识别到,名称为:/dev/sdb 。接下来我们仍旧使用fdisk命令给硬盘分区。
fdisk 命令常用的参数,
- -p :表示打印当前磁盘的分区情况。
- -n: 创建一个新的分区。
- -w:保存退出
- -q:表示不保存设置,直接退出
- -d:表示删除一个分区。 下面我们来演示在新的磁盘上面新建分区 :fdisk /dev/sdb
命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): Using default response p分区号 (1-4,默认 1):起始 扇区 (2048-41943039,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+8G分区 1 已设置为 Linux 类型,大小设为 8 GiB
新建分区就用这种方式。 在交互模式下新建分区时有主分区(p),扩展分区(e),逻辑分区(l),主分区和扩展分区的和不能超过4,可以有1-4个主分区(当主分区为4个时,就不能划分扩展分区了,没有扩展分区也就没有逻辑分区,逻辑分区是建立在扩展分区里的),主分区和逻辑分区编号可以不连续,而逻辑分区号肯定是从5开始的,而且肯定是连续的。