【Linux探索之旅】第一部分第四课:磁盘分区,并完毕Ubuntu安装



内容简单介绍

1、第一部分第四课:磁盘分区,并完毕Ubuntu安装

2、第一部分第五课预告:Unity桌面,人生若仅仅如初见



磁盘分区


上一课我们正式開始安装Ubuntu了。可是到了分区的那一步。小编却戛然而止。这是什么情况呢?


请读者们千万不要扁我;假设真的要扁,那就请“海扁”,让我一次挨(爱)个够(想到了庾澄庆的《让我一次爱个够》),体会一下苏武的感觉。


是这种:磁盘分区是个非常重要且比較难的知识点。


所以我们单独用这一课来讲磁盘分区的概念。磁盘的组成,文件系统。等。


磁盘分区应该算是安装Linux系统的非常关键的一步了。

它能够将我们的硬盘划分为几个区域,特别是装双系统时(比方在Windows操作系统之外再安装一个Linux系统)不可缺少的一步。


划分硬盘的优点就是我们的操作系统不会互相干扰,能够各安其职。


所以在接着上一课的安装Ubuntu的步骤继续进行前。我们须要学习下面什么是磁盘分区和磁盘分区的作用。



注:希望大家假设是装双系统。比方在Windows外安装Ubuntu。或者Mac OS外安装Ubuntu,请事先备份一下原系统。虽说依照我们这个课程的步骤一点点进行,应该是不会出什么乱子。可是磁盘分区是有一定风险的:分得好,欢天喜地。分得不好,可歌可泣。


总之慎重为好。



掀起磁盘的盖头来


这一章我们来认识一下硬盘。硬盘一般叫做Hard Disk。



眼下的硬盘一般分为HDD(Hard Disk Drive。传统的磁碟型机械硬盘)和SSD(Solid State Disk,固态硬盘)。


我们以下举例的硬盘是HDD。SSD是近些年的热门,非常多人如今买电脑都喜欢配备固态硬盘的,其价格昂贵,可是速度比传统的磁碟型硬盘快非常多。


一般电脑的硬盘是什么样子的呢:



看到了吗?上面就是硬盘的大致外观了。


那么硬盘内部是什么样子的呢?




是不是有点像留声机。留声机里面是一张唱片。会不停旋转,然后由磁头去“读取”数据。


硬盘尽管通常不是一张磁碟,而是几张磁碟叠在一起,可是原理和留声机还有点像,硬盘的转速比留声机高非常多,硬盘也是由磁头去读写数据。


用下图对照一下HDD硬盘(左)和SSD硬盘(右):




  1. 传统机械硬盘(HDD):由盘片、磁头、转轴、控制电机等部分组成。工作时盘片转动。磁头定位在盘片的指定位置上进行读写操作。从某种意义上与老式留声机的结构相似。传统硬盘的优势在于容量大、成本低,寿命也相对较长。适合进行大容量的数据写入;但缺点也很明显,比方体积重量大、发热量大、速度慢、不抗震、噪音大等等。

  2. SSD固态硬盘:一般使用NAND闪存制成。因为不存在机械部件,所以稳定性、噪音、发热量、抗震性都要比传统机械硬盘更好,另外读写速度也更快。当然。闪存的造价较高,所以SSD的价格也更高。

    以相同1TB容量为例,传统机械硬盘仅需500元左右。而SSD则至少须要2000元。




硬盘储存数据的原理


硬盘包含一至数片快速转动的磁盘以及放在运行器悬臂上的磁头。


在平整的磁性表面存储和检索数字数据。信息通过离磁性表面非常近的磁头,由电磁流来改变极性方式被电磁流写到磁盘上,信息能够通过相反的方式读取。比如读头经过纪录数据的上方时磁场导致线圈中电气信号的改变。


磁盘的物理结构


