linux磁盘以及文件系统

df 查看磁盘总容量

-i 显示inodes号

-h 使用合适的单位显示磁盘大小

-m 以M为单位显示

-k 以K为单位显示 默认K显示

 

du 用来查看某个目录或者文件所占空间大小

参数:-abckmsh

如果不加任何选项和参数只列出目录(包含子目录)大小。

-a 全部文件和目录大小都列出来。

指定单位列出 -b -k -m -h(系统自动调节单位)

-c 最后加总和

-s 只列出总和 

一般使用 du -sh

 

硬盘分区工具:

fdisk 

选项只有一个-l

fdisk -l 后面不加设备名会直接列出系统中所有的磁盘设备以及分区表,加上设备名会列出该设备的分区表

[root@localhost ~]# fdisk -l

Disk /dev/sda: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 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: 0x00018d63

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              13         274     2097152   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             274        2089    14576640   83  Linux

如果不加选项 -l

[root@yuananqin ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It‘s strongly recommended to
switch off the mode (command ‘c‘) and change display units to
sectors (command ‘u‘).

 

输入m会列出常用的命令:

n添加一个分区,p建立主分区 

当分完三个主分区后,第四个扩展分区需要把剩余的磁盘空间全部划分给扩展分区,不然的话剩余的空间会浪费,因为分完扩展分区后,再划分新的分区时是在已经划分的扩展分区里来分的。其中/dev/sdb4为扩展分区,这个分区是不可以格式化的,您可以把它看成是一个空壳子,能使用的为/dev/sdb5, 其中/dev/sdb5为/dev/sdb4的子分区,这个子分区叫做逻辑分区

 

格式化磁盘分区

mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4

mke2fs常用的选项有:

‘-b’ 分区时设定每个数据区块占用空间大小,目前支持1024, 2048 以及4096 bytes每个块。

‘-i’ 设定inode的大小

‘-N’ 设定inode数量,有时使用默认的inode数不够用,所以要自定设定inode数量。

‘-c’ 在格式化前先检测一下磁盘是否有问题,加上这个选项后会非常慢

‘-L’ 预设该分区的标签label

‘-t’ 用来指定什么类型的文件系统,可以是ext2, ext3 也可以是 ext4.

mke2fs -t ext4 /dev/sdb5

命令等同于 mkfs.ext4 /dev/sdb5

 

挂载/卸载磁盘

mount  /dev/sdb5  /newdir/

/etc/fstab

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

#
# /etc/fstab
# Created by anaconda on Tue May  7 17:51:27 2013
#
# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=95297b81-538d-4d96-870a-de90255b74f5 /                       ext4    defaults        1 1
UUID=a593ff68-2db7-4371-8d8c-d936898e9ac9 /boot                   ext4    defaults        1 2
UUID=ff042a91-b68f-4d64-9759-050c51dc9e8b swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

这个文件是系统启动时,需要挂载的各个分区。
第一列就是分区的标识,可以写分区的LABEL,也可以写分区的UUID,当然也可以写分区名(/dev/sda1);
第二列是挂载点;
第三列是分区的格式;
第四列则是mount的一些挂载参数
第五列的数字表示是否被dump备份,是的话这里就是1,否则就是0;
第六列是开机时是否自检磁盘。1,2都表示检测,0表示不检测,在Redhat/CentOS中,这个1,2还有个说法,/ 分区必须设为1,而且整个fstab中只允许出现一个1,这里有一个优先级的说法。1比2优先级高,所以先检测1,然后再检测2,如果有多个分区需要开机检测那么都设置成2吧,1检测完了后会同时去检测2。

第四列中常用到的参数:

“async/sync” : async表示和磁盘和内存不同步,系统每隔一段时间把内存数据写入磁盘中,而sync则会时时同步内存和磁盘中数据;

“auto/noauto” : 开机自动挂载/不自动挂载;

“default” : 按照大多数永久文件系统的缺省值设置挂载定义,它包含了rw, suid, dev, exec, auto, nouser, async

“ro” : 按只读权限挂载 ;

“rw” : 按可读可写权限挂载 ;

“exec/noexec” : 允许/不允许可执行文件执行,但千万不要把根分区挂载为noexec,那就无法使用系统了,连mount命令都无法使用了,这时只有重新做系统了;

“user/nouser” : 允许/不允许root外的其他用户挂载分区,为了安全考虑,请用nouser ;

“suid/nosuid” : 允许/不允许分区有suid属性,一般设置nosuid ;

“usrquota” : 启动使用者磁盘配额模式,磁盘配额相关内容在后续章节会做介绍;

“grquota” : 启动群组磁盘配额模式;

 

以自己修改这个文件,增加一行来挂载新增分区

LABEL=TEST              /newdir                 ext4    defaults        0 0

umount

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。