linux下磁盘管理、分区、格式化、挂载

简介:

1. 查看磁盘或者目录的容量
df  查看磁盘各分区使用情况(总容量、使用容量、剩余容量、使用百分比、挂载点)

df=df -k 默认不加参数以k为单位;

df -m    以M单位显示;

df -h    最合适的单位显示(K,M,G,T,)

df -i   显示inode数量  

df -T    显示文件的类型

“/dev/shm” 为内存挂载点,如果你想把文件放到内存里,就可以放到/dev/shm/目录下。

1
2
3
4
5
6
7
8
9
10
11
12
  [root@localhost tmp] # df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                        19G  738M   17G   5% /
tmpfs                 250M     0  250M   0%  /dev/shm
/dev/sda1              477M   46M  407M  11%  /boot
[root@localhost tmp] # df -i
Filesystem            Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/VolGroup-lv_root
                      1213456 22070 1191386    2% /
tmpfs                  63843     1   63842    1%  /dev/shm
/dev/sda1              128016    45  127971    1%  /boot
1
2
3
4
5
6
[root@localhost ~] # df -T
Filesystem           Type  1K-blocks   Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      ext4   18971088 755768  17244980   5% /
tmpfs                tmpfs    255372      0    255372   0%  /dev/shm
/dev/sda1             ext4     487652  46217    415835  11%  /boot


free    查看swap的使用情况;

1
2
3
4
5
[root@localhost ~] # free
              total       used        free      shared    buffers     cached
Mem:        510748      95012     415736        160       6248      36108
-/+ buffers /cache :      52656     458092
Swap:      1048572          0    1048572


du 查看目录或者文件的容量

du=du -f 默认以k为单位显示;

du -a    列出全部文件与目录大小,包括子目录和文件;
du -s    列出总和

du -m    以M为单位

du -h    最合适的单位列出,最常用组合-sh

du -c    加总

磁盘分区的块大小为4k,默认为4k,创建一个目录、文件大小也为4k;
ls -lh    只显示目录或文件的大小

du -h     查看目录及目录下面的文件总容量;
du -bh    可以查看文件或目录下的实际大小;

1
2
3
4
5
6
[root@localhost ~] # ls -lh 1.txt 
-rw-r--r--. 1 root root 7 Mar 20 11:00 1.txt
[root@localhost ~] # du -h 1.txt 
4.0K    1.txt
[root@localhost ~] # du -bh 1.txt 
7    1.txt


2. 磁盘的分区和格式化

首先给虚拟机添加一块新硬盘,需要关机操作。编辑"虚拟机设置",弹出的对话框里面选择,添加按钮,选择“硬盘”磁盘类型选择IDE,创建新虚拟磁盘,大小设置为20G,将虚拟磁盘存储为单个文件,完成添加。

fdisk -l    查看磁盘和分区,只能划分2T一下的,大于2T需要用GPT;

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

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost ~] # fdisk -l /dev/sda
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: 0x0008bc5f
    Device Boot      Start         End      Blocks   Id  System
/dev/sda1    *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2               26         281     2048000   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3              281        2611    18717696   83  Linux


fdisk /dev/sdb    给新增加的硬盘分区;

主分区P+扩展分区E <=4

linux下最多只能创建四个主分区primary(1-4),可以建立扩展分区extended,扩展分区从5开始;当分完三个主分区后,第四个扩展分区需要把剩余的磁盘空间全部划分给扩展分区,不然的话剩余的空间会浪费,因为分完扩展分区后,再划分新的分区时是在已经划分的扩展分区里来分的。其中/dev/sdb4为扩展分区,这个分区是不可以格式化的,你可以把它看成是一个空壳子,能使用的为/dev/sdb5, 其中/dev/sdb5为/dev/sdb4的子分区,这个子分区叫做逻辑分区。

m    列出常用的命令

p    列出分区表

n    建立新分区

d    删除分区

w    保存分区

q    退出,不保存。

1
2
[root@localhost ~] # ls -l /dev/sdb5 
brw-rw---- 1 root disk 8, 21 3月  23 20:10  /dev/sdb5


cat /etc/filesystems    查看linux支持的分区格式;


mke2fs, mkfs.ext2, mkfs.ext3, mkfs.ext4 
-t    文件系统格式 ext3 ext4
-b    指定每个数据块大小,目前支持1024, 2048 及4096 
-L    分区标签
格式化时默认blocks (5.00%) reserved for the super user  //给超级用户预留的一部分空间,用来作为特殊用途
-m    可以更改这个比例,如 mke2fs -m 0.1 /dev/sdb1   //意思是,只预留出0.1%


