4年多前,刚到上海时报过一个关于Oracle的培训班,在那里接触到了Linux,不过一直都没真正去试着使用它。现在经过慢慢的成长,越来越觉得,Linux是每一个服务端工程师必须掌握的系统,即使是现在最为火热的.NET开源潮流,也离不开对Linux系统的学习。本系列学习将以鸟哥真神的《鸟哥私房菜》一书作为基础,最新的Ubuntu16系统(相比CentOS,其界面更加友好,使用起来比较嗨森,快乐是坚持学习的源泉哈)作为环境来进行,让我们和Linux企鹅一起飞向星辰大海吧。
Linux的内核是有Linus Torvalds在1991年在芬兰的赫尔辛基大学开发出来的,使用GLP(GNU General Public License)许可证,其代表自由软件的版权,这儿的自由(Free software)表示具有自由度的软件,即用户可以自由执行、复制、再发型、学习、修改和强化自由软件,而不是强调免费(Freeware),自由软件往往是通过售后服务来获得商业价值的。
对于Open Source来说,常见的授权包括:GPL,BSD(Berkeley Software Distribution),Apache License 2.0
Linux Distributions非常多,主要分为两大系统:一种是使用RPM方式安装软件的系统,如RedHat,Fedora,SuSE等;另一种就是使用Debian的dpkg方式安装软件的系统,如Debian、Ubuntu等,这儿为了学习首推Ubuntu,相关软件下载请见如下地址。
虚拟机VmWare:使用开发版的Vmware Workstation 12 Player,https://www.vmware.com/cn/products/player/playerpro-evaluation.html
Ubuntu最新版:http://www.ubuntu.com/download
Linux主要使用场景:WWW、Mail Server、FileServer等各类网络服务器;关键任务的应用,如金融数据库库、大型企业网管环境;高性能运算等。
这部分内容比较简单,主要涉及资源规划和磁盘分区等内容。由于不同设备在linux的名称各不相同,接下来通过一个简单的图表了解各类常见设备在Linux中的名称。
设备 | 名称 |
IDE硬盘 | /dev/hd[a-d] |
SCSI/SATA/USB硬盘 | /dev/sd[a-p] |
DVD ROM | /dev/cdrom |
在介绍磁盘分区前,先来回顾下磁盘相关知识,磁盘主要由盘片、机械手臂、磁头和主轴马达组成,数据写入到盘片中。盘片上细分出扇区Sector和柱面Cylinder,其中每个扇区为512bytes(随着固盘的增多,相关技术相对过时)。对于整块磁盘来说,第一扇区最重要,其中包含:主引导分区MBR(Master Boot Record,MBR),可以安装引导加载程序,有446bytes;分区表partion table,记录整个硬盘分区的状况,有64bytes。系统的开机主要涉及两个东西,CMOS和BIOS,前者记录各项硬件参数且嵌入在主板上,后者是主板上的固件,包含开机时主动执行的第一个程序。改程序会根据用户设置去取得能够开机的硬盘,并读取该硬盘第一扇区的MBR位置。该MBR中放置了指定操作系统最基本的引导加载程序,该程序的作用就是加载OS的内核文件。由于现在大家普遍使用云服务,至少是IAAS级别的,因此该部分内容就到此为止。比如我个人就是使用的阿里云,系统选用小规模适用的ubuntu14.0版本,具体的分区等内容已经由服务提供商处理好,只要知道通常会建立/,/boot,/home,/swap等4个分区即可,其中/boot需要强制为主分区并占据硬盘前面的位置,/swap分区为物理内存的1.5-2倍左右。
Linux常见的文件类型包括:ext2/ext3,后者支持日志记录;physical volume(LVM),可以弹性调整文件系统大小;software RAID,可以仿真磁盘阵列;vfat,同时支持windows和linux。
最后附上一些最为基本的常见命令,请见下表。
命令 | 解释 |
echo $LANG,$PATH | 输出常见环境变量 |
ls -a | 列出文件夹中内容,-a现实隐藏文件 |
date | 显示当前时间 |
[tab] | 命令、文件名补齐 |
[Ctrl+C],[Ctrl+D] | 终止命令,终止输入 |
man page,info page | 在线帮助 |
exit | 注销账号 |
sync | 数据同步到磁盘 |
shutdown,reboot,halt,poweroff | 关机,重启 |
此外,当忘记root密码时,可以在系统重启读秒时按任意键进入控制菜单,输入e进入grub编辑模式,然后再kernel那行末尾添加:空格 single即可,最后输入passwd即可并输入新密码即可。
参考资料:
- 鸟哥. 鸟哥的Linux私房菜基础学习篇(第三版)[M]. 北京:人民邮电出版社, 2010.