硬链接与符号链接
硬链接
将两个文件名(存储在其父目录的目录项中)指向硬盘上一个存储空间,对两个文件
中的任何一个的内容进行修改都会影响到另一个文件,这种链接关系称为硬链接,硬链接文件实际上就是在某目录中创建目录项,从而使不止一个目录可以引用到同一个文件。它可以由 ln 命令建立。
如果删除其中的一个文件(不管是哪一个),就是删除了该文件和硬盘空间的指向关系,该硬盘空间不会释放,另外一个文件的内容也不会发生改变,但是目录详细信息中的链接数会减少。
符号链接
符号链接又称软链接,是指将一个文件指向另外一个文件的文件名。这种符号链接的关系由 ln -s 命令行来建立。
设备文件
在/dev 目录下有许多链接文件,使用这些链接能够方便地使用系统中的设备。例如,可以通过/dev/cdrom 而不是/dev/hdc 来访问光驱。
文件系统
文件系统是操作系统用于明确磁盘分区上的文件的方法和数据结构,即文件在磁盘上的组织方法。换句话说,文件系统规定了如何在存储设备上存储数据以及如何访问存储在设备上的数据。一个文件系统在逻辑上是独立的实体,他能单独地被操作系统管理和使用。
Linux的内核采用了称之为虚拟文件系统(Virtual File System ,VFS)的技术,因此Linux可以支持多种不同的文件系统类型。每一种类型的文件系统都提供一个公共的软件接口给 VFS。Linux 文件系统的所有细节由软件进行转换,因而从 Linux 的内核以及在 Linux 中运行的程序来看,所有类型的文件系统都没有差别,Linux 的 VFS 允许用户同时不受干扰地安装和使用多种不同类型的文件系统。所以Linux核心的其它部分及系统中运行的程序将看到统一的文件系统。
Linux的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。虚拟文件系统是为Linux用户提供快速且高效的文件访问服务而设计的。随着 Linux 的不断发展,它所支持的文件格式系统也在迅速扩充。特别是 Linux 2.4 内核正式推出后,出现了大量新的文件系统,其中包括日志文件系统ext3、ReiserFS、XFS、JFS和其它文件系统。Linux 系统核心可以支持十多种文件系统类型:JFS、 ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV 等
Linux 的多级树状目录结构称为文件系统布局。Linux的目录结构遵从1994年制定的 Linux文件系统标准(Linux File System Standard,FSSTND)。在实现FSSTND的同时,又产生了文件系统层次结构标准(File System Hierarchy Standard,FHS)。现在大多数 Linux 遵从 Filesystem HierarchyStandard 来安排文件的系统布局。
几个重要的文件系统
/etc 文件系统
/usr文件系统
/var文件系统
几个特殊的文件系统
/proc
下面说明 /proc 的一些最重要的文件和目录。
要使用文件系统,一般要遵循如下的过程:
- 在硬盘上创建分区:可以使用fdisk命令进行。
- 在分区或逻辑卷上创建文件系统:类似于在Windows下进行格式化操作。
挂装文件系统到系统中:在分区中创建好文件系统后就可以将该分区挂装到系统中的相应目录以便使用。
挂装文件系统可以使用 mount 命令。
- 挂装点就是文件系统中的一个目录,必须把文件系统挂装在目录树中的某个目录中。
- 挂装点目录在实施挂装操作之前必须存在,若其不存在应该使用mkdir命令创建。
- 通常这个目录必须是空的,否则目录中原有的文件将被系统隐藏
自动挂装文件系统可编辑etc/fstab文件(/etc/fstab 记录着系统启动时要挂装的文件系统),编辑之后执行mount -a当前生效
文件系统可以被挂装,也可以被卸装。卸装文件系统的命令是 umount
如果一个文件系统处于“busy”状态的时候,不能卸装该文件系统。如下情况将导致文件系统处于“busy”状态:
- 文件系统上面有打开的文件
- 某个进程的工作目录在此文件系统上
- 文件系统上面的缓存文件正在被使用
最典型的错误是在挂装点目录下实施卸装操作,此时文件系统处于“busy”状态。
linux将光盘和软盘都视为文件系统
挂载光盘
- mount /media/cdrom
- mount /dev/hdc
- mount /dev/cdrom
挂载软盘
- mount /dev/fd0
挂载usb设备
USB硬盘在Linux系统下是被模拟成SCSI设备来使用的,因此对应的设备文件是/dev/sda,如果有多块USB硬盘,则设备文件依次是/dev/sdb、/dev/sdc等。
- fdisk -l /dev/sda -查看usb硬盘的分区
挂载iso
ISO文件的文件系统类型是iso9660,可以用来刻录光盘,然后通过光驱来读取。ISO文件也可以直接使用,在Windows操作系统下使用ISO文件需要安装虚拟光驱软件,在Linux下则要简单得多。
eg:
- mount -o loop CentOS-5.1-i386-bin-DVD.iso /media/iso
注意:挂载时没有目录可用mkdir创建
ext2/ext3 文件系统管理工具
在 e2fsprogs 软件包中提供了 ext2/ext3文件系统管理工具。下面列出常用工具的说明:
磁盘限额
在一个有很多用户的系统上,必须限制每个用户的磁盘使用空间,以免个别用户占用过多的磁盘空间影响系统运行和其他用户的使用。限制用户的磁盘使用空间就是给用户分配磁盘限额(quota),用户只能使用额定的磁盘使用空间,超过之后就不能再存储文件。
配置磁盘限额需要经过如下的3个步骤:
- 启用文件系统的quota功能
- 启用 quota 功能需要修改系统挂装表文件 /etc/fstab。假如要对所有的普通用户设置磁盘限额就需要对 /home 目录进行设置。如果 /home 目录在系统上是一个单独的分区,就可以启用 /home 分区的 quota 功能。如果/home 只是在根分区之下的的一个目录,就需要启用整个根分区的 quota 功能。启用 quota 功能只需要在文件 /etc/fstab 中相应的分区上修改挂装参数,添加 usrquota 和 grpquota 即可。usrquota 用于启用用户限额,grpquota 用于启用组限额。例如:
创建指定文件系统的quota文件
- 执行如下的操作创建quota文件。
设置用户和组的quota
要设置用户和组的 quota 可以用命令 edquota 进行,edquota 命令
的格式为:
- 例如设置用户 qu10m 的限额可以进入如下的命令:
# edquota qu10m
![]()
- blocks: 显示了当前用户在文件系统(/dev/sda3)上已经使用的容量(单位为 KB),不要修改
- inodes: 显示了当前用户在文件系统(/dev/sda3)上已经使用的 inode 数量,不要修改
- 由于很难预知用户存储的文件的大小,所以在指定了特定 blocks 后也很难预知 inode 数量。因此管理员可以不设置 inode 的限制。
- hard硬限制:超过此设定值后不能继续存储新的文件。
- soft软限制:超过此设定值后仍旧可以继续存储新的文件,同时系统发出警告信息, 建议用户清理自己的文件,释放出更多的空间。