硬盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时。副电动机带动一组(磁头)到相相应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱面),这时由磁头的磁感线圈感应碟面上的磁性与使用硬盘厂商指定的读取时间或数据间隔定位扇区,从而得到该扇区的数据内容。




  1. 磁道:当磁盘旋转时,磁头若保持在一个位置上。则每一个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。

  2. 柱面:在有多个盘片构成的盘组中。由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。

  3. 扇区:磁盘上的每一个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。硬盘的第一个扇区。叫做引导扇区。

  4. 磁头(Head):硬盘读取数据的关键部件。它的主要作用就是将存储在硬盘盘片上的磁信息转化为电信号向外传输,而它的工作原理则是利用特殊材料的电阻值会随着磁场变化的原理来读写盘片上的数据。磁头的好坏在非常大程度上决定着硬盘盘片的存储密度。

  5. 盘片(Platter):硬盘中承载数据存储的介质。硬盘盘片是以牢固耐用的材料为盘基,将磁粉附着在铝合金(新材料也实用玻璃)圆盘片的表面上。表面被加工的相当平滑。

    这些磁粉被划分成称为磁道的若干个同心圆,在每一个同心圆的磁道上就好像有无数的随意排列的小磁铁。它们分别代表着0和1的状态。当这些小磁铁受到来自磁头的磁力影响时,其排列的方向会随之改变。利用磁头的磁力控制指定的一些小磁铁方向,使每一个小磁铁都能够用来储存信息。硬盘是由多个盘片叠加在一起,互相之间由垫圈隔开。


注:每一个盘片都有两面,因此也会相相应每碟片有2个磁头。


磁盘的逻辑结构


操作系统(WIndows,Linux或Mac OS之类)对硬盘进行读写时须要用到文件系统把硬盘的扇区组合成簇。并创建文件和树形文件夹制度,使操作系统对其訪问和查找变得easy,这是由于操作系统直接对数目众多的扇区进行寻址会十分麻烦。


  1. A:磁道

  2. B:扇面

  3. C:扇区

  4. D:簇(Cluster,扇区组)


在硬盘上定位某一数据记录位置:扇区。使用了三维定位。



磁盘碎片整理


认识了硬盘的基本原理,我们接着来讲一下磁盘碎片整理吧。


什么是磁盘碎片整理呢?


事实上顾名思义。我们已经能够大致猜出个八九不离十。


磁盘碎片整理简单来说就是通过系统软件或者专业的磁盘碎片整理软件对电脑磁盘在长期使用过程中产生的碎片和凌乱文件又一次整理,可提高电脑的总体性能和执行速度。


磁盘碎片应该称为文件碎片,是由于文件被分散保存到整个磁盘的不同地方。而不是连续地保存在磁盘连续的簇中形成的。


硬盘在使用一段时间后,因为重复写入和删除文件,磁盘中的空暇扇区会分散到整个磁盘中不连续的物理位置上,从而使文件不能存在连续的扇区里。这样,再读写文件时就须要到不同的地方去读取。添加了磁头的来回移动。减少了磁盘的訪问速度。


磁盘碎片整理前:




磁盘碎片整理后:




磁盘碎片整理的优点:


  1. 经过碎片整理后,我们硬盘的磁盘里的文件变得紧凑了。不会散放在各处。这样我们读写数据时就不用到不同的地方提取。我们的操作系统能够执行得更快(假如你使用一台电脑好几年,从来没有进行过磁盘碎片整理,突然做一下整理,那提速还是比較明显的)。

  2. 第二个优点对我们这课非常实用。由于我们这课主要是要进行磁盘分区,以便合理安排我们的Linux操作系统和Windows操作系统。碎片整理为磁盘分区做好了充分的准备。假设不做碎片整理,那么可能有一定风险(难得会出现)操作系统的某些文件的一部分会由于磁盘分区而消失,这样你的Windows系统就会不稳定了。


正由于碎片整理差点儿是有利无害,在開始安装我们的Ubuntu系统之前。最好对我们的Windows系统做一个“磁盘碎片整理”。

这样能够使我们的硬盘更加“干净”,“规整”。


以下演示Win7下怎样进行磁盘碎片整理:


1. 開始->全部程序->附件->系统工具->磁盘碎片整理程序






2. 点击“磁盘碎片整理程序”之后。会出现例如以下的窗体:




3. 点击“分析磁盘”button




4. 分析完之后就能够进行整理了,点击“整理磁盘碎片”button




注意:进行磁盘清理过程中,尽量不要关闭电脑或者重新启动。也尽量不要移动电脑。否则可能会使磁盘受损。一般来说是不会有太大问题的。

只是还是应该小心爱护我们的电脑兄,这样它才干更好地服务我们。



什么是磁盘分区


