RH133—Unit4 文件系统的管理

一、系统在初始化时如何识别硬盘
1、系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16X4的空间就是存储分区表信息的位置;如下图

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 指令后,如下图:

例1:在新建分区,输入n,系统会要求输入起始的磁柱编号,默认系统会指定一个最近的未使用的磁柱号,回车后,再输入结束的磁柱号,不过根据磁柱号来算一个分区的容量不太方便,可以用“+数值K或+数值M (例:+1000M)” 这样直接以容量的表示方式来设定,这样直观一些;再执行p,就可以看到新增加的分区了;

例2:删除分区,输入d,要求输入要删除的分区号,在DEVICE字段列可以看到每个分区对应的编号,输入想要删除的分区号回车即可

以前所有操作认为没有问题,输入 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等信息;

如下图所示:
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的位置。

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的详细说明将在下一小节介绍
示例如下图:

下面以卷标的方式进行挂载,注意:使用卷标挂载进必须加上 –L 的参数表示使用卷标挂载

八、介绍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个栏位

下面对上图中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那一行到下面,修改如下图:

(3)建立auto.nfs设定文件,预设/etc目录下没有这个文件,需要自己建立;
可以由 auto.misc 做为模板复制得来,并重命名为auto.nfs,编辑auto.nfs修改如下:

(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的状态;

范例2如下:使用文件当虚拟内存这和windows下的虚拟内存使用方式非常相似
(1)建立SWAP文件,这里建立的是100M的SWAP文件
指令:dd if=/dev/zero of=/swapfile bs=1M count=100

说明: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 ,其它不变;

(4)swapon –a 启用swap文件
在启用前也可以用 swapon –s 查看,等启用后再次查看SWAP是否加载进来了。

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

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文件中加入新分区的记录,让电脑以后可以自动挂载这个新建的分区;

转载于:https://blog.51cto.com/luashin/809872

linux 文件系统的管理 (硬盘)相关推荐

  1. Linux运维学习历程-第五天-Linux文件系统与管理

    本章内容 文件系统 文件和目录被组织成一个单根倒置树结构从根目录下开始,用"/" 表示根文件系统(rootfs) :root filesystem,用路径分隔的 /:遵循FHS: ...

  2. 使用winpe管理linux分区,WinPE管理硬盘分区的另类方法

    WPE管理硬盘分区的另类方法  linux WPE管理硬盘分区的另类方法 对于个人用户来说,WPE管理硬盘分区的这个功能很实用,也很方便.但是有不少朋友却说只有而没有,根本无法管理分区.其实这是一个误 ...

  3. 课时12 Linux文件系统挂载管理

    Linux课程学习笔记来源于网易云课堂:Linux 入门基础 1.挂载操作 磁盘或分区创建好文件系统之后,需要挂载到一个目录才能够使用. Windows或者Mac系统会进行自动挂载,一旦创建好文件系统 ...

  4. linux文件系统权限管理(UGO权限、ACL权限、权限掩码)

    (1)权限对象: 1.文件拥有者 文件拥有者我们也成为文件的属主,由于Linux系统是一个多尔恩五用户的系统,因此会有很多人来使用这部主机,为了考虑每个人的隐私,文件所有者这个去权限就尤为重要. 2. ...

  5. linux文件系统的管理方法,Linux学习笔记:2.文件系统的管理命令(2)

    1.命令touch: 功能:若之前对应文件不存在,创建一个新文件:若存在,则修改这个文件的最后修改期限. 语法:touch [参数] [文件名] 主要参数: -a:只更改存取时间 -c:不建立任何文件 ...

  6. 嵌入式 Linux 入门(二、Linux 文件系统、文件类型及权限管理)

    嵌入式 Linux入 门第二课, linux 文件系统.文件类型及权限管理. ...... 矜辰所致 目录 前言 一.Linux 文件属性 1.1 Linux 文件类型 1.2 Linux 文件权限及 ...

  7. 嵌入式linux培训教程,嵌入式Linux开发学习之Linux文件系统学习

    导读 操作系统的基本功能之一就是文件管理,而文件的管理是由文件系统来完成的.Linux 支持多种文件系统,本文我们就来讲解 Linux 下的文件系统.文件系统类型.文件系统结构和文件系统相关Shell ...

  8. 图解 Linux 文件系统

    之前我写过有关 Linux 文件系统源码分析的文章,但从源码角度分析文件系统略显枯燥(对新手不友好),所以这次主要通过图文的方式来讲解 Linux 文件系统的原理,而不用陷入源代码的深渊之中. 一.硬 ...

  9. Linux 硬盘/文件系统的管理

    一.硬盘管理 1.硬件设备与文件名的对应关系 (1)在Linux系统中,每个设备都被当初一个文件来对待 (2)各种设备在Linux中的文件名: 2.查看硬盘详细信息:fdisk -l 硬盘文件名 第一 ...

最新文章

  1. std::ref std::cref
  2. pytorch 学习笔记目录
  3. 面向过程和面向对象编程的优缺点
  4. 北斗导航 | 卫星导航系统时间转换:闰年(附C源代码)
  5. 微服务(一) --- 架构与选型
  6. vmware与windows共享文件夹
  7. PHP之MVC项目实战(二)
  8. [CTO札记]Google数字图书馆对中国版权的威胁
  9. 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件
  10. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
  11. iPhone is busy: Preparing debugger support for iPhone的解决办法
  12. 2020软考信息系统项目管理师-上午历年真题解析视频课程-任铄-专题视频课程
  13. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别...
  14. Android中的常用控件之进度条(ProgressBar)
  15. python Deformation Transfer for Triangle Meshes
  16. 集度首台验证样车下线,智驾软件已跑通红绿灯识别等功能
  17. 区域治理杂志区域治理杂志社区域治理编辑部2022年第40期目录
  18. 电子科技大学和东北大学计算机专业哪个好,2016东北大学VS电子科技大学 谁执牛耳?...
  19. java学习2018年_Java 20年
  20. 中国能出现一家 Zoom 吗?

热门文章

  1. HTML4和HTML5的区别[转]
  2. iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转
  3. Linux并发与竞争介绍(原子操作、自旋锁、信号量、互斥体)
  4. 深入理解STM32内存管理
  5. uboot2015–启动流程分析 imx6q
  6. android cne服务,Android内存优化-了解内存篇
  7. 在idea里如何实现Git项目回滚
  8. chrome java虚拟机_JATT:谷歌的Java虚拟机自动调整工具
  9. cwntos新建目录挂载磁盘_详解Linux磁盘挂载、分区、扩容操作的实现方法
  10. 盘点Linux下19 个有趣的命令!