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

鸟哥的Linux私房菜 读书笔记

2015-06-19 10:51 357 查看
个人表示,每次看电子档,都会从头开始读,话说会一直读不完。以前会有手抄板的读书笔记,但是不方便携带。现在就开始电子档的读书笔记吧。

1. Kernel 必须管理的事项有:

* 系统呼叫接口(system call interface)

* 行程管理(Process control)

* 内存管理(Memory mangement) : 控制整个系统的内存管理

* 档案系统管理(File system management)

* 装置的驱动(Device drivers)

2. Linux就是一个操作系统,这个操作系统里面含有最主要的Kernel以及Kernel提供的工具。他提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统来的,所以相当的稳定而功能强大。

3. GPL : General Public License 通用公共许可证

GNU's Not Unix

4. LInux的优点:

* 稳定的系统

* 免费或少许费用

* 安全性、漏洞的快速修补

* 多任务、多使用者

* 使用者与群组的规划

* 相对比较不耗资源的系统

* 适合需要小核心程序的嵌入式系统

Linux可以改进的地方:

* 没有特定的支持厂商

* 图形接口做的还不够好

5. 服务器(server):提供Internet 一种以上的网络服务的主机,

工作站(workstation) : 基本上, 工作站可以视为仅提供一群特定人士, 作为数值分析、科学用途的机器。 工作站与服务器的差别,大概在于有没有提供Internet上面的服务而已。

终端机(Terminal) : 就是end_user前面的那部计算机。

6. 常见授权模式

* open source: 表示软件释放时,一定伴随着原始码的释放,

* close source:程序的核心是封闭的,优点是有专人维护。

7. Linux 是什么?

简单的说, Linux就是一个操作系统,或者说, LInux是操作系统最底层的核心。这个核心可以管理整个计算机硬件,让计算机硬件可以完整的运作起来,并等待使用者输入指令。最早Linux是由Torvalds在1991年写出来的,后来由于他承接了Unix的良好传统:稳定性高、多人多任务的环境设计优良、要求配备较低等优点,所以很多软件开发商在这个核心上面开发,而某些厂商将这些软件与核心整合成为可以完整安装的光盘,而成为目前大家常常听到的Linux操作系统了。

8. 上面是POSIX?为何说Linux使用POSIX对于发展有很好的影响?

POSIX是一种标准规范,主要针对在Linux操作系统上面跑的程序进行规范。若你的操作系统符合POSIX,则符合POSIX的程序就可以在你的操作系统上面运行。Linux由于支持POSIX,因此很多Unix上的程序可以直接在Linux上运行,因此程序的移植相当简单!也让大家容易转换平台,提升Linux的使用率。

9. X_Window只是Linux上面的软件,并不是一套 操作系统。

10. 什么是LDP?全名是什么?网址在哪里?

LDP是Linux Documentation Project 的缩写,内容提到的是Linux操作系统的各个How_To以及相关的说明文件如 man page等等。网站在http://www.tldp.org。

11. 各个组件或装置在Linux底下都是一个档案!

12. CPU

外频: 是CPU与接口设备 进行数据传输/运算的速度。

倍频: 是CPU本身运算的时候加上去的一个运算速度。

CPU的频率:外频和倍频相乘。

13. BIOS:是Basic Input/Output System

14. 各硬件转置在Linux中的代号

IDE硬盘机---------- /dev/hd[a-d]

SCSI硬盘机 ——————/dev/sd[a-p]

USB随身碟 —————— /dev/sd[a-p] (与SCSI硬盘一样)

CDROM --—————— /dev/cdrom

软盘机 —————— /dev/fd[0-1]

打印机
—————— /dev/lp[0-2]

鼠标 ——————/dev/mouse

磁带机
—————— /dev/ht0(IDE) 或 /dev/st0 (SCSI界面)

15. 选择适当的distributions, 每个版本都有比较特别适合的使用群。举例来说, Ubuntu 就比较适合桌上型计算机使用,因为他的X Window整合的很好。Red Hat Enterprise Linux 与SuSE Enterprise Linux Server 机比较适合企业的Linux主机,因为他们的系统服务整合的比较好。

