Linux和Windows的一个非常重要的差别是文件系统。Linux支持的文件系统类型比Windows多;Linux文件系统的组织方式也和Windows不同,Linux没有C盘、D盘这类盘符的概念,所有在不同分区的数据共同构成一个唯一的目录树;在Linux中可以很容易地根据需要决定是否挂载某个分区。
文件是具有名字的一组相关信息的有序集合,存放在外部存储器中。文件的名称称为文件名,它是文件的标识。文件的存储空间是具有非易失性的外部存储器(如磁盘、磁带、软盘、光盘等),因而文件是可以长久保存的信息形式。所有需要在系统关机后仍能保留的信息都应以文件的形式存在。
文件系统是操作系统的一个重要组成部分,它负责管理系统中的文件,为用户提供使用文件的操作接口。文件系统由实施文件管理的软件和被管理的文件组成,文件系统通常以磁盘分区划分,每个分区对应一个独立的文件系统。
Linux系统中用户能看到的文件空间是一个单树状结构。根在顶部,称为根目录root,用“/”表示。文件空间中的各种目录和文件从树根向下分支。实际上,文件树中的许多目录并不一定是存放在同一个磁盘中,它们可能被存放在不同的分区、不同的磁盘甚至不同的计算机中。当某一个磁盘分区被挂载到文件树中称为“挂载点”的目录上时,就成为了该文件系统的一个组成部分。
Linux正是通过这种将不同文件系统组合在一起的技术,实现了文件系统之间的无缝连接,为用户的操作提供了极大的方便。
Linux系统启动时,首先在内存中装载根文件系统,然后根据配置文件/etc/fstab的设置,逐个建立文件系统。此外用户也可以通过mount、umount命令手工安装和卸载文件系统。
Linux作为开源操作系统其最大的优势就是支持多种文件系统。现代Linux内核乎支持所有的文件系统,从基本的FAT文件系统到高性能文件系统如日志文件系统(JFS)。文件系统大体上可以分为基于磁盘的文件系统、基于网络的文件系统等
磁盘文件系统针对的是直接或者间接连接到计算机上的存储设备,负责管理这些设备中的可用存储空间,常见的磁盘文件系统有:
(1)Linux使用的文件系统,有广泛使用的ext2文件系统、ext3文件系统和Reiser文件系统等。
(2)UNIX使用的文件系统,有SYS V文件系统、Minix文件系统、UFS文件系统等。
(3)微软的VFAT、NTFS文件系统。
(4)ISO9660 CD-ROM文件系统、UDF的DVD文件系统。
网络文件系统也称作分布式文件系统,它通过网络管理和访问文件,典型的网络文件系统有:
(1)NES:由Sun公司开发,在UNIX领域应用最广泛的网络文件系统。
(2)SMB:用在Windows操作系统和IBM的OS/2操作系统上,进行共享文件、共享打印机的文件系统。
(3)GFS:一个共享存储的、支持日志功能的r布式文件系统,主要由Red Hat公司进行开发和管理。
Linux文件系统采用树状目录结构,即只有一个根目录,其中含有下级子目录或文件的信息;子目录中又可以包含有更多的子目录或者文件的信息,这样一层一层地延伸下去;构成一棵倒置的树。在目录树中,根节点和中间节点都必须是目录,而文件只能作为叶子节点出现,当然,目录也可以是叶子节点。
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不同于Windows桌面操作系统,用户操作Linux时,很多任务通常需要在终端提示符下(Shell)用命令完成,在Linux中,命令的基本格式为
命令名 [-选项] [--选项] [参数1] [参数2]
说明如下。
(1)命令名;命令名是必须的,是Shell提示符下执行的一个命令的具体名你。
(2)-选项;表示以符号“-“开始的选项,一般符号”-“后跟一个字符,如-l、-a等,为可选项。
(3)- -选项:表示以符号”–“开始的选项,一般符号”–“后跟一个单词,如–list等,为可选顶。
(4)参数:命令执行时的对象,有些命令需要一个参数,如列表一个目录下的文件,这个目录就是参数;有些命令需要两个参数,如cp(复制)命令,需要从哪儿复制,复制到哪里去,为可选项。
(1)使用通配符。
(2)自动补全。在输入命令或文件名时不需要输入完整的名称,只需要输入前面几个字母,按Tab键,系统就会自动补全。
(3)使用命令历中功能。
每一个命令的前面有一个数字,如果要重复执行上面的某个命令,使用“!数字”就可以。
(4)复制与粘贴功能。在文本操作模式下,系统中有一个进程为gpm,是鼠标的守护进程,进行命令操作时,按住鼠标左键选择要复制的区域,使其反白显示,按鼠标中键就可以将复制的内容粘贴到光标所在的区域,此方法在使用一些特殊字符(如中文字符)时可提高输入速度。
(5)获取命令帮助。有些命令有很多的选项,每个选项执行时都有不同的功能,在Linux下,使用man命令可获取外部命令的帮助。