Linux 操作系统(第5版) 课件 第5章 文件系统管理及使用_第1页
Linux 操作系统(第5版) 课件 第5章 文件系统管理及使用_第2页
Linux 操作系统(第5版) 课件 第5章 文件系统管理及使用_第3页
Linux 操作系统(第5版) 课件 第5章 文件系统管理及使用_第4页
Linux 操作系统(第5版) 课件 第5章 文件系统管理及使用_第5页
已阅读5页,还剩163页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章

文件系统管理及使用《Linux操作系统(第5版)》学习目标

理解Linux文件系统权限控制机制,掌握文件权限、所有者、所属组管理方法

了解Linux支持的常见存储设备及文件系统类型

掌握存储设备与文件系统的管理及使用,理解文件系统检查与修复

掌握磁盘分区管理与文件系统创建方法

掌握数据备份、文件打包压缩与数据恢复

理解和掌握软件磁盘阵列与磁盘配额管理及使用章节概述本章聚焦Linux文件系统管理与使用,涵盖权限控制、默认权限与umask、权限修改命令及facl与扩展属性。介绍硬盘物理结构与分区管理工具,以及文件系统创建挂载、卸载和自动挂载配置。进一步讲解文件系统检查、空间统计、数据备份与打包压缩、文件查找、设备复制及链接管理。最后介绍磁盘阵列和磁盘配额的配置与管理,为系统运维提供完整方案。目录0102文件系统权限及管理权限管理命令03文件系统管理04与文件系统管理相关的其他命令05数据备份与文件打包压缩06磁盘阵列与磁盘配额文件系统权限及管理5.15.1.1文件系统三种权限Linux文件系统特点在操作系统中,与管理文件有关的软件和数据称为文件系统,它负责建立、删除、存取、修改、复制等文件操作。UNIX/Linux的文件系统除了具有一般文件系统的特点,还具有以下特点。(1)文件是无结构的字符流。(2)文件可通过设置权限的办法加以保护。(3)外部设备都被看成文件,在系统内与普通文件一样被统一管理。UNIX/Linux用文件存取控制表来解决存取权限的控制问题。文件存取控制表以文件为单位,将用户按某种关系分为若干类,同时规定每类用户的存取权限。每个文件都有一张文件存取控制表,该表存放在文件说明中。5.1.1文件系统三种权限三种权限Linux系统中,文件的普通权限共有三种:读、写、执行。(1)读权限(r):指用户对文件或目录查看权限。若用户对某文件或目录不具有读权限,则不能查看其内容。(2)写权限(w):指用户对文件或目录的写权限。若用户对某文件没有写权限,则不能修改它;若用户对某目录没有写权限,则不能在该目录内创建文件或子目录。(3)执行权(x):指用户对文件的执行权或对目录的进入权限。若用户对某文件没有执行权则不能执行它;若用户对某目录没有执行权则不能进入它。5.1.2文件系统三类人三类人Linux系统对文件操作的读、写和执行三种权限只对三类人分配。这三类人分别是用户主(u:user),文件的拥有者;同组人(g:group),与文件主同组的用户;和其他人(o:other),除用户主和同组人以外的用户。5.1.3权限表示权限的字符串表示1.权限的字符串表示按照人分三类,权分三种的办法,对任意文件,可为这三类人分配权限。就某个文件而言,它对某类用户的权限分配有3种:(1)读权限。若用户对文件或目录有读权限,则对应读权的位置为r,否则为-。(2)写权限。若用户对文件或目录有写权限,则对应写权的位置为w,否则为-。(3)执行权限。若用户对文件有执行权或对目录有进入权,则对应执行权的位置为x,否则为-。5.1.3权限表示权限的字符串表示通常将这3种权限依读、写、执行次序排列。若一个文件对用户主有读、写和执行权,则表示为rwx;若对同组人有读和执行权,则无写权限,则表示为r-x;若对其他人不分配权限,则表示为---。若将文件对三类用户的权限按主、组和其他人从左到右依次排列,则权限为rwxr-x---。5.1.3权限表示权限的字符串表示设命令“ls-ld/usr/bin/bash/dev/sr*/dev/cd*/boot”的输出中有以下内容:dr-xr-xr-x.6rootroot4096Mar412:34/bootlrwxrwxrwx.1rootroot3Mar611:03/dev/cdrom->sr0brw-rw----+1rootcdrom11,0Mar611:10/dev/sr0-rwxr-xr-x.1rootroot1443376Jan2208:00/usr/bin/bash输出的第一列为文件的类型、权限和facl,除首尾2字符外,其余为文件的权限描述。文件/usr/bin/bash和目录/boot的权限分别为rwxr-xr-x和r-xr-xr-x,链接文件/dev/cdrom的权限为rwxrwxrwx,设备文件/dev/sr0的权限为rw-rw----。5.1.3权限表示权限的字符串表示2.权限的数字表示在数字方式表示下,某类用户对文件或目录的访问权限可用一个三位二进制数来表示。在字符串表示时,若具有某个权限,则对应位为1,否则为0,这样该类用户的权限就可表示为三位二进制数,其值为不大于7的整数,因此可作为八进制数。/usr/bin/bash的权限为rwxr-xr-x,它的主、组和其他人的权限分别为rwx、r-x和r-x,表示为二进制数为111、101和101,分别转换为八进制数则为7、5和5。此时,可以说/usr/bin/bash的权限为755。5.1.3权限表示权限的字符串表示文件/usr/bin/bash的权限表示5.1.4默认权限与umask默认权限与umask在UNIX/Linux系统中,当用户创建文件或目录时,将为它们设置默认权限。文件或目录的默认权限由文件权限掩码umask来控制。默认情况下,root的umask值为0022,普通用户的umask值为0022(红帽)/0002(ubuntu)。文件创建掩码umask的值同文件权限一样,可以表示为八进制数或符号串方式。5.1.3权限表示权限的字符串表示umask、文件和目录的默认权限项目红帽&Openeulerubuntuumasku=rwx,g=rx,o=rx/0022u=rwx,g=rwx,o=rx/0002文件rw-r--r--/644rw-rw-r--/664目录rwxr-xr-x/755rwxrwxr-x/775

权限管理命令5.25.2.1设置文件创建掩码umask功能:umask设置或查询umask的值。创建文件时,系统将用八进制数777与文件创建掩码的八进制数按位做减法运算,所得的三位八进制数作为新文件的存取权限。若umask的值为022,则创建“文件”的理论权限值为777-022=755,即rwxr-xr-x。这对于目录来讲是合适的,可以保证每个用户都可以进入,但是对于一个文件来讲就不一定合适了,因为一个文件不一定具有可执行的内容,因此还要去除各类用户的执行权,故一般文件的权限为644,即rw-r--r--。在编程时,新创建文件的权限与umask的关系也可这样描述:新创建文件的权限为0666&~mask,新创建目录的权限为0777&~mask。5.2.1设置文件创建掩码umask用法: umask[-p][-S][new_umask]new_umask为新umask的值,用于将new_umask置为当前文件创建掩码;-p用于当new_umask被忽略时,显示一个可重用umask命令字符串,输出为umaskumask_value;-S以符号方式显示umask值;当无参数运行umask时,显示当前文件创建掩码。在设置文件创建掩码时,若new_mask首位为数字,则用八进制方式解释其内容,否则使用符号方式处理。5.2.1设置文件创建掩码umask应用示例:$umask #显示当前的umask值$umask0022 #设置umask值为0022$umasku=rwx,g=rx,o= #设置umask值为00275.2.2改变文件的权限chmod1.功能及用法功能:为改变文件或目录的访问权限。在设置或改变文件或目录权限时,可以使用符号方式或数字方式。超级用户或用户主可以执行该命令。用法:(1)符号方式chmod[options]<a|u|g|o><+|-|=><str_perm>,…file…u、g和o分别表示用户主、组和其他人,a表示所有人;+、-和=分别用于添加、去除和置权限;str_perm为权限字符串表示。5.2.2改变文件的权限chmod(2)数值方式chmod[options]num_permfile…2.参数说明-f,--silient,--quiet:以强制或安静方式工作,忽略大部分错误信息;-v:报告chmod对每个文件的处理信息;--reference=rfile:从指定文件rfile中获取权限值;-R,--recursive:以递归方式处理目录及其中的文件。5.2.2改变文件的权限chmod3)示例#chmoda+xmy_p1my_p2 #为所有用户(a)对文件my_p1、my_p2增加执行权#chmodu+rwx,go+rxmyp #为文件主增加所有权限,为组和其他人增加读和执行权#chmod-Ro-rwx/tmp/w123 #递归去掉/tmp/w123内目录和文件对其他人的所有权限#chmod-R777/tmp/test/ #将/tmp/test/中的所有文件和各级子目录及内容权限设置为7775.2.3改变文件的所有者chown1.功能及用法chown(changeowner)的功能是改变文件的所有者,本质上是改变文件主的uid或gid。只有超级用户有权使用chown。其用法为:chown[options]owner[:group]file…chown[options]:groupfile…5.2.3改变文件的所有者chown2.参数说明--dereference:改变符号链接最终对象的所有者,而非符号链接本身-f,--silient,--quiet:以强制或安静方式工作,忽略大部分错误信息-h,--no-dereference:与--dereference相反,仅改变符号链接的所有者--reference=rfile:从指定文件rfile中获取权限值-R,--recursive:以递归方式处理目录及其中的文件5.2.3改变文件的所有者chown3.示例#chownrootmy_files #将my_files的所有者改为root#chowntest*.c #将当前目录下所有C语言文件的所有者改为test#chown-Rtest1/tmp/mydir#递归将/tmp/mydir的所有者改为test1#chown-Rtest:binmydat #递归将mydat的所有者改为test,组改为bin#chown-R:testmydat #递归将mydat的组改为test5.2.4改变文件的组chgrp功能及用法功能:改变文件所属组。用法:chgrp[options]groupfile…group为可组名或组标识给出新组。chgrp可由chown替代,其选项与chown相同。5.2.5文件访问控制列表facl若某个用户对一个文件或目录,他既不是用户主,也不是同组人,在对其他人又没有给授权,但他必须访问这个文件或目录,应该怎么办呢?Linux系统提供了一种基于传统权限管理的特殊授权方法:文件访问控制列表(FACL:FileAccessControlLists)。使用文件访问控制列表,可为某特定的用户或组对某文件或目录实施单独授权,也就是设置facl。如果针对某目录设置了facl,则目录中的文件或子目录会自动继承此facl授权;若对目录中的文件或目录设置了新的facl,则它不再继承其所在目录的原facl授权。系统提供有getfacl和setfacl对facl进行管理。5.2.5文件访问控制列表查询facl(getfacl)1.功能及用法功能:用于读取文件或目录的facl。用法:getfacl[-aceEsRLPtpndvh]file...file为要被查询的文件或目录。对于每个作为参数的文件,getfacl会显示它的名字、主、组的访问权限和facl。如果一个目录有默认的facl,getfacl也会显示。如果参数file没有facl则只显示它的传统访问权限。5.2.5文件访问控制列表2)getfacl的输出内容文件基本信息传统权限facl默认权限与facl#file:somediruser::permuser:someusr:permdefault:user::perm#owner:someusergroup::perm......default:user:someusr:perm#group:somegroupother::permgroup:somegrp:permdefault:group::perm

#flags:-s-

mask::perm.............查询facl(getfacl)5.2.5文件访问控制列表3.示例$ll/dev/sr0brw-rw----+1rootcdrom11,0Jul1009:30/dev/sr0#(+表示有facl)$getfacl/dev/sr0 #输出如下所示。若使用-c选项,则不输出文件基本信息文件基本信息传统权限facl默认权限与facl#file:dev/sr0user::rw-user:test:rw-

#owner:rootgroup::rw-

说明:#group:cdromother::---

sr0非目录,无继承,此类空

mask::rw-

