您的位置:首页 > 运维架构 > Linux

鸟哥的linux私房菜(基础学习篇)

2009-05-06 22:46 274 查看

鸟哥的linux私房菜(基础学习篇)

1.概述:
linux就只是一个内核(就是控制硬件的东西),它提供了一个完整操作系统中最底层的硬件控制与资源管理的完整架构.
有些公司将一些需要的软件套件装载到linux核心程序中,并且以光盘发行,这种光盘数据就是发行版,即俗称的"distribution"
2.硬盘代号
A.硬件与硬件代号:
硬件设备 在linux中的代号
IDE硬盘 /dev/hd[a-d] (方括号内的字母为a-d的任何一个,表示/dev/hda,/dev/hdb等等)
SCSI硬盘 /dev/sd[a-p]
光驱 /dev/cdrom
打印机 /dev/lp
鼠标 /dev/mouse
磁盘 /dev/ht0 (IDE) or /dev/st0(SCSI)
网卡 /dev/ethn(n从0开始)

B.硬盘数据线与硬盘代号
通常在586之后生产的主机板上都有两条数据线的接口(数据线就是用来连接硬盘与主机板的东西),我们称这种接口为IDE接口,这也是目前的主流硬盘接口,为了区分硬盘读取的先后顺序,主机板上的这两个接口分别被称为Primary(主要的)与Secondary(次要的)。如果您仔细观察,每一条数据线上还有两个插孔,也就是说一条数据线可以接两个IDE接口的设备(硬盘或光驱),而您有两条数据线,因此一个主机板在默认情况下,应该可以接4个IDE接口的设备。好了,那么如何判别哪一个数据线是主硬盘(Master),哪一个是从硬盘(Slave)呢?这时就需要调整硬盘上的跳针(jump)才可以知道。请查看您的硬盘驱动器,上面应该会有图示说明。
所以,如果我有一个光驱,那么在我的主机上最多只能再安装3块IDE接口的硬盘。由于我的硬盘与Linux的硬盘代号有关,我怎么知道这个硬盘代号呢?先从IDE 1(Primary IDE)的主硬盘计算,最后是IDE 2的从硬盘,所以各个硬盘的代号如表3.1所示。

 IDE \ Jumper  IDE 1(Primary)  IDE 2(Secondary)
 主硬盘   /dev/hda  /dev/hdc
 从硬盘   /dev/hdb  /dev/hdd
