您的位置:首页 > 运维架构 > Linux

Linux入职基础-2.2_磁盘分区与目录挂载

2018-03-03 12:51 309 查看
Windows的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如: C, D,E ,F 盘等。
Linux 的文件结构是单个的树状结构,可以用 tree 进行展示。



1、Linux 磁盘分区和目录的关系
i、分区是物理上的区分;目录是逻辑上的区分。
ii、分区都必须挂载到目录树中的某个具体的目录才能进行读写操作。
iii、根目录是所有Linux的文件和目录所在的地方,需要挂载上一个磁盘分区。
现在我们查看分区和目录及使用情况:
fdisk 查看硬盘分区表,软件名称:fdisk (util-linux 2.13-pre7)



swapon:查询交换分区



df查看分区使用和挂载目录情况:软件名称:df (GNU coreutils) 5.97



挂载关系如下:



技巧:/home、/var 、/usr、/usr/local 经常是单独分区,因为经常会操作,容易产生碎片。
du:查看文件(目录)占用空间情况:软件名称:du (GNU coreutils) 5.97





文件占用空间du、df的差别:
文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。





du命令是用户级的程序,命令返回的值反映了分配给文件及目录的磁盘块数,但它不考虑Meta Data;
du:
    查看各目录或文件所占空间
    -s 只显示总和大小
    -a / all 显示所有大小(包括文件)
    -h 友好格式显示,比如用K/M/G表示大小。
    --max-depth=N 统计的目录深度。当N=0时等同于-s,所以和--s参数不能同时出现。
    -b 显示为字节数。
    -k 显示为K字节数。
    -m 显示为兆字节数。
df命令则查看文件系统的磁盘分配表,反映文件系统的的实际情况:包含了用户数据(文件及目录)和 Meta Data。
故(df –h /boot) > (du –h /boot)。
2、mount挂载:建立分区与目录的对应关系
要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为 “挂载点(mount point)”,对应的动作就是 “挂载(mount)”。
mount(命令)实现了将物理Linux磁盘分区细节的屏蔽,用户只需有统一的文件目录的逻辑概念。即所有的东西都是文件。
每次系统启动会根据该文件(/etc/fstab)定义自动挂载。若没有被自动挂载,分区将不能使用。如下是我的 /etc/fstab 的定义:



文件格式:
# <file system> <mount point> <type><options> <dump> <pass>
第1列是需要挂载的文件系统或存储设备,还可以label(e2label创建卷标,警告: 请不要在您的Linux系统/分区实践修改卷标,会导致您的Linux系统崩溃。)或UUID(全局唯一标识符)来表示;
第2列是挂载点;
第3列指定文件系统或分区的类型;
第4列为挂载选项,下面列出一些常用的选项:
   auto: 系统自动挂载,fstab默认就是这个选项
   ro: read-only
   rw: read-write
   defaults(包括参数rw、suid、dev、exec、auto、nouser、async)
defaults参数含义:
[align=center]
参数含义参数含义
rw可读可写
ro只读
suidsuid功能
nosuid没有suid功能
dev可挂载设备文件
nodev不可以挂载设备文件
exec允许执行分区中的可执行二进制文件
exec不可以执行
dev可挂载设备文件
nodev不可以挂载设备文件
nouser只有root可以挂载
user任何用户都可以挂载
sync同步完成,对该设备的读写都不经过缓冲区
async异步,对该设备的写会经过buffer,并不是立即写入物理设备中
auto开机自动挂载
  
[/align]第5列为dump选项,设置是否让备份程序dump备份文件系统,0为忽略,1为备份。
第6列为fsck选项,告诉fsck程序以什么顺序检查文件系统(0为不自检,1或者2为要自检,如果是根分区要设为1,其他分区只能是2,因为系统启动的时候,根分区是肯定要起来的)。
本例参数说明:
LBAEL=/        是指用卷标的方式来表示,也可以用设备名,如/dev/sda2。
/              这个是指挂载点。
ext3,swap     这些都是文件系统的类型。
default        这个是最重要,这个default里面包含五个参数。
1   1          后面的1代表最先扫描,最先起来。
1   2          后面的2代表优先级低一点,最后起来。
0   0          后面的0代表忽略启动,启动时不读这个文件系统。
Mount命令使用:
技巧:
①如果我要把第二个IDE插槽主硬盘上的windows C 区挂到文件系统中,那么数据项是:
/dev/hdc1 /c vfat defaults 0 0
②光驱和软驱只有在装有介质时才可以进行挂载,因此它是noauto,那么数据项是:
/dev/cdrom   /mnt/cdrom   iso9660  noauto,ro 0 0
3、磁盘分区与目录挂载综合用例
①读取U盘文件,但是不可执行文件:
插入U盘,检测到U盘设备
#fdisk –l    //U盘设备文件/dev/sdb4



挂载U盘设备,ls查看U盘中所有文件



查看文件



②挂载一个iso文件系统:



③新建FAT32文件系统500M分区,指定一个拥有人和拥有组的挂载
分区



格式化



挂载,指定用户ID



④新增500M 的swap空间,dd工具来创建一个swap文件



⑤挂载一个NFS的网络文件系统
查看对方计算机被共享文件夹
[root@localhost ~]# showmount-e 192.168.1.7
Export list for 192.168.1.7:
/var/ftp/pub 192.168.1.0/24
[root@localhost ~]# mount -tnfs 192.168.1.7:/var/ftp/pub/ /mnt/
[root@localhost ~]# df
每次启动的时候都要生效,就写在/etc/fstab文件
[root@localhost ~]# vi/etc/fstab
192.168.1.7:/var/ftp/pub  /mnt    nfs    defaults        0 0
[root@localhost ~]#mount –oremount /mnt  //操作立即生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: