`

linux 文件系统的管理 (硬盘) 工作原理

 
阅读更多

一、系统在初始化时如何识别硬盘
1、系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16X4的空间就是存储分区表信息的位置;如下图
133_U3_1_1
2、在分区表中,主要储存了以下信息:
(1)分区号,常见的分区号有以下几种:其它编号可以使用fdisk指令,再执行 l (小写L) 查看

0x5 (or 0xf) 扩展分区
0x82 Linux swap
0x83 Linux
0x8e Linux LVM
0xfd Linux RAID auto

(2)分区的起始磁柱;
(3)磁柱的总数;
所以在系统初始化时,就根据分区表中的这三项信息来识别硬盘。

二、介绍硬盘分区的相关事项
1、当主分区都用完时,可以使用扩展分区来增加额外的分区,这已在前面介绍过了,但是在Linux的kernel里:
·IDE的硬盘最多可以支持到16个分区;
·SCSI硬盘最多支持15个分区;
2、硬盘做多分区的好处:如下:
(1)从控制方面的考虑
将硬盘分成多个分区,就可以把应用程序、使用者的资料、或是一些需要有安全性的资料,分别放入不同分区中方便管理;
(2)从效率方面的考虑
因为硬盘在使用一段时间后,都分有区块不连续的情况,如果一块大容量的硬盘没有划分成多个小分区,那么硬盘在搜索信息时,因为搜索的范围非常大,所以会比较久,如果将大容量的硬盘划分多个小分区,在搜索的时候相对就会快一些;
(3)为为使用磁盘配额的功能
因为配额只能对分区做设定,所以我们可以将/home目录单独做一个分区,然后可以对这个分区做配额;
(4)从资料备份和恢复考虑
例如,/home这个目录是专门用于存放用户信息的目录,将这个目录单独设定一个分区,就可以定期就是个分区作备份工作,恢复的时候也比较方便。

三、介绍分区的管理
1、可以使用下面的指令来建立分区及查看分区
fdisk/dev/hda 建立分区
参数:-l 查看分区
执行 fdisk 指令后,如下图:
133_U3_3_1
例1:在新建分区,输入n,系统会要求输入起始的磁柱编号,默认系统会指定一个最近的未使用的磁柱号,回车后,再输入结束的磁柱号,不过根据磁柱号来算一个分区的容量不太方便,可以用“+数值K或+数值M (例:+1000M)” 这样直接以容量的表示方式来设定,这样直观一些;再执行p,就可以看到新增加的分区了;
133_U3_3_1_1
例2:删除分区,输入d,要求输入要删除的分区号,在DEVICE字段列可以看到每个分区对应的编号,输入想要删除的分区号回车即可
133_U3_3_1_2
以前所有操作认为没有问题,输入 w ,保存退出即可。
这时主机屏幕上会提示:
The kernel still uses old table表示目前系统还是在使用旧的分区表;
The new table will be used at the next reboot.表示只有在下次重新开机后才会使用新的分区表;
2、使用下面的指令重新载入分区表到kernel中,这样可以不用重新开机就可以启用新的分区表。
partprobe

四、建立文件系统(对硬盘分区进行格式化)
1、格式化指令及指令语法:
mke2fs [参数] 要格式化的分区
例如上面的例子中,格式化hda6这个分区mke2fs /dev/hda6
2、格式化后,会出现一些分区的相关信息,为了理解这些信息,先了解一下分区的格式:
我们使用fdisk建立的分区,不能直接用来存放资料,必须先对这个分区做格式化的工作,格式化就是将分区划分成一格一格的block及多少个Inode可以使用,而每个block就是文件系统存取资料的最小单位,所以才可以将资料存放在这些block中,而且每多个 block 会组成一个 group;如下图所示:除了boot sector 之外,第一个block 称为 super block 用来记录这个分区共有多少个block和inode 已经使用;多少block和inode等信息;
133_U3_4_2_1
如下图所示:
13 block groups :表示这个分区被划分出了13个block group;
8192 blocks per group:表示每个group中有8192个block;
2008 inodes per group:表示每个group中有8192个inodes;
如果super block 损坏,这个分区将无法访问,所以每隔一段block 就会备份一次这个super block,如下图:
superblock backups stored on block:下面的数值就是备份super block 所在的block的位置。
133_U3_4_2_2
3、dumpe2fs 指令查看分区的详细信息
dumpe2fs /dev/hda6 | more 查看指定分区的信息(前一页半是super block的内容,后面是每个Group的详细信息),因为所显示的内容很多所以加上了 | more 用于分页显示;
显示信息的部分说明:
Inode count: Inode的总数量;
Block count: Block的总数量;
Free blocks: 剩余的block数量;
Fre inodes: 剩余的Inode数量;
Filesystem features: has_journal表是为ext3文件系统
4、mke2fs格式化指令格式及参数
格式:mke2fs [参数] 要格式化的分区文件名(例:/dev/hda6)
mke2fs -j /dev/hda6
参数:
·b:设定每个block的大小,预设为1024bytes(1K),最大4096bytes(4K),如果设定太大将使用4096bytes;
·c:格式化前检查分区中是否有损坏的block;
·i :设定每个Inode的大小,例:mke2fs –i 4096 /dev/hda6
·N:直接设定Inode 的总数量;所设置的值只是接近而矣;
·m:设定在分区上,保留多少空间给root,预设保留5%;mke2fs –m 10 /dev/hda6
·L:设定分区卷标,预设不设定,通常习惯将卷标名称设为同挂载点目录名称相同方便记忆;mke2fs –L data /dev/hda6
·j:建立成为ext3文件系统,也就是加入日志功能;

五、介绍将ext2格式的分区转成ext3
1、ext2与ext3的区别如下:
(1)ext2和ext3的格式完全相同,只是在ext3硬盘最后面有一部分空间用来存放Journal(日志)的记录;
(2)在ext2中,写资料到硬盘中时,先将资料写入缓存中,当缓存写满时才会写入硬盘中;
(3)在ext3中,写资料到硬盘中时,先将资料写入缓存中,鼗缓存写满时系统先通知Journal,再将资料写入硬盘,完成后再通知Journal,资料已完成写入工作;
(4)是否有Journal的差别:
在ext2中,系统开机时会去检查有效位(Valid bit),如果值为1,表示系统上次有正常关机;如果为0,表示上次关机未正常关机,那系统就会从头检查硬盘中的资料,这样时间会很长;
在ext3中,也就是有Journal机制里,系统开机时检查Journal的资料,来查看是否有错误产生,这样就快了很多;
(5)tune2fs –j /dev/hda6将ext2转换成ext3
2、在ext3里有三个Journal的模式:
(1)ordered:预设模式,只记录Inode-table里的信息;
(2)Journaled:记录资料本身的信息,需要大量空间来做记录;
(3)writeback:不记录信息,可提供较好的效能;

六、介绍在分区里设定相应的卷标
1、前面分区的表示法一直在使用 hda1 或 sda1类似这样的表示法,其实也可以用卷标的表示法,这样更好便记忆。
2、设定及查看卷标的指令格式及说明如下:
e2label 指令:
例:e2label /dev/hda6 查看hda6分区的卷标名称;如为空白表示未设定卷标;
e2label /dev/hda6 data设定这个分区的卷标为 data;
注:在这里先不要修改hda1~hda5的卷标,可能会造成无法开机,以后再做说明。

七、介绍mount指令挂载分区
1、挂载的概念:当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mount point)”,这样才可以读取这些设备,而这些对应的动作就是“挂载”。
mount的详细说明将在下一小节介绍
示例如下图:
133_U3_7_1_1
下面以卷标的方式进行挂载,注意:使用卷标挂载进必须加上 –L 的参数表示使用卷标挂载
133_U3_7_1_2

八、介绍mount指令及参数
1、mount 指令格式:
mount [-t 文件系统类型] [-o 参数] 设备名或卷标 挂载点目录名
注:如果使用卷标方式挂载,必须使用 –L 参数。
(1)-t 后面设定所要挂载的文件系统的类型,例如:vfat、ext2、ext3、iso9660(光盘),通常这部分不需要加kernel可以自己判断
(2)-o 后面加一些设定参数:
· suid:允许挂载后的文件系统可以使用suid、sgid的特殊权限;
· dev:允许挂载的文件系统建立设备文件,例如:/dev/hda6 下的 hda6 就是设备文件;
· exec:允许挂载文件系统后,可以执行里面的执行文件;
· noexec:不允许执行文件;
· auto:在电脑开机后自动挂载这个文件系统;
· nouser:指只允许super user (也就是root)挂载这个文件系统;
· async:设为不同步,就是电脑写入资料时先写入缓存再写到硬盘中;
· loop:用来挂载loopback设备,例如光盘机就是loopback设备;
· ro:挂载文件系统后设定为只读;
· rw:挂载文件系统后设定为可读可写;
· remount :重新挂载文件系统;
如果在挂载ext2或ext3时,预设会使用下面的参数设定:
rw,suid,dev,exec,nouser,async

九、介绍卸载文件系统
1、使用mount指令查看已挂载了哪些文件系统;
卸载指令及格式如下:
umount 设备文件名或挂载点
例如:上图中已挂载到/data目录的上设备,可以使用umount /dev/hda6 或 umount /data进行卸载
2、如果文件系统正在使用中,就无法正常卸载,可以使用下面的指令查看并停止所有对这个文件系统的操作,然后再进行卸载操作;
fuser -v 设备文件名或挂载点 查看有哪个服务或使用者正在对这个文件系统做操作;
fuser –km 设备文件名或挂载点 强制停止所有对这个文件系统的所有操作;
3、可以使用 remount 这个参数来改变文件系统的状态;
例如:mount –o remount,ro /data 重新挂载文件系统为只读,这样就不用先卸载再挂载了。

十、介绍一些挂载的范例
1、挂载一个不允许执行的文件系统
mount –o noexec /dev/hda6 /data noexec表示为不允许执行;
2、挂载一个文件系统的镜像文件
mount –t iso9660 -o ro,loop boot.iso /iso加loop参数是因为光盘是loopback设备,boot.iso为镜像文件名 ,/iso 为挂载点;

十一、介绍挂载网络上的共享资源
1、在Unix 和Linux的网络资源主要分为两种 NFS (Network File System)和SMB
·NFS:Linux/Unix和Unix/Linux之间用来共享资源的;
·SMB:Linux/Unix和Microsoft(windows)之间用来共享资源的;
2、共享NFS网络资源的主机称为:NFS Server;
共享SMB网络资源折主机称为:Samba Server;
3、这些网络资源的连接方式:
(1)NFS部分的连接方式:
showmount –e IP地址 #查看共享资源
mount ip地址:/共享目录 /挂载点 #挂载网络资源
(2)SMB部分的连接方式:
smbclient –L ip地址 -N #查看指定Samba Server 上有哪些共享目录;
mount //IP地址/共享目录 /挂载点 -o username=用户名%密码 #挂载windows网络共享资源;

十二、介绍/etc/fstab 文件的功能
1、fstab文件的功能就是根据fstab文件中设定的内容自动挂载设备到指定的挂载点上;
2、下面就介绍fstab这个文件内容的详细说明:
如下图:fstab文件内容共分为6个栏位
133_U3_12_2_1
下面对上图中6个栏位分别说明:
(1)设备名:可以用“LABEL=”卷标表示法,也可以使用设备名称表示法“/dev/hda6”;
(2)挂载点:挂载点目录必须是已存在的目录;
(3)文件系统类型:例如ext3,ext2等;
(4)挂载参数:就是前面mount指令中 –o 后面的参数,defaults代表使用预设参数设定;例如如/dev/hdc(光盘)和/dev/fd0(软盘)的这两行设定,exec可以执行文件,noauto 不会自动挂载,
(5)备份:设定备份次数,0表示不备份,1表示每天做一次备份,2表示每两天做一次备份;
(6)检查顺序:设定文件系统的检查顺序,0表示不检查,1表示第一个检查,2表示第二个检查,以此类推检查顺序最多到9,如果值相同,按从上到下的顺序检查,通常根目录的检查顺序排在第一位;
所以如果要在电脑开机后自动挂载文件系统就可以修改fstab这个文件的设定。
例如:可以将前面挂载的hda6写入这个文件中,当开机后自动挂载,设定方法如下,使用VI编辑fstab文件将下面的一行设定加入到最后一行即可:
/dev/hda6 /data ext3 defaults 0 0
2、在挂载光盘或软盘时,只需要执行 mount /media/cdrom 或 mount /media/floppy 就可以了,而不用指定要挂载的设备,这是因为在fstab文件中有所设定,因为在挂载目录和设备时,如果未指定要挂载的设备,电脑会先到fstab文件中查看,有没有相对应的设备及目录挂载,如果没有还会到mtab文件(其实mtab文件就是目前系统的挂载设定,所以在卸载时也查看这个mtab文件,卸载时也就只需要指定挂载点或设备就可以了)中查看。

十三、介绍auto-mounter自动挂载程序在使用网络共享时自动挂载网络共享资源
1、automounter是一个daemon程式,automounters可以监控某个目录,例如:监控/mnt/nfs目录,当我们需要存取这个目录时,使用cd /mnt/nfs 进入这个目录时,这时automounter程式发现使用者要存取这个目录时,就会按照设定自动将网络共享资源自动进行挂载,如果过一段时间(预设60秒)不使用也会自动卸载这个目录,这样可以减少对网络产生的负荷,使用网络的利用率更高。
2、automounter的设定,以实例说明,仅供参考:
(1)vi /etc/auto.master 编辑automount主要的设定文件
(2)复制有--timeout=60那一行到下面,修改如下图:
133_U3_13_2_2
(3)建立auto.nfs设定文件,预设/etc目录下没有这个文件,需要自己建立;
可以由 auto.misc 做为模板复制得来,并重命名为auto.nfs,编辑auto.nfs修改如下:
133_U3_13_2_3
(4)service autofs start 启动automount服务,如果已经启动可执行service autofs restart 或 service autofs reload重新启动或重新加载配置文件;
(5)使用cd /mnt/nfs 目录,再执行ls 指令没有未何文件,
使用 cd server1 却可以进入,这时已经进行自动挂载了,这时就可以查看NFS服务器上的共享文件了。
使用mount可以查看到刚刚挂载上来的NFS网络共享目录。
注:我这里还未建立NFS文件服务器,所以这里只能做客户端的设定,现在还无法试测;

十四、介绍在ext2和ext3文件系统里有哪些属性可以设定
1、在ext2和ext3的文件系统里,都支持一些特殊的属性来控制文件的特性:
·lsattr指令:显示文件的属性设定;
·chattr指令:设定文件的属性;
格式:
chattr +|-|=属性[属性…] 文件名[文件名…]
+
:增加属性
-:去除属性
=:设定属性
可以设定一个或多个属性
常见属性说明如下:
·A:当文件被修改时,atime(存取时间)记录不会被修改;
·a:让文件只可以附加内容,不允许原来的内容被覆盖掉;
·d:让系统在使用dump指令做备份时,可以不用备份这个文件;
·i:让文件永远不改变,不能删除或更改文件名;
·j:让系统将文件本身的信息记录在ext3的日志里,就算ext3的文件系统是挂载成ordered(有序)或writeback模式,都会将文件本身的信息记录在ext3的日志里。
·S:当文件被修改时,就做同步的动作,立刻将资料写入硬盘中;
例:
chattr +a test添加只允许附加内容的属性
chattr = test去除掉所有的属性

十五、介绍如何使用划分好的分区或文件来当作虚拟内存(swap)
1、在Linux系统中虚拟内存称为:SWAP;
2、SWAP分为两种类型:
·用划分好的分区作为SWAP;
·用文件当作SWAP;
3、要建立SWAP的虚拟内存主要有以下几个基本设定:
(1)建立SWAP的分区或是文件,并且在建立SWAP的分区时分区的编号要设定为82;
(2)使用mkswap指令对swap分区或是swap文件写入一个特定的SWAP识别标志;
(3)必须要在/etc/fstab文件中加入适当的记录,这样才能让系统在开机后能够自动挂载SWAP;
(4)如果是SWAP的分区,要使用 swapon –a 指令启用SWAP,其实 swapon –a 指令会去读取 fstab 文件,并根据 fstab 里的记录,来启用所有的 swap 分区;
(5)如果是使用SWAP文件,则使用 swapon 指令再指定要启用哪个SWAP文件;
(6)可以使用 swapon –s 来检查SWAP的使用情况;
范例1如下:
(1)使用分区作为SWAP
·fdisk /dev/hda
·输入n;新建一个分区,如果一直以前面的例子做下来,硬盘应该还有剩余空间的,这里创建一个100M的分区;
·输入t;再输入7(我这里新建的分区是hda7,可以输入p查看到);再输入 82 (82表示设定为swap分区类型);
·再输入p;可以查看到 hda7 的system(系统)已经变为Linux swap
·wq:保存退出;
·执行“partprobe”指令,让kernel重新读取分区表;
(2)mkswap /dev/hda7 对SWAP分区或是SWAP文件写入特定的标志;类似于格式化成虚拟内存的格式;
(3)编辑/etc/fstab文件添加记录,这样一会的swapon指令才可以在fstab文件中找到相应的分区,在下次开机时也可以找到新的SWAP分区的位置;复制原来的SWAP那行记录,将原来的卷标表示法修改为/dev/hda7的设备表示法,其它保持不变;
(4)swapon –a指令,根据fstab文件启动所有SWAP分区;为了验证可以先使用swapon –s指令查看当前SWAP的状态;
133_U3_15_4_4
范例2如下:使用文件当虚拟内存这和windows下的虚拟内存使用方式非常相似
(1)建立SWAP文件,这里建立的是100M的SWAP文件
指令:dd if=/dev/zero of=/swapfile bs=1M count=100
133_U3_15_4_5
说明:dd:转换并复制文件;
if:是inputfile的缩写,if=/dev/zero 代表要把zero文件当作输入的文件,zero文件可以是当作都是零的文件;
of:是outputfile的缩写,of=/swapfile 代表要输入到/swapfile文件上;
bs:是block size的缩写,表示强制设定swapfile的block的大小;
count:代表要建立多少个block;
(2)mkswap /swaplife 为swapfile文件写入一个swap的标志,相当于格式化成虚似内存的格式;设定成功将会出现提信息;
(3)修改 /etc/fstab文件,方式同上一范例相同,只是把 /dev/hda7改写成 /swapfile ,其它不变;
133_U3_15_4_6
(4)swapon –a 启用swap文件
在启用前也可以用 swapon –s 查看,等启用后再次查看SWAP是否加载进来了。

十六、介绍一些维护文件系统的工具及一些重要的相关事项
1、如果文件系统的文件有丢失或毁损,可以使用fsck指令来维护文件系统的一致性:
检查某个分区前,分区必须处于未挂载状态,如正在使用中,必须先进行卸载,再执行检查工作;
格式: fsck -Y /dev/hda6 -Y参说表示中途提示问题都回答Yes;
2、系统在开机时就会检查文件有没有丢失或损坏的,系统是根据/etc/fstab文件中最后一栏的设定来决定检查的先后顺序的,这个栏位前面已做过介绍;
3、如果检查出有问题文件,就会先放到 lost+found 目录中当作备分;所以当一个分区挂载成功后都会发现有这个目录存在;
4、电脑在开机时,发生严重错误,系统会用sulogin的方式启动,下图例中我将fstab文件中根目录的卷标随意的修改了一下,重新启动后将会出现严重错误,就停在了下图图的位置:
133_U3_16_4_1
5、将ext2文件系统转成ext3文件系统,指令下如:
tune2fs -j /dev/hda6将hda6分区转成ext3文件系统,转换成功后将有提示信息;这样原有分区内的资料将不会丢失;
6、查看文件系统目前的状态信息
dumpe2fs -h /dev/hda6 显示hda6的分区信息,这个指令前面已介绍过;
-h 可以显示superblock的信息

十七、如何加入一块新硬盘
1、第一步当然是要将硬盘接在电脑上啦;
2、进入系统后,使用fdisk对硬盘进行分区,并设定好分区类型编号;例如:linux 为 83
3、建立好分区后,执行 patrprobe 重新载入分区,使用最新分区表;
4、建立完分区后,格式化分区,如果建立的是SWAP分区,需要为这个SWAP分区写入一个SWAP标志;
5、如果要使用卷标表示法,需要为分区创建卷标名称;
6、建立新的挂载点,并将分区挂载上;
7、在/etc/fstab文件中加入新分区的记录,让电脑以后可以自动挂载这个新建的分区;

分享到:
评论

相关推荐

    前18大旋转修整器企业占据全球87%的市场份额.docx

    前18大旋转修整器企业占据全球87%的市场份额

    Planet-SkySat-Imagery-Product-Specification-Jan2020.pdf

    SKYSAT IMAGERY PRODUCT SPECIFICATION PLANET.COM VIDEO Full motion videos are collected between 30 and 120 seconds by a single camera from any of the active SkySats. Videos are collected using only the Panchromatic half of the camera, hence all videos are PAN only. Videos are packaged and delivered with a video mpeg-4 file, plus all image frames with accompanying video metadata and a frame index file (reference Product Types below)

    Screenshot_20240506_133458_com.netease.yhtj.vivo.jpg

    Screenshot_20240506_133458_com.netease.yhtj.vivo.jpg

    2019年A~F题特等奖论文合集.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文

    雷达物位变送器安装和操作手册

    雷达物位变送器安装和操作手册

    node-v11.6.0-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    Python3实现快速排序(源代码)

    快速排序是一种基于分治策略的排序算法,通过选择一个基准元素,将待排序的数组划分为两个子数组,一个包含所有小于基准的元素,另一个包含所有大于基准的元素,然后递归地对这两个子数组进行快速排序。快速排序在平均情况下具有O(n log n)的时间复杂度,是一种非常高效的排序算法。然而,在最坏情况下,当输入数据已经有序或接近有序时,快速排序的性能会退化为O(n^2)。此外,快速排序是不稳定的排序算法,即相等的元素可能在排序过程中改变相对位置。尽管如此,快速排序仍然因其高效的平均性能而在实际应用中广泛使用。在Python3中,可以通过递归或迭代的方式实现快速排序算法,但为了避免额外的空间开销,通常会采用原地排序的方式来实现。

    毕业课设基于51单片机的出租车计价器(昼夜)

    【作品名称】:基于51单片机的出租车计价器(昼夜) 含(程序、仿真图、流程图、原理图) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 出租车计价器: 1、不同情况具有不同的收费标准,具有白天和夜晚不同的计价能力 2、能进行手动修改单价 3、具有数据的复位功能(起步价,起步公里数,里程单价,白天晚上不一样) 4、能够在掉电的情况下存储单价等数据 5、步进电机模拟里程,一圈表示一里路

    2024年中国API 11P往复式气体压缩机行业研究报告.docx

    2024年中国API 11P往复式气体压缩机行业研究报告

    Windows 10系统上安装和配置Tomcat的步骤

    附件是Windows 10系统上安装和配置Tomcat的步骤,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

    广东工业大学《计算网络A》实验报告期末考试试题回忆版.doc

    此试题是考试后回忆版本,你会发现是惊喜。恭喜你考个好成绩。

    数据库+人大金仓+Linux系统安装

    数据库+人大金仓+Linux系统安装

    2023年美赛特等奖论文-C-2309397-解密.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文

    opencv-python-4.5.4.60-cp36-cp36m-win-amd64.whl

    opencv-python-4.5.4.60-cp36-cp36m-win-amd64.whl

    减肥管理,全球前10强生产商排名及市场份额.docx

    减肥管理,全球前10强生产商排名及市场份额

    上海大学大学生创新创业训练计划申请书(创新训练项目).doc

    内容概要:《上海大学大学生创新创业训练计划申请书(创新训练项目)》是用于申请参加上海大学的大学生创新创业训练计划的申请书,旨在帮助学生提出创新项目计划,获得培训和支持,促进学生创新创业能力的提升。 适用人群:适合上海大学的在校大学生,特别是对创新创业感兴趣、有创新想法和创业计划的学生,希望通过该计划获得指导和资源支持,实现自己的创业梦想。 使用场景及目标:申请书的使用场景是为了参加上海大学的大学生创新创业训练计划,目标是通过提交详细的创新项目计划,获得评审通过并获得培训、指导和资金支持,从而推动学生的创新创业实践和能力提升。 其他说明:申请书应包括清晰的创新项目描述、项目可行性分析、预期目标和计划、团队介绍等内容,以展现学生的创新能力和项目潜力。申请书的撰写需要认真准备,体现出学生对创新创业的热情和才华,以提高申请成功的机会。

    IEC 60364-7-716-2023 第7-716部分:特殊装置或场所要求.信息和通信技术ICT电缆基础设施上ELV直流配电

    IEC 60364-7-716-2023 低压电气装置.第7-716部分:特殊装置或场所的要求.信息和通信技术(ICT)电缆基础设施上的ELV直流配电.pdf

    IEC PAS 61851-1-1 2023 电动汽车导电充电系统.第1-1部分:使用4型车辆耦合器电动汽车导电带电系统特殊要求

    IEC PAS 61851-1-1 2023 电动汽车导电充电系统.第1-1部分:使用4型车辆耦合器的电动汽车导电带电系统的特殊要求.pdf

    前11大客运渡轮服务企业占据全球30.3%的市场份额.docx

    前11大客运渡轮服务企业占据全球30.3%的市场份额

    wsl+MCgpu安装记录

    wsl+MCgpu安装记录

Global site tag (gtag.js) - Google Analytics