查询facl(getfacl)5.2.5文件访问控制列表1.功能及用法功能:设置facl。用法:setfacl[-bkndRLPvh][{-m|-x}acl_spec][{-M|-X}acl_file]file...2.参数说明-b,--remove-all:删除所有的facl;-k,--remove-default:删除默认的facl;-d:只作用在默认facl;--restore=acl_file:从备份文件acl_file中恢复;-macl_spec:设置acl_spec;-Macl_file:从acl_file中设置facl;-xacl_spec:删除acl_spec;-Xacl_file:从acl_file中删除facl。设置facl(setfacl)5.2.5文件访问控制列表2.参数说明(续)file为要被设置facl的文件或目录。acl_file为包含facl设置项文件。facl设置项有[d:]u:uid:perms、[d:]g:gid:perms、[d:]o:perms和[d:]m:perms,用于分别为用户、组和其他人设置权限,或设置umask。d是可选的,若出现表示为目录设置默认facl。若一个设置命令需要多个设置项,则可把多个设置项用逗号连接起来,比如u:[user]:perm,g:[group]:perm,... #为文件同时设置用户和组facld:u:[user]:perm,g:[group]:perm,... #为目录同时设置默认用户和组facl设置facl(setfacl)5.2.5文件访问控制列表3.示例$touchfile1file2 #创建两个文件file1和file2$setfacl-mu:test1:rw,g:test:r,g:test1:rfile1#对文件file1,为用户test1和组test、test1设置facl$ls-lfile1 #查看file1的权限 -rw-rw-r--+1rootroot0Aug721:00file1$getfaclfile1 #查询file1的facl文件基本信息传统权限facl默认权限与facl#file:file1user::rw-user:test1:rw-

#owner:testgroup::r--group:test1:r--说明:#group:testother::r--group:test:r--file1非目录,无继承,此类空

mask::rw-

设置facl(setfacl)5.2.5文件访问控制列表3.setfacl示例$getfaclfile1|setfacl-M-file2 #将file1的facl复制到file2(-M后的-为标准输入)$ls-lfile1file2 #查看file1和file2的权限$getfaclfile2 #查询file2的facl(与file1的facl相同)设置facl(setfacl)5.2.6ext2+的扩展属性及其管理ext2+的扩展文件属性从ext2文件系统开始,增加了很多新属性,新增的部分属性如下表所示。这些新增属性也被后来xfs和btrfs等文件系统所支持,但所支持的多少不尽同。属性说

明属性说

明A文件被访问时不修改访问时间a只能以增加方式打开c自动压缩e扩展格式(此属性不能去除)D目录改变时同步写入d当使用dump备份时,不备份此文件i不能修改,不能删除,也不能有链接指向此文件u文件删除后可以恢复(桌面回收站以此方式使用)S文件修改时同步写入s安全删除。文件被删除时,原内容填充为垃圾数5.2.6ext2+的扩展属性及其管理显示扩展属性(lsattr)1.功能及用法功能:显示文件的ext2+扩展属性。用法:lsattr[-RVadlpv][files]2.常用选项-a:列所有文件属性,也包括“.”开始的文件;-R:递归处理;-l:显示属性的命名而非单个字符;-d:列目录属性,而非其中文件属性。5.2.6ext2+的扩展属性及其管理修改扩展属性chattr1.功能及用法功能:对ext2+的新增属性进行管理。用法:chattr[-RV][-vversion][mode]files2.参数说明mode的符号操作符为:+|-|=MODE,MODE为新属性,+用于增加属性,-用于去除属性,=设置属性时去除其他属性。5.2.6ext2+的扩展属性及其管理3.示例设当前目录内有文件myfile,若无则执行touchmyfile创建之。通过ls-lx和lsattrx命令得到它的权限和扩展属性分别为:-rw-rw-r--1testtest0Jul1012:46myfile --------------e-------myfile使用chattr+imyfile为其增加i属性后,再使用ls-lx和lsattrx检查其权限和扩展属性为:-rw-r--r--.1testtest0Jul1012:45myfile ----i---------e-------myfile可见myfile已经具有了i属性。修改扩展属性chattr5.2.6ext2+的扩展属性及其管理若使用命令rm-fmyfile删除之,得以下错误:rm:cannotremove'myfile':Operationnotpermitted这说明i属性对文件的删除起到了保护作用。如果使用命令#chattr-imyfile去掉i属性后,就可以使用rm命令将其删除了。修改扩展属性chattr

文件系统管理5.35.3.1UNIX/Linux支持的文件系统Linux支持的文件系统简介msdos、umsdos、vfat、ntfs、exfat:msdos文件系统是早期IBM或MSDOS所支持的FAT12、FAT16和FAT32文件系统。umsdos是msdos文件系统在Linux上的扩展。这些FAT格式的文件系统统一表示为vfat。ntfs:是MSwindowsNT及以后版本Windows系列可支持的文件系统。exfat:是为了适应大容量移动存储,比如U盘等,而扩展的文件系统。minix:是Linux前身minix操作系统的文件系统,它依然存在主要是因为软盘和内存文件系统(ramfs)。ext、ext2、ext3、ext4:ext是minix文件系统的扩展,再经不断扩展依次为ext2、ext3和ext4,当前版本为ext4。iso9660:所有光盘上文件系统,在Linux下统称为iso9660。5.3.1UNIX/Linux支持的文件系统Linux支持的文件系统简介sysv、xenix、coherentsysv:是SysV/Coherent文件系统在Linux的的实现。smbfs、cifssmb:是一个网络协议名,通过它可实现Linux与Windows网上邻居等进行通讯。作为网络文件系统的smbfs,其类型为smb或cifs。nfs:一种分布式网络文件系统,用于在UNIX/Linux系统间通过网络进行文件共享。jfs:jfs是由IBM开发的日志文件系统。xfs:

一种高性能的日志文件系统,它起源于SGIIRIX平台。btrfs:是一种现代的用于Linux的写时复制文件系统,旨在实现高性能,同时注重容错、修复和易于管理。具有ext3/ext4的功能,加入了ext3/ext4所未有的特性。5.3.1UNIX/Linux支持的文件系统Linux支持的文件系统简介proc:是用于内核数据接口的伪文件系统,可理解为Linux系统用于对进程进行管理的进程控制块表PCB。proc不占用磁盘空间,在系统启动时自动产生并挂载到/proc,在系统关闭时自动消失。在其中记录了系统中每个进程的活动情况、资源占用等信息。当系统创建一个进程时,就要在/proc中按进程的pid为进程创建一个目录,以记录该进程的动态行为和资源需求等。用户可以进入/proc目录查看其中的内容。sysfs:一种基于RAM的文件系统,被安装在/sys目录上。在/sys下有block、bus、dev、fs、power等目录,分别对应相应类型的设备,在它们的每个下面还有各种不同子类型,udev使用/sys中的信息动态管理/dev下的设备文件。用户可使用tree/sys命令查看其中的内容。5.3.1UNIX/Linux支持的文件系统文件类型及表示文件系统类型标识文件系统类型标识msdos,fat,umsdosvfatntfsntfsexfatexfatSysv,xenix,coherentsysvminixminixext,ext2,ext3,ext4ext,ext2,

