在Linux系统中,一切皆文件,除了通常所说的侠义的文件(文本文件和二进制文件)以外,目录、设备、套接字和管道等都是文件。
文件系统在不同的上下文中有不同的含义。
(1)在存储设备上组织文件的方法,包括数据结构和访问方法。
(2)按照某种文件系统类型格式化的一块存储介质。我们常说在某个目录下挂载或卸载文件系统,这里的文件系统就是这种意思。
(3)内核中负责管理和存储文件的模块,即文件系统模块。
Linux文件系统的架构如下图所示,分为用户空间、内核空间和硬件3个层面。
创建文件的使用方法:
创建不同类型的文件,需要使用不同的命令。
(1)普通文件:touch FILE,这条命令本来用来更新文件的访问时间和修改时间,如果文件不存在,创建文件。
(2)目录:mkdir DIRECTORY 。
(3)符号链接(也称为软链接):In-s TARGET LINK_NAME或In --symbolic TARGET LINK_NAME 。
(4)字符或块设备文件:mknod NAME TYPE(MAJOR MINOR) 。
参数TYPE:b表示带缓冲区的块设备文件,c表示带缓冲区的字符设备文件,u表示不带缓冲区的字符设备文件,p表示命名管道。
(5)命名管道:mkpipe NAME 。
(6)命令“In TARGET LINK_NAME”用来创建硬链接,给已经存在的文件增加新的名称,文件的索引节点有一个硬链接计数,如果文件有n个名称,那么硬链接计数是n。