文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统
文件系统的基本介绍:
linux文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。
索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。
linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。
对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
可以用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。
连接有软连接和硬连接之分,软连接又叫符号连接。它们各自的特点是:

硬连接:访问一个文件的另一个路径
不同的路径指定的文件指定的是同一个inode

1、  硬链接不能跨分区存在

2、  硬链接不能连接到目录上 要避免循环引用

 ls –l  可以查看硬链接次数

由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。

符号连接/软连接:用ln -s命令建立文件的符号连接
ln –s 软链接是特殊独立的文件 有其独立的inode
删除软连接 源文件不变  删除源文件软连接不可用
软链接可以跨分区独立创建
软连接只识别路径 
符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。
软链接可以跨分区独立创建

挂载文件系统:
linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。这里所说的“按一定方式”就是指的挂载。
将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。
常见的linux文件系统类型:
ext2 ext3 ext4 xfs reiserfs jfs iso9660 swap GFS2 OCFS2 NFS SMBFS
常见的widows文件系统类型:
FAT32- -> EFAT  NTFS
文件管理的命令
du 评估文件系统的磁盘使用量
  -a 列出所有的文件与目录容量因为默认进统计目录下面的文件量而已
  -h 艺人们较易读的容量格式(G/M)显示
  -s 列出总量而已,而不列出每个个别的目录占用容量
  -S 不包括子目录下的总计,与-s有点差别
 du –sm /*检查根目录下面每个目录所占用的容量

df 列出文件系统的整体使用量
-a 列出所有的文件系统,包括系统特有的/proc等文件系统;
-k KB的容量显示各文件系统
-m MB的容量显示各文件系统
-h 以人们较易阅读的GBMBKB等格式自行显示
-H M = 1000K 替代 M = 1024K的进位方式
-T 连同该分区的文件系统名称(例如ext3)也列出
-i 不用硬盘 容量,而以inode的数量显示
-s 显示目录本身包括目录文件大小

Id 判断设备磁盘类型 主分区 还是扩展分区

partprobe /dev/sda 从新扫描磁盘  使新增加的分区显示出来啊
fdisk  -l /dev/sda 显示磁盘分区表
mkfs -t ext2 /dev/sdb1 指定文件系统类型为ext2
mke2fs /dev/sdb1
   -j  把对应的磁盘分区创建为ext3类型
   -L 指定建表
   -b 指定块大小1024|2048|4096)大小只有这三种
-c 创建文件系统是检查是否坏道或坏块
-i 指定比例 决定最终inode  一般128字节创建一个inode
-N 直接指定inode个数
    -m 指定预留给管理员的磁盘块的百分比2 就是2%  
mkswap /dev/sdb1 将文件系统设置为swap分区
   
swapon +/dev/sdb3启用新的交换分区
swapoff  关闭交换分区
swapon –a 启用所有在/etc/fstab目录下的所有分区
swapon –s  显示检查交换分区的状态
 
文件挂载:
   mount [-t 文件系统] [-L Label] [-o 额外选项] \[-n] 设备文件名 挂载点
文件卸载:
 umount  /mnt/sysroot (挂载点)
fuser –v /media/cdrom/(挂载点) 指定挂载点有谁正在访问
fuser –km /media/cdrom(挂载点) 将此进程直接kill
设置文件开机自动挂载:
vim /etc/fstab
编辑格式为:
 /dev/sdb2     /mydata    ext3    defaults    0 0
/dev/sdb2 要挂载的设备 /mydata 挂载点  ext 文件系统类型
/etc/mtab 显示当前系统所有挂载文件系统
文件系统不一致的解决方案:
fsck 文件系统检测
  -t 指定检测文件系统的类型
e2fsck 专门用来检测ext系列文件系统
  -f 强行检测
  -a –p
  -B 指定块大小
  -p 自动修复 文件系统 如果文件系统有不一致性状态
dumpe2fs 详细显示ext2 ext3 文件系统信息
  -f 即使文件系统处于不一致状态 也要显示其信息 强行显示
  -h 只显示超级块的详细信息  只显示首部相关信息
 e2label  给文件系统加卷标
e2label /dev/sdb2 HIDB加卷标
blkid UUID 查看文件系统类型和UUID
tune2fs 修改ext2文件类型的属性
  -j 安全将文件类型为ext2级为ext3
  -m 设定保留给超级用户块的百分比
  -r 直接指定保留超级用户的块个数而非百分比
  -L 设定卷标
  -l 显示超级快信息
  -c 指定每各多少次自动挂载文件系统
  -i 每各多长时间做自检#{d|m|w}
  -u USER 保留的块谁可以使用
  -o 设定默认的挂载选项
dd  复制命令
   if= FILE 表示复制的文件
   of =FILE 输出到那个文件中
   bs =512 表示指定的块大小
   count = 复制多少块
eg:dd if=/etc/issue of=/tmp/abc
初始化磁盘:
  dd if=/dev/zero of=/dev/sdb1 bs=1M count=1024