为了更好地解释磁盘分区,我们借助一些图来阐述。


首先。我们把你眼下的硬盘比作一个圆圈,例如以下图:




我们能够看到:假设你的硬盘里仅仅装有Windows操作系统的话,那么大致印象是这种。


我们能够说此时硬盘大致都是Windows的,既然Windows操作系统一家独大,那么它基本就能够随自己意愿在硬盘上存放文件。



假如我们此时又安装了Linux操作系统,由于不可能把两个操作系统安装在硬盘的同样地方,所以IT科学家们发明了“磁盘分区”(分区的英语是“Partition”)。


磁盘分区简单地说就是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分。幸好不是真拿刀把硬盘分割成好几块,分区是虚拟的概念。


如果我们将硬盘对半分区。50%给Linux,50%保留给Windows,那么硬盘的情况例如以下:




这样,这两个操作系统就能够和平共存了。



文件系统


在每一个分区中,文件都是依照一定方法被存储和组织起来的,这样的方法我们称为“文件系统”(File System)。


用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,仅仅须要记住这个文件的所属文件夹和文件名称。


文件系统还规定谁有权利訪问这个或那个文件。

现代的文件系统有不少都是日志文件系统(Journaling file system)。在文件系统发生问题(如内核崩溃或突然停电)时,日志文件系统更easy保持一致性。而且能够较快恢复。


严格地说, 文件系统是一套实现了数据的存储、分级组织、訪问和获取等操作的抽象数据类型(Abstract data type)。


非常重要的一条规则:每一个分区仅仅能有一种文件系统!


文件系统有好多不同种类。我们来认识一下吧:


微软(Microsoft)的文件系统(包含DOS和Windows操作系统的)


  1. FAT16:一种有一定年代的文件系统,能够管理不大于4GB的分区。非常多中文的资料中都说FAT16仅仅能管理不大于2GB的分区,那是由于它们是基于DOS,Win 95,Win 98和Win ME操作系统来讲的。在这些操作系统上,确实FAT16仅仅能管理不大于2GB的分区。可是英文的资料(微软Microsoft官方的资料)显示的是4GB,是说的Windows XP系统上最多管理不大于4GB的分区。

    为什么是4GB呢?由于FAT16中的16表示16位的簇(cluster,之前说过cluster是多个扇区的意思,通常每一个扇区为512个字节),在Windows XP系统里FAT16文件系统中簇的大小最大能够达到65536个字节。

    2的16次方是65536。所以65536 * 65536 = 4294967296 = 4 * 1024 * 1024 * 1024 ,所以是4GB(1 GB = 1024 MB = 1024 * 1024 KB = 1024 * 1024 * 1024 B。

    这里的B是Byte的缩写。1024是2的10次方)。而DOS,Win 95。Win 98和Win ME操作系统中,簇最大是32768个字节。所以FAT16在这些操作系统里确实仅仅能管理2GB大小的分区。FAT16在DOS操作系统至Windows XP(衍生自Windows NT系统)中都有使用。

  2. FAT32:从Win 98開始流行。是FAT32的增强版本号。能够管理不大于2TB的分区(1TB = 1024GB,所以2TB = 2048GB)。

    FAT16和FAT32这对“胖胖兄弟组合”(fat是英语“胖”的意思。当然事实上FAT是File Allocation Table的缩写。表示“文件分配表”)在生产磁盘碎片方面但是一把好手,由于簇的管理方式存在一个缺陷就是可能会浪费空间,就不深入解释了,不然今天的课是没完了。

    所以对于这两种文件系统,你须要常常进行磁盘碎片整理,不然你的分区会越来越乱。

  3. NTFS:在Win NT操作系统中首次被使用。后来我们也知道Win NT演进为Win XP。一直到如今的Win 10。事实上都是Win NT内核的不断演进。所以NTFS是New Technology File System。也就是NT(New Technology)的文件系统。

    NTFS能够管理16Eo的分区(也就是近似 16000000000 GB)。当然这是理论值。

    NTFS也是以簇为单位来存储数据文件,但NTFS中簇的大小并不依赖于磁盘或分区的大小。簇尺寸的缩小不但降低了磁盘空间的浪费。还降低了产生磁盘碎片的可能。比之FAT文件系统。NTFS在系统故障或突然断电时。能够更easy地恢复数据,由于它是日志型文件系统。NTFS还能够对文件进行加密。压缩等。

    可是它也会产生磁盘碎片,仅仅只是比之FAT文件系统要好非常多。