16. 多重开机选单:就是在系统开机时,可以让你选择进入到哪一种操作系统的程序。

17. 在预设情况下, LInux的操作系统都是摆在/usr/ 当中, 使用者的信息都是在/home下, /var底下是记录所以预设服务器的登录档, 且mail 与WWW预设的路径也在/var下。

18. 在硬盘里面有分为两个区域,一个是放置这个硬盘的信息区,我们称为Master Boot Recorder,MBR(主要开机扇区),一个则是实际档案数据放置的地方。MBR可以说是整个硬盘最重要的地方了,因为在MBR里面记录了两个重要的东西,分别是: 开机管理程序,与磁盘分割表(partition table)。因此,只要MBR物理实体坏掉了,那么这颗硬盘就差不多要报废了!因为,如果系统找不到partition table,就无法使用这块硬盘,所以数据即使没有丢掉,但是没有MBR,呵呵,还是不能使用的啦!

19. Linux的目录配置以 树状目录 来配置,至于磁盘分割区(partition) 则需要与树状目录相配合! 请问, 在预设的情况下,在安装的时候系统会要求你一定要分割出来的两个partition为何?

就是根目录【/】与虚拟内存[Swap]

20. 一般而言,在RAM为64MB或128MB的系统中,swap要开多大?

Swap可以简单的想成是虚拟内存,通常他的建议大小为RAM的两倍,但是实际上还是得视你的主机规格配备与用途而定。约两倍的RAM,亦即为128MB或256MB,可获得较佳效能!

21. Primary——主分割 Extended——延伸分割

一颗硬盘最多可以有4个Primary+Extended的扇区,其中,Extended只能有一个。因此,你如果要分割成四块磁盘分割的话,那么最多就是可以:

P+P+P+P
P+P+P+E

本身Extended是不能在任何系统上面被使用的,还需要再额外的将Extended分割成Logical(逻辑)分割才能被使用。

在Linux下,已经将partition table1-4预留下来了。

22. Linux预设的档案格式是Ext2, 但是更新的Ext3档案格式中,提供了更多的日志式记录功能。

23. 以Lilo或grub设定多重开机

24. 通常在安装Linux 的时候,最重要的就是磁盘分割了!请问:磁盘分割通常要分成几个步骤?

1. 进行磁盘分割partition

2. 进行格式 format

25. 重启 X Window?

在X Window的画面中直接按下
Alt + Ctrl + Backspace ,亦即退格键

26. 在Linux下面称文字模式为 终端机接口, terminal 或console。Linux预设的情况下,会提供六个Terminal来让使用者登入,同时,系统为了判断,会将F1~F6定义为tty1~tty6的操作接口环境。

Ctrl + Alt + F1~F6 : 文字接口登入tty1 ~tty6 终端机

Ctrl + Alt + F7 : 图形接口界面

27. [root@linux ~]# _

最左侧的root显示的是
目前使用者的账号 , 而@之后接的Linux则是 主机名称, 至于最右边的~ 则指的是目前所在的目录, #则是提示字符

提示字符方面, 在Linux当中,预设root的提示字符为#, 而一般身份使用者的提示字符为$

28. 一个称职的网络/系统管理人员,通常都会有两个账号,平时以自己的一般账号来使用Linux主机的任何资源,有需要动用到系统功能修订时,才会转换身份成为root。

29. 注销Linux

[root@linux ~]# exit

30. shell 提供我们使用者一些工具,可以透过这个工具,来控制Kernel的动作

31. [root@linux ~]# command [-options] parameter1 parameter2 ...

指令 选项 参数(1) 参数(2)

说明:

0. 一行指令中第一个输入的绝对是『指令(command)』或『可执行档案』

1. command 为指令的名称,例如变换路径的指令为 cd 等等;

2. 中刮号[]并不存在于实际的指令中,而加入参数设定时,通常为 - 号,例如 -h;

有时候完整参数名称会输入 -- 符号,例如 --help;

3. parameter1 parameter2.. 为依附在 option 后面的参数,或者是 command 的参数;

4. command, -options, parameter1.. 这几个咚咚中间以空格来区分,不论空几格 shell 都视为一格;

