1 Linux系统简介
1.1 Unix发展历史和发行版本
1.1.1 Unix发展历史
(1)1965年,美国麻省理工学院(MIT)、通用电气公司(GE)及美国电话电报公司(AT&T)的贝尔实验室联合开发Multics工程计划,其目标是开发一种交互式的具有多道程序处理能力的分时操作系统,但因为Multics追求的目标过于庞大复杂,项目进度远远落后于计划,最后贝尔实验室宣布推出。
(2)1969年,美国贝尔实验室的肯·汤普森在DEC PDP-7机器上开发出了UNIX系统。(为了玩游戏才写的这个系统,获得了计算机科学领域最高奖项——图灵奖)
(3)1971年,肯·汤普森的同事丹尼斯·里奇发明了C语言;1973年,Unix系统的绝大部分源代码用C语言重写,这为提高UNIX系统的可移植性打下了基础。(也获得图灵奖)
1.1.2 Unix主要发行版本
操作系统 | 公司 | 硬件平台(CPU) |
---|---|---|
AIX | IBM | PowerPC(由IBM、苹果、摩托罗拉共同开发) |
HP-UX | HP | PA-RISC |
Solaris | Sun | SPARC |
BSD | 加州大学伯克利分校 | IA |
Linux | Red Hat、CentOS、Ubuntu | IA(Intel、AMD、Cyrix、RISE) |
1.2 Linux发展历史和发行版本
1.2.1 Linux发展历史
(1)Linux系统诞生于1991年,由芬兰大学生李纳斯(Linus Torvalds)和后来陆续加入的众多爱好者共同开发完成。
(2)Linux是开源软件,源代码开放的Unix。
1.2.2 Linux的主要发行版本
(1)Linux内核官网:www.kernel.org
(2)Linux内核版本和发行版:内核版:3.11.10(主版本、次版本、末版本),开发版是开发商发布的,但内核版基本上是一样的。
(3)主要发行版本:
- RedHat系列(redhat(企业版,收费)、fedora(个人版,收费)、CentOS(社区维护版,免费)、红旗Linux等)
- debian系列(debian、ubuntu等)。
- 两个版本的主要区别就是安装方式不同。
1.3 开源软件简介
1.3.1 主要开源软件
apache、Nginx、MySQL、PHP、samba、mongoDB、python、Ruby、Sphinx
1.3.2 开源软件特点
(1)使用的自由:绝大多数开源软件免费
(2)研究的自由:可以获得软件源代码
(3)散步及改良的自由:可以自由传播、改良甚至销售
1.3.3 支撑互联网的开源技术LAMP
- Linux 操作系统
- Apache Web服务器
- MySQL 数据库
- PHP 编程语言
1.4 Linux应用领域
1.4.1 基于Linux的企业服务器
(1)站点查询网站www.netcraft.com
1.4.2 嵌入式应用
(1)手机
(2)平板电脑
(3)智能家电
(4)智能卡系统
1.4.3 Linux在电影娱乐业
泰坦尼克号、阿凡达、史莱克
1.5 Linux的学习方法
(1)命令行
(2)解决问题的智慧(帮助、文档、示例、查找)
(3)克服英文的困难
(4)忘掉Windows的思维方式
(5)诀窍(计划、坚持、专注、练习)
2 Linux系统安装
2.1 安装VMware虚拟机(Windows)
2.2 系统分区
2.2.1 分区类型(硬盘)
分区:把大硬盘分成小的逻辑分区
- 主分区:最多只能有4个
- 扩展分区:
- 最多只能有1个
- 主分区+扩展分区最多有4个
- 不能写入数据,只能包含逻辑分区
- 逻辑分区
2.2.2 格式
格式化:写入文件系统
格式化(高级格式化)又称逻辑格式化,它是指根据用户选定的文件系统(如windows:FAT16、FAT32、NTFS等;Linux:EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理等磁盘空间。
把硬盘分成一个个相同大小的数据块,建立一个iNode列表,每个分区对应一个iNode号。
2.2.3 硬件设备文件名
硬件 | 设备文件名 |
---|---|
IDE硬盘 | /dev/hd[a-d] |
SCSI /SATA/USB硬盘 | /dev/sd[a-p] |
光驱 | /dev/cdrom或/dev/sr0 |
软盘 | /dev/fd[0-1] |
打印机(25针) | /dev/fd[0-2] |
打印机(USB) | /dev/usb/lp[0-15] |
鼠标 | /dev/mouse |
2.2.4 分区文件名
/dev/hda1(IDE硬盘接口)
/dev/sda1(SCSI硬盘接口、SATA硬盘接口)
2.2.5 挂载
指给磁盘分区(包括被虚拟出来的磁盘分区)分配一个盘符(目录)。
- 必须有的分区
- /(根分区)
- swap分区(交换分区,内存2倍,不超过2GB)
- 推荐有的分区
- /boot(启动分区,200MB)
2.3 Linux安装
2.3.1 密码原则
- 复杂性
- 八位字符以上、大小写字母、数字、符号
- 不能是英文单词
- 不能是和用户相关的内容
- 易记忆性
- flzx_3QC
- 时效性
2.3.2 安装日志
目录 | 文件内容 |
---|---|
/root/install.log | 存储了安装在系统中的软件包及其版本信息 |
/root/install.log.syslog | 存储了安装过程中留下的事件记录 |
/root/anaconda-ks.cfg | 以Kickstart配置文件的格式记录安装过程中设置的选项信息 |
2.4远程登录管理工具
2.4.1 虚拟机网络连接
- 桥接:利用真实网卡和真实计算机连接
- NAT:使用虚拟网卡(可以和共享的计算机连接)
- Host-only:使用虚拟网卡(只能和主机连接)
2.4.2 远程连接工具
SecureCRT(windows)
2.4.3 文件拷贝工具
Winscp(windows)
3 给初学者的建议
3.1 学习Linux的注意事项
- Linux严格区分大小写,命令基本上是小写。
- Linux中所有内容以文件形式保存,包括硬件(如硬盘文件是/dev/sd[a-p])。
- Linux不靠扩展名区分文件类型(没有扩展名这个概念),靠文件权限,以下的后缀名是为了便于管理员区分:
- 压缩包:"*.gz"、"*.bz2"、"*.tar.bz2"、"*.tgz"等
- 二进制软件包:"*.rpm"
- 网页文件:"*.html"、"*.php"
- 脚本文件:"*.sh"
- 配置文件:"*.conf"
- Linux所有的存储设备都必须挂载之后用户才能使用(包括硬盘、U盘、和光盘)。
- Windows下的程序不能直接在Linux中安装和运行。
3.2 服务器管理和维护建议
3.2.1 Linux各目录的作用
目录名 | 目录作用 |
---|---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。不过放在/bin下的命令在单用户模式下也可以执行 |
/sbin/ | 保存和系统环境设置相关命令的目录,只有超级用户可以使用这些命令进行系统环境设置,但是有些命令可以允许普通用户查看 |
/usr/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。这些命令和系统启动无关,在单用户模式下不能执行 |
/usr/sbin/ | 存放根文件系统不必要的系统管理命令,例如多数服务程序。只有超级用于可以使用。 |
/boot/ | 系统启动目录,保存系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置。系统内所有采用默认安装方式(rpm安装)的服务的配置文件全部都保存在这个目录当中,如用户账户和密码,服务的启动脚本,常用服务的配置文件等 |
/home/ | 普通用户的家目录。建立每个用户时,每个用户要有一个默认登录位置,这个位置就是这个用户的家目录,所有普通用户的家目录就是在/home下建立一个和用户名相同的目录。如用户user1的家目录就是/home/user1 |
/lib/ | 系统调用的函数库保存位置 |
/lost+found | 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如/lost+found就是根分区的备份恢复目录,/boot/lost+found就是/boot分区的备份恢复目录 |
/media/ | 挂载目录。系统建议是用来挂载媒体设备的,例如软盘和光盘 |
/mnt/ | 挂载目录,早期Linux中只有这一个挂载目录,并没有细分。现在这个目录系统建议挂载额外设备,如U盘,移动硬盘和其他操作系统的分区。 |
/misc/ | 挂载目录。系统建议用来挂载NFS服务的共享目录。 |
/opt/ | 第三方安装的软件保存位置。(/usr/local/目录也可以用来安装软件) |
/proc/ | 虚拟文件系统,该目录中的数据并不保存到硬盘中,而是保存到内存中。主要保存系统的内核,进程,外部设备状态和网络状态灯。如/proc/cpuinfo是保存CPU信息的,/proc/device是保存设备驱动的列表的,/proc/filesystem是保存文件系统列表的,/proc/net/是保存网络协议信息的 |
/sys/ | 虚拟文件系统。和/proc目录相似,都是保存在内存中,主要是保存于内核相关信息的。 |
/root/ | 超级用户的家目录。普通用户家目录在“/home”下,超级用户家目录直接在“/”下 |
/srv/ | 服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据。 |
/tmp/ | 临时目录。系统存放临时文件的目录,该目录下所有用户都可以访问和写入。所以建议此目录中不能保存重要数据,最好每次开机都把该目录清空 |
/usr/ | (Unix Software Resource)系统软件资源目录。系统中安装的软件大多数保存在这里 |
/var/ | 动态数据保存位置。主要保存缓存、日志以及软件运行所产生的文件 |
3.2.2 服务器注意事项
- 远程服务器不允许关机,只能重启
- 重启时应该关闭服务
- 不要在服务器访问高峰运行高负载命令(服务器启用的服务越少越好)
- 远程配置防火墙时不要把自己踢出服务器
- 指定合理的密码规范并定期更新
- 合理分配权限(分给用户的权限越少越好,够用就行)
- 定期备份重要数据和日志(不要把鸡蛋放在一个篮子里)