当然更早期的文件系统还有FAT12。FAT8等。


我认为刚開始学习的人看到上面的簇,扇区,字节。1024。4GB。16Eo等等,是不是都要疯了。




不要紧,慢慢学就理解了。

临时记不住概念或者不理解,也没太大关系。


Linux的文件系统


  1. ext2:这个文件系统在Linux下使用了非常久。ext是英语Extended的前三个字母,是“扩展的”的意思。由法国程序猿Remy Card设计,他也是ext(第一代扩展文件系统)的设计者。小小自豪一下。由于小编住在法国。

    ext文件系统的一大优势是差点儿不怎么产生磁盘碎片,所以在Linux系统下一般不须要进行磁盘碎片整理。

  2. ext3:ext3和ext2非常接近。只是ext3是日志型文件系统,所以比之ext2(不是日志型)。ext3在故障时能够恢复数据。ext3和ext2高度兼容。

  3. ext4:ext3的演进。扩大了磁盘分区的大小,进一步降低了磁盘碎片的产生机率。


所以ext2,ext3和ext4各自是Second Extended Filesystem。Third Extended Filesystem和Fourth Extended Filesystem的缩写,表示第二代扩展文件系统。第三代扩展文件系统和第四代扩展文件系统。


选择什么文件系统呢?


那么我们选择什么文件系统呢?


眼下来说。不少Windows操作系统还是使用着NTFS文件系统,不少Linux操作系统还是使用着ext3文件系统。



只是我们就要赶上时代。就要任性。所以我们选择ext4作为Linux的文件系统。毕竟ext4比ext3性能更好。



准备好了吗?来进行磁盘分区吧


上一课忘了说一个事,由于上一课还没讲磁盘和磁盘分区等概念。


就是安装Ubuntu之前。最好先在Windows以下就把留给Ubuntu系统的安装分区给分好。


在Windows下,右键点击我的电脑》管理》磁盘管理,选择一个空间较大的盘,右键选择压缩卷。下图中为Ubuntu14.04划分了80G的空间(空间大小依据自己的须要自行选择,假设仅仅是安装作为练习使用有30G就能够了。要是自己有执行的程序或者要处理数据还是建议多分一点空间。

只是如今一般电脑的硬盘都非常大的。有的都1TB,为什么不多分点给Ubuntu呢。

记得小编那时候2011年装Ubuntu 10.04时都分了60GB给Ubuntu),设置好容量大小后点压缩就可以,不用给它设置盘符。我们在安装Ubuntu的时候再又一次分区。




注意:这样的分区我们在Win7里面不能直接查看Ubuntu里的分区,可是在Ubuntu我们能够訪问放在硬盘上的不论什么东西,也就是能够直接查看Win7系统的分区。


假设这步在安装Ubuntu前没做的话,可能要又一次来过了(就是在上一课的安装过程中取消当前安装。再重来一遍)。


当然在Ubuntu的安装过程里再去给Ubuntu系统分出一块空间也是能够的,仅仅只是可能会不小心抹掉Windows的一些关键分区,比方Recovery分区(用于恢复系统)。


那么我们在假定读者已经事先给Ubuntu分好分区的情况下接着上一课的最后一步讲:


话说上一课我们最后一步是到了类似这种:



能够看到有好些设备。

什么 /dev/sda,它的以下包括了 /dev/sda1,/dev/sda5,/dev/sda6。


这些sda什么的是啥意思呀?


这些事实上都是Linux下磁盘分区的名称。dev是英语device的头三个字母。表示设备文件。


  1. 第一个字母:h或s。h表示IDE接口的硬盘。

    s表示SATA或SCSI接口的硬盘。

  2. 第二个字母:总是d。

    英语drive的首字母,表示磁盘驱动器。

  3. 第三个字母:a,b,c,d,等等。表示顺序。


因此:


  1. hda通常是指IDE接口的硬盘,hda一般指第一块硬盘(磁盘),类似的有hdb。hdc等。

  2. sda通常是指SATA或SCSI接口的硬盘,sda一般指第一块硬盘(磁盘),类似的有sdb。sdc等。