3.主机硬盘的主要规划
A: 最简单的分区模式:
linux安装的过程中,至少要有两个分区才行,一个是根目录,",",一个是虚拟内存"Swap",(大小一般为机器物理内存的一倍或两倍就行了),另一个比较重要的是/boot。grub启动时需要的文件都在/ b o o t 目录。这样就算工作分区出了问题,只要这个分区没有问题,同样可以启动.
B: MBR
硬盘分为两个区域:MBR,放置实际数据文件的地方
MBR(Master Boot Recorder)主引导扇区,放置硬盘的信息。MBR 可以说是整个硬盘最重要的地方了,因为在 MBR 里面记录了两个重要的东西,分别是:开机管理程序,与磁盘分区表 ( partition table )。所以我们所做的硬盘分区,也就是在修改partition table。 由于这个 MBR 区块的容量有限,所以,当初设计的时候,就只有设计成 4 个分区纪录,这些分区记录就被称为 Primary ( 主分区 ) 及 Extended ( 扩展分区 ) ,也就是说,一颗硬盘最多可以有 4 个 Primary + Extended 的扇区,其中,Extended 只能有一个,因此,你如果要分区成四块磁盘分区的话,那么最多就是可以:
P + P + P + P
P + P + P + E
的情况来分区了。需要特别留意的是,如果上面的情况中, 3P +E 只有三个『可用』的磁盘,如果要四个都『可用』,就得分区成 4P 了!( 因为 Extended 不能直接被使用,还需要分区成 Logical 才行)
思考一:如果我要将我的大硬盘暂时分区成四个 partition ,同时,还有其它的空间可以让我在未来的时候进行规划,那么该如何分区?
由刚刚的说明,我们可以知道, Primary + Extended 最多只能有四个 partition,而如果要超过 5 个 partition 的话,那么就需要 Extended 的帮忙。因此,在这个例子中,我们千万不能分区成四个 Primary 为什么呢?假如您是一个 20 GB 的硬盘,而 4 个 primary 共用去了 15 GB ,您心想还有 5 GB 可以利用对吧?错!剩下的 5 GB 完全不能使用,这是因为已经没有多余的 partition table 纪录区可以记录了,因此也就无法进行额外的分区,当然啰,空间也就被浪费掉了!因此,请千万注意,如果您要分区超过 4 槽以上时,请记得一定要有 Extended 分区区,而且必须将所有剩下的空间都分配给 Extended ,然后再以 logical 的分区区来规划 Extended 的空间。
思考二:我可不可以仅分区 1 个 Primary 与 1 个 Extended 呢?
当然可以!基本上, Logical 可以有 64 个,因此,你可以仅分区一个主分区,并且将所有其它的分区都给 Extended ,利用 Logical 分区来进行其它的 partition 规划即可!
思考三:假如我的硬盘安装在 IDE 1 的 Master ,并且我想要分区成 6 个可以使用的硬盘扇区,那么每个磁盘在 Linux 底下的代号为何?
说明:
由于硬盘在 Primary + Extended 最多可以有四个,因此,在 Linux 底下,已经将 partition table 1 ~ 4 先留下来了,如果只用了 2 个 P + E 的话,那么将会空出两个 partition number 呦!再详细的说明一下,假设我将四个 P + E 都用完了。其中Extended /dev/hda4包括三个逻辑分区。
实际可以使用的是 /dev/hda1, /dev/hda2, /dev/hda3, /dev/hda5, /dev/hda6, /dev/hda7 这六个 partition!至于 /dev/hda4 这个 Extended 扇区本身仅是用来规划出让 Logical 可以利用的磁盘空间而已!
那么万一我只想要分区 1 个 Primary 与 1 个 Extended 呢?
因为 1~4 号已经被预留下来了,所以第一个 Logical 的代号由 5 号开始计算起来,而后面在被规划的,就以累加的方式增加磁盘代号啰!而其中 /dev/hda3, /dev/hda4 则是空的,被保留下来的代号。

4.开关机及指令输入
A.字符启动界面

第一行显示的是linux发行商与发布的版本
第二行显示的是linux核心版本以及硬件等级
第三行显示主机名称,login后需要你输入登陆用户的帐号
第四行在第三行输入后才有,让你输入密码,但是在你输入密码时,界面不会出现任何字样
第五行是上次登陆的时间和终端。
第六行是正确登陆后的才有的信息,最左边的是当前用户的帐号,@连接的是主机名称,~指当前所在目录,
B.图形和字符界面的切换
Ctrl + Alt + F1...F6这是Text界面,Ctrl + Alt + F7是XWindows界面
从文字界面切换到图形界面,在命令行界面输入startx,前提是 XFree86需要设置OK.
修改预设的启动界面,修改/etc/inittab文件
里的id:5:initdefault:(图形)为id:3:initdefault:(字符)
B.指令的输入
[root@test root]#command [-options] parameter1 parameter2...
指令 选项 参数1 参数2

说明:1.指令和参数区分大小写
2.command为实际的指令名称,例如cd ,ls等
3.在选项中,中括号是不必要的,在进行参数设定时,通常为"-"号,若为完整的参数名称,则输入"--"符号
4. parameter1 parameter2为option后面的参数或是command的参数
5.指令太长时,可以使用"\"符号是指令连接到下一行

