230 likes | 729 Views
Linux 系列培训. 第一部分 —— 接触 Linux : Linux 的定义、 Linux 思想、 Linux 安装、 安装 分区规划、 X-windows 界面操作、 Bash 基础 、使用简单命令、使用 man page 第二 部分 —— 使用 Linux : Linux 文件目录管理、 Linux 用户及权限管理、 Linux 磁盘及文件系统管理、使用依赖解决程序 yum 、手动编译安装程序. 接触 Linux. 什么是 Linux ?.
E N D
Linux系列培训 • 第一部分——接触Linux:Linux的定义、Linux思想、Linux安装、安装分区规划、X-windows界面操作、Bash基础、使用简单命令、使用man page • 第二部分——使用Linux:Linux文件目录管理、Linux用户及权限管理、Linux磁盘及文件系统管理、使用依赖解决程序yum、手动编译安装程序
什么是Linux? • Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。——百度百科 • 严格来讲,术语Linux只表示操作系统内核本身,但通常采用Linux内核来表达该意思。Linux则常用来指基于Linux内核的完整操作系统,包括GUI组件和许多其他实用工具。由于这些支持用户空间的系统工具和库主要由理查德·斯托曼于1983年发起的GNU计划提供,自由软件基金会提议将该组合系统命名为“GNU/Linux”。——维基百科 • 综上所述,Linux指的是使用Linux内核的一类操作系统的总称。
Linux里程碑 • 1973 :Unix内核诞生 • 1977:BSD诞生(Linux分支),后FreeBSD由此而来 • 1984:x86架构下的Minix诞生;GNU项目:GNU软件;GNU C Complier(GCC) • 1991:第一个Linux内核版本。后改写支持POSIX标准(Portable Operating System Interface)
Linux内核版本 • [root@localhost ~]#dmesg|less • dmesg用于检测和控制内核环缓冲。程序用来帮助用户了解系统的启动信息。
Linux内核版本 • 2.6.32-358.el6.x86_64 • 2——主版本;6——次版本;18——释放版本;el6——修改版本;x86_64——内核类型;gcc version——gcc编译器版本
Linux发行版Distribution • 存在很多的Linux发行版(Distribution)。之所以叫发行版是因为他们来自于不同开发者或者是团队、组织机构甚至是公司之手。例如Ubuntu、CentOS、Red Hat Linux Enterprise、Fedora等等。 • 不同Linux发行版最大的区别就在于,除了Linux内核之外,他们所带的其他功能软件可能完全不一样。例如,CentOS的完整安装自带vim编辑器,而Ubuntu并没有。 • 此外,不同发行版之间可能存在内核编译的不统一问题。可能会出现这个Linux内核模块(例如KVM_Kernel Virtual Machine模块)可编译可不编译,因此不同发行版安装成功之后内核的编译程度会不一样。 • 最后,不同发行版之间的约定目录也会变化。例如CentOS约定某个默认使用依赖包安装工具之后安装到某个目录下,但是在Ubuntu中会默认安装到别的目录;此外,配置文件也可能会被保存在不同的目录下面,这可能会引起困惑,需要特别小心。
Linux发行版Distribution • [root@localhost~]#cat /etc/issue 查看当前系统发行版 • 发现了什么特殊的没有?不如来玩点有趣的东西。 • vi /etc/issue,修改成我喜欢的样子。再退出环境。会有什么样的现象?
Linux的文件系统结构 • 不同于Windows的只有一个根的“目录树” • 下方可以挂载不同文件系统 • 例如,我将硬盘分成了5个分区,那么我可 以将其中一个分区指向某个“目录”,让这个 目录下的文件全部放置于这个分区中。这就是 我们所说的“挂载”操作。 • 可以将tmp单独挂载一个分区,再让home 单独挂载一个分区;boot单独挂载一个分区; 最后根目录挂载一个分区。
CentOS根结构 可执行命令,单用户模式可执行 开机文件,Linux内核+开机配置 • 红色框框部分代表什么? • 绿色框框部分又代表什么? 设备文件 系统主要配置文件 用户主文件夹目录 函数库 64位函数库 Ext文件系统生成 挂载可移动载体目录 暂时挂载目录 第三方程序目录 虚拟文件系统(内存) Root主文件夹 开机用到的程序 SELinux专用目录 服务使用目录,例如网站根目录 内核信息虚拟目录 临时目录,所有人都有权限 Unix System Resource Variable,动态可变文件
Swap分区 • 安装规划时,请不要忘记添加swap分区。Swap分区有点类似于在Windows下的虚拟内存。Swap在系统内存不足的时候帮助系统将部分数据移动到硬盘中,以提供足够多的资源给其他进程进行操作。如果没有swap,可能会导致一系列的性能低下的问题。如果你内存很大,象征性地分配一点空间给swap还可能是必要的,因为不这样做可能会导致装完机不能顺利启动。
MBR • MBR(Master Boot Record),主引导记录。
MBR • MBR与操作系统无关,包括着一套主引导程序,出错信息数据区,分区表,结束标志符55AA(幻数)。 • 主引导程序代码有限,一般可以是一套通用的引导程序。如grub, • MBR中只有16bytes的主分区表入口,也就是说,最多只能分四个区。 • 想想,我们有一些硬盘的分区可远远不止四个分区,那是怎么办到的呢? • 主引导记录中只记录四个主分区,但其中可以存在一个扩展分区。这个扩展分区可以额外分出很多的逻辑分区。
Grub引导 • 与Windows使用BCD引导不同的是,Linux使用的是Grub引导。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数? • 在开机过程中的等待界面时,输入任意键,进入grub选单 • 选中某个条目后,按e键,可以进入编辑,一次性修改引导系统所传递的参数。 • 最常用的就是在kernel行最后添加single,可以进入单用户模式。 • 最后再按b引导。如果引导失败,可以尝试使用grub的命令行Command-Line(不是bash环境) • 提问:怎么实现系统多重引导? • MBR自己使用一套引导程序(可以是grub或其他如lilo),用户选择需要的选项之后,将引导交给对应分区的引导扇区,即可加载其他引导程序。对于grub引导,既可以安装到MBR,也可以安装到分区的第一个扇区,所以我们可以用grub引导再调用出一个grub引导~!
简单的链式引导演示 • grub>chainloader (hd0,x)+1移交给hd0,x分区的引导程序,从第一个扇区开始读取引导程序。 • 试想在MBR安装grub。又在第二个新安装的linux的分区上的第一个扇区上安装grub。这时候从grub界面使用手动命令行即可链式引导到下一支引导程序。 • 这个方法也可以用于引导安装了windows的分区
X-window • X-Window是一种开发出来用于类Unix系统的桌面环境规范,规范下两种比较常见的桌面环境:GNOME和KDE。(使用不同的函数库) • X-Window模型是一种C/S模型:每一个窗体都是一个Client,真正的Server只有一个;在一台机器上运行了X Server之后,可以通过各种方式连接到X-Server,无论是本机操作桌面环境,还是远程操作。 • X-window配置文件一般在/etc/x11/xorg.conf(CentOS)
最常见简单命令 date 显示日期时间 cd切换目录Change Directory pwd显示当前所在目录 ls列出某个目录或当前目录的内容 nano超级简单的文本编辑器 shutdown 关机 reboot重启计算机 init切换执行等级 logout退出登录;exit退出当前环境,也可以当logout用
最常用快捷键 Ctrl+C=中断当前程序的执行 Ctrl+D=退出当前环境logout [Tab] 补全命令和路径。当最终目标结果只有一个的情况下,按一下tab会立即全部补全;如果有多个目标结果,按两下[Tab]将显示出结果。
Man page • 当对某个命令不熟悉或者想知道某个命令的详细解释的时候,man page可以帮上你很大的忙。 • 在man page中,使用/string可以向下查找字符串;?String可以向上查找字符串;使用n继续查询,N反向查询。