23
第第第 一: Linux 第第 当当当当当 PC 当当当BIOS 当当当当 BIOS 当当当当当 当当当 当当当当当当当当当 当当当当当当当当当当当当 ,, lilo 或 grub 当当当当 Linu x Linux 当当当当当当当当当 当当当当当 init 当当当当当 init 或或或或或 1 或或或 或或或或或或 ,一, init 或或或或 或或或或或或或当当当当当 当当当当当当当当当当当当当当 当当当当 当当当当当当 当当当 init 或或或 rc.sysinit 或 rc 或或或当当当 当当当当 当当当当当当当当或或 init init 当当当 mingetty 当当当当当当当当当 当当 当当当当当当当当当当当 Shell 当当当当当当当当当当当当当当当当当当当当 ,。

第一部分: Linux 启动

  • Upload
    tate

  • View
    126

  • Download
    5

Embed Size (px)

DESCRIPTION

第一部分: Linux 启动. - PowerPoint PPT Presentation

Citation preview

Page 1: 第一部分:  Linux 启动

第一部分: Linux 启动 当用户打开 PC 的电源, BIOS 开机自检,按 BIOS中的设置启动设备,通常是硬盘先启动,接着硬盘上安装的引导程序 lilo 或 grub 开始引导 Linux , Linux 首先进行内核的引导,接下来执行 init 初始化程序, init 的进程号是 1 ,从这一点就能看出, init 进程是系统所有进程的起点,主要是进行一些外设及其驱动程序的加载和初始化工作,并完成文件系统初始化, init 调用了 rc.sysinit 和 rc 等程序,完成系统初始化和运行服务的任务后,返回 init ; init 启动了 mingetty ,打开了终端供用户登录系统,用户登录成功后进入了 Shell ,这样就完成了从开机到登录的整个启动过程。

Page 2: 第一部分:  Linux 启动

rc 程序启动守护进程,至于将运行哪些守护进程,用户可以 通过 chkconfig 或 setup 中的“ System Services” 来自行设定。 常见的守护进程有:   amd :自动安装 NFS 守护进程   apmd :高级电源管理守护进程   arpwatch :记录日志并构建一个在 LAN 接口上看到的以太网地址和 IP 地址对数据库   autofs :自动安装管理进程 automount ,与 NFS 相关,依赖于 NIS   crond : Linux 下的计划任务的守护进程   named : DNS 服务器   netfs :安装 NFS 、 Samba 和 NetWare 网络文件系统   network :激活已配置网络接口的脚本程序   nfs :打开 NFS 服务   portmap : RPC portmap 管理器,它管理基于 RPC 服务的连接   sendmail :邮件服务器 sendmail   smb : Samba 文件共享 / 打印服务   syslog :一个让系统引导时起动 syslog 和 klogd 系统日志守候进程的脚本   xfs : X Window 字型服务器,为本地和远程 X 服务器提供字型集 Xinetd :支持多种网络服务的核心守护进程,可以管理 wuftp 、 sshd 、 telnet 等服务。   

Page 3: 第一部分:  Linux 启动

建立终端   rc 执行完毕后,返回 init 。这时基本系统环境已经设置好了,

各种守护进程也已经启动了。 init 接下来会打开 6 个终端,以便用户登录系统。通过按 Alt+Fn(n 对应 1-6) 可以在这 6个终端中切换。在 inittab 中的以下 6 行就是定义了 6 个终端:

   1:2345:respawn:/sbin/mingetty tty1    2:2345:respawn:/sbin/mingetty tty2    3:2345:respawn:/sbin/mingetty tty3    4:2345:respawn:/sbin/mingetty tty4    5:2345:respawn:/sbin/mingetty tty5    6:2345:respawn:/sbin/mingetty tty6    从上面可以看出在 2 、 3 、 4 、 5 的运行级别中都将以

respawn 方式运行 mingetty 程序, mingetty 程序能打开终端、设置模式。同时它会显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而用户输入的用户名将作为参数传给 login程序来验证用户的身份。

 

Page 4: 第一部分:  Linux 启动

登录系统,启动完成   我们可以在登录界面输入用户名和密码来登录系统。

   Linux 的账号验证程序是 login , login 会接收 mingetty 传来的用户名参数。然后 login 会对用户名进行分析, login 将搜索 /etc/passwd 以及 /etc/shadow 来验证密码以及设置账户的其它信息,比如:主目录是什么、使用何种 shell 。如果没有指定主目录,将默认为根目录;如果没有指定 shell ,将默认为 /bin/bash 。

   login 程序成功后,会向对应的终端输出最近一次登录的信息 ( 在 /var/log/lastlog 中有记录 ) ,并检查用户是否有新邮件 ( 在 /usr/spool/mail/ 的对应用户名目录下 ) 。然后开始设置各种环境变量:对于 bash 来说,系统首先寻找 /etc/profile 脚本文件,并执行它;如果用户的主目录中存在 .bash_profile 文件,也要执行,在这些文件中又可能调用了其它配置文件,所有的配置文件执行后,各种环境变量也设好了,这时会出现大家熟悉的命令行提示符,到此整个启动过程就结束了。