1
2
[root@localhost ~] # mke2fs -t ext4 /dev/sdb5 
[root@localhost ~] # mke2fs -b 8192 /dev/sdb5


e2label    查看或修改分区的标签        

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

3. 挂载、卸载磁盘分区
mount    查看当前系统已经挂载的所有分区,以及分区文件系统的类型
mount 格式  mount -t type  /dev/sda5  /mnt

mount的几种方法:

1
2
3
4
[root@localhost ~] # mount /dev/sdb5 newdir/
[root@localhost ~] # mount -L test newdir/
[root@localhost ~] # mount LABEL=test newdir/
[root@localhost ~] # mount UUID="d48d9b64-631d-4752-b3b0-a1a485e5a90e" newdir/


mount -t    指定挂载分区格式,如 -t ext3

ext4下不能指定挂载格式为ext3,需要mke2fs -t ext3 后才可以;ext3下可以指定ext4的格式;


umount    卸载分区,后面跟设备的绝对路径或挂载目录;不可以跟LABEL和UUID;

umount /dev/sda5    

umount newdir/


umount -l    强制卸载,可以卸载U盘;

mount -o loop    挂载光盘iso文件,挂载到目录里面就可以读取光盘内容;
mount  -o    后面跟各种选项,比如remount,ro,noatime等,具体选项如下:

“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” : 启动群组磁盘配额模式;



mount -a    会根据/etc/fstab 挂载所有分区

blkid    列出所有设备的UUID及LABEL标签,后面可以跟设备名
使用UUID的好处是,多块磁盘,如果在服务器上换了插槽位置,设备名会变,但UUID是唯一的

1
2
[root@localhost ~] # blkid /dev/sdb5
/dev/sdb5 : UUID= "d48d9b64-631d-4752-b3b0-a1a485e5a90e"  TYPE= "ext4"


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@localhost ~] # cat /etc/fstab 
# /etc/fstab
# Created by anaconda on Wed Mar  4 00:59:09 2015
#
# 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=a7921a49-41b4-4467-a3bd-a7e958bd5fbb    /                       ext4    defaults        1 1
UUID=e0e3fd8a-ca2b-4eb3-bab9-e64851879dc1      /boot                ext4    defaults        1 2
UUID=c23d03e0-8717-4da0-92a4-8ca568975475     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=test      /root/newdir     ext4     defaults     0 0

umount 之后

mount -a 会自动挂载分区。


让某个分区开机后就自动挂载,有两个办法可以实现:

1、在 /etc/fstab 中添加一行;
2、把挂载命令写到 /etc/rc.d/rc.local 文件中去,系统启动完后会执行这个文件中的命令,所以只要你想开机后运行什么命令统统写入到这个文件下面吧,直接放到该文件的最后一行:

mount  UUID="d48d9b64-631d-4752-b3b0-a1a485e5a90e" newdir/

保存退出后,下次重启系统会自动挂载分区;






本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1623676,如需转载请自行联系原作者

目录
相关文章
|
3月前
|
Ubuntu Linux Shell
Linux系统中如何查看磁盘情况
【9月更文挑战第3天】在Linux系统中,有多种方式查看磁盘情况。可通过命令行工具`df`查看文件系统磁盘使用情况,选项`-h`以人类可读格式显示,`-T`显示文件系统类型;`du`命令显示目录或文件磁盘使用情况,`-h`以人类可读格式显示,`-s`仅显示总计;`fdisk -l`列出磁盘和分区信息。此外,图形界面的磁盘管理工具和文件管理器也可用于查看磁盘使用情况。这些方法有助于更好地管理磁盘空间。
717 4
|
19天前
|
存储 Oracle 安全
服务器数据恢复—LINUX系统删除/格式化的数据恢复流程
Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs) 下删除或者格式化的数据恢复流程和可行性。
|
3月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
2月前
|
Linux
linux开机挂载镜像
【10月更文挑战第1天】在 Linux 系统中,开机挂载镜像通常涉及几个关键步骤,包括创建挂载点、编辑配置文件以及重新加载配置
99 0
|
2月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
46 1
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
70 0
|
2月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
48 0
|
4月前
|
Ubuntu Linux
内核实验(四):Qemu调试Linux内核,实现NFS挂载
本文介绍了在Qemu虚拟机中配置NFS挂载的过程,包括服务端的NFS服务器安装、配置和启动,客户端的DHCP脚本添加和开机脚本修改,以及在Qemu中挂载NFS、测试连通性和解决挂载失败的方法。
267 0
内核实验(四):Qemu调试Linux内核,实现NFS挂载
|
4月前
|
存储 监控 Linux
|
4月前
|
算法 Linux 索引
Linux0.11 根文件系统挂载(四)
Linux0.11 根文件系统挂载(四)
40 0