5. 按下 [Enter] 按键后,该指令就立即执行。[Enter] 按键为 <CR> 字符,他代表着一行指令的开始启动。

6. 指令太长的时候,可以使用 \ 符号来跳脱 [Enter] 符号,使指令连续到下一行。注意! \ 后就立刻接特殊字符。

其它:

a. 在 Linux 系统中,英文大小写字母是不一样的。举例来说, cd 与 CD 并不同。

b. 更多的介绍等到 bash 时,再来详述。

31. 基础指令操作

显示日期的指令:date

[root@linux ~]#date

Thu Jun 23 11:32:02 CST 2005

[root@linux ~]# date +%Y/%m/%d

2005/06/23

[root@linux ~]# date +%H:%M

11:35

显示日历的指令:cal

[root@linux ~]# cal

June 2005 -- 显示当月的月历

cal 的语法为:

[root@linux ~]#
cal [month] [year]

简单好用的计算器:bc

[root@linux ~]# bc

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

_<==这个时候,光标会停留在这里等待您的输入

• + 加法

• - 减法

• * 乘法

• / 除法

• ^ 指数

• % 余数

32. 几个重要的热键

Tab

• [Tab] 接在一串指令的第一个字的后面,则为命令补全;

• [Tab] 接在一串指令的第二个字以后时,则为『档案补齐』!

Ctrl + c

中断当前程序的按键

Ctrl + d

代表 键盘输入结束的意思, 也可以取代 exit

33. man

manual 操作说明 ,查询指令或相关档案的用法

基本上, man page 大致分成底下这几个部分:







man page 常用按键

34. info page

Linux提供的在线 查询指令或者是档案

info page 当中可以使用的按键

35. 数据同步写入磁盘 sync

这个指令在系统关机或者重新开机之前, 最好多执行几次!

注意: 这个指令只有root可以执行

36. 关机指令 shutdown

只有root有权利关机

参数:

-t sec : -t 后面加秒数, 即 过几秒后关机的意思

-k : 不要真的关机,只是发送警告讯息出去

-r :在将系统的服务停到之后就重新开机

-h  : 将系统的服务停掉后, 立即关机

-n : 不进过init 程序,直接以shutdown 的功能来关机

-f : 关机并开机后,强制略过fsck 的磁盘检查

-F : 系统重新开机之后,强制进行fsck 的磁盘检查

-c :取消已经在进行的shutdown指令内容

注意: 时间参数务必加入,否则会跳入run_level1(单人维护的登入模式)

37. 重新开机, 关机: reboot, halt, poweroff

reboot 其实与shutdown -r now 几乎相同

38. 预设情况下,所有的系统上的账号与一般身份使用者,还有root相关信息,都记录在/ect/passwd 这个档案中。

密码记录在/ect/shadow 这个档案下

Linux所有的群组名称都记录在/ect/group 内。

39. ls : list 的意思

ls -al

40. 档案属性

第一个属性代表这个档案是【目录、档案或者连结文件等等】

*当为【d】 则是 目录

*当为【-】 则是 档案

* 当为【l】 则是 连结档(link file)

* 当为【b】则是 为装置文件里面的可供存储的接口设备

* 当为【c】则是 为装置文件里面的串行端口设备,例如鼠标、键盘

接下来的属性中,三个为一组,且均为【rwx】的三个参数的组合。

【r】 代表 可读 read

【w】代表 可写 write

【x】代表 可执行 excute

*第一组 为【拥有人的权限】

*第二组为【同群组的权限】

*第三组为【其他非本群组的权限】

注意: 【x】 与【目录】的关系相当重要,如果你在一个目录下面不能执行任何指令的话,那么自然就无法进入了。因此,需要特别留意的是,如果你想开放一个目录让一些人进来的话,请记得将该目录的【x】属性给开放啦。

41. 数字类型改变档案权限

Linux 档案的基本属性就有九个,分别是owner/group/others组别的read/write/excute属性,例如:-rwxrwxrwx ,

这九个属性是三个三个一组的!

我们可以使用数字来代表各个属性,各属性的对照表如下:

r: 4

w:2