所以sda1是指第一块硬盘的第一个分区。sda5就是第一块硬盘的第五个分区。依次类推。

sdb1就是第二块硬盘的第一个分区。等等。


如今的内核都会把硬盘,移动硬盘,U盘之类的识别为sdX的形式。


我们注意到上图中另一个空暇分区(白色的那条),大小是85.9GB,这个事实上就是一開始我们在Windows以下给Ubuntu分出来的80GB的空间了。


所以如今我们就来操作这个空暇“分区”,以对我们将要安装的Ubuntu进行安排。


鼠标选中它,点击以下的“+”号。会弹出例如以下对话框:




新分区的类型选择“逻辑分区”。用于选择“交换空间”。


SWAP分区


SWAP分区也叫交换分区,就是LINUX下的虚拟内存分区。


它的作用是在物理内存使用完之后。将磁盘空间(也就是SWAP分区)虚拟成内存来使用。


它和Windows系统的交换文件作用类似。可是它是一段连续的磁盘空间,而且对用户不可见。


须要注意的是,尽管这个SWAP分区可以作为"虚拟"的内存,但它的速度比物理内存但是慢多了。


因此假设须要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存,SWAP分区仅仅是暂时的解决的方法。


所以对于交换分区,我们就给它分配大小和你电脑的内存大小一样的就好了。样例中给了8000MB。就是不到8GB(如果内存是8GB)。


主分区和逻辑分区


  1. 主分区:英语是Primary Partition。也称为主磁盘分区,和扩展分区、逻辑分区一样,是一种分区类型。主分区中不能再划分其它类型的分区。因此每一个主分区都相当于一个逻辑磁盘(在这一点上主分区和逻辑分区非常相似,但主分区是直接在硬盘上划分的,逻辑分区则必须建立于扩展分区中)。早期MBR模式分区仅仅能划分四个分区,如今的GPT分区至少能够划分128个主分区,未来非常有可能将不存在扩展分区和逻辑分区的概念。一个硬盘的主分区包括操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则硬盘必须有一个主分区

  2. 逻辑分区:英语是Logical Partition。是硬盘上一块连续的区域,不同之处在于,每一个主分区仅仅能分成一个驱动器,每一个主分区都有各自独立的引导块。能够用fdisk设定为启动区。

    一个硬盘上最多能够有4个主分区。而扩展分区上能够划分出多个逻辑驱动器。这些逻辑驱动器没有独立的引导块,不能用fdisk设定为启动区。


引导分区


分配完SWAP交换分区之后,我们来分配引导分区,也就是引导操作系统启动的程序所在的分区。非常重要。


在Win XP及Win 7 和 Win 8及Win 10中,我们的操作是不一样的。


在Win7或Win XP中,新建分区。点击“+”,设置Ubuntu启动引导区,一般划分200Mb足够了,例如以下图所看到的:




在Win 8或Win 10中,新建分区。点击“+”。设置Ubuntu启动引导区。用于EFI boot partition,一般划分几百Mb足够了,例如以下图所看到的:




根分区


根分区也就是 / 分区,相当于Windows系统的C盘。在Linux系统里。/是最上层文件夹。


/的以下会有其它目录,如 home, user, bin, dev, tmp, sbin, 等等。


我们给根分区分配个大概25GB或更大就够了,然后剩下的空间用相同加入分区的方式分给/home 分区,用于存放我们用户的文件。


然后非常重要的一点:记得将“安装启动引导器的设备”选择称为之前分配/boot的那个分区名。例如以下图中,是sdb2,可是你的情况可能是其它名字:





结束Ubuntu的安装


完毕了最艰巨的磁盘分区之后,接下来的步骤就像走马观花一般简单了。能够喝杯咖啡,吃个烤鸡,慢慢来配置安装:


接下来依据提示选择时区:




在国内的小伙伴选择北京所在时区就好(时区选择不是非常要紧,随便选)。然后点击“Continue”,下一步:


选择键盘布局,我们选择汉语,当然你也能够选择其它语言:




点击继续,下一步:




设置username,password,等。

点击“继续”。下一步:




開始安装,请耐心等待。




安装完毕,点击重新启动。



假如是Win 8 或Win 10(UEFI作为启动引导的)的用户,那么重新启动之后。进入UEFI(BIOS),将Ubuntu置为第一启动项,保存退出。



