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