x: 1

同一组(owner/group/others)的三个属性(r/w/x)是需要累加的,例如当属性为 -rwxrwx--- ,则是

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others = --- = 0+0+0 = 0

所以该属性的数字就是770

42. Linux 档案种类

* 正规档案(regular file)

a. 纯文字文件(ASCII) :可以使用cat + 文件名来读取档案内容

b. 二进制文件(binary):可执行文件

c. 数据格式文件(data): last +文件名,cat +文件读出来的是乱码

* 目录(directory): 第一个属性是d, 如:[drwxrwxrwx]

* 连结档(link):类似于Windows下的快捷方式,第一个属性是l, 如[lrwxrwxrwx]

*设备与装置文件(device):在/dev目录下

a. 区块(block)设备档:就是硬盘,例如:/dev/hda1, 第一个属性为 b

b. 字符(character)设备档:串行接口设备,第一个属性为 c

*资料接口文件(socket):第一个属性为s, 常在/var/run 目录中看到这类文件

*文件输送文件(FIFO,pipe):目的在于解决多个程序同时存取一个档案造成的错误。第一个属性为p

43. Linux 档案副档名

.ssh

*Z, *.tar, *.tar.gz, *.zip, *.tgz

44. 当文件名称以. 开头的话,这个档案为隐藏档

45. Linux目录配置的依据 FHS

FHS:Filesystem Hierarchy Standard

/etc :放置设定档

/bin 与/sbin: 放置可执行挡

/var/log :放置系统登录文件

/usr/share :放置共享数据

46. 目录树(directory tree)的主要特性

* 目录树的起始点为根目录(/, root)

* 每一个目录不止能使用本地端的partition 的档案系统,也可以使用网络上的filesystem。 举例来说,可以利用Network File System(NFS) 服务器挂载某特定目录等

* 每一个档案在此目录树种的文件名(包含完整路径)都是独一无二的。

47. 绝对路径:由根目录(/)开始写起的文件名或目录名称,例如/home/dmtsai/.bashrc;

相对路径:开头不是/就属于相对路径的写法,相对路径是以 您当前所在路径的相对位置来表示的

48. 特殊目录

. : 代表当前的目录,也可以使用./来表示

.. : 代表上一层目录, 也可以用../来代表

49. Tips

这个root 在LInux里面的意义真的很多很多,躲到让人真搞不懂那是啥玩意。

如果以 账号 的角度来看,所谓的root指的是 系统管理员 的身份,

如果以 目录 的角度来看,所谓的root意即 指的是根目录,就是/

50. 根目录root(/),一般建议在根目录底下只接目录,不要只接有档案在/底下。根目录是开机的时候系统第一个挂载的partition,所以,所以开机过程会用到的档案,应该都要放置在这个partition当中。举例来说,/etc, /bin, /dev, /lib,/sbin 这五个次目录都应该要与根目录连在一起,不可独立成为某个partition。

51. /home: 这是系统预设的使用者家目录(home directory).

~ : 代表目前这个使用者的家目录

~dmtsai: 代表dmtsai 的家目录

52. Linux 的 EXT2 档案系统( inode ):

ext2 有一下特点:

* Blocks和inodes 在一开始格式化时(format)就已经固定了

* 一个partition能够容纳的档案数与iNode有关

*一般来说,每4Kbytes 的硬盘空间分配一个iNode

*一个iNode的大小为128 bytes

* Block为固定大小,目前支持1024/2048/4096

* block越大,则损耗的硬盘空间也越多

*关于单一档案

若 block size= 1024, 最大容量为16GB, 若block size=4096, 容量最大为2TB

*关于整个partition

若 block size= 1024, 最大容量为2TB, 若block size=4096, 容量最大为32TB

* 文件名最长达255字符,完整文件名长达4096字符

53. df [-ahikHTm] [目录或文件名]

显示目前磁盘最大容许容量、已经使用掉的容量、目前所知目录已使用容量等

54. du [-ahskm] 档案或目录名称

列出档案或目录容量

当直接输入du没有加任何参数时,则du 会分析 目前所在目录 的档案与目录所占用的硬盘空间





P261
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: