《7.linux文件管理》由会员分享,可在线阅读,更多相关《7.linux文件管理(52页珍藏版)》请在金锄头文库上搜索。
1、文 件 管 理,每种操作系统都有自己独特的文件系统,如MS-DOS文件系统、UNIX文件系统等。文件系统包括了文件的组织结构、处理文件的数据结构、操作文件的方法等。Linux自行设计开发的的文件系统称为EXT2。Linux还支持多种其它操作系统的文件系统,例如minix、ext2、hpfs、msdos、umsdos、iso、nfs、sysv等达二十几种。,Linux文件系统,Linux文件系统采用了多级目录的树型层次结构管理文件。树型结构的最上层是根目录,用表示。在根目录之下是各层目录和文件。在每层目录中可以包含多个文件或下一级目录。每个目录和文件都有由多个字符组成的目录名或文件名。系统在运行
2、中通过使用命令或系统调用进入任何一层目录,系统所处的目录称为当前目录,Linux使用两种方法来表示文件或目录的位置,绝对路径和相对路径。绝对路径是从根目录开始依次指出各层目录的名字,它们之间用”分隔,如/usr/include。相对路径是从当前目录开始,指定其下层各个文件及目录的方法,如系统当前目录为/usr,bin/cc,bin目录包含二进制(binary)文件的可执行程序。 sbin目录中存放用于管理系统的命令。 boot用于存放引导系统时使用的各种文件,如LILOetc目录非常重要,它包含许多Linux系统配置文件(如密码文件/etc/passwd、/etc/profile等)。root
3、目录是超级用户的目录。 dev目录包含标示设备的特别文件。 home目录是用户起始目录的基础目录。通常,用户的主目录就保存在该目录中。,工作目录和主目录,工作目录使用一个目录作为参照点,以后不作具体指定情况下,所访问的文件都是该目录中的文件。用户主目录为新用户建立帐户时系统指定的工作目录(用户也可以自行修改)。主目录往往位于/home目录之下,并且与用户的注册名相同 。通常,用户主目录包含子目录、数据文件,以及用于注册环境的配置文件。,lib目录中保存程序运行时使用的共享库。 lost+found目录中存放系统非正常关闭时正在处理的文件,以便下次系统启动时予以恢复。 mnt目录中存放安装文件系
4、统的安装点。proc目录实际上是一个虚拟文件系统。 tmp目录用于存放程序运行时生成的临时文件。usr目录中包含了多个子目录,其中保存系统上一些最重要的程序,可供所有用户共享。var包括系统正常运行时要改变的数据。,目录,Linux的一个目录是一个驻留在磁盘上的文件,称为目录文件。目录由若干目录项组成,每个目录项对应目录中的一个文件。在一般操作系统的文件系统中,目录项由文件名和属性、位置、大小、建立或修改时间、访问权限等文件控制信息组成。Linux继承了UINX,把文件名和文件控制信息分开管理,文件控制信息单独组成一个称为i节点(inode)的结构体。inode实质上是一个由系统管理的“目录项
5、”。,Linux的目录项只由两部分组成:文件名和inode号,文件的类型,普通文件目录文件:两个特殊的目录项”代表目录本身,”表示父目录。设备文件:如光驱:/dev/cdrom管道文件链接文件,普通文件,文本文件,它由ASCII字符构成。 数据文件,它由来自应用程序的数字型和文本型数据构成。 可执行的二进制程序,它由机器指令和数据构成。,目录,目录是特殊文件,用来创建和存放对于文件系统中的文件的访问路径。 是由成对的“I节点号/文件名”构成的列表I节点号是检索I节点表的下标,I节点中存放有文件的状态信息。文件名是给一个文件分配的文本形式的字符串,用来标识该文件。“点”(.)表示目录本身 ;“点
6、点”(.)表示该目录的父目录,文件的访问权限,Linux中的每一个文件都归某一个特定的用户所有,而且一个用户一般总是与某个用户组相关。Linux对文件的访问设定了三级权限:文件所有者,与文件所有者同组的用户,其他用户。对文件的访问主要是三种处理操作:读取、写入和执行。三级访问权限和三种处理操作形成了9种情况:,Linux 文件系统,Minix 是 Linux 的第一个文件系统,有局限,性能比较差。文件名不能长于 14 个字符,最大的文件大小是 64M 字节在 1992 年 4 月引入第一个专为 Linux 设计的文件系统-扩展文件系统或 EXT ( Extend File System ),最
7、大支持2GB的文件系统1993 年,增加了扩展文件系统第二版,或 EXT22001年,发布EXT3文件系统EXT3支持最大16TB的文件系统。单个文件最大2TB2008年发布EXT4文件系统,Linux 内核于2009年 12 月份发行的 2.6.28 发行版是首个稳定的 ext4 文件系统ext4 支持的最大文件系统为 1 EB(1000 PB)。ext4 支持最大 16 TB 的文件,虚拟文件系统,现在的系统大多都在系统内核和文件系统之间提供一个标准的接口,真实的文件系统通过一个接口层从操作系统和系统服务中分离出来,这样不同文件结构之间的数据可以十分方便地交换。Linux也在系统内核和文件
8、系统之间提供了一种叫做虚拟文件系统VFS(virtual file system)的标准接口。VFS 允许 Linux 支持许多(通常是不同的)文件系统,每一个都向 VFS 表现一个通用的软件接口。 Linux 文件系统的所有细节都通过软件进行转换,所以所有的文件系统对于 Linux 核心的其余部分和系统中运行的程序显得一样。,虚拟文件系统转换,VFS 超级块,每一个安装的文件系统都用 VFS 超级块参见 include/linux/fs.h,VFS inode,同EXT3 文件系统,VFS 中每一个文件、目录等等都用一个且只用一个 VFS inode 代表。每一个 VFS inode 中的信
9、息使用文件系统相关的例程从底层的文件系统中获取。 VFS inode 只在核心的内存中存在,只要对系统有用,就一直保存在 VFS inode cache 中。,登记文件系统,当核心建立的时候,文件系统初始化代码调用所有内建的文件系统的初始化例程的。当加载一个文件系统模块的时候,它自身向核心登记,当卸载的时候,它就注销。,检查 /proc/filesystems,可以检查 /proc/filesystems 来查看登记了哪些文件系统,第二代扩展文件系统(EXT2),ext2fs目标是为Linux提供一个强大的可扩展文件系统支持标准unix 文件类型管理大的分区,达4TB支持长文件名,255字符为
10、超级用户保留5%数据块,EXT2文件系统的物理结构,数据被保存在数据块中,每一个文件的长度都按照块取整 。,引导块,块组1,块组i,块组n,超级块,块组描述结构,块位示图,索引节点位示图,索引节点表,数据块,Ext3,Ext3是一种日志式文件系统,是对ext2系统的扩展,它兼容ext2最大文件大小:16GB 64TB 最大文件数量:可变 最长文件名限制:255字节 最大卷大小:2TB 32TB 文件名允许的字符数: 除NUL和/外的所有字节,索引节点inode,Linux用一个 inode 数据结构描述系统中的每一个文件,定义了系统的拓扑结构。一个 inode 描述了一个文件中的数据占用了哪些
11、块以及文件的访问权限、文件的修改时间和文件的类型。文件系统中的每一个文件都用一个inode描述,而每一个inode都用一个独一无二的数字标识。文件系统的inode都放在一起,在 inode表中。 EXT2的目录是简单的特殊文件(它们也使用inode描述),包括它们目录条目的inode的指针。,ls 命令,显示文件或目录,mount 命令,功能:将某个文件系统作为Linux的一个“文件”挂载到Linux的一个空文件夹下 用法:挂载光盘:mount -t iso9660 /dev/cdrom /mnt/cdrom挂载U盘:mount /dev/sdb1 /mnt/usb命令格式:mount -t
12、vfstype -o options device dir,-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:光盘或光盘镜像:iso9660Windows 9x fat32文件系统:vfatWindows NT ntfs文件系统:ntfsMount Windows文件网络共享:smbfsUNIX(LINUX) 文件网络共享:nfs,-o options 主要用来描述设备或档案的挂接方式。常用的参数有:loop:用来把一个文件当成硬盘分区挂接上系统ro:采用只读方式挂接设备rw:采用读写方式挂接设备iocharset:指定访问文件系统所用字符集
13、device 要挂接(mount)的设备。dir设备在系统上的挂接点(mount point)。,/etc/fstab文件,mount命令的配置文件,可决定开机时自动挂载哪些介质,并指定每个介质挂载时的可选项、挂载点等信息,umount 命令,功能:执行与mount相反的操作 卸载光盘:umount /mnt/cdrom卸载U盘: umount /mnt/usb注意:卸载设备或文件系统时,要确保该设备或文件系统处于空闲状态,否则可能会出错,df,du 命令,df命令可以显示目前磁盘剩余的磁盘空间du命令可以显示目前的目录所占的磁盘空间,mkdir,,功能:mkdir命令用来建立新的目录用法:m
14、kdir TestDir,rmdir,功能:用来删除已建立的目录rmdir TestDir,mv命令,功能:移动目录或文件,引申的功能是给目录或文件重命名 mv 原文件名(目录) 新的文件名(目录),rm命令,功能:删除文件rm r 目录名:这个操作可以连同这个目录下面的子目录都删除rm f 文件名(目录名):这个操作可以进行强制删除 rm i 文件名:删除前提示,cp 命令,功能:拷贝文件或目录用法:cp 选项 源文件 目的文件该命令的各选项含义如下:-a该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。-d拷贝时保留链接。-f删除已经存在的目标
15、文件而不提示。-i和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。-p此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。-l不作拷贝,只是链接文件。,locate 命令,功能:用于查找文件,它比find命令的搜索速度快,find 命令,功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 语法:find 起始目录 寻找条件 操作find / -name *.log,touch 命令
16、,功能:改变文件的时间戳记,也可用于新建文件-m,只修改戳记若要修改戳记的文件尚不存在,除非使用-c选项,touch将创建它-a 修改文件 file 的存取时间 -c 不创建文件 file. -t time 使用指定的时间值,umask 命令,功能:指定在建立文件时预设的权限掩码 umask nnn 其中nnn为umask置000 - 777权限掩码是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限当最初登录到系统中时, umask命令确定了你创建文件的缺省模式系统管理员必须要为用户设置一个合理的umask值,以确保用户创建的文件具有所希望的缺省权限,防止其他非同组用户对用户的文件具有写权限,