进入Ubuntu,安装完毕。




假如是Win 7的用户,假设重新启动之后发现启动选项没有Ubuntu,而是直接进了Windows系统。这时候你吃了一半的烤鸡是不是会把你噎着...


那就须要在Windows中。用EasyBCD这种软件来加入启动引导项了。


用EasyBCD改动系统启动项


  1. 在Windows中安装EasyBCD后打开,点击“Add New Entry”》选择Linux/BSD:详细设置例如以下图。Type选择GRUB(Legacy);Name自己随便写,小编写的是Ubuntu作为标识。Drive:选取我们设置的/boot分区。有Linux标记。设置完毕后点击“Add Entry”。




电脑再次启动时,就能够看到多了Ubuntu的启动选项(有一个Ubuntu Recovery Mode的。这个是在Ubuntu的启动有问题时,才需要进入的安全模式/恢复模式,以便解决这个问题。一般不要进这个模式)了。


你能够用键盘上的上下键选择进入哪个系统:Windows还是Ubuntu。


建议參考这两篇百度经验的图文教程:


《UEFI下Win 8.1+Ubuntu 14.04安装教程》

http://jingyan.baidu.com/article/e3c78d6460e6893c4c85f5b1.html


《Win7下U盘安装Ubuntu14.04双系统步骤具体解释》

http://jingyan.baidu.com/article/76a7e409bea83efc3b6e1507.html



长嘘一口气,最终结束了。

安装Linux还是挺不easy的。有非常多概念。


所以嘛。假设不是为了学习Linux,小编真的不建议安装Linux系统。尽管Ubuntu系统的安装已经越来越简单,可是对于大部分网友来说还是挺繁琐的。


平时么,用用Windows和Mac OS就够了。还是比尔盖茨的Windows最亲民,玩Dota等游戏可仅仅能用Windows...


这篇文章写了十几个小时,好多年没玩Dota的我都想来一把Dota了轻松一下了~ 可惜没装...




总结


  1. Ubuntu不同版本号在不同操作系统上的安装过程不尽同样,小编的课程不可能面面俱到。这个课程演示了Windows上安装Ubuntu 14.04的过程。假设是在其它操作系统(比方Mac OS)上安装其它版本号的Ubuntu(比方12.04,13.04,15.04),请自行Google和百度。一般差异是不太大的。

  2. 大部分新的如Win 8,Win 10系统的引导程序由传统的BIOS变成了更强大的UEFI。所以安装Ubuntu的过程与在Win XP和Win7中有那么一点不同。

  3. 一个硬盘能够被“虚拟化”地切割成不同的部分,这是磁盘分区的主要原理。

  4. 为了安装Linux系统(我们用了Ubuntu这个Linux发行版)到硬盘里,我们须要先进行磁盘分区。即把原先都属于Windows操作系统的磁盘空间划出一份来给Ubuntu使用。

  5. 我们分配了一个大小和内存差点儿相同的SWAP交换分区。这个分区能够在内存快耗尽时用作虚拟内存使用。

  6. 我们能够用Ubuntu系统的GRUB来引导Ubuntu和Windows启动;也能够用Windows的引导程序来引导两个系统。推荐用Windows的引导程序。




第一部分第五课预告


今天的课就到这里,一起加油吧!

下一课我们学习:Unity桌面,人生若仅仅如初见



0?wx_fmt=gif


程序猿联盟 微信公众号

*您若认为本文不错。请点击画面右上角《···》button分享

*新朋友请关注「程序猿联盟」微信搜公众号  ProgrammerLeague

程序猿联盟官网:

http://coderunity.com/

小编微信号frogoscar

小编邮箱:    enmingx@gmail.com

小编QQ号:  379641629

程序猿联盟QQ群:413981577

程序猿联盟微信群:先加我微信

头条网自媒体“程序猿联盟”:

http://www.toutiao.com/m3750422747/


小编的51CTO博客,CSDN博客,博客园,新浪博客和开源中国博客
http://4526621.blog.51cto.com

http://blog.csdn.net/frogoscar

http://www.cnblogs.com/frogoscar

http://blog.sina.com.cn/frogoscar

http://my.oschina.net/frogoscar/blog

原文地址:https://www.cnblogs.com/yfceshi/p/6727090.html