ext3,

ext4xfsxfsbtrfsbtrfssmb,cifssmb/cifsnfsnfs各种光盘文件系统iso9660jfsjfsprocfsprocsysfssysfs5.3.2UNIX/Linux系统使用的存储设备IDE硬盘存储设备IDE硬盘设备的命名形式为/dev/hdx[y],其中,x∈(a,b,c,d)代表驱动器号,y∈(1,2,3,…)代表第x个硬盘上的分区号。比如/dev/hda代表第一个硬盘,/dev/hda1、/dev/hda2和/dev/hda3分别是/dev/hda的3个基本分区,/dev/hda5、/dev/hda6则为/dev/hda上的第1和第2个逻辑分区。5.3.2UNIX/Linux系统使用的存储设备SCSI和SATA存储设备SCSI和SATA存储设备的命名形式为/dev/sdx[y],其中,x∈(a,b,c,d,…)为字符代表物理设备,y∈(1,2,3,…)为物理设备n上的逻辑分区编号。SCSI和SATA设备的命名规则与IDE的相同。比如,/dev/sda、/dev/sdb分别为第1、2个SCSI硬盘,/dev/sda1、/dev/sda2分别代表第1个SCSI或SATA硬盘的第1、2分区,/dev/sdb3、/dev/sdb4分别代表第2个SCSI或SATA硬盘的第3、4分区。5.3.2UNIX/Linux系统使用的存储设备nvme存储设备NVMe(NVMExpress)是非易失性内存主机控制器接口规范,是一个逻辑设备接口规范,也是固态硬盘(SSD)的常见形式。在现在的Linux系统中,此类设备的命名规则为/dev/nvme0nx[py],x,y∈(1,2,3,…),x给磁盘编号,y表示分区编号,比如,/dev/nvme0n1、/dev/nvme0n2为第1和第2个磁盘,/dev/nvme0n1p1、/dev/nvme0n1p2为第1个磁盘上的第1和第2分区。5.3.2UNIX/Linux系统使用的存储设备光驱和刻录机一般来说,光盘驱动器为/dev/cdrom,该设备是某个设备的符号链接或硬链接,而在现在的系统中/dev/cdrom大多是/dev/sr0的一个链接。默认刻录机设备是/dev/cdwriter或/dev/cdrw,它被链接到/dev/sg0或/dev/sr0上。用户可直接使用被链接的/dev/sr0或/dev/sg0作为光驱或刻录设备。5.3.2UNIX/Linux系统使用的存储设备磁盘阵列磁盘阵列是由多个磁盘或磁盘分区构成的“复合”存储设备,磁盘阵列的命名规则是/dev/mdX,比如/dev/md0表示第1个磁盘阵列设备。5.3.3磁盘分区管理与文件系统的创建sfdisk1.功能、用法及子命令sfdisk是一个基于脚本或命令环境的分区管理工具,其用法为:sfdisk[options]device[-Npartition-number]sfdisk[options]command现在的sfdisk支持MBR和GPT格式的分区,且可做到分区边界自动对齐,但不再支持CHS(柱面磁头扇区)功能。选项功能选项功能-a,--append追加。在现有的分区表上添加新分区-o,--outputlist仅输出指定的字段-f,--force强制-q,--quiet安静模式-n,--no-act模拟而不真正写入磁盘-X,--label{dos|gpt}指定分区表的类型-N指定分区号device指定整个磁盘设备5.3.3磁盘分区管理与文件系统的创建sfdisksfdisk常用内部命令-A[#]:将指定分区#设置为活动分区。若未指定#,则显示所有活分区--deletedevice[#]:删除指定/全部分区-ddevice:按照sfdisk的输入格式导出指定设备的现有分区信息-l[device...]:列出指定/全部块设备的分区表-F[device...]:列出指定/全部块设备上尚未被分区的空闲空间--part-attrsdevice#[attrs]:修改指定GPT分区的属性。若未指定"attris"参数,则显示当前分区的属性5.3.3磁盘分区管理与文件系统的创建sfdisk--part-labeldevice#[label]:修改指定GPT分区的标签。如果未指定"label",则显示指定GPT分区的标签--part-typedevice#[type]:修改指定分区的类型。若未指定"type",则显示指定分区的当前类型--part-uuiddevice#[uuid]:修改指定GPT分区的UUID。若未指定"uuid"参数,则显示指定GPT分区的UUID-rdevice:按照各分区的起始扇区,对现有分区进行重新编号-s[device...]:列出指定/全部块设备的大小 -T:列出所有支持的分区类型5.3.3磁盘分区管理与文件系统的创建sfdisk2)输出及输入格式(1)输出格式先看一下命令#sfdisk-d/dev/sda #-d:按照sfdisk的可用输入格式导出磁盘/dev/sda分区信息的输出。在这些的输出中有“整个磁盘”的描述信息(header/头部)和分区表两部分。5.3.3磁盘分区管理与文件系统的创建sfdisk头部信息(示例)abel:gpt label-id:30239C06-D9CC-48AE-A633-00DE69A795C1device:/dev/sda unit:sectorsfirst-lba:34 last-lba:62914526sector-size:512 ......分区信息(示例)/dev/sda1:start=2048,size=2097152,type=....,uuid=...,name="EFISystemPartition"/dev/sda2:start=2099200,size=2097152,type=...,uuid=.../dev/sda3:start=4196352,size=31453184,type=...,uuid=...5.3.3磁盘分区管理与文件系统的创建sfdisk①头部信息 头部信息的格式为“name:value”,常见的有label:可取值有gpt或dos;label-id:分区id,是一个0x开头16进制数;device:磁盘设备名称,比如/dev/sda、/dev/sdb等;unit:分配单位,值为sectors;first-lba:分区开始磁盘扇区号;last-lba:分区结束扇区号;sector-size:扇区的大小,标准扇区大小为512字节;table-length:指定分区最大长度。5.3.3磁盘分区管理与文件系统的创建sfdisk②分区表信息分区表的通用格式为[device:]name[=value],...,具体的可描述为[device:]start=number,size=number,type=code,uuid=UUID,......其中device为分区编号,比如/dev/sda1等;start=分区开始扇区号;size=number为分区总扇区数;type=code为分区类型编码;uuid=UUID为本分区的UUID编码。可能出现的还有name="String"为分区名称;attrs=string为属性描述和bootable等信息。这些输出信息也可以用于恢复分区信息或创建分区的输入,因为都是以“name:value”或“name=value”的形式出现的,故又称为命名方式。5.3.3磁盘分区管理与文件系统的创建sfdisk③用于创建分区时所需信息及输入的非命名格式当sfdisk用于创建分区,分区表的输入结构为:startsizetypebootable #开始扇区

分区大小

分区类型

是否活动以上4个元素间的分隔符可以是白空格、逗号或分号;若某一项缺少或置为-,则使用缺省值。当使用数字时,可以是八进制、十六进制或十进制,默认是十进制;当用-N指定分区时,所设值只对指定分区有效,其它的仍取缺省值。数值后面还可跟单位,比如k(KiB)、m(MiB)、g(GiB)、t(TiB)等。5.3.3磁盘分区管理与文件系统的创建sfdiskstart的缺省值为第一个可用的最小扇区号。当用-N指定分区号时,使用+号可将分区开始地址(前移)扩展,使用前面原属于前面分区的空闲空间。size的缺省为分区开始处之后最大的可用空间。当用-N指定分区号时,使用+号可将分区结束地址(后延)扩展,使用后边原属于后面分区的空闲空间。5.3.3磁盘分区管理与文件系统的创建sfdisk③用于创建分区时所需信息及输入的非命名格式type为分区类型,表示MBR分区的使用16进行数,表示GPT分区的使用GUID,也可使用快捷表示法。可用的快捷表示有:L-linux、S-swap、Ex-linuxextended、H-home、U-uefi、R-raid和V-lvm,默认为linux。bootable可设置为*(活动)/-(不活动),缺省为不活动。5.3.3磁盘分区管理与文件系统的创建sfdisk3.示例添加一块大小为10G的SCSI硬盘,设备名为/dev/sdb,并在其上完成以下操作。(1)备份/dev/sdb的分区表(若/dev/sdb为”新添”设备,无分区,则会失败)#sfdisk-d/dev/sdb>~/sdb.dump #备份。将/dev/sdb的分区信息备份到~/sdb.dump(2)创建一个空的GPT分区表#echo'label:gpt'|sfdisk/dev/sdb #使用管道。将毁掉/dev/sdb上原有的一切5.3.3磁盘分区管理与文件系统的创建sfdisk(3)创建分区在/dev/sdb上创建3个分区,要求:分区1:开始地址缺省,大小1G,类型Linux;分区2:开始地址缺省,大小2G,类型Linux;分区3:开始地址缺省,大小使用剩余空间,类型缺省。以下3个命令均可完成此任务:#echo-e',1G,L\n,2G,L\n,+,\n'|sfdisk/dev/sdb #使用管道

或#echo-e'size=1G,type=L\nsize=2G,type=L\nsize=+\n'|sfdisk/dev/sdb#使用命名方式

5.3.3磁盘分区管理与文件系统的创建sfdisk(3)创建分区#sfdisk/dev/sdb<<-ESC,1G,L,2G,L,+,ESC#即时文档开始#分区1:开始地址缺省,大小1G,类型Linux#分区2:开始地址缺省,大小2G,类型Linux#分区3:开始地址缺省,大小使用剩余空间,类型缺省#即时文档结束5.3.3磁盘分区管理与文件系统的创建sfdisk(4)改变分区的类型#echo-e'type=swap'|sfdisk-N2/dev/sdb#将分区2变为交换区

或#sfdisk--part-type/dev/sdb2swap(5)删除分区#sfdisk--delete/dev/sdb2 #删除/dev/sdb上的2号分区#sfdisk-l/dev/sdb #显示删除后的分区表(6)分区扩展#echo"+,+"|sfdisk-N3/dev/sdb #(前后)扩展3号分区,将刚删除的空间纳入进来(7)分区表恢复(必要时才做,否则从(2)~(6)的工作全部作废)#sfdisk/dev/sda<~/sdb.dump #恢复以前备份的分区信息5.3.3磁盘分区管理与文件系统的创建fdisk1.功能及用法fdisk功能是分区管理,可创建、删除或修改分区。用法:fdisk[options]devicefdisk-l[device...]5.3.3磁盘分区管理与文件系统的创建fdisk2.参数说明常用选项-l:列指定或所有磁盘设备上的分区表,单位受-u参数影响;-s:显示指定分区的大小;-u[=UNIT]:(sectors或cylinders)为单位显示分区的大小,默认为sectors,与-l配合使用当以fdisk<硬盘设备名>方式执行时,fdisk进入交互方式command(mforhelp):输入m并回车后可得到一个帮助菜单。用户可在交互方式下使用命令对指定磁盘进行操作。5.3.3磁盘分区管理与文件系统的创建fdisk3.fdisk分区管理示例(假设/dev/sdb仍然存在)(1)显示磁盘分区#fdisk-l #显示所有硬盘或U盘的分区信息#fdisk-l/dev/sda #显示硬盘/dev/sda的分区信息(2)以命令行方式显示所有分区类型#echo"list"|fdisk/dev/sda #使用管道,显示所有已知分区类型

或#fdisk/dev/sda<<ESC #使用即时文档 listESC#fdisk-l/dev/sdb #显示硬盘/dev/sdb的分区信息5.3.3磁盘分区管理与文件系统的创建fdisk(3)创建分区(交互式)先将/dev/sdb设为GPT格式,再在其上创建一个(编号默认、开始扇区默认、大小1G)分区。#fdisk/dev/sdbCommand(mforhelp):g #g命令:将/dev/sdb设为GPT格式,将毁掉原数据CreatedanewGPTdisklabel(GUID:...).#提示信息,后面的被忽略Command(mforhelp):n #n命令:创建分区Partitionnumber(1-128,default1): #分区号:回车默认Firstsector(2048-20971486,default2048):#开始扇区:回车默认Lastsector,+/-sectorsor+/-size{K,M,G,T,P}(2048-20971486,default20969471):+1g#大小1GCommand(mforhelp):w #w命令:写盘退出,使操作生效在执行w命令退出前,可继续创建分区,直到磁盘空间用完。5.3.3磁盘分区管理与文件系统的创建fdisk(4)创建分区(命令行方式)任务:完成(3)中任务后,再继续创建第2个分区(编号默认、开始扇区默认、大小2G)和第3个分区(编号默认、开始扇区默认、大小为剩余的全部磁盘空间)。此任务可在任务(3)基础上,继续使用交互方式来完成。只是在创建第3个分区时,当分区大小为剩余的全部磁盘空间时,不需要输入任何信息而直接回车即可,让系统缺省。首先分析(3)的工作过程。可把(3)的工作过程中所用的命令归结为g\nn\n\n\n+1g\nw\n,若使用命令行方式,命令为:#echo-e"g\nn\n\n\n+1g\nw\n"|fdisk/dev/sdb5.3.3磁盘分区管理与文件系统的创建fdisk(4)创建分区(命令行方式)据此,创建第2个分区的命令集为n\n\n\n+2g\n,创建第3个分区的命令集为n\n\n\n\n。将创建第2第3分区整个过程关联起来,所使用的命令集为n\n\n\n+2g\nn\n\n\n\n,任务(3)中的最后命令w也要追加到整个命令集的最后,以保证工作结束时写盘退出。此时,整个创建第2第3分区并写盘退出的命令为n\n\n\n+2g\nn\n\n\n\nw\n。因此,使用命令行完成本任务的命令是:#echo-e"n\n\n\n+2g\nn\n\n\n\nw\n"|fdisk/dev/sdb#可使用lsblk/dev/sdb查询结果若把(3)和(4)的任务合起来,可使用以下命令来完成:#echo-e"g\nn\n\n\n+1g\nn\n\n\n+2g\nn\n\n\n\nw\n"|fdisk/dev/sdb5.3.3磁盘分区管理与文件系统的创建fdisk说明:①任务(3)和(4)也可使用交互或即时文档进方式行更清晰的描述,但会占较多篇幅。②任务(3)和(4)是对GPT格式盘的操作,简单一些。若对MBR格式盘操作则会稍微要复杂些,因为,在MBR格式盘中有基本、扩展和逻辑分区的不同。创建基本/扩展分区时需要使用p/e指定类型,而创建逻辑分区时不需要任何类型指定,且不能指定编号(或者说只能使用默认编号),三种情况要区别对待。③若要恢复由(2)备份的分区表,可以使用fdisk的I命令,方法是#echo-e"I\n$HOME/sdb.part"|fdisk/dev/sdb#从备份~/sdb.part恢复/dev/sdb分区信息5.3.3磁盘分区管理与文件系统的创建gnome-disks具有GUI的Linux都提供有gnome-disks,用户可以从“启动菜单”->“工具(Utilities)”->“磁盘(Disks)”或执行命令gnome-disks启动它,并通过它进行分区增、删和格式化。当进入gnome-disks操作界面后,左侧栏将列出了包括硬盘、U盘和光盘等系统内所有存储设备,用户操作时要选准特定设备,然后再对其进行相关操作。需要说明的是,对于首次使用的“原始”磁盘,也就是还没有分区过的磁盘操作时,在进入界面且选中磁盘后,首先要将整个磁盘进行格式化,然后才能对其进行分区管理。方法是点击界面右上角处的“DriveOptions(驱动器选项)”,在其中选择“FormatDisk(格式化磁盘)”,在弹出的界面中的名为“Partationing(分区)”下拉菜单中有“MBR/DOS”、“GPT”或“不分区”三个选项,用户可以在前2个中选择,先将其格式化为MBR或GPT格式,然后再进行分区。5.3.3磁盘分区管理与文件系统的创建创建文件系统mkfsUNIX/Linux系统对存储介质的使用是要先进行格式化的。大部分UNIX/Linux系统对磁盘介质的格式化过程包含在文件系统的创建过程中。创建文件系统的命令是mkfs。1.功能及用法mkfs是创建文件系统的总控程序,它会根据将要创建的文件系统类型去调用相应的创建程序来完成文件系统的创建工作,可以用于创建文件系统的子命令mkfs.ext2、mkfs.ext3、mkfs.ext4、、mkfs.msdos、mkfs.fat、mkfs.vfat、mkfs.ntfs、mkfs.minix、mkfs.btrfs、mkfs.exfat、mkfs.xfs、mkfs.jfs等具体完成。在设备上创建文件系统,会破坏设备上原有文件系统,要谨慎使用。mkfs的用法为:mkfs[options][-tfstype][fs-options]device[size]5.3.3磁盘分区管理与文件系统的创建创建文件系统mkfs2.参数及说明device:文件系统。一般为设备文件,也可为普通文件;size:文件系统的总块数。一般不强行指定,由系统默认;-tfstype:文件类型(见表5-8),若不指定则使用默认,mkfs据此,调用相关子命令;-c:创建文件系统前做坏块检查。此选项在某些文件系统中可能不被支持;-lfilename:从文件中读取坏块信息(-l在某些文件系统中可能不被支持)。3.文件系统创建示例#mkfs-tvfat/dev/sdb1 #在/dev/sdb1上创建vfat文件系统#mkfs-text2/dev/sdb2 #在/dev/sdb2上创建ext2文件系统#mkfs-txfs/dev/sdb3 #在/dev/sdb3分区上创建xfs分区##现在插入一个U盘(此时设备/dev/sdc。假设是标准的U盘,上面只有一个分区/dev/sdc1)#mkfs-tntfs/dev/sdc1 #在/dev/sdc1分区格式化为NTFS文件系统5.3.3磁盘分区管理与文件系统的创建创建光盘文件系统1.功能及用法功能:mkisofs/genisoimage可以创建包括具有RockRidge属性在内的多种iso9660文件系统。不能用它们直接刻录光盘,而常用它创建一个光盘映像文件。用法:mkisofs/genisoimage[options][-ofilename]path[path…]2.参数说明path:欲刻录的文件名、目录名或目录树名;-ofilename:光盘映像文件名;-bmyboot_img:用于指定引导盘映像的文件名为myboot_img(说明:引导盘映像必须以相对路径的方式存在于path中,否则刻成的光盘映像不能引导);-r/-R:刻录具有RockRidge属性的UNIX/Linux光盘映像(若不使用-r/-R,则文件名将被截成8.3格式的MSDOS格式;-r和-R的主要区别是,-R保持文件的uid和gid,而-r将所有文件的uid和gid均置为0)。5.3.3磁盘分区管理与文件系统的创建创建光盘文件系统3.应用举例(1)创建iso文件系统##将目录cd_dir1和cd_dir2等的内容“刻录”到映像文件mycd.iso#mkisofs-omycd.isocd_dir1cd_dir2#因未使用-r或-R,长文件名将被截为8.3格式(2)创建具有RockRidge属性的文件系统#genisoimage-omyRcd.iso-Rmy_dir(3)创建可启动的光盘#mkisofs-omy_bootcd-bmyboot_imgmy_cd_dir#myboot_img必存放在my_cd_dir中5.3.4文件系统的使用文件系统安装1.功能及用法功能:mount命令用于安装文件系统,用法:mount[-l][-tfstype] #方式1mount-a[-fFnrsvw][-tfstype][-Ooptlist] #方式2mount[-fnrsvw][-ooptions]device|mountpoint #方式3mount[-fnrsvw][-tfstype][-ooptions]devicemountpoint #方式4mount--bind|--rbind|--moveolddirnewdir #方式5这里的device为设备或文件系统,fstype为device上的文件系统类型,mountpoint为安装目录或安装点5.3.4文件系统的使用文件系统安装2.选项说明参

数功

能参

数功

能a,--all安装所有由/etc/fstab管理的文件系统-r,--read-only以只读方式安装-tfstyp指定文件类型,若不指定则使用-tauto-o,--optionsopts用于指定安装选项(详见表5-17)-B,--bind将一个已安装的目录同时安装到另一位置-R,--rbind将一个已安装的目录及其所有的子安装目录同时安装另一位置-M,--move将一个被安装的子树移动其它位置-l,--show-labels为已经安装文件系统输出加标签5.3.4文件系统的使用文件系统安装3.mount命令使用示例#mount #列系统内安装的设备或文件系统#mount-text4 #列系统内安装的类型为ext4的文件系统#mount-tvfat/dev/sdb1/mnt/usb #将/dev/sdb1上vfat文件系统安装在/mnt/usb上#mount-tvfat/dev/sdc/mnt/sd #将/dev/sdc上vfat格式的系统安装在/mnt/sd上#mount/dev/cdrom/mnt/cd #将光盘安装在目录/mnt/cd上#mount-oloop/tmp/disk.img/mnt/fd#将磁盘映像安装到/mnt/fd上,-oloop是可选的##假设/dev/sr0被自动安装到了/run/media/root/CentOS-Stream-10-BaseOS-x86_64上,访问不便,##可通过绑定安装,将它二次安装到/mnt/cd上(以后使用/mnt/cd会更方便),方法是#mount--bind/run/media/root/CentOS-Stream-10-BaseOS-x86_64/mnt/cd5.3.4文件系统的使用文件系统卸载当一个被安装的文件系统使用完毕后,应该将其拆卸下来,以确保文件系统的完整性。拆卸已经安装文件系统的任务由umount完成。若是软盘、U盘和移动硬盘等移动设备,在取走设备前必须拆卸。eject专用于拆卸光盘和U盘等移动设备。umount和eject的用法为:umount[options]{dir|device} #用于所有已经安装设备或文件系统eject[options][dir|device] #仅用于光盘、软盘或磁带等拆卸(弹出)device为设备;dir为安装点。5.3.4文件系统的使用文件系统卸载若设备/dev/sdb1上的文件系统被安装在/mnt/usb上,则可用两种方法拆卸它:#umount/dev/sdb1 #拆卸设备

#umount/mnt/usb #拆卸安装点若有用户正工作在已安装的目录,或该安装目录中的文件正在被使用,在拆卸时会出现“deviceisbusy”。解决问题的办法是先离开此目录或结束程序解除占用,然后再拆卸。设备也可不拆卸,待关闭系统时由系统自动完成拆卸工作。当光盘被成功安装后,直到被拆卸后,光驱仓门将无法再打开。若要打开光驱,则必须先卸载光驱设备,最简单的拆卸方法是执行命令:#eject #卸载光驱

#umount/dev/sr05.3.4文件系统的使用文件系统的自动挂载1.功能及配置文件UNIX/Linux系统可以自动挂载设备,这表现在当系统启动时一些设备被自动挂载,也表现在某些设备连接到计算机系统时。控制设备自动挂载的配置文件为/etc/fstab,按传统做法,能够自动挂载的设备或文件系统都必须在此文件中定义。/etc/fstab的结构为:<filesystem><mount_point><fstype><options><dump><pass> #旧<fs_spec><fs_file><fs_vfstype><fs_mntops><fs_freq><fs_passno> #新filesystem:要挂载的文件系统或设备;mount_point:安装点或安装位置;fstype:文件系统类型;options:文件系统安装选项;dump:备份标志:0—不备份,1—备份;pass:开机时系统自动检查的顺序:0—不检查,否则检查;根文件系统为1—检查,其它为2。5.3.4文件系统的使用文件系统的自动挂载示例:某系统的/etc/fstab#/etc/fstab:staticfilesysteminformation.#<file_system><mount_point><fstype><options><dump><pass>UUID=10c80f87-3406-4d5a-bd9c-19ee1f0ad34b/btrfssubvol=root…00UUID=9159087d-db8e-433e-8c35-48608bb9fb19/bootext4defaults12UUID=b2645ff5-ffd4-4dbd-b695-c8238a68efd7/homexfsdefaults00UUID=e33299b4-6369-41e4-b0b2-193edc7fb955/varext4defaults12其中的UUID所对应的设备可用命令blkid来查询。对于已经在fstab内定义的文件系统可以使用不带安装点的mount命令安装(见方式3)。需要说明的是,在现在的Linux中,所有的移动设备都无须在/etc/fstab中定义,但仍可被自动安装,安装位置会因系统不同而异。5.3.4文件系统的使用文件系统的自动挂载2)文件系统自动挂载实例对于多个操作系统共享硬盘的计算机系统,在Linux系统中可以通过安装的办法访问其他分区上的文件系统。设Windows系统D:盘所对应设备为/dev/sda5,文件系统为fat格式,则通过命令#mount-tvfat/dev/sda5/mnt/sd将其安装在/mnt/sd目录。也可以通过设置开机自动安装的办法将其安装在/mnt/wind目录,方法如下:(1)创建一个安装点/mnt/wind#mkdir-p/mnt/wind #只需创建1次,若已经存在,则不需再创建(2)编辑/etc/fstab文件,在其中增加一行,其内容为:/dev/sda5/mnt/windvfatrw00配置完成后,每当系统重新启动后,WindowsD:盘就会自动安装在/mnt/winD上。5.3.4文件系统的使用以原始方式使用文件系统或设备1)原始设备的概念原始设备(RawDevice)是指没有文件系统的设备,例如,一个软盘、U盘、硬盘或一个硬盘分区等都可被看成一个原始设备。原始设备也叫裸设备。以裸或原始方式使用设备就是将设备直接作为文件来使用。因为在UNIX/Linux系统中设备是作为文件来管理的,所以设备可直接作为文件来使用。除非用户目的特别明确,设备直接作为文件使用是危险的,因为系统把设备直接作为文件来使用时,会忽略其上的文件系统。若向其上写信息,则其上的原有文件系统将被覆盖或破坏。以原始方式使用设备或文件系统常用于构造设备映像文件,也可以进行介质复制或克隆。当然,若要对一个硬盘或分区进行重新规划或格式化,则必须以原始方式使用设备。欲将以原始方式使用写过的设备再以文件系统方式使用,还必须重新在其上构造文件系统。5.3.4文件系统的使用以原始方式使用文件系统或设备2)原始设备使用举例(映像文件制作或介质复制)原始设备的使用已经见于sfdik、fdisk等命令,这里再提一下映像文件与介质复制。映像文件是指光盘、磁盘或其他存储的文件系统及内容在UNIX/Linux或Windows系统上的硬拷贝。构造映像文件的方法是通过命令cp或dd将含有某个文件系统的存储介质(如光盘、软盘、U盘、硬盘分区)上的(包括用户可以看到的文件、目录,也包括用户看不到的控制信息等)内容完整地复制到指定文件中,示例如下。#cp/dev/cdrom/tmp/cdimg.iso #制作光盘映像文件,可能需要较大的存储空间#cp/dev/sdb/tmp/u_img #制作U盘映像文件,可能需要较大的存储空间##沿相反方向也可把映像文件复制到存储介质上,以达到复制介质的目的#ddif=/dev/cdromof=cd.iso #dd比cp效率要高5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备几乎在所有的UNIX/Linux系统中,受损的文件系统都是不能被正常安装的,必须经检查和修复后才能被正常使用。文件系统修复工具为fsck。文件系统的检查有时是系统自动进行的,比如,Linux在文件系统被安装一定次数或使用一定时间后要对其进行检查或清理。5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备1.文件系统要求清理的原因有很多原因会引起文件系统的损坏或不一致,如意外掉电、非法关机、强行拔出未拆卸的设备等。文件系统受损或不一致表现在:文件真实大小与分配的块不一致;文件的链接数错误;i节点内容错;丢失的块与丢失的文件;空闲块总数或空闲i节点总数错等。检查文件系统的目的就是要修复以上问题。5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备2.fsck1)功能及用法fsck的功能是检查、修复文件系统和报告文件系统情况,其用法为:fsck[-lsAVRTMNP][-r[fd]][-C[fd]][-tfstype][filesystem...][--][fs-specific-options]fsck一般不用于对已经安装且正在使用的文件系统进行检查。在检查过程中发现的丢失(孤儿)文件将被拯救。拯救后的文件以i节点号为文件名,存放在文件系统的目录lost+found中。根据所用参数的不同或文件系统的损坏程度,在fsck工作过程中可能会显示很多信息。像mkfs一样,fsck也是一个前端总控程序,在执行过程中将根据不同的文件系统而调用相应文件系统的检查程序。相应文件系统的检查程序以fsck.*的形式存放在系统目录/sbin下(比如/sbin/fsck.fat、/sbin/fsck.ext2、/sbin/fsck.xfs等)。当不带参数运行fsck时,fsck将根据/etc/fstab的内容按顺序进行操作。5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备2.参数及说明fsck的选项在不同文件系统的fsck.*间存在着不一致。参

数功

能参

数功

能filesystem文件系统或设备,如/dev/fd0、/dev/hda1-tfstyp指定文件系统类型-A按/etc/fstab顺序检查文件系统-a,-p检查过程中自动修复遇到的错误-C检查时显示进度条-N不进行真正操作,只显示真正操作时应采取的动作-c做坏块检查,若有则添加到坏块表-y所有提问均回答为yes-R当指定-A时,跳过根文件系统-r执行被检查文件系统的统计信息5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备3.示例(1)系统开机问题检查当系统遇到非法关机等情况时,在下次开机过程中可能要对文件系统进行检查,且可能会遇到自动检查通不过的情况,此时系统不再继续启动,而是直接出现提示符#进入单用户模式,或者出现:Giverootpasswordformaintenance(orpressControl-Dtocontinue):提示,要求用户输入root密码进入系统维护模式或^D继续启动。此时用户能做的是输入root密码行系统维护模式,然后手工处理启动时遇到的问题,清理文件系统后重新启动。若对根文件系统清理失败,可“进入emergency模式”,然后再进行清理。5.3.5文件系统的检查、修复与同步以原始方式使用文件系统或设备3.示例设系统的引导分区和根分区分别为/dev/sda2和/dev/sda10(可因系统而异),检查方法如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论