linux文件系统是树状结构即只有一个根目录,其中含有下级子目录或文件的信息;子目录中又可以包含有更多的子目录或者文件的信息,这样一层一层地延伸下去,构成一棵倒置的树。linux文件系统的最顶层是由根目录开始的,系统使用“/”来表示根目录,在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含(子)目录或文件。
本教程操作环境:linux7.3系统、Dell G3电脑。
Linux 文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有 Linux 用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。
与DOS和Windows系统一样,Linux也使用树形目录结构来组织和管理文件,所有的文件采取分级、分层的方式组织在一起,从而形成一个树型的层次结构。在整个树型结构中,只有一个根目录位于根分区,其它的目录、文件以及外部设备(包括硬盘、软驱、光驱、调制解调器等)文件都是以根目录为起点,挂接在根目录下面的,即整个Linux的文件系统,都是以根目录为起点的,其他所有分区都被挂载到目录树的某个目录中,通过访问挂载点目录,即可实现对这些分区的访问。
Linux文件系统采用树状目录结构,即只有一个根目录,其中含有下级子目录或文件的信息;子目录中又可以包含有更多的子目录或者文件的信息,这样一层一层地延伸下去;构成一棵倒置的树。在目录树中,根节点和中间节点都必须是目录,而文件只能作为叶子节点出现,当然,目录也可以是叶子节点。
文件系统的最顶层是由根目录开始的,系统使用 “/” 来表示根目录,在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含(子)目录或文件。如此反复就可以构成一个庞大的文件系统。
说明
在 Linux 中,目录名或文件名都是区分大小写的,如 HaiCoder、haicoder 和 Haicoder 为 3 个不同的目录或文件。
完整的目录或文件路径是由一连串的目录名所组成的,其中每一个目录由 “/” 来分隔。
在文件系统中,有两个特殊的目录,一个是用户所在的工作目录,即当前目录,可用一个点 “.” 表示;另一个是当前目录的上一层目录,也叫父目录,用两个点 “…” 表示。
如果一个目录或文件名是以一个点开始,就表示这个目录或文件是一个隐藏目录或文件。即以默认方式査找时,不显示该目录或文件。
Linux系统各个子目录的内容
路径 | 主要内容 |
---|---|
/root | 引导系统的必备文件,文件系统的装载信息以及系统修复工具和备份工具等 |
/usr | 通常操作中不需要进行修改的命令程序文件、程序库、手册和其他文档等 |
/var | 经常变化的文件,如打印机、邮件、新闻等的假脱机目录、日志文件、格式化后的手册页以及临时文件等 |
/home | 用户的主目录,用户的数据通常都保存在这个目录中 |
/proc | 目录下的内容是系统启动后在内存中创建的,它包含内核虚拟文件系统和进程信息,如CPU、DMA通道以及中断的使用信息等 |
/etc | 系统相关的配置文件,如开机启动选项等 |
/bin | 大部分为必需的命令,可由普通用户使用 |
/dev | 各类设备文件所在的目录,如光盘、U盘、硬盘等 |
/tmp | 程序运行过程中所产生的临时文件 |
/boot | 引导装载程序要使用的文件,内核映象通常保存在这个目录中 |
/mnt | 是临时文件系统的挂装目录,如U盘、光盘等都可以在这个目录下建立挂载点 |
文件是有名字的一组相关信息的集合,它有很多种分类的方法,在Linux系统下将其分为四类。
普通文件也称为常规文件,包含各种长度的字符串。普通文件有以下几种。
(1)文本文件
(2)数据文件
(3)可执行的二进制文件
可以使用file命令来查看文件的类型,该命令可以将任意多个文件名当作参数,参数之间使用空格分隔开,其使用方式为:
file filenamel [filename2 … ]
主要目的是用于管理和组织系统中的大量文件,其存储一组相关文件的位置、大小等与文件有关的信息。目录文件一般简称为目录,包括文件名、子目录名及其指针。它是Linux储存文件名的唯一地方,可以使用ls命令列出目录文件。
指向同一索引节点的那些目录条目。使用ls命令来查看时,链接文件的标志用字母l开头,而文件后面以“->”指向所链接的文件。
Linux系统把每一个I/O设备都看成一个文件。设备文件可以细分为块设备文件和字符设备文件。前者的存取是以字符块为单位的,后者则以单个字符为单位。Linux的一些设备如磁盘、终端、打印机等都是以文件的形式表示出来,这一类文件就是设备文件,常放在/dev目录内。
(1)文件名尽量商单。
(2)除’/’ 和空字符以外,文件名可以包含任意的ASCII字符,因为这两个字符被系统内核当做路径和特殊字符。
(3)习惯上允许使用下划线和圆点来区别文件的类型,使文件名更易读。但是应避免使用以下字符,因为对系统的Shell来说,它们有特殊的含义,这些字符包括;|〈〉,$,!,%,&,*,?,\,(),[]等。、
(4)文件名应避免使用空格、制表符或其他控制字符。
(5)为了便于管理和识别,同类文件应使用同样的后缀或扩展名。
(6)系统区分文件名的大小写。一般用户创建的文件和目录名要使用小写字符。
(7)以圆点开头的文件名是隐含文件,默认方式下使用ls命令并不能把它们在屏幕上显示出来。同样,在默认情况下,Shell通配符并不匹配这类隐藏文件名。
为了能一次处理多个文件,Shell提供了几个特别字符,称为文件通配符,主要有以下几种。
(1)星号“*”:与0个或多个任意字符相匹配,可以匹配当前目录下的所有文件,但以圆点开头的隐藏文件除外。
(2)问号“?”:只与一个任意的字符匹配。可以使用多个问号。例如file?可以与file1、file2、file3文件匹配,但不与file、file10 匹配。
(3)方括号“[ ]”:只与方括号中字符之一匹配,可以用短横线代表一个范围内的字符,在方括号中如果以惊叹号开始,表示不与惊叹号后的字符匹配。
Linux系统中的每个文件和目录都有访问权限,用它来确定何种用户可以通过何种方式对该文件或者目录进行访问和操作。Linux系统根据用户的身份、登录方或的不同规定了三种不同类型的用户:文件拥有者用户(user)、同组用户(group)、可以访间系统的其他用户(others)。并规定每种用户都有三种访间文件或目录的方式:可读文件(r)、可写文件(w)、可执行文件(x)。
除此之外,Linux文件或目录的属性主要还包括:文件或目录的节点、种类、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。用户可以通过ls命令来查看(需使用-lih选项显示完整信息)
读权限(r)表示只允许指定用户读取相应文件的内容,禁止对它做任何的更改操作;如目录读权限表示可以列出存储在该目录下的文件,即读目录内容。
写权限(w)表示允许指定用户打开并修改文件;如目录写表示允许你从目录中删除或创建新的文件或目录。
执行权限(x)表示允许指定用户将该文件作为一个程序执行;如对目录可执行操作表示允许你在目录中查找,并能用cd命令将工作目录切换到该目录。
Linux系统在创建文件的时候会自动把该文件的读写权限分配给其属主,使属主能够显示和修改该文件,也可以将这些权限改变为其他的组合形式。
相关推荐:《Linux视频教程》
以上是linux文件系统是什么结构的详细内容。更多信息请关注PHP中文网其他相关文章!