Page 5: 第一部分:  Linux 启动

第二部分: Linux 的使用基础 一、登录

在 LINUX 安装并启动后 , 出现 Login ,通常都是通过超级用户登录,即键入用户名 root ,回车后 , 再输入口令,然后出现 # 提示符, # 号是超级用户提示符,普通用户的提示符是 $ 。

在成功登录之后,可以用 passwd 命令来重新设定口令。系统会询问当前的密码, 然后是新密码,示例:[root@Linuxroot]$passwd …… (current) UNIX password : New UNIX password : Retype new UNIX password :

二、退出系统 可以键入 logout ,或 exit 或 ctrl+d ,来退出系统。返回到 login 状态。

Page 6: 第一部分:  Linux 启动

三、关机 如果关机可用 halt 或 shutdown , Ctrl+Alt+Del 来重新启动。

shutdown 命令 shutdown 命令可以安全地关闭或重启 Linux 系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确 的时间,也可以是从现在开始的一个时间段。精确时间的格式是 hh:mm ,表示小时和分钟;时间段由“ +” 和分钟数表示。系统执行该命令后,会自动进行数据 同步的工作。    shutdown [-t seconds] [-rkhncfF] time [message]

命令中各选项的含义如下:

第二部分: Linux 的使用基础(续)

Page 7: 第一部分:  Linux 启动

shutdown 命令(续)shutdown [-t seconds] [-rkhncfF] time [message]

命令中各选项的含义为: -t seconds : 设定在几秒钟之后进行关机程序 -k : 并不会真的关机,只是将警告讯息传送给所有使用者-r : 关机后重新开机-h : 关机后停机 -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机 -c : 取消目前已经进行中的关机动作 -f : 关机时,不做 fcsk 动作 ( 检查 Linux 档系统 ) -F : 关机时,强迫进行 fsck 动作 time : 设定关机的时间 message : 传送给所有使用者的警告讯息 。

Page 8: 第一部分:  Linux 启动

halt 命令 halt [-dfinpw]补充说明: halt 会先检测系统的 runlevel 。若 runlevel 为 0 或 6 ,则关闭系统,否则即调用 shutdown 来关闭系统。参数:   -d  不要在 wtmp 中记录。   -f  不论目前的 runlevel 为何,不调用 shutdown 即强制关闭系统。   -i  在 halt 之前,关闭全部的网络界面。   -n   halt 前,不用先执行 sync 。   -p   halt 之后,执行 poweroff 。   -w  仅在 wtmp 中记录,而不实际结束系统。

Page 9: 第一部分:  Linux 启动

四、窗口工作方式与终端工作方式从窗口到终端: CTRL+ALT+F2

从终端到窗口: CTRL+ALT+F7 。五、获取帮助

在提示符下建入 man 可以获得各命令的形式及其功能。

第二部分: Linux 的使用基础(续)

Page 10: 第一部分:  Linux 启动

第三部分: VI

VI 的三种模式命令模式输入模式末行模式

Linux

退出 vi

vi file

末行模式输入模式

转义命令按[E

sc]

文本

输入

令 执行完毕或按[E

sc]

命令模式

Page 11: 第一部分:  Linux 启动

VI 的模式( Cont. ) 命令模式

状态栏状态栏状态栏状态栏

编辑区编辑区编辑区编辑区

空白区空白区

Page 12: 第一部分:  Linux 启动

VI 的模式( Cont. ) 输入模式

输入模式标志输入模式标志输入模式标志输入模式标志

Page 13: 第一部分:  Linux 启动

VI 的模式( Cont. )末行模式

末行模式标志末行模式标志末行模式标志末行模式标志

Page 14: 第一部分:  Linux 启动

1. 移动光标 $  移动到光标所在列的最後面 [End]

[CTRL][d]  向下半页 [PageDown][CTRL][f]   向下一页 [CTRL][u]  向上半页 [CTRL][b]  向上一页 [PageUp]   

指令说明:H 移动到视窗的第一列M 移动到视窗的中间列L 移动到视窗的最後列 b 移动到下个字的第一个字母w 移动到上个字的第一个字母 e 移动到下个字的最後一个字母

Page 15: 第一部分:  Linux 启动

2. 替换和删除

x : 删除光标所在字符。 dd  :删除光标所在的列。

r  :修改光标所在字元, r  后接要修正的字符。

R : 进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC]  回到指令模式下为止。

s : 删除光标所在字元,并进入输入模式。

S : 删除光标所在的列,并进入输入模式。

Page 16: 第一部分:  Linux 启动

rc 用 c 替换光标所指向的当前字符nrc 用 c 替换光标所指向的前 n 个字符

x 删除光标所指向的当前字符nx 删除光标所指向的前 n 个字符3x 删除光标所指向的前 3 个字符

dw 删除光标右侧的字ndw 删除光标右侧的 n 个字3dw 删除光标右侧的 3 个字

db 删除光标左侧的字ndb 删除光标左侧的 n 个字5db 删除光标左侧的 5 个字

