什么是挂载,Linux挂载如何实现详解( 二 )


【例 4】
[root@localhost ~]# df -aTFilesystem Type 1K-blocks Used Available Use% Mounted on/dev/hdc2 ext3 9920624 3823112 5585444 41% /proc proc 0 0 0 - /procsysfs sysfs 0 0 0 - /sysdevpts devpts 0 0 0 - /dev/pts/dev/hdc3 ext3 4956316 141376 4559108 4% /home/dev/hdc1 ext3 101086 11126 84741 12% /boottmpfs tmpfs 371332 0 371332 0% /dev/shmnone binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_miscsunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs使用 -a 选项,会将很多特殊的文件系统显示出来,这些文件系统包含的大多是系统数据,存在于内存中,不会占用硬盘空间,因此你会看到,它们所占据的硬盘总容量为 0 。
2、du 命令
是统计目录或文件所占磁盘空间大小的命令 。

需要注意的是,使用"ls -r"命令是可以看到文件的大小的 。但是大家会发现,在使用"ls -r"命令査看目录大小时,目录的大小多数是 4KB,这是因为目录下的子目录名和子文件名是保存到父目录的 block(默认大小为 4KB)中的,如果父目录下的子目录和子文件并不多,一个 block 就能放下,那么这个父目录就只占用了一个 block 大小 。
在统计目录时,不是想看父目录下的子目录名和子文件名到底占用了多少空间,而是想看父目录下的子目录和子文件的总磁盘占用量大小,这时就需要使用 du 命令才能统计目录的真正磁盘占用量大小 。
du 命令的格式如下:
[root@localhost ~]# du [选项] [目录或文件名]
选项:
  • -a:显示每个子文件的磁盘占用量 。默认只统计子目录的磁盘占用量
  • -h:使用习惯单位显示磁盘占用量,如 KB、MB 或 GB 等;
  • -s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量
【例 1】
[root@localhost ~]# du#统计当前目录的总磁盘占用量大小,同时会统计当前目录下所有子目录的磁盘占用量大小,不统计子文件#磁盘占用量的大小 。默认单位为KB20 ./.gnupg#统计每个子目录的大小24 ./yum.bak8 ./dtest28 ./sh188#统计当前目录总大小【例 2】
[root@localhost ~]# du -a#统计当前目录的总大小,同时会统计当前目录下所有子文件和子目录磁盘占用量的大小 。默认单位为 KB4 ./.bashjogout36 ./install.log4 ./.bash_profile4 ./.cshrc…省略部分输出…188【例 3】
[root@localhost ~]# du -sh#只统计磁盘占用量总的大小,同时使用习惯单位显示188K .du命令和df命令的区别有时我们会发现,使用 du 命令和 df 命令去统计分区的使用情况时,得到的数据是不一样的 。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小 。也就是说,在使用 df 命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间) 。
而 du 命令是面向文件的,只会计算文件或目录占用的磁盘空间 。也就是说,df 命令统计的分区更准确,是真正的空闲空间 。
3、mount命令
文件系统挂载
硬件设备必须挂载之后才能使用,只不过,有些硬件设备(比如硬盘分区)在每次系统启动时会自动挂载,而有些(比如 U 盘、光盘)则需要手动进行挂载 。
挂载指的是将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联 。而要将文件系统挂载到 Linux 系统上,就需要使用 mount 挂载命令 。
mount 命令的常用格式有以下几种:
[root@localhost ~]# mount [-l]单纯使用 mount 命令,会显示出系统中已挂载的设备信息,使用 -l 选项,会额外显示出卷标名称(读者可自行运行,查看输出结果);
[root@localhost ~]# mount -a-a 选项的含义是自动检查 /etc/fstab 文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作 。这里简单介绍一下 /etc/fstab 文件,此文件是自动挂载文件,系统开机时会主动读取 /etc/fstab 这个文件中的内容,根据该文件的配置,系统会自动挂载指定设备 。
[root@localhost ~]# mount [-t 系统类型] [-L 卷标名] [-o 特殊选项] [-n] 设备文件名 挂载点
各选项的含义分别是: