1.文件种类
使用man man命令也可以看到;
1 使用者在shell环境中可以操作的命令或可运行文件
2 系统核心可呼叫的函数与工具等
3 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)
4 装置文件的说明,通常在/dev下的文件
5 配置文件或者是某些文件的格式
6 游戏(games)
7 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
8 系统管理员可用的管理命令
9 跟kernel有关的文件
2.硬盘分区表头的16个字节的含义
硬盘分区表项的16个字节分配如下:
第1字节:是一个分区的激活标志,表示系统可引导。如是0则表示非活动分区;
第2字节:该分区起始磁头(HEAD)号,8位可表示0~255个磁头;
第3字节:该分区起始扇区(Sector)号,实际仅用该字节的低6位,表示1~63扇区;
第4字节:该分区起始的柱面(Cylinder)号,与第3字节高2位合成10位二进制数;
第5字节:该分区系统类型标志,06-FAT16,0B-FAT32,0F-LBA模式扩展分区,05-扩展分区,07-NTFS分区;
第6-8字节:该分区终止磁头号、分区结束的扇区号、分区结束的柱面号;
第9-12字节:该分区首扇区的相对扇区号;
第13-16字节:该分区占用的扇区总数。
举例说明如下,以下是某80G硬盘的分区信息(16进制):
000001B0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 80 01
000001C0: 01 00 06 FE 7F 04 3F 00 - 00 00 86 FA 3F 00 00 00
000001D0: 41 05 0F FE FF FF C5 FA –3F 00 00 E5 11 09 00 00
000001E0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA
第一分区的16字节内容为:80 01 01 00 06 FE 7F 04 3F 00 00 00 86 FA 3F 00
最前面的“80”是一个分区的激活标志,表示系统可引导;
“01 01 00”表示分区开始的磁头号为01,开始的扇区号为01,开始的柱面号为00;
“06”表示分区的系统类型是FAT16;
“FE 7F 04”表示分区结束的磁头号为FE,分区结束的扇区号为7F中的低6位即3F,分区结束的柱面号为04加上7F中的高2位即104;
“3F 00 00 00”表示首扇区的相对扇区号,应反过来读即00 00 00 3F;
“86 FA 3F 00”表示总扇区数即00 3F FA 86-->4192902个扇区;
据此可以计算出该分区的容量:4192902×512=21,979,665,824B =2.047GB。
第二分区的16字节内容为:00 00 41 05 0F FE FF FF C5 FA 3F 00 00 E5 11 09
最前面的“00”是一个未激活分区的标志;
“00 41 05”表示分区开始的磁头号为00,开始的扇区号为1,开始的柱面号为105;
“0F”表示分区的系统类型是扩展分区;
“FE FF FF”表示分区结束的磁头号为FE,分区结束的扇区号为FF中的低6位即3F,分区结束的柱面号为FF加上FF中的高2位即3FF,但当柱面号是大于3FF时,只能显示3FF,而此盘实际为2604H。
“C5 FA 3F 00”表示首扇区的相对扇区号,反过来读即00 3F FA C5扇区;
“00 E5 11 09”表示总扇区数即09 11 E5 00-->152167680个扇区;
据此可以计算出该分区的容量:152167680×512=7990985216B =72.56GB。
3.Linux下设置网络需要修改的文件
修改的参数 | 配置文件与重要启动脚本 | 观察结果的指令 |
IP相关参数 | /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/init.d/network restart |
ifconfig (IP/Netmask) route -n (gateway) |
DNS | /etc/resolv.conf | dig www.google.com |
主机名 | /etc/sysconfig/network /etc/hosts |
hostname (主机名) ping $(hostname) reboot |
4.Run Level等级
基本上,依据有无网络与有无 X Window 而将 run level 分为 7 个等级,分别是:
由於 run level 0, 4, 6 不是关机、重新启动就是系统保留的,所以:『 您当然不能将默认的 run level 配置为这三个值』, 否则系统就会不断的自动关机或自动重新启动.... 好了,那么我们启动时,到底是如何取得系统的 run level 的?当然是 /etc/inittab 所配置的罗!
5. grub.conf文件中的vga设置
关於核心功能当中的 vga 配置
事实上,你的 tty1~tty6 除了 80x24 的解析度外,还能够有其他解析度的支持喔!但前提之下是你的核心必须支持 FRAMEBUFFER_CONSOLE 这个核心功能选项才行。如何确定有没有支持呢?你可以查阅 /boot/config-2.6.18-92.el5 这个文件,然后这样搜寻:
[root@www ~]# grep 'FRAMEBUFFER_CONSOLE' /boot/config-2.6.18-92.el5 CONFIG_FRAMEBUFFER_CONSOLE=y # 这个项目如果出现 y 那就是有支持啦!如果被注解或是 n ,那就是没支持啦! |
那么如何调整 tty1 ~ tty6 终端机的解析度呢?先参考底下的表格再说 (此为十进位数值):
彩度\解析度 | 640x480 | 800x600 | 1024x768 | 1280x1024 | bit |
256 | 769 | 771 | 773 | 775 | 8 bit |
32768 | 784 | 787 | 790 | 793 | 15 bit |
65536 | 785 | 788 | 791 | 794 | 16 bit |
16.8M | 786 | 789 | 792 | 795 | 32 bit |
假设你想要将你的终端机萤幕解析度调整到 1024x768 ,且色彩深度为 15bit 色的时候,就得要指定 vga=790 那个数字! 举例来说,鸟哥的 tty1 就想要这样的解析度时,你可以这样做:
[root@www ~]# vim /boot/grub/menu.lst ....(前面省略).... title CentOS (2.6.18-92.el5) root (hd0,0) kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/1 rhgb quiet vga=790 initrd /initrd-2.6.18-92.el5.img ....(后面省略).... |
重新启动并选择此菜单进入 Linux,你跑到 tty1 去看看,嘿嘿!就已经是 1024x768 的解析度罗! 只是字会变的很小,但是画面的范围会加大就是了。不过,某些版本支持的是 16 进位制,所以还需要修改一下格式呢! 一般使用上表当中的值应该就可以了。不过,由於不同的操作系统与硬件可能会有不一样的情况,因此, 上面的值不见得一定可以在您的机器上面测试成功,建议您可以分别配置看看哩~以找出可以使用的值! ^_^
6.Linux核心源代码的目录介绍
Linux核心源代码目录为/usr/src/kernels/
7.使用 ether-wake 实行远程自动开机 (remote boot)
如果客户端的主机符合一些电源标准, 并且该客户端主机所使用之网络卡暨主板支持网络唤醒的功能时,我们就可以透过网络来让客户端计算机开机了。 如果你有一部主机想要让他可以透过网络来启动时,你必须要在这部客户端计算机上进行:
接下来请到永远开着的主机 DHCP 服务器上面 (其实只要任何一部 Linux 主机均可!) ,安装 net-tools 这个软件后, 就会取得 ether-wake 这个指令,这就是网络唤醒的主要功能!那该如何使用这个指令呢?假设客户端主机的 MAC 为 11:22:33:44:55:66 并且与我的服务器 eth1 相连接好了,那么你想要让这部主机被唤醒,就这样做吧:
[root@www ~]# ether-wake -i eth1 11:22:33:44:55:66 # 更多功能可以这样查阅喔: [root@www ~]# ether-wake -u |
然后你就会发现,哈哈!那部客户端主机被启动了!以后如果你要连到局域网络内的话, 只要能够连上你的防火墙主机,然后透过这个 ether-wake 软件,就能够让你局域网络内的主机启动了, 控管上面就更加方便的啦!你说是吧! ^_^
Tips: 鸟哥办公室有一部桌机是经常用来测试的机器,但是因为比较耗电,因此当鸟哥离开办公室时,就会将计算机关闭。 不过鸟哥办公室有一部 NAT server 在负责防火墙的第一道关卡,当鸟哥在家里有需要查询到学校桌机的数据时, 桌机关了怎办?没关系,透过 NAT server 登入后,使用 ether-wake 唤醒桌机,那就能够开机进去工作啰! 这样也比较不怕耗电问题~ |
8.Linux系统目录结构
9.需要和根目录放在同一个分割槽的目录
因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分割槽则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分割槽去!那哪些目录不可与根目录分开呢?有底下这些:
10.忘记root密码的解决办法
常常有些朋友在配置好了Linux之后,结果root密码给他忘记去!要重新安装吗?不需要的, 你只要以单人维护模式登陆即可更改你的root密码喔!由于lilo这个启动管理程序已经很少见了, 这里鸟哥使用grub启动管理程序作为范例来介绍啰!
先将系统重新启动,在读秒的时候按下任意键就会出现如同第四章图3.2的菜单画面,仔细看菜单底下的说明, 按下『e』就能够进入grub的编辑模式了。此时你看到的画面有点像底下这样:
root (hd0,0) kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet initrd /initrd-2.6.18-128.el5.img |
此时,请将光标移动到kernel那一行,再按一次『 e 』进入kernel该行的编辑画面中, 然后在出现的画面当中,最后方输入 single :
kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quiet single |
再按下『 Enter 』确定之后,按下 b 就可以启动进入单人维护模式了! 在这个模式底下,你会在tty1的地方不需要输入密码即可取得终端机的控制权(而且是使用root的身份喔!)。 之后就能够修改root的密码了!请使用底下的命令来修改root的密码喔!
[root@www ~]# passwd # 接下来系统会要求你输入两次新的密码,然后再来reboot即可顺利修订root密码了! |
11.Linux发行版之间的区别
最大区别在于,发行版的侧重点:
同时期发布的发行版Linux Kernel 版本差别不大,软件包管理系统不太一样:
备注:上述关于Linux的基础知识大多摘自鸟哥的Linux私房菜网站
参考资料:
[1].鸟哥的Linux私房菜,http://vbird.dic.ksu.edu.tw/