⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000001.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
&nbsp;&nbsp;echo&nbsp;<BR>&nbsp;&nbsp;echo&nbsp;<BR>&nbsp;&nbsp;/bin/login&nbsp;<BR>&nbsp;fi&nbsp;<BR>&nbsp;<BR>&nbsp;##&nbsp;******************************&nbsp;&nbsp;Normal&nbsp;1&nbsp;&nbsp;**************************&nbsp;<BR>&nbsp;##&nbsp;当&nbsp;fsck&nbsp;检查没有错误之後&nbsp;,&nbsp;就把&nbsp;root&nbsp;partition&nbsp;重新&nbsp;mount&nbsp;上来&nbsp;<BR>&nbsp;##&nbsp;下面指令的参数有三个&nbsp;,&nbsp;-w&nbsp;代表mount&nbsp;成可读写&nbsp;,&nbsp;-n&nbsp;代表把一个&nbsp;file-&nbsp;<BR>&nbsp;##&nbsp;system&nbsp;mount&nbsp;上来&nbsp;,&nbsp;但不会把记录写到&nbsp;/etc/mtab&nbsp;中&nbsp;,&nbsp;在上次对&nbsp;/etc/mtab&nbsp;<BR>&nbsp;##&nbsp;介绍时有提到&nbsp;,&nbsp;当我们使用&nbsp;mount&nbsp;这个指令把一个&nbsp;filesystem&nbsp;mount&nbsp;上来&nbsp;<BR>&nbsp;##&nbsp;的时候&nbsp;,&nbsp;/etc/mtab&nbsp;就会记录&nbsp;!&nbsp;利用&nbsp;-n&nbsp;这个&nbsp;option&nbsp;可使得做&nbsp;mount&nbsp;的动&nbsp;<BR>&nbsp;##&nbsp;作&nbsp;,&nbsp;却不会记录&nbsp;.&nbsp;-o&nbsp;後面可以接许多的选项&nbsp;,&nbsp;在这里&nbsp;,&nbsp;我们给它的选项是&nbsp;<BR>&nbsp;##&nbsp;remount&nbsp;.&nbsp;remount&nbsp;的意思是&nbsp;:&nbsp;重新&nbsp;mount&nbsp;一个已经被&nbsp;mount&nbsp;的&nbsp;filesystem&nbsp;<BR>&nbsp;##&nbsp;这个选项通常被用来改变该&nbsp;filesystem&nbsp;的读写旗号&nbsp;,尤其是把&nbsp;filesystem&nbsp;<BR>&nbsp;##&nbsp;从&nbsp;read-only&nbsp;的状态&nbsp;,&nbsp;改变成&nbsp;read-write&nbsp;的状态&nbsp;.&nbsp;<BR>&nbsp;<BR>&nbsp;echo&nbsp;&quot;Remounting&nbsp;root&nbsp;device&nbsp;with&nbsp;read-write&nbsp;enabled.&quot;&nbsp;<BR>&nbsp;/sbin/mount&nbsp;-w&nbsp;-n&nbsp;-o&nbsp;remount&nbsp;/&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;在前面的情况中&nbsp;,&nbsp;都是&nbsp;root&nbsp;partition&nbsp;为&nbsp;read-only&nbsp;的状态下&nbsp;,&nbsp;所做的一些&nbsp;<BR>##&nbsp;工作&nbsp;,&nbsp;到了最後一个指令&nbsp;/sbin/mount&nbsp;-w&nbsp;-n&nbsp;-o&nbsp;remount&nbsp;/&nbsp;,&nbsp;才把&nbsp;root&nbsp;<BR>##&nbsp;partition&nbsp;mount&nbsp;成&nbsp;read-write&nbsp;.&nbsp;各位有没有看到前面那行&nbsp;:&nbsp;<BR>##&nbsp;if&nbsp;[&nbsp;!&nbsp;$READWRITE&nbsp;=&nbsp;yes&nbsp;];&nbsp;then&nbsp;.....&nbsp;下面这个&nbsp;else&nbsp;就是与这个&nbsp;if&nbsp;对应&nbsp;<BR>##&nbsp;也就是说&nbsp;,&nbsp;前面那个&nbsp;if&nbsp;的区块中&nbsp;,&nbsp;所作的工作都是在&nbsp;root&nbsp;partition&nbsp;为&nbsp;<BR>##&nbsp;read-only&nbsp;的条件成立下所作的事&nbsp;,&nbsp;那很明显的&nbsp;,&nbsp;下面这个&nbsp;else&nbsp;就是&nbsp;root&nbsp;<BR>##&nbsp;partition&nbsp;为&nbsp;read-write&nbsp;的条件下所作的工作&nbsp;.&nbsp;假如你的&nbsp;root&nbsp;partition&nbsp;<BR>##&nbsp;为&nbsp;read-writeable&nbsp;的话&nbsp;,&nbsp;那麽系统就会显示下面的讯息&nbsp;.&nbsp;cat&nbsp;&lt;&lt;&nbsp;EOF&nbsp;所作的&nbsp;<BR>##&nbsp;事&nbsp;,&nbsp;就是把&nbsp;EOF&nbsp;之前的讯息全部显示在萤幕上&nbsp;:&nbsp;<BR>##&nbsp;我想&nbsp;,&nbsp;下面的讯息写得很明显了&nbsp;,&nbsp;它说&nbsp;:&nbsp;你的&nbsp;root&nbsp;partition&nbsp;被&nbsp;mount&nbsp;成&nbsp;<BR>##&nbsp;read-write&nbsp;,&nbsp;没有办法检查&nbsp;,&nbsp;要使检查的动作能够顺利的进行&nbsp;,&nbsp;你必须把&nbsp;<BR>##&nbsp;root&nbsp;partition&nbsp;mount&nbsp;成&nbsp;read-only&nbsp;!&nbsp;那要怎麽做呢&nbsp;?&nbsp;很容易&nbsp;,&nbsp;只要利用&nbsp;<BR>##&nbsp;rdev&nbsp;-R&nbsp;/&lt;your_kernel_name&gt;&nbsp;1&nbsp;&nbsp;就可以了&nbsp;......&nbsp;<BR>&nbsp;<BR>else&nbsp;<BR>&nbsp;cat&nbsp;&lt;&lt;&nbsp;EOF&nbsp;<BR>&nbsp;<BR>***&nbsp;Root&nbsp;partition&nbsp;has&nbsp;already&nbsp;been&nbsp;mounted&nbsp;read-write.&nbsp;Cannot&nbsp;check!&nbsp;<BR>For&nbsp;filesystem&nbsp;checking&nbsp;to&nbsp;work&nbsp;properly,&nbsp;your&nbsp;system&nbsp;must&nbsp;initially&nbsp;mount&nbsp;<BR>the&nbsp;root&nbsp;partition&nbsp;as&nbsp;read&nbsp;only.&nbsp;Please&nbsp;modify&nbsp;your&nbsp;kernel&nbsp;with&nbsp;'rdev'&nbsp;so&nbsp;<BR>that&nbsp;<BR>it&nbsp;does&nbsp;this.&nbsp;If&nbsp;you're&nbsp;booting&nbsp;with&nbsp;LILO,&nbsp;type:&nbsp;<BR>&nbsp;&nbsp;rdev&nbsp;-R&nbsp;/vmlinuz&nbsp;1&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(^^^^^^^^&nbsp;&nbsp;...&nbsp;or&nbsp;whatever&nbsp;your&nbsp;kernel&nbsp;name&nbsp;is.)&nbsp;<BR>&nbsp;<BR>If&nbsp;you&nbsp;boot&nbsp;from&nbsp;a&nbsp;kernel&nbsp;on&nbsp;a&nbsp;floppy&nbsp;disk,&nbsp;put&nbsp;it&nbsp;in&nbsp;the&nbsp;drive&nbsp;and&nbsp;type:&nbsp;<BR>&nbsp;&nbsp;rdev&nbsp;-R&nbsp;/dev/fd0&nbsp;1&nbsp;<BR>&nbsp;<BR>This&nbsp;will&nbsp;fix&nbsp;the&nbsp;problem&nbsp;*AND*&nbsp;eliminate&nbsp;this&nbsp;annoying&nbsp;message.&nbsp;:^)&nbsp;<BR>&nbsp;<BR>EOF&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;下面这个指令没什麽好说的&nbsp;,&nbsp;就是暂停&nbsp;10&nbsp;秒钟&nbsp;,&nbsp;让&nbsp;user&nbsp;能够有充足的&nbsp;<BR>##&nbsp;时间看完上面的讯息&nbsp;<BR>&nbsp;<BR>&nbsp;sleep&nbsp;10&nbsp;<BR>fi&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;删除&nbsp;/etc/mtab&nbsp;&nbsp;/etc/nologin&nbsp;&nbsp;/etc/utmp&nbsp;<BR>&nbsp;<BR>/bin/rm&nbsp;-f&nbsp;/etc/mtab*&nbsp;/etc/nologin&nbsp;/etc/utmp&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;制造&nbsp;/etc/utmp&nbsp;,&nbsp;这是一个很典型制造空档案的写法&nbsp;.&nbsp;/dev/null&nbsp;这个&nbsp;node&nbsp;<BR>##&nbsp;蛮有趣的&nbsp;,&nbsp;在某一方面来说&nbsp;,&nbsp;它有点像是一个&nbsp;&quot;&nbsp;黑洞&nbsp;&quot;&nbsp;.&nbsp;怎麽说呢&nbsp;?&nbsp;<BR>##&nbsp;各位可以试试看下面的指令&nbsp;&nbsp;ls&nbsp;&gt;&gt;&nbsp;/dev/null&nbsp;&nbsp;,&nbsp;当你使用这个指令之後会&nbsp;<BR>##&nbsp;发生什麽事呢&nbsp;?&nbsp;什麽也没发生&nbsp;,&nbsp;而且&nbsp;ls&nbsp;的输出就好像被丢到黑洞里&nbsp;,&nbsp;无&nbsp;<BR>##&nbsp;影无踪了&nbsp;.&nbsp;那也许你会想&nbsp;:&nbsp;那这有什麽用&nbsp;?&nbsp;我的回答是&nbsp;:&nbsp;的确没有什麽&nbsp;<BR>##&nbsp;很大的用处&nbsp;,&nbsp;但当你想抑制输出的讯息时&nbsp;,&nbsp;你就会用得到了&nbsp;.&nbsp;<BR>&nbsp;<BR>cat&nbsp;/dev/null&nbsp;&gt;&gt;&nbsp;/etc/utmp&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;依据&nbsp;fstab&nbsp;(&nbsp;filesystem&nbsp;table&nbsp;)&nbsp;中的描述&nbsp;,&nbsp;自动的挂上档案系统&nbsp;<BR>##&nbsp;但此时因为&nbsp;TCP/IP&nbsp;还没有设定&nbsp;,&nbsp;故不用&nbsp;NFS&nbsp;<BR>&nbsp;<BR>echo&nbsp;'Mount&nbsp;Filesystem&nbsp;!!!'&nbsp;<BR>/sbin/mount&nbsp;-avt&nbsp;nonfs&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;设定系统的时钟&nbsp;.&nbsp;下面这几行所做的事就是&nbsp;:&nbsp;看看&nbsp;/sbin/clock&nbsp;这个档案是&nbsp;<BR>##&nbsp;不是可执行的&nbsp;,&nbsp;假如可以执行&nbsp;,&nbsp;就把&nbsp;CMOS&nbsp;中的时间设定为系统的时间&nbsp;.&nbsp;<BR>&nbsp;<BR>if&nbsp;[&nbsp;-x&nbsp;/sbin/clock&nbsp;];&nbsp;then&nbsp;<BR>echo&nbsp;'Set&nbsp;System&nbsp;Clock'&nbsp;<BR>&nbsp;&nbsp;/sbin/clock&nbsp;-s&nbsp;<BR>fi&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;下面的四行若没有&nbsp;mark&nbsp;,&nbsp;则每次开机&nbsp;issue&nbsp;及&nbsp;motd&nbsp;都会被改变&nbsp;,&nbsp;这应该&nbsp;<BR>##&nbsp;可算是&nbsp;FAQ&nbsp;级的问题了&nbsp;......&nbsp;因为我有自己设计的&nbsp;issue&nbsp;及&nbsp;motd&nbsp;,&nbsp;所以&nbsp;<BR>##&nbsp;下面的四行前面都有&nbsp;#&nbsp;,&nbsp;被当成注解&nbsp;.&nbsp;<BR>##&nbsp;假如你要有自己的设定&nbsp;,&nbsp;下面一定都要&nbsp;mark&nbsp;起来&nbsp;<BR>&nbsp;<BR>#echo&nbsp;&gt;&nbsp;/etc/issue&nbsp;<BR>#echo&nbsp;Welcome&nbsp;to&nbsp;Linux&nbsp;/bin/uname&nbsp;-a&nbsp;|&nbsp;/bin/cut&nbsp;-d\&nbsp;&nbsp;-f3.&nbsp;&gt;&gt;&nbsp;/etc/issue&nbsp;<BR>#echo&nbsp;&gt;&gt;&nbsp;/etc/issue&nbsp;<BR>#echo&nbsp;&quot;/bin/uname&nbsp;-a&nbsp;|&nbsp;/bin/cut&nbsp;-d\&nbsp;&nbsp;-f1,3.&nbsp;(Posix).&quot;&nbsp;&gt;&nbsp;/etc/motd&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;接下来&nbsp;,&nbsp;将执行&nbsp;rc.serial&nbsp;,&nbsp;顾名思义&nbsp;,&nbsp;rc.serial&nbsp;是作串连埠设定的工作&nbsp;<BR>##&nbsp;在&nbsp;rc.serial&nbsp;中&nbsp;,&nbsp;内容虽然也是很简单&nbsp;,&nbsp;但并不像&nbsp;rc.S&nbsp;那样直接&nbsp;.&nbsp;换句话&nbsp;<BR>##&nbsp;说&nbsp;,&nbsp;读者至少要&nbsp;&quot;&nbsp;稍微&nbsp;&quot;&nbsp;懂一点&nbsp;shell&nbsp;programming&nbsp;,&nbsp;所以说呢&nbsp;,&nbsp;假如&nbsp;<BR>##&nbsp;还不会&nbsp;shell&nbsp;programming&nbsp;的读者呢&nbsp;,&nbsp;都应该赶快去找一本书来看一下&nbsp;,&nbsp;在&nbsp;<BR>##&nbsp;这篇文章的结尾&nbsp;,&nbsp;我会提出一些书单&nbsp;,&nbsp;各位可以去找找这几本书&nbsp;......&nbsp;<BR>&nbsp;<BR>/bin/sh&nbsp;/etc/rc.d/rc.serial&nbsp;<BR>echo&nbsp;'=================&nbsp;&nbsp;rc.S&nbsp;is&nbsp;finish&nbsp;NOW&nbsp;!!!&nbsp;&nbsp;========================='&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>到了这里&nbsp;,&nbsp;rc.S&nbsp;的最後一步&nbsp;,&nbsp;是去执行&nbsp;rc.serial&nbsp;.&nbsp;大家可以看一看&nbsp;<BR>/rc.d/rc.serial&nbsp;.&nbsp;好像很长的样子&nbsp;,&nbsp;但实际上呢&nbsp;,&nbsp;各位必然发现到了&nbsp;,&nbsp;这个&nbsp;<BR>shell&nbsp;script&nbsp;大部份指令的前面都有一个&nbsp;'#'&nbsp;号&nbsp;,&nbsp;这代表著&nbsp;,&nbsp;这些指令完全&nbsp;<BR>不会被执行&nbsp;.&nbsp;所以呢&nbsp;,&nbsp;真正有用的只不过寥寥十几行吧&nbsp;!&nbsp;在另一方面来说&nbsp;,&nbsp;<BR>假如你是用网路卡连上网路&nbsp;,&nbsp;那&nbsp;rc.serial&nbsp;对你并没有什麽大用处&nbsp;.&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>****************************&nbsp;&nbsp;rc.serial&nbsp;&nbsp;******************************&nbsp;<BR>&nbsp;<BR>#!/bin/sh&nbsp;<BR>#&nbsp;<BR>#&nbsp;/etc/rc.serial&nbsp;<BR>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes&nbsp;the&nbsp;serial&nbsp;ports&nbsp;on&nbsp;your&nbsp;system&nbsp;<BR>#&nbsp;<BR>#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Version&nbsp;2.01&nbsp;<BR>&nbsp;<BR>echo&nbsp;'=======================&nbsp;rc.serial&nbsp;is&nbsp;begin&nbsp;!!!&nbsp;====================='&nbsp;<BR>cd&nbsp;/dev&nbsp;<BR>&nbsp;<BR>##&nbsp;下面三行中的前两行是设定一些变数&nbsp;,&nbsp;由於在这个&nbsp;shell&nbsp;script&nbsp;中&nbsp;,&nbsp;须要&nbsp;<BR>##&nbsp;用到&nbsp;/bin/setserial&nbsp;-b&nbsp;&nbsp;这个指令&nbsp;,&nbsp;或是须要用到所有以&nbsp;cua&nbsp;开头的&nbsp;node&nbsp;<BR>##&nbsp;的次数太多了&nbsp;,&nbsp;因此&nbsp;,&nbsp;把它们设定为一个变数&nbsp;,&nbsp;是一个不错的方法&nbsp;.&nbsp;尤其&nbsp;<BR>##&nbsp;PORTS=`echo&nbsp;cua?&nbsp;cua??`&nbsp;这是一个聪明的写法&nbsp;,&nbsp;那为什麽不写成&nbsp;PORT=&nbsp;<BR>##&nbsp;`echo&nbsp;cua*`&nbsp;呢&nbsp;?&nbsp;各位可以在&nbsp;/dev&nbsp;下分别使用这两个指令&nbsp;,&nbsp;观察输出到底&nbsp;<BR>##&nbsp;有什麽不同&nbsp;......&nbsp;<BR>&nbsp;<BR>SETSERIAL=&quot;/bin/setserial&nbsp;-b&quot;&nbsp;<BR>PORTS=`echo&nbsp;cua?&nbsp;cua??`&nbsp;<BR>echo&nbsp;-n&nbsp;&quot;Configuring&nbsp;serial&nbsp;ports....&quot;&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>##&nbsp;下面这行&nbsp;,&nbsp;没有学过&nbsp;shell&nbsp;programming&nbsp;的人很可能会看不懂&nbsp;,&nbsp;不过没有&nbsp;<BR>##&nbsp;关系&nbsp;,&nbsp;这行中的&nbsp;${SETSERIAL}&nbsp;会被换成&nbsp;/bin/setserial&nbsp;-b&nbsp;,&nbsp;而&nbsp;${PORTS}&nbsp;<BR>##&nbsp;会被换成&nbsp;cua0&nbsp;cua1&nbsp;cua2&nbsp;.......&nbsp;cua31&nbsp;,&nbsp;所以整句翻译就是&nbsp;:&nbsp;<BR>##&nbsp;/bin/setserial&nbsp;-b&nbsp;-W&nbsp;cua0&nbsp;cua1&nbsp;cua2&nbsp;cua3&nbsp;cua4&nbsp;cua5&nbsp;cua6&nbsp;......&nbsp;cua31&nbsp;<BR>##&nbsp;那这行指令到底在做什麽呢&nbsp;?&nbsp;其实只是在做中断侦测的工作&nbsp;.&nbsp;<BR>&nbsp;<BR>${SETSERIAL}&nbsp;-W&nbsp;${PORTS}&nbsp;<BR>&nbsp;<BR>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -