当前位置: 首页 > Linux

Linux文件系统基础

时间:2023-04-06 03:02:36 Linux

文件系统概述操作系统中与文件管理相关的软件和数据Linux文件系统采用树状结构Linux支持多种文件系统Linux文件系统提供了丰富的文件和目录操作命令Linux文件系统特点1、Linux文件系统采用树形结构,从根目录root(/)开始。2、Linux的虚拟文件系统允许多种不同类型的文件系统共存,支持跨文件系统操作。3、Linux的文件是一个非结构化的字符流文件,不管文件内部的逻辑结构如何,它只是简单地将文件看成是一系列的字符序列。4、Linux文件可以通过文件所有者或超级用户设置相应的访问权限来保护。5、Linux把所有的外部设备都看成是文件,可以使用和文件系统一样的系统调用和函数来读写外部设备。Linux文件系统的组成/home:用户家目录的基目录。默认情况下,每个用户的主目录都位于此目录中。例如用户user01的家目录默认为/home/user01;/lib:存放标准程序设计库目录,也叫动态链接共享库目录,目录下的文件类似于windows中的.dll文件;/etc:存储系统管理和配置文件目录;/dev:存储设备专用文件目录,如声卡文件、磁盘文件等;/usr:最大目录,存放应用程序和文件目录;/proc:虚拟目录,是系统内存的映射,可以可直接访问获取系统信息;/root:系统管理员的主目录;/tmp:存放公共临时文件的目录。/sbin、/usr/sbin:系统级命令和工具目录;/bin、/usr/bin:用户级命令和工具目录;/usr/include:C语言,内核编译所需的头文件存放目录;/lib、/usr/lib:库文件存放目录,包括语句库和动态库;/usr/src:Linux源代码目录,编译内核时使用;/var:通常用来存放一些经常变化的内容,比如各种网络服务的工作目录就在这里;第一版Linux文件系统类型EXT文件系统Linux是基于Minix文件系统的。Linux成熟后,引入了扩展文件系统(extfilesystem),ext是第一个专门为Linux设计的文件系统。但由于ext文件系统在稳定性、速度、兼容性等方面存在诸多缺陷,很少被使用。Linux在1994年推出了第二个扩展文件系统(ext2),相当高效稳定,是Linux系统默认使用的文件系统。ext2文件系统是非日志文件系统,这在重点行业应用中是一个致命的弱点。ext2文件系统逐渐完善形成了ext3文件系统。这个新文件系统的设计考虑了两点,一是成为日志文件系统,二是尽可能兼容原来的ext2文件系统。目前ext3文件系统非常稳定可靠。该文件系统具有以下特点:在高可用Linux系统中使用ext3文件系统后,即使系统异常关机,系统也不需要检查文件系统。数据完整性ext3文件系统可以大大提高文件系统的完整性,避免意外关机对文件系统造成的损坏。文件系统速度ext3文件系统的日志记录针对驱动器的磁盘读写磁头进行了优化。从ext2文件系统到ext3文件系统的数据转换非常容易。另外,ext3文件系统可以直接加载到ext2文件系统中,无需任何修改。多种日志模式ext3文件系统有三种日志模式EXT3的三种日志模式:日志模式:所有数据和元数据的变化都记录在日志中,这种模式减少了丢失每个文件修改的机会,但是需要很多额外的磁盘access是最安全最慢的ext3日志方式;有序模式:只记录文件系统元数据的变化,但保证数据先于元数据写入磁盘,这是默认的ext3日志模式;回写方式:日志中只记录文件系统元数据的变化。无法保证数据和元数据写入磁盘的顺序。它是三种日志模式中最快的模式。其他文件系统MS-DOSMS-DOS文件系统,用于DOS、Windows和OS/2操作系统的文件系统。UMSDOS扩展的MS-DOS文件系统。VFAT微软扩展的FAT文件系统,Windows9x/2000/XP使用。Proc是一个基于内存的伪文件系统,不占用磁盘空间,而是以文件的形式提供访问Linux内核数据的接口。ISO9660符合ISO9660标准的CD-ROM文件系统。SYSVSystemV/Linux平台上的Coherent文件系统。NFSSun的网络文件系统。SMB支持SMB协议的网络文件系统,可用于实现Linux和Windows之间的文件共享。FAT不是一个单独的文件系统,而是MS-DOS、umsdos和vfat文件系统的共同部分。swap交换文件系统用于Linux交换分区。Reiserfs是2.4.1之后Linux内核支持的一种新的日志文件系统。NTFSWindowsNT文件系统。HPFS是Microsoft的LANManager中的文件系统,也是IBM的LANServer和OS/2的文件系统,被称为高性能文件系统。?不同版本的Linux系统支持的文件系统类型和类型不同。Linux允许多种不同类型的文件系统共存并支持跨文件系统操作,这得益于虚拟文件系统(VirtualFileSystem,简称VFS)的存在。?虚拟文件系统是Linux内核中的一个软件层,用于为用户空间程序提供文件系统接口;它还在内核中提供了一个抽象函数,允许不同的文件系统共存。系统中的所有文件系统不仅依赖VFS共存,而且还依赖VFS协同工作。文件和目录的基本概念文件是指一组相关元素的集合,其文件名由创建者定义。文件可以是文本文档、图片、程序等。Linux系统下文件名的长度根据不同类型的文件系统而不同,最长可达255个字符。Linux下文件命名必须遵循以下规则:除“/”外的所有字符都可以使用;转义字符最好不要使用,这些字符在Linux系统下有特定的含义,比如“?”(问号)、“*”(星号)、“”(空格)、“$”(货币符号)、“&”等;避免使用“+”、“-”或“.”作为普通文件名的第一个字符(以“.”开头的文件在Linux下是隐藏文件);Linux系统的文件名是区分大小写的,文件Memo和文件备忘录是两个不同的文件。Linux操作系统支持多种文件类型,下面介绍一些常见的。普通文件普通文件,又称常规文件,是Linux中最常见的格式文件,包括系统文件、用户文件和库函数。目录文件目录文件是由文件目录信息组成的特殊文件。目录文件的内容不是应用程序和数据,而是用于检索普通文件的目录信息。设备文件在Linux中,输入输出设备被视为特殊文件,称为设备文件。设备文件有两种类型,字符设备文件和块设备文件。设备文件存放在Linux的/dev目录下。其中/dev/tty是代表终端设备的文件。字符串“crw-rw-rw-”的第一个字符“c”表示字符设备文件。?/dev/sda1表示USB移动存储设备的文件?字符串“brw-rw----”的第一个字符是“b”,表示是块设备文件,是符号链接文件.符号链接文件是一种特殊类型的文件。的内容只是一个可能指向也可能不指向现有文件的字符串。目录目录是Linux文件系统中的一个特殊文件。文件系统使用目录按名称访问并共享和保护文件信息。工作目录和用户主目录工作目录工作目录是用户登录Linux系统后所在的目录,也称为当前目录。用户家目录是系统管理员添加用户时创建的(以后也可以更改),每个用户都有自己的家目录。普通用户的家目录在/home下,root用户就是系统管理员。由于身份特殊,他在/root下有自己的家目录。当用户第一次登录系统时,他的工作目录就是用户的主目录,通常与用户的登录名相同。例如,用户的登录名是user,其主目录通常是/home/user。Path路径定义路径是指从树形目录中的某个目录级别到某个文件的路径。路径的组成部分路径由目录或目录和文件名组成,以“/”分隔。路径有绝对路径和相对路径两种:绝对路径在Linux系统中,绝对路径以“/”(根目录)开头,也称为全路径,如/home/user01、/usr/垃圾桶。相对路径在Linux系统中,相对路径是指从用户工作目录或用户家目录开始的路径,如./test、../user1、~/test。他们之中,代表用户的工作目录,..代表工作目录的父目录,~代表用户的主目录。