dd 删除光标所在行,并去除空隙ndd 删除 n 行内容,并去除空隙3dd 删除 3 行内容,并去除空隙

Page 17: 第一部分:  Linux 启动

3. 粘贴和复制从正文中删除的内容(如字符、字或行 )并没有真正丢失,

而是被剪切并复制到了一个内存缓冲区中。用户可将其粘贴到正文中的指定位置。完成这一操作的命令是:p 小写字母 p ,将缓冲区的内容粘贴到光标的后面P 大写字母 P ,将缓冲区的内容粘贴到光标的前面

如果缓冲区的内容是字符或字,直接粘贴在光标的前面或后面;如果缓冲区的内容为整行正文,则粘贴在当前光标所在行的上一行或下一行。

注意上述两个命令中字母的大小写。 vi 编辑器经常以一对大、小写字母(如 p 和 P )来提供一对相似的功能。通常,小写命令在光标的后面进行操作,大写命令在光标的前面进行操作。

有时需要复制一段正文到新位置,同时保留原有位置的内容。这种情况下,首先应当把指定内容复制(而不是剪切)到内存缓冲区。完成这一操作的命令是: yy 复制当前行到内存缓冲区nyy 复制 n 行内容到内存缓冲区

Page 18: 第一部分:  Linux 启动

4. 搜索字符串 和许多先进的编辑器一样, vi 提供了强大的字符串搜索功能。要查找文件中指定字或短语出现的位置,可以用 vi 直接进行搜索,而不必以手工方式进行。搜索方法是:键入字符 / ,后面跟以要搜索的字符串,然后按回车键。编辑程序执行正向搜索(即朝文件末尾方向),并在找到指定字符串后,将光标停到该字符串的开头;键入 n 命令可以继续执行搜索,找出这一字符串下次出现的位置。用字符 ? 取代 / ,可以实现反向搜索(朝文件开头方向)。例如:

/str1 正向搜索字符串 str1n 继续搜索,找出 str1 字符串下次出现的位置?str2 反向搜索字符串 str2 无论搜索方向如何,当到达文件末尾或开头时,搜索工作会循环到文件的另一端并继续执行。

Page 19: 第一部分:  Linux 启动

5. 替换:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的 SEARCH单词,替换成 REPLACE ;

g 为全局查找;没有替换的地方,也会把 SEARCH高亮显示;:%s /SEARCH/REPLACE 注:把文档中所有 SEARCH替换成 REPLACE ;:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从某行到某行,把 SEARCH替换成 REPL

ACE ;

举例说明:我们把光标所在的行,所有单词 the ,替换成 THE ,应该是::s /the/THE/g我们把整篇文档的所有的 the 都替换成 THE ,应该是: :%s /the/THE我们仅仅是把第 1 行到第 10 行中的 the ,替换成 THE ,应该是:

:1,10 s /the/THE/g

Page 20: 第一部分:  Linux 启动

6. 选项设置 为控制不同的编辑功能, vi 提供了很多内部选项。利用 :set 命令可以设置选项。基本语法为::set option ; option 为设置选项

常见的功能选项( option)包括:autoindent 设置该选项,则正文自动缩进ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别number 设置该选项,则显示正文行号ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置tabstop 设置按 Tab 键跳过的空格数。

例如 :set tabstop=n , n 默认值为 8mk 将选项保存在当前目录的 .exic 文件中

Page 21: 第一部分:  Linux 启动

7. shell 切换

在编辑正文时,利用 vi 命令模式下提供的 shell 切换命令,无须退出 vi 即可执行 Linux 命令,十分方便。语法格式为::! command 执行完 shell 命令 command 后回到 vi另外,在编辑模式下,键入 K ,可命令 vi 查找光标所在单词的手册页,相当于运行 man 命令。

Page 22: 第一部分:  Linux 启动

8. 行号与文件编辑中的每一行正文都有自己的行号,用下列命令可以移动光标到指定行:: n 将光标移到第 n 行命令模式下,可以规定命令操作的行号范围。数值用来指定绝对行号;字符“ .” 表示光标所在行的行号;字符“ $” 表示正文最后一行的行号;简单的表达式,例如“ .+5” 表示当前行往下的第 5 行。例如:

: 345 将光标移到第 345 行: 345w file 将第 345 行写入 file 文件: 3,5w file 将第 3 行至第 5 行写入 file 文件: 1,.w file 将第 1 行至当前行写入 file 文件: .,$w file 将当前行至最后一行写入 file 文件: .,.+5w file 从当前行开始将 6 行内容写入 file 文件

Page 23: 第一部分:  Linux 启动

9. 退出 vi

: q! 离开 vi ,并放弃刚在缓冲区内编辑的内容  : wq 将缓冲区内的资料写入磁盘中,并离开 vi  : ZZ 同 wq  : x 同 wq  : w 将缓冲区内的资料写入磁盘中,但并不离开 vi  : q 离开 vi ,若文件被修改过,则会被要求确认是否放弃修改的内容 ,此指令可与: w 配合使用