第6章文件系统基础主要内容6.1文件系统概述6.2分层文件系统6.3设备管理6.1文件系统概述文件系统:定义:通常我们把与组织和管理文件有关的软件和数据,统称为文件系统为了存储或读取设备或分区上文件,必须创建文件系统不同的操作系统可能采用不同的文件系统。如:Windows:Fat32,NTFSLinux:ext4,ext3,ext2,ext,Minix,NTFS,等Linux操作系统支持多种不同类型的文件系统文件系统被放置到分区中,各个分区的文件系统可能不同,但在普通用户看来是相同的6.1文件系统概述操作系统存储数据的共同原则:数据存储在物理设备上,如:硬盘物理设备被分成叫做分区的虚拟段文件系统被放置在分区中,各个分区中文件系统可以不同6.1文件系统概述GTES11中默认的文件系统是ext3,与windows系列的文件系统相比,其特点:在文件系统中没有驱动器字符,如(C:、D:),系统中,一切都是文件。包括:物理设备、内存、目录、进程等。技术上来说,文件本身不能存储任何数据,文件的最终数据存储在存储设备上,而文件的属性存储在i节点(inode)中。i节点数目有限,可能造成i节点溢出Inode结构6.2分层文件系统本节内容:文件和目录重要的文件位置文件名路径名用户、组和文件6.2.1文件和路径Linux文件系统由文件和目录组成。文件:专门用来存储数据的对象,如:文本文件,或可执行文件目录:是一种特殊的文件,是可放置文件和其他目录的容器。Linux文件系统构成了一个分层的树型结构。最上层是名为“/”或“root”的根目录,其他的所有目录都是从根目录出发而生成的。6.2.1文件和路径分层树型结构6.2.1文件和路径微软的DOS和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。其他所有设备都可挂载在该目录树中,所有的文件都可以通过该目录树来访问6.2.1文件和路径Linux系统中常用目录:/boot包含Linux内核和引导配置文件/usr与用户相关的程序和库/home普通用户的帐户(家目录)/etc系统配置文件和部分系统可执行程序/var用于缓冲文件、日志、邮件等变化信息/dev设备文件的存放目录,/dev/cdrom6.2.1文件和路径Linux系统中常用目录:/proc存放系统运行时的进程信息及内核信息/bin系统运行所必需的二进制可执行文件,通常是用户命令和可执行程序,如:ls,cp,mkdir/sbin大多涉及系统管理相关的命令/tmp用来建立临时文件的目录/lib含有系统共享库及开发过程中使用的库重要目录:/etc/var6.2.2文件名文件名命名规则不能使用“/”-----它用在路径名中可以使用除了“/”以外的其他任何字符例如:host1grub.confa3.tar.gz不区分扩展名文件名中包含某些字符可能会产生麻烦,应该尽量避免,例如:“-”、“?”、“*”、“&”、“[”、“]”、“”、“”、空格、制表符TAB、不可打印ASCII字符、“:”、“;”6.2.2文件名文件名命名规则虽然linux不区分扩展名,但存在一些习惯上的约定:如:prog.c表示源程序prog.o表示目标程序grub.conf表示配置文件以“.”开始的文件名为隐藏文件,隐藏文件通常在目录列表中不显示linux文件名是大小写敏感的6.2.3路径名路径名命名规则由“/”分隔绝对路径:从根(/)目录开始到文件或者目录的路径,/usr/bin/tty相对路径:从当前目录开始到文件或目录的路径,如:bin/tty、tty当前目录:当前所在的位置6.2.3路径名目录捷径:1).代表当前的目录,如果访问当前目录下的myfile文件,用./myfile来表示;2)..代表上一层目录,如果访问hisfile文件,则可以../dale/hisfile来代表。6.2.3路径名Home目录:系统中每个用户的家目录。对登录到系统中的每个用户(root用户除外),都会在Home目录下创建对应用户名的目录。普通用户lily的家目录:/home/lilyroot用户的家目录:/root该目录下的内容是受保护的,只有用户本身或者超级用户才能够访问和修改用户可在该目录下进行一些自定义的设置6.2.4常用文件操作命令目录命令:ls命令ls命令常用选项:ls–l命令结构解析ls–l命令执行得到的长格式目录列表解析:例如:1)第一个位置表示文件的类型,“-”,普通文件,”d”,目录文件,”l”链接文件,“b”块设备文件,”c”字符设备文件2)rwx-r--r--分别表示该文件的拥有者、所属组、以及其它人的访问权限3)1该位置表示文件的链接数,如果为1,表示该文件只有一个版本,没有其他链接-rw-r--r--1lindauser33191Aug1517:35textls–l命令解析ls–l命令执行得到的长格式目录列表解析:例如:4)linda表示该文件的拥有者是linda5)user该文件所属的组为user组6)33191表示该文件大小为33191字节7)Aug1517:35该文件的最后修改时间8)text表示该文件的文件名为text-rw-r--r--1lindauser33191Aug1517:35text6.2.4常用文件操作名令文件操作相关命令:CP命令:复制一个文件1.使用方法:cp【选项】源文件目标文件cp【选项】源文件1,源文件2…目录2.选项:-r:递归的复制目录-i:交互式检查(目标文件已经存在时,询问是否覆盖该文件)6.2.4常用文件操作名令文件操作相关命令:mv命令:重命名或者移动文件,该命令将自动递归1.使用方法:mv【选项】源文件目标文件(重命名)mv【选项】源文件1,源文件2…目录(移动)2.选项:-i:交互式检查(目标文件已经存在时,询问是否覆盖该文件)6.2.4常用文件操作名令文件操作相关命令:rm命令:删除文件1.使用方法:rm【选项】源文件1,源文件2…rm【选项】目录2.选项:-i:交互式检查(对每个文件都进行提示)-r:目录的递归删除6.2.4常用文件操作名令目录操作相关命令:6.2.4常用文件操作名令其它相关命令:6.2.4常用文件操作名令其它相关命令:ln命令:创建连接,ln命令创建的连接可以分为两种:硬连接和软连接1.使用方法:ln【选项】源文件1,目标文件(硬连接)ln【-s】源文件1,目录(符号连接)2.选项:-s:创建符号链接-n:不覆盖已存在的目标文件-f:强制覆盖已存在的目标文件硬连接和软连接的区别硬连接与软链接的区别:“l”表示符号链接文件“-”表示普通文件硬连接文件与原文件inode相同、访问属性相同而符号文件则不同文件连接数,实质指的是硬连接数,当用rm命令删除文件的时候,实质只是将硬连接数减一,只有硬连接数为0的时候才删除文件硬连接和软连接的区别硬连接与软链接的区别:硬连接:原文件名和连接文件名所对应的inode相同,因而两者对应相同的文件。优势:1):文件在磁盘中只有一个拷贝,节省硬盘空间;2):由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。限制:1):目录不能有硬连接;2):硬连接不能跨越文件系统(不能跨越不同的分区)6.2分层文件系统硬连接与软链接的区别:软连接:用ln-s命令建立文件的符号连接是linux特殊文件的一种,该文件里边包含了另一个文件的路径名。可以链接不同文件系统的任意文件。类似windows下的快捷方式优势:可以在不同的版本之间保持兼容限制:可删除原有的文件而保存连接文件(悬浮连接),没有防止误删除功能,效率相对较低。6.2.5用户、组Linux系统中,对文件的存取是基于有效用户或组的成员的权限来进行的。Linux系统中,三种用户类型:超级用户(UID=0)普通用户(500=UIDmax=60000)操作权限受到限制伪用户(系统用户)(UID=1—499):限制本机登录Linux系统中,每个用户至少属于一个组6.2.5用户、组关于组6.2.5用户、组用户、组的增加和修改1):使用图形化的配置工具2):使用命令行方式添加和修改6.2.5用户、组使用图形化的配置工具修改1)直接在终端中运行命令:system-config-users2)依次选择系统-管理-用户和组群6.2.5用户、组使用命令的形式修改1)添加新用户格式:useradd/adduser[参数]用户名参数:-uUID//指定用户的UID值-g组名//指定用户所属的默认组-G组名//指定用户附加组6.2.5用户、组1)useradd命令其他参数-d路径//指定用户主目录-e时间//指定用户帐号有效日期(YYYY-MM-DD)-sshell类型//指定默认的shell类型-m//建立用户主目录-M//不建立用户主目录6.2.5用户、组使用命令的形式修改2)设置用户口令格式:passwd[用户名]实例:#passwdxx6.2.5用户、组使用命令的形式修改3)删除用户格式:userdel[参数]用户名参数:-r//同时删除用户主目录实例:#userdelu2#userdel-ru36.2.5用户、组使用命令的形式修改4)修改用户信息格式:usermod[参数]用户名参数:-l新用户名当前用户名//更改用户名-d路径//更改用户主目录-uuid//修改UID-L用户帐号名//锁定用户帐号(不能登录)-U用户帐号名//解锁用户帐号6.2.5用户、组使用命令的形式修改5)添加组格式:groupadd[参数]组名参数:-gGID//指定新建组的GID值实例:#groupaddg26.2.5用户、组使用命令的形式修改6)删除组格式:groupdel组名实例:#groupdelg26.2.5用户、组使用命令的形式修改7)修改组的信息格式:groupmod[参数]组名参数:-n新组名原组名//修改组的名称-gGID//修改组的GID实例:#groupmod-ngroupg1#groupmod-g860g26.2.5用户、组使用命令的形式修改8)添加组的成员格式:gpasswd[参数]组名参数:-a用户名组名//向指定组添加用户-d用户名组名//从指定组中删除用户实例:#gpasswd-au1root#gpasswd-du1root6.2.5用户、组使用命令的形式修改9)显示用户和组的信息格式:id用户名实例:idu26.2.5用户、组用户信息最终存放文件/etc/passwd6.2.5用户、组用户信息最终存放文件/etc/passwd实例:u1:x:501:502:u1:/home/u1:/bin/bash此处存放的口令为屏蔽字符,真正密码保存在/etc/shadow中6.2.5用户、组用户口令最终存放文件/etc/shadow6.2.5用户、组用户信息最终存放文件/etc/passwd实例:u1:bq$#:10750:0:99999:7:::6.2.5用户、组组的信息文件/etc/group实例:g1:x:500:u1,u2,u36.2.6文件权限1、文件权限定义:是一种限制用户对文件操作的规则Linux系统中文件访问权限通常分为三类:读:r或4写:w或2执行:x或16.2.6文件权限1、文件权限Linux系统中,所有文件都有三类用户的权限1):文件拥有者2):文件所属组3):其他root用户不受权限的限制,具有最高权限-rw-r--r--1lindauser33191Aug1517:35text6.2.6文