ctrl+c 在linux下,是指中断当前程序
q是很多指令定义的退出键
C:在线求助man命令解析
[vbird@www ~]$ man date
DATE(1) User Commands DATE(1)
# 請注意上面這個括號內的數字
NAME <==這個指令的完整全名,如下所示為date且說明簡單用途為設定與顯示日期/時間
date - print or set the system date and time
SYNOPSIS <==這個指令的基本語法如下所示
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
DESCRIPTION <==詳細說明剛剛語法談到的選項與參數的用法
Display the current time in the given FORMAT, or set the system
date.
-d, --date=STRING <==左邊-d為短選項名稱,右邊--date為完整選項名稱
display time described by STRING, not 'now'
-f, --file=DATEFILE
like --date once for each line of DATEFILE
-r, --reference=FILE
display the last modification time of FILE
....(中間省略)....
# 找到了!底下就是格式化輸出的詳細資料!
FORMAT controls the output. The only valid option for the second
form specifies Coordinated Universal Time. Interpreted sequences
are:
%% a literal %
%a locale's abbreviated weekday name (e.g., Sun)
%A locale's full weekday name (e.g., Sunday)
....(中間省略)....
ENVIRONMENT <==與這個指令相關的環境參數有如下的說明
TZ Specifies the timezone, unless overridden by command line
parameters. If neither is specified, the setting from
/etc/localtime is used.
AUTHOR <==這個指令的作者啦!
Written by David MacKenzie.
REPORTING BUGS <==有問題請留言給底下的email的意思!
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT <==受到著作權法的保護!用的就是 GPL 了!
Copyright ? 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the
terms of the GNU General Public License
<http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to
the extent permitted by law.
SEE ALSO <==這個重要,你還可以從哪裡查到與date相關的說明文件之意
The full documentation for date is maintained as a Texinfo manual.
If the info and date programs are properly installed at your site,
the command
info date
should give you access to the complete manual.
date 5.97 May 2006 DATE(1)

DATE(1) User Commands DATE(1)中括号中的数字1指一般使用者可使用的指令
常見的幾個數字的意義是這樣的:
代號 代表內容
1 使用者在shell環境中可以操作的指令或可執行檔
2 系統核心可呼叫的函數與工具等
3 一些常用的函數(function)與函式庫(library),大部分為C的函式庫(libc)
4 裝置檔案的說明,通常在/dev下的檔案
5 設定檔或者是某些檔案的格式
6 遊戲(games)
7 慣例與協定等,例如Linux檔案系統、網路協定、ASCII code等等的說明
8 系統管理員可用的管理指令
9 跟kernel有關的文件
舉例來說,如果你下達了『man null』時,會出現的第一行是:『NULL(4)』,對照一下上面的數字意義, 嘿嘿!原來null這個玩意兒竟然是一個『裝置檔案』呢!很容易瞭解了吧!
D:shutdown,reboot,sync,halt

shutdown [-cfFhknr(参数名称)] [-t 秒数] 时间 [警告信息]

具体各参数功能:

-c 取消前一个shutdown命令。值得注意的是,当执行一个如“shutdown -h 11:10”的命令时,只要按“Ctrl+C”键就可以中断关机的命令。若是执行如“shutdown -h 11:10 & ” 的 命 令 将 shutdown转到后台时,则需要使用shutdown -c将前一个shutdown命令取消。

-f 重新启动时不执行fsck(注:fsck是Linux下的一个检查和修复文件系统的程序)。

-F 重新启动时执行fsck。

-h 将系统关机,在某种程度上功能与halt命令相当。

-k 只是送出信息给所有用户,但并不会真正关机。

-n 不调用init程序关机,而是由shutdown自己进行(一般关机程序是由shutdown调用init来实现关机动作),使用此参数将加快关机速度,但是不建议用户使用此种关机方式。

-r shutdown之后重新启动系统。

-f<秒数> 送出警告信息和关机信号之间要延迟多少秒。警告信息将提醒用户保存当前进行的工作。

[时间] 设置多久时间后执行shutdown命令。时间参数有hh:mm或+m两种模式。hh:mm格式表示在几点几分执行shutdown命令。例如 “shutdown 10:45”表示将在10:45执行shutdown。+m表示m分钟后执行shutdown。比较特别的用法是以now表示立即执行shutdown。 值得注意的是这部分参数不能省略。

[警告信息] 要传送给所有登入用户的信息。

应用举例:

指定现在立即关机: # shutdown -h now

指定5分钟后关机,同时送出警告信息给登入用户:# shutdown +5 “System will shutdown after 5 minutes”

halt----最简单的关机命令
   其实halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。
   参数说明:
   [-n] 防止sync系统调用﹐它用在用fsck修补根分区之后﹐以阻止内核用老版本的超级块〔superblock〕覆盖修补过的超级块。
   [-w] 并不是真正的重启或关机﹐只是写wtmp〔/var/log/wtmp〕纪录。
   [-d] 不写wtmp纪录〔已包含在选项[-n]中〕。
   [-f] 没有调用shutdown而强制关机或重启。
   [-i] 关机〔或重启〕前﹐关掉所有的网络接口。
   [-p] 该选项为缺省选项。就是关机时调用poweroff。

sync指令是数据回填指令
reboot是重启指令
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