文件系统
所谓文件系统就是能够帮助在操作系统中实现安明存储的软件。一般是由内核实现的,是在高格格式化的时刻决定的
目前的文件系统有很多种比如
linux
上的
ext2
、
ext3
、
ext4
文件系统。
RedHat
默认的文件系统是
ext2
。
SUSE
默认的文件系统
reiserfs
;
IBM
公司的
jfs
、
jfs2
;微软
windows
下的
fat32
、
ntfs
文件系统;光盘文件系统
ISO9660
还有集群文件系统
GFS
、
GFS2
、
OOFS
、
ZFS
等。
我们都知道文件和目录。所谓目录就是一个文件索引,是存储节点号的表。那什么是节点号呢?节点是文件系统中一个十分重要的概念
我们就从(
i-node
)节点的组成部分讲起吧。一个文件有且只有一个节点号。
一个文件节点中包含了文件类型、权限、
uid
、
gid
号、链接数、文件大小时间戳、还能指向文件数据块在磁盘上的位置以及其他。
当一个磁盘格式化后,会有很多个块形成,每个块大小
1024bit
,多个块能形成块组,其中第一个块组用来做引导块,后边一个或几个块组用来做超级块,索引节点表以及数据块等。
引导块存放引导程序
Grub
或
lilo
;超级块存放空闲索引表,即标识那个数据块可用,那个不可用。索引节点表存放的是文件相关信息以及文件位置等。数据块存放的就是用户信息了
在学习文件类型是有一种是链接文件,那究竟什么是链接呢?
所谓链接就是通过不同的路径找到同一个文件。链接分为两种:硬链接和软连接。
ln filename
目标文件
就是硬链接的语法。硬链接是根据节点号定义的,也就是说表面上是两个文件,却拥有同一个节点号,即指向相同。因此硬链接不能跨分区,也不能指向目录。
删除硬链接也只是删除了一个路径。如果其他连接还存在,文件就不会找不到。
与硬链接相对的是软连接,又叫符号链接软链接指向的是一个路径本身,并没有指向一个节点。如
ln �Cs /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 �Co ro /dev/cdrom /media/cdrom
只读挂载。
传输完数据后不能直接拔掉
U
盘的,否则数据将会丢失。需要使用
umount
命令卸载。
对于真正的光盘,你还可以使用
eject
卸载并弹出。
当数据过大时我们经常需要把数据压缩存储。常见
压缩工具也有很多。如:
compress
、
zip
、
gzip
、
bzip2
compress
压缩文件以
.Z
结尾
,可以使用
uncompress
解压
gzip
压缩文件以
.gz
结尾
,可以使用
gunzip
解压
bzip2
压缩文件以
.bz2
结尾
,可以使用
bunzip2
解压
zip
压缩文件以
. zip
结尾
,可以使用
unzip
解压
其中
gzip
和
bzip
只能压缩文件不能压缩目录。如果压缩目录会把目录下的所有文件依次压缩全部显出。有几个文件就有几个压缩包。而
zip
则可以归档压缩,把一个目录压缩为一个压缩包。
tar
命令可以把文档归类,但是不能压缩。因此可以和压缩命令一起使用来实现归档压缩。
tar
命令需要一个代表行动的选项,如
-c
(创建
tar
文件),
-t
(列举
tar
文件内容列表)
-x
(从
tar
中抽取文件),
-v
(可以列举要归档的或要出去的文件)