文件系统                    
所谓文件系统就是能够帮助在操作系统中实现安明存储的软件。一般是由内核实现的,是在高格格式化的时刻决定的
目前的文件系统有很多种比如linux上的ext2ext3ext4文件系统。RedHat默认的文件系统是ext2SUSE默认的文件系统reiserfsIBM公司的jfsjfs2;微软windows下的fat32ntfs文件系统;光盘文件系统ISO9660还有集群文件系统GFSGFS2 OOFS ZFS等。
我们都知道文件和目录。所谓目录就是一个文件索引,是存储节点号的表。那什么是节点号呢?节点是文件系统中一个十分重要的概念
我们就从(i-node )节点的组成部分讲起吧。一个文件有且只有一个节点号。
一个文件节点中包含了文件类型、权限、uidgid号、链接数、文件大小时间戳、还能指向文件数据块在磁盘上的位置以及其他。
当一个磁盘格式化后,会有很多个块形成,每个块大小1024bit,多个块能形成块组,其中第一个块组用来做引导块,后边一个或几个块组用来做超级块,索引节点表以及数据块等。
引导块存放引导程序Grublilo ;超级块存放空闲索引表,即标识那个数据块可用,那个不可用。索引节点表存放的是文件相关信息以及文件位置等。数据块存放的就是用户信息了
在学习文件类型是有一种是链接文件,那究竟什么是链接呢?
所谓链接就是通过不同的路径找到同一个文件。链接分为两种:硬链接和软连接。
ln filename 目标文件   就是硬链接的语法。硬链接是根据节点号定义的,也就是说表面上是两个文件,却拥有同一个节点号,即指向相同。因此硬链接不能跨分区,也不能指向目录。
删除硬链接也只是删除了一个路径。如果其他连接还存在,文件就不会找不到。
与硬链接相对的是软连接,又叫符号链接软链接指向的是一个路径本身,并没有指向一个节点。如ln –s /root/a  /root/link/b   b软连接到a上。 a指向的是事实文件,b的节点号指向的确实找到a的路径。b是一个新文件与a无关,二者拥有不同的节点号。所以b 可以跨分区也可以指向目录,很方便。但方便也带来了后遗症,如果这时候把源文件删除,软链接也就不能用了。
文件的链接知道了,那我们该如何查看磁盘空间来确定是否还有空间建立新文件呢?
df命令可以帮你解决这个问题。默认df会查看所有目录的空间等信息,你可以通过加上/path 目录来指定目录显示。但是直接使用df 会显示出一长串的数字还要换算,很麻烦,别着急-h选项可以帮你换算并以易读的形式显示。如果你还想查看某个目录下还有多少个节点可以使用,还可以加上-i选项。
如果我们想要插个u盘,放个光盘等移动设备该怎没办呢。
挂载。 需要挂在的设备一般在/dev/目录下因此
mount /dev/cdrom     /mount/path1  挂载光盘
mount /dev/fd0          /mount/path2         挂载软盘
mount /dev/sdb1        /mount/path3        挂载U
mount –o  ro /dev/cdrom  /media/cdrom   只读挂载。
传输完数据后不能直接拔掉U盘的,否则数据将会丢失。需要使用umount命令卸载。
对于真正的光盘,你还可以使用eject卸载并弹出。
当数据过大时我们经常需要把数据压缩存储。常见 压缩工具也有很多。如:
compresszipgzipbzip2
compress 压缩文件以.Z结尾 ,可以使用uncompress解压
gzip 压缩文件以.gz结尾 ,可以使用gunzip解压
bzip2压缩文件以.bz2结尾 ,可以使用bunzip2解压
zip 压缩文件以. zip结尾 ,可以使用unzip解压
其中gzipbzip只能压缩文件不能压缩目录。如果压缩目录会把目录下的所有文件依次压缩全部显出。有几个文件就有几个压缩包。而zip则可以归档压缩,把一个目录压缩为一个压缩包。
tar命令可以把文档归类,但是不能压缩。因此可以和压缩命令一起使用来实现归档压缩。
tar命令需要一个代表行动的选项,如-c (创建tar文件),-t (列举tar文件内容列表)
-x(从tar中抽取文件),-v (可以列举要归档的或要出去的文件)