-
几个主要的Linux distributions 发行者网站:
-
Red Hat:http://www.redhat.com/
-
Debian: http://www.debian.org/
-
Ubuntu: http://www.ubuntu.com/
-
CentOS:http://www.centos.org/
-
Fedora:http://fedoraproject.org/
-
Gentoo:http://www.gentoo.org/
-
Linux的优缺点:
-
稳定的系统、免费或少许的费用、安全性/漏洞的快速修补、多任务/多用户
-
用户与用户组的规划、相比较不好资源的系统、适合需要小内核程序的嵌入式系统
-
整合度佳且多样的GUI
-
没有特定的支持厂商、游戏/专业软件支持度不足
学习基础知识的必备条件:
- 计算机概论与硬件的相关知识(至少听过、有概念)
- 从Linux的安装与命令学起
- Linux操作系统的基础技能
- 务必学会vi文本编辑器
- Shell与Shell脚本的学习(正则表达式、管道命令、数据流重定向)
- 一定要会软件管理员
- 网络基础的建立
Linux自身的文件数据:/usr/share/doc
CLDP中文文件计划:http://www.linux.org.cn/CLDP/
The Linux Documentation Project: http://www.tldp.org/
鸟哥的网站:http://linux.vbird.org/Searching.php
一些必要的习惯:
- 有系统的设计文件目录
- 养成一个做记录的习惯(尤其是发现问题的时候)
- 记录copy好文章,定期归档(注意知识产权)
IDE接口的硬盘的文件名即为/dev/hd[a-d],几乎所有的硬件设备文件都在/dev这个目录内;以下是几个常见的设备与其在linux当中的文件名
常见的磁盘接口有两种:IDE与SATA接口
IDE\Jumper | Master | Slave |
---|---|---|
IDE1(Primary) | /dev/hda | /dev/hdb |
IDE2(Secondary) | /dev/hdc | /dev/hdd |
linux使用检测到的顺序来决定设备文件名[a-z]
磁盘的组成(盘片、机械手臂、磁头与主轴马达)
-
盘面:分为扇区与柱面两种单位,其中扇区每个为512bytes
-
磁盘的第一个扇区
-主引导分区(MBR):可以安装引导加载程序的地方,有446bytes;(系统在开机时会主动 去读取该区块的内容)
-分区表:记录整块硬盘分区的状态,有64bytes。 -
所谓分区只是针对那个64bytes的分区表进行设置;
-
硬盘默认的分区表仅能写入四组分区信息(主Primary 和 扩展Extended分区);
-
分区最小单位为柱面(cylinder);
-
主分区与扩展分区最多可以有四个(硬盘的限制);
-
扩展分区最多只能有一个(操作系统的限制);
-
逻辑分区是由扩展分区持续分割出来的分区;
-
能够被格式化后作为数据访问的分区为主分区和逻辑分区,扩展分区无法格式化;
-
逻辑分区的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5 ~63),SATA硬盘则有11个逻辑分区(5 ~15)
整个开机流程到操作系统:
1.BIOS:开机主动执行的韧体,会认识到第一个可开机设备;
2.MBR:第一个可开机设备的第一个扇区内的主引导分区块,内含引导加载程序;
3.Boot loader:一支可读取内核文件来执行的软件;
4.内核文件:开始操作系统的功能- 提供菜单:提供不同的开机选项
- 载入内核文件:直接指向可开机的程序区段来开始操作系统
- 转交其他loader:将引导加载程序转交给其他loader
-
根目录:“/”
-
文件系统与目录树的关系(挂载)
所谓的挂载就是利用一个目录当成记录点,将磁盘分区的数据放置在该目录下;就是说进入该目录就可以读取该分区的意思。比如当我们想知道某个文件在哪个partition时例如:想知道/home/vbird/test这个文件的partition时,由test–>vbird–>home–>/,看哪个进入点先被查到那就是使用的进入点了。,所以test使用的是/home这个进入点而不是/!
主机的服务规划和硬件的关系:
- NAT(达到路由器的功能)
- SAMBA(加入Windows网络上的邻居)【若你还针对不同的用户提供文件服务,那么/home这个目录可以考虑独立出来】
- Mail(邮件服务)【可以考虑将/var目录独立出来】
- Web(www服务器)
- DHCP(提供客户自动获取ip的功能)
- Proxy(代理服务器)【能有效的解决带宽问题】
- FTP(网络数据传输)
主机硬盘的主要规划:
- /boot【只要给100M左右即可,要放在整块硬盘的最前面】
- /
- /usr
- /home
- /var
- Swap
创建根目录的分区
文件系统类型:
- ext2/ext3:是linux适用的文件系统类型。由于ext3文件系统多了日志的记录,对于系统的恢复比较快;
- physical volume(LVM):这是弹性调整文件大小的一种机制;
- software RAID:利用Linux的操作特性,用软件仿真出磁盘阵列的功能;
- swap:内存交换空间;不需要挂载点,最好是物理内存的1.5~2倍之间;
- vfat:同时被lLinux和Windows所支持的文件类型系统;
- 创建/boot目录的分区,必须要放在整个磁盘的最前面, “选择为强制分区”;
安装过程会写入到/root/install.log文件中,并且你所有的安装选项都会写入到/root/anaconda-ks.cfg文件内;
Linux默认的两种登录模式纯文本登录界面(run level3),图形界面(run level5);
CentOS图形界面:GNOME/KDE;如果你下次启动想用纯文本环境来登录,只需要修改下etc/inittab这个文件内容就可以了,就能在下次 重启时生效。
~符号代表的是用户的主文件夹,例如root的主文件夹在/root,所以~就代表/root的意思;
基础命令的操作
-
显示日期与时间的命令:date;
-
显示日历的命令:cal;
-
基本语法:cal [ [month] year]
-
简单好用的计算器:bc;
-
基本语法:+ - * / quit;bc默认保留整数,若要输出小数必须执行 scale=number(number就是后面的小数点后面的位数)
-
【Tab键】:具有命令补全(接在一串命令的第一个命令的后面)与文件补齐(接在一串命令的第二个命令以后)的功能;
-
ctrl+c:中断目前程序;
-
ctrl+d:通常代表着键盘输入结束,另它也可以用来代替exit的输入;
-
在线求助 man page 与 info page
-
man page:先被查询到的那个文件说明会先被显示出来;
-
info page:则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写,并且在各个页面中还有类似的网页的“超链接”来跳转到各种不同的页面中,每个独立的页面也被称为一个节点(node),你可以想象成命令行的网页显示数据;
-
其他帮助文件【放在/usr/share/doc这个目录下】;
-
超简单文本编辑器:nano
-
ctrl+G:取得在线帮助
-
ctrl+X:离开nano软件,若有修改过的文件会提示是否需要保存
-
ctrl+O:保存文件,若你有权限的话就能保存文件了
-
ctrl+R:从其他文件读入数据,可以将某个文件的内容贴在本文件中
-
ctrl+W:查询字符串
-
ctrl+C:说明目前光标所在处的行数和列数等信息
-
ctrl+_:可以直接输入行号,让光标快速移到该行
-
alt+Y:校正语法功能开启或关闭
-
atl+M:可以支持鼠标来移动光标的功能
-
正确的关机命令:
-
sync(将数据同步写入硬盘中)
-
shutdown(关机)
- 可以自由选择关机模式:是要关机、重启或进入单用户模式均可;
- 可以设置关机时间:立即关机或某一特定时间关机;
- 可以自定义关机消息:在关机之前,可以将自己设置的消息传送给在线用户;
- 可以发出警告信息:有时候有可能你要进行一些测试,而不想让其他用户干扰,或是明白的告诉其他用户某段时间要注意一下,这个时候运行shutdown来通知用户,却不是真的要关机;
- 可以选择是否要用fsck检查文件系统;
-
reboot、halt、poweroff(重启关机)
- halt会先调用shutdown,而shutdown最后会调用halt,shutdown可以根据目前已启动的服务来逐次关闭服务后才关机,至于halt却能够在不理会系统状况下,进行硬件的特殊关机;
-
切换执行等级
-
run level0:关机;
-
run level1:单用户工作状态,root权限,用于系统维护,禁止远程登录
-
run level2:多用户状态(没有NFS)
-
run level3:完全多用户状态(有NFS),纯命令行模式
-
run level4:系统保留,未使用
-
run level5:含有图形界面模式(X11控制台,GUI模式)
-
run level6:重启
-
忘记root密码: