《鸟哥的linux私房菜:基础学习篇》第3版 - 核心笔记(全)

 

目录

一、什么是 Linux ?

二、Linux 的安装与认识 Linux 支持的硬件

三、简易 KDE 的使用( X-Window)

四、在线求助 ( Help )

五、vi 的使用

六、文件与目录管理

七、BASH SHELL

八、基本账号管理

九、开机程序

十、程序与资源管理


一、什么是 Linux ?


• Unix 与 Linux 的历史
    o Multics 系统:由 Bell(贝尔实验室)、MIT(麻省理工学院)与 GE(美国通    用电器)合作开发的一个系统;
    o 1969:K. Thompson 替 DEC 公司写了一个简单的 file system 系统,此为 Unix    的前身,但是 Unix 一词尚未出现
    o 1973:由 Bell 的 D. Richie 以 C 语言改写了 Thompson 的小系统,全部以ASCII 文件进行改写,方便于应用!此时为第一次出现 Unix 这个操作系统的名词,不过,由于 Unix 乃针对不同的硬件而设定,因此仅出现在大型的 Server上面看到!经过数年后,有底下几种版本:
        1. System V 来自于 ATT 公司;
        2. BSD 来自于加州理工学院;
        3. AIX 来自于 IBM 公司
    o 1979:Richard Stallman 倡导 Open source 精神;
    o 1984:GNU 与 Free Software Foundation (FSF)由 R. Stallman 倡导;
    o 1986:Xfree86 出现在 Unix 上面,且在 1994 年整合于 Linux 中!
    o 1991:芬兰大学生 Linus Torvalds 在网络上首次公告 0.02 版的 Linux Kernel ,称为 hobby。

• 简单说明 GNU General Public License (GPL)的精神:
    o GPL 的授权之软件,乃为自由软件(Freeware),任何人皆可拥有他;
    o 开发 GPL 的团体(或商业企业)可以经由该软件的服务来取得服务的费用;
    o 经过 GPL 授权的软件,其属于 Open source 开源的情况,所以应该公布其原始码;
    o 任何人皆可修改经由 GPL 授权过的软件,使符合自己的需求;
    o 经过修改过后 Open source 应该回馈给 Linux 社群。
    (PS. Open source 最大的优点为多人维护, debugs 的速度较快,程序亦较为安全,但是缺点则是缺乏"专人"维护!)

• 什么是 Linux Distribution?
    基本上 Linux 是在 1991 年由芬兰大学生 Linus Torvalds 写的一个核心操作系统,最早仅只是核心而已,后来由于此一核心不但可以适合于主流 PC 的 x86 架构,并且稳定,因此有相当多的团队加入研究开发,后来某些公司将一些套件加入此一核心中,变成为完整的"安装光盘",亦即是 Linux Distribution 了!所以才会有这么多的 Linux 版本,各版本之间没有所谓的谁优谁劣,而是个有其优缺点!看你适合哪一款,就用那一款吧!
    开发商针对 Linux Kernel 进行开发,并加入适合该 Kernel 的套件(如 ftp, apache,mail 等等),及配合开发商本身的支持软件,而制作出来的可安装光盘即可称为distribution。

• 市面上众多的 Linux 版本当中,有何异同?
    唯一相同的地方在于 Linux 的"Kernel",目前 ( 2002/06/29 ) Kernel 发展至 2.4.xx版本,至于不同点则是 Linux 开发商自行加入或者是研发的软件。

• Linux Kernel 的功能:
    o System call interface 系统调用接口
    o Process control 进程控制
    o Memory management 内存管理
    o File System management 文件系统管理
    o Device drivers 设备驱动
    简单的说,任何跟系统硬件资源有关的都是 Linux Kernel 管辖的范围,所以编辑核心的时候,将核心编的越小越好!

• 试说明 Linux Kernel 与使用者之间的相关性?
    硬件 <=> Kernel (Modules Loader) <=> Shell ( Terminal or GUI ) <=> Users

• 试说明什么是 GUI
GUI 为 Graphical User Interface 的简写,即为使用者图形界面,目前我们在 Linux 上面的 GUI 一般称为 X-Window ,而其核心为 Xfree86 这个 X-Server !请注意,这个Xfree86 最大的功能即是在控制"显示卡、硬件周边"等跟 Window 有关的界面,所以X-Window 无法启动时,通常是 Xfree86 这个 X-Window 的核心驱动程序设定不完全有关!

• Linux 的优点:
    最大的优点来自于其良好的资源分配!所以具有:
    o 良好的多人多任务环境,资源分配平均;
    o 除了免费之外,在线更新速度快,除错与安全性均较佳;
    o 为 Open source 的授权,故而具有 open source 的所有优缺点;
    o 网络功能强大。

• Linux 是多人多任务的环境,请问何谓多任务(Multitask)与多人(Multiuser):
    o Multitask 指的是多任务环境,在 Linux 系统下, CPU 与其它例如网络资源可以同时进行多项工作, Linux 最大的特色之一即在于其多任务时,资源分配较为平均!
    o Multiuser 指的是 Linux 允许多人同时连上主机之外,每个使用者皆有其各人的使用环境,并且可以同时使用系统的资源!

 

 

 

二、Linux 的安装与认识 Linux 支持的硬件


• 一般而言, Linux 需要的配备并不需要太高级,但 Open Linux Server 3.1.1 需要?
    o CPU 需要在 PII, PIII, P4 或 K7, K8 以上等级;
    o RAM 至少需要 64 MB,
    o 硬盘至少 550 MB,全部安装则需要 1.7GB

• 什么是 IDE 界面,一般而言,普通 PC 允许几个 IDE 界面与装置?
    o IDE 为用来传输硬盘数据的一个汇流界面;
    o 共有 IDE1, IDE2 ,分别有 master 与 slave 所以共四个 IDE 装置支持!

• IDE2 的 master 之第一个 logical 磁盘中,其装置代号(文件名称)为何?
    /dev/hdc5

• 在硬盘分割 (Partition)时,最多有几个 primary + extended ?
    Primary + Extended 共四个,其中 Extended 通常只有一个! 

• 若在分割的时候,在 IDE1 的 slave 硬盘中,分割"六个有用"的扇区(具有 filesystem的),此外,有两个 primary 的扇区!请问六个扇区的代号?
    o /dev/hdb1(primary)
    o /dev/hdb2(primary)
    o /dev/hdb3(extended)
    o /dev/hda5(logical 底下皆为 logical)
    o /dev/hda6
    o /dev/hda7
    o /dev/hda8
    请注意,5-8 这四个 logical 相加的总和为 3!

• 一般而言安装 Linux 至少要有哪两个 partition 呢?
    o 根目录 / (root)
    o 虚拟内存 Swap

• 一般而言,在 RAM 为 64MB 或 128 MB 的系统中, swap 要开多大?
    约两倍的 RAM ,亦即为 128 MB 或 256 MB ,可获得较佳效能!

• 光驱与软盘机的设备文件(设备文件名称)?
    o /dev/cdrom
    o /dev/fd0

• 网卡(Network Interface Card, NIC)的设备文件?
    o /dev/eth0

• 预设的 Linux 文件格式为何?又,目前常用的 Journalling 文件格式为何?
    o Ext2
    o Ext3, Reseifs

• 安装 Linux 的主要流程?
    o BIOS(决定由 cdrom 或 floppy 开机,并加载 PC 硬件信息)
    o 载入 install kernel loader
    o 收集硬件信息
    o Hard Disk 之 Partition
    o Formation
    o Softpackage 的选择
    o 开始安装!

• 什么是 GMT 时间?台北时间差几个钟头?
    GMT 时间指的是格林威治时间,为标准的时间,而台北时间较 GMT 快了 8 小时!

• Tap, SCSI 硬盘, RAID, printer 的设备文件?
    o Tap : /dev/ht0 (IDE), /dev/st0 (SCSI);
    o SCSI H.D.: /dev/sd[a-p],
    o RAID : /dev/md[0-15];
    o printer : /dev/lp[0-2]
    

 

 

 

 

三、简易 KDE 的使用( X-Window)


• 若以 X-Window 为预设的登陆方式,那请问如何进入 Virtual console 呢?
    可以按下 [Ctrl] + [Alt] + [F1] ~ [F6] 进入 Virtual console ( 共六个 );
    而按下 [Ctrl] + [Alt] + [F8] 可回到 X-Window 的 desktop 中!

• 如何修改进入 Linux 时候的 run-level 运行等级?又 run-level 0, 1, 3, 5 各代表什么意思?
    o 修改 /etc/inittab 里头的设定即可;
    o 0:重新开机(如 init 0 );
      1:单人维护模式,没有网络功能;
      3:纯文字接口登陆,多人多任务环境;
      5:X-Window 登陆模式,多人多任务模式。

• XFree86 在 X-Window 中的角色为何?
    基本角色是控制显示相关硬件的核心角色,也可以说程序 X-Window 的 Server ,此外,KDE 这个 Window management 则是 X-Window 的 Client 呦!因此, XFree86 若死掉了,那么 KDE 就无法被启动!

• XFree86 的主要设定文件在哪里?
    就是在 /etc/X11/XF86Config-4 这个文件!

• KDE 预设提供多少个 Virtual desktops ?
    预设是提供四个,就是在进入 KDE 之后,最下方的 bar 上面有 1,2,3,4 那个字样的那个东东!

 

 

 

四、在线求助 ( Help )


• 在 Linux 系统中,安装的套件 (RPM 安装) 预设的文件数据放在那个目录底下?
    /usr/share/doc

• 查看 Linux 系统的在线求助可以使用什么指令?
    man command
    info command

• 使用 man 来查询在线求助的时候,若要查询类似参数文件(如/etc/passwd)需如何?
    man 5 passwd 或是例如 syslog.conf 则: man 5 syslog.conf 那个 5 即是大部分的config 文件的查询。

• 使用 man 查询 command 的所有相关指令时,需要下什么参数?
    man -k command 例如 man -k passwd

• man page 的 man path 变量,记录在那个文件中呢?!
    /etc/manpath.config

 

 

 

 

五、vi 的使用


• 在 linux 底下最常使用的文书编辑器为 vi ,请问如何进入编辑模式?
    o 在一般模式底下输入: i, I, a, A 为在本行当中输入新字符;(出现-Insert- )
    o 在一般模式当中输入: o, O 为在一个新的一行输入新字符;
    o 在一般模式当中输入: r, R 为取代字符!(左下角出现 -Replace-)

• 如何由编辑模式跳回一般模式?
    [Esc]

• 若上下左右键无法使用时,请问如何在一般模式移动光标?
    h, j, k, l

• 若 [pagedown] [ pageup] 在一般模式无法使用时,如何往前或往后翻一页?
    [Ctrl] + [f]
    [Ctrl] + [b]


• 如何到本文件的最后一行、第一行;本行的第一个字符、最后一个字符?
    G, 1G, 0, $
    (大写的G可以用快捷键:shift + g)

• 如何删除一行、n 行;如何删除一个字符?
    dd, ndd, x 或 X (dG 及 d1G 分别表示删除到页首及页尾)

• 如何复制一行、n 行并加以贴上?
    yy, nyy, p 或 P

• 如何搜寻 string 这个字符串?
    o : ?string (往前搜寻)
    o : /string (往后搜寻)

• 如何取代 word1 成为 word2,而若需要使用者确认机制,又该如何?
    o : %s/word1/word2/g
    o : %s/word1/word2/gc (需要使用者确认)

• 如何读取一个文件 filename 进来目前这个文件?
    :r filename

• 如何另存新文件成为 newfilename?
    :w newfilename

• 如何存文件、离开、存文件后离开、强制存文件后离开?
    :w; :q; :wq; :wq!

• 如何设定与取消行号?
    :set nu
    :set nonu

 

 

 

 

六、文件与目录管理


• 请问底下的目录与主要放置什么数据?
    o /etc/:几乎系统的所有设定文件均在此,尤其 passwd, shadow
    o /etc/rc.d/init.d:系统开机的时候加载服务的 scripts 的摆放地点
    o /boot:开机设定文件,也是预设摆放核心 vmlinuz 的地方
    o /usr/bin, /bin:一般执行文件摆放的地方
    o /usr/sbin, /sbin:系统管理员常用指令集
    o /dev:摆放所有系统装置文件的目录
    o /var/log:摆放系统登录文件的地方

• "旧的" Unix 系统与 Linux 系统的"文件名"最多可以容许几个字符?
    14, 255

• 什么是绝对路径与相对路径,要由 /usr/share/doc 进入到 /usr/share/man 由相对路径与绝对路径的写法各为何?
    o 绝对路径绝对由 / 开始写起,相对路径则非由 / 写起;
    o cd /usr/share/man ; cd ../man

• 在非为根目录的任何一个目录中,下达 ls -al 时,均会有"."及".."这两个目录,请问分别代表什么?
    o . :代表本目录
    o .. :代表上层目录

• 显示、变换目录的时候,使用什么指令?
    ls, pwd 为显示; 变换目录用 cd

• 新增目录、移除目录移动目录与拷贝目录有什么指令可用?
    o 新增: mkdir 目录
    o 移除: rmdir 目录(但是该目录内必须要已经清空了), rm -rf 目录
    o 移动: mv directory1 directory2
    o 拷贝: cp -r directory1 directory2

• 如何查看一个文件的"内容"(不要使用 vi 的情况下)
    cat, tac, more, less, head, tail, nl, od(查看二进制制)

• 什么是 hard link 与 soft link 的文件?有何不同?
    o Hard Links:在做成 hard link 文件时,系统会占用掉一个 inode ,由连结文件可发现其 link 字段多使用了一个 inode ,当源文件被删除的时候,该源文件的内容将继续保留在其它的 Hard Links 文件中;但所有 Link 占用的硬盘总量仅占一个文件的容量大小!(但 Hard link 不能连结不同 ilesystem 的文件)
    o Soft Links:类似快捷方式,当原始文件被删除,soft link 文件将找不到原始文件了!

• 如何在 root 的家目录下建立一个 /bin 的连结快捷方式
    ln -s /bin /root/bin

• 若有一个连结文件为 testing 连结到 test1.sh ,请问 copy testing 到 /tmp 底下,"cp testing /tmp"则 /tmp/testing 这个文件会是:
(1) 连结文件,连结到 test1.sh ;
(2) 一般文件,为内容与 test1.sh 相同?
答案为 (2)

• 当一个文件属性为 -rwxrwxrwt 则表示这个文件的意义为?
    任何人皆可读取、可写入,但是不可删除该文件(或目录),除了 root 与文件或目录拥有者有权可以删除。

• 我需要将一个文件的属性改为 -rwxr-xr-- 请问该如何下达指令?
    chmod 754 filename, chmod u=rwx,g=rx,o=r filename

• 在 /usr/bin/passwd 这个文件的属性为 -r-s--x--x 请问代表什么意思(s)
    那个 s 代表为 SUID ,当使用者使用这个文件进行工作的时候,将会具有该文件拥有者的权限!

• 如何改出 -rwxr-sr-x 与 -rwxr-xr-t 这个属性?
    chmod 2755 filename, chmod 1755 filename

• 如何查看一个文件的类型 (type) 例如纯文字文件、执行文件与 setuid 文件等?
    file filename

• 若一个使用者的 umask 为 033 ,请问他建立一个新的目录与文件时的预设属性为?
    o 目录:744 ? -rwx-r--r--
    o 文件:633 ? -rw--wx-wx

• 若我需要更改一个文件的拥有者与群组,该用什么指令?
    chown, chgrp

• 如何将一个文件的修改日期改成目前的时间?
    touch thisfilename

• 如何搜寻一个文件?
    which (仅用于指令搜寻), whereis, locate, fine

• Linux 预设的文件系统为何?此外,常用的 Journalling 文件格式有哪些?
    Ext2, Journalling 有 ext3 及 Reiserfs 等

• less 跟 more 有什么不同?
    less 可以翻页,但是 more 不行!

• 在比较两个文件的异同时,常使用的是 diff 与 cmp ,请教两者有何不同?
    diff 为一行一行比较, cmp 为一个字符(character)一个字符比较

 

 

 

1、磁盘挂载与虚拟内存问题

• 我要如何查看 Linux 系统当中所有已经挂载的硬盘容量与 inodes ?
    df -k, df -i

• 我要如何查看目前所在目录的所有文件占用的硬盘空间,此外,如何仅输出结果?
    du -k, du -h, du -s

• 如果扇区 /dev/hda3 有问题,偏偏他是被挂载上的,请问我要如何修理此一扇区?
    umount /dev/hda3
    fsck /dev/hda3


• 承上题,那么有问题的文件将被移动到那个目录下?
    /lost+found/

• 试说明新增一个 partition 在 /dev/hdb 当中,且为 hdb5 时,并挂载上 /disk2 ,需要哪些步骤?
    o fdisk /dev/hdb 按 n 新增,按 e 新增 extended ,再按 n 新增 logical
    o mke2fs -b 2048 /dev/hdb5
    o mkdir /disk2
    o mount -t ext2 /dev/hdb5 /disk2

• 如何新增加 64MB 的虚拟内存 swap ?
    o dd if=/dev/zero of=/tmp/swap bs=4k count=16384
    o mkswap /tmp/swap
    o swapon /tmp/swap

• 如果要设定一个新挂载上的扇区,令他可以在开机的时候被挂载上,应该编辑哪一个文件?
    o 先 /etc/fstab
    o 再 mount -a

• 简易说明 quota 的设置流程?
    o 编辑 /etc/fstab, 加入 usrquota and/or grpquota
    o reboot
    o quotacheck -avug (会产生 aquota.user(group))
    o quotaon -aug
    o edquota -u username
    o edquota -g groupnameo repquota -vu /dev/hd[a-d][1-16]

 

 

七、BASH SHELL

• 简单说明 bash shell 的功能特征:
    o 命令记忆功能 ~/.bash_history
    o 命令别名功能 alias
    o shell scripts 功能
    o 命令与文件名称补全功能 <tab>
    o 工作控制功能 jobs

• 在设定变量中,主要的规则为何?
    1. 变量与变量内容以等号来连结;
    2. 等号两边不能直接接空格符;
    3. 变量名称只能是英文字母与数字,但是数字不能是开头字符;
    4. 若有空格符可以使用双引号" " "或单引号" ' "来将变量内容结合起来,但须要特别留意,双引号内可以保有变量,但是单引号则仅为一般字符;
    5. 必要时需要以跳脱字符" \ "来将特殊符号(如 Enter, $, \, 空格符, ' 等)变成一般符号;
    6. 若该变量为扩增变量内容时,则需以双引号及 $变量名称如:" "$PATH":/home"继续累加内容;
    7. 若该变量需要在其它子程序执行,则需要以 export 来使变量可以动作,如"export PATH";
    8. 通常大写字符为系统预设变量,自行设定变量可以使用小写字符,方便判断(纯粹依照使用者兴趣与嗜好);
    9. 取消变量的方法为:"unset 变量名称"

• 显示环境变量与所有变量的指令为何?
    env, set

• 在环境变量当中,"使用者家目录、主机名称"的变量名称为:
    HOME, HOSTNAME

• 如何让一个变量可以持续到下一个程序 (PID) 去?
    export variable

• 在变量的设定当中,双引号与单引号有何不同?
    双引号里面可以包含变量,单引号谨代表一般字符!

• Command1 `command2` 这个指令代表什么意思?
    在这一行当中, command2 会先执行,而输出的结果会给 command1 当作参数。
    cd /lib/modules/`uname -r`/kernel 是最常使用的一例

• 在命令重导向当中, > 与 >> 有什么不同?
    > 会将导向的 file 覆盖
    >> 则是追加

• 若要将错误的输出导向"不见了"的设备,该如何是好?
    command 2> /dev/null

• 在管道指令中,我要将 last 输出的结果显示 root 的"登陆次数", 如何做?
    last | grep root | cut -d " " -f 1 | wc -l

• 如何设定一个变量名称为 name ,使其显示为" VBird’s testing variable. "?
    o name=VBird\’s\ testing\ variable.
    o name=”VBird’s testing variables.”
    o echo $name

• 请问 bash shell 的环境变量与自己的个人变量可以登陆便设定的文件?
    o Open Linux:
    /etc/profile, /etc/config.d/shells/bashrc, ~/.profile, ~/.bashrc,
    o Red Hat :
    /etc/profile, ~/.bash_profile, ~/.bashrc,

• 如何查询曾经操作过的指令?如何执行第 26 个操作过的指令?上一个操作过的指令?
    o history
    o !26
    o !!

• 如何设定命令别名?使 lm 与 ls -al|more 功能相同
    alias lm=’ls -al|more’

• 如何将 /bin 的所有信息输出到 /home/testing.dat 这个文件?
    ls -al /bin 1> /home/testing.dat

• 在上一题中,若还要输出到屏幕上,要如何是好?
    ls -al /bin | tee /home/testing.dat

• 执行 find ,并将正确的结果输出到 right 而错误结果输出到 error 当中?
    find / -name test 1> right 2>error

• 如何在指令列模式中将 /root/.bashrc 的资料加在 /home/col/.bashrc 当中?
    cat /root/.bashrc >> /home/col/.bashrc

• 不显示执行的结果要如何操作?
    command > /dev/null 2>&1

• 列出这个月曾经登陆主机的使用者信息即可,不需要重复?
    last | cut -d " " -f1 | sort | uniq

• 万用字符当中, *, ?, [] 各代表什么意思?
    o * 代表 0 到无限多个字符;
    o ? 代表一个任意字符;
    o [ ] 代表一个字符,这个字符在某一个限制范围内。

 

 

 

1、SHELL scripts

• 什么是 shell scripts ? scripts 有何功用?
    o 简单的说, scripts 就是一个内部含有多个或复杂的 command 的纯文本文件;
    o scripts 可以进行 program 的功能,但速度上较 C 慢了点!

• 要撰写可以经由键盘输入的 scripts 时,常使用到的指令?
    read variable

• 在 shell script 当中,在控制式中, && 与 || 代表什么意思?
    分别代表"和(同时成立)"及"或(仅其一成立就成立)"的意思!

• 在使用循环的时候,常使用到的控制式为哪三个?
    for, while, until

• 执行 scripts 的方法有哪两种?
    o 使用 sh script 或
    o 以 chmod 增加 scripts 的属性为可执行, chmod 777 script 并执行scripts。

• 如何宣告一个变量成为整数型态?
    declare -i variable

• 为何在 shell script 前面都要宣告 shell 呢?
    宣告 shell 方能让 script 了解该内容需要以何种 shell 来执行!目前 Linux 通常宣告 /bin/bash 这个 shell ,然而若在非 shell 环境中,又没有宣告 shell 类型时,可能会造成 script 无法执行的情况。

• 在判断式中,如何判断一个文件名是否存在?
    if [ -e filename ] 若存在则回传值为真!

• 在执行一个 scripts 时,在 scripts 内的变量, $0, $1 代表什么?
    o $0 代表 scripts 的文件名;
    o $1 代表第一个 parameter,例如 /etc/rc.d/init.d/xinetd start 那个 start 的变数即为 $1

• 若要写一个既定的 parameter (如 start ),用哪一个判断式较简单?
    可以使用 case …. Esac 的语法较为简单。

• 如何印出目前系统中的所有账号,并加以排序且输出到 /tmp/account 中?
    cut -d ':' -f 1 /etc/passwd | sort > /tmp/account

• 如何在不执行 scripts 的情况中 debug ?
    sh -n scripts

 

 

八、基本账号管理

• 如何新增一个使用者 username,且该使用者没有家目录?
    useradd -M username

• Linux 使用者的账号、密码与群组的名称文件放在哪里?
     /etc/passwd
     /etc/shadow
     /etc/group


• 建立新使用者的预设家目录内容在那个目录中?
    /etc/skel

• 建立一个新使用者时,其使用到的相关文件有哪些?
    o /etc/default/useradd
    o /etc/login.defs
    o /etc/skel/
    o /etc/passwd
    o /etc/shadow


• root 的 UID 与 GID 各为何?
    皆为 0

• 如何让一个使用者不能登陆主机,但是可以收信?
    将 /etc/passwd 最后一栏代表 shell 的名称改为 /bin/false

• 试说明一个使用者登陆系统的流程?
    1. 登陆:使用 /bin/login 程序,并输入 ID 与 passwd ;
    2. 确认密码:搜寻 /etc/passwd, /etc/shadow 确认密码!并取得使用者的相关讯息。
    3. 查核 pam 登陆模块:这个需要视主机的设定而定!
    4. 取得并执行 shell :由 /etc/passwd 取得 shell 之后,并执行 shell ,以bash 为例,将读入: /ete/profile ? ~/.bash_profile ( 或 .bash_login或 .profile ) ? ~/.bashrc ? 注销的时候执行 ~/.bash_logout

• 在 /etc/shadow 当中的日期设定中,其数字代表的意义为何?
    由 1970 年开始计算,故 1970 年 一月一日为 1 ,2002 年 1 月 1 日为 11689

• 如何变更使用者的一些属性?
    usermod, chfn, chsh, passwd

• 如何视察一个使用者 username 所拥有的群组呢?
    groups username

• 试说明如何手动增加一个使用者 username 与群组 groupname?
    1. 先看看 /etc/skel 当中,预设要给 user 的家目录内容;
    2. 新增 group : groupadd groupname
    3. 新增 user :useradd -m -g groupname username
    4. 给予密码: passwd username

• 试说明 /etc/passwd 这个文件的内容与格式:
    账号; 密码; UID; GID; 说明的内容; 家目录; SHELL

• 使用 id 这个指令时,可以显示什么讯息数据?
    UID, GID 跟 GROUP

• 可以控制使用者使用主机资源的预设文件在哪里?
    /etc/security/limits.conf

• 基本的压缩指令有哪些?
    tar, gzip, compress

 

 

 

 

九、开机程序

• 试说明开机流程:
    1. BIOS
    2. MBR ( boot loader )
    3. Loader ( lilo or grub, stage 1 and stage 2 )
    4. Kernel loader ( /boot/vmlinuz )
    5. init process ( 读取 /etc/inittab 取得 run-level )
    6. 开始执行 /etc/rc.d 内的 scripts
    7. 执行 /etc/modules.conf 内部的额外 kernel 模块
    8. 执行 /etc/rc.d/rc[1-6].d 的这些 run-level 内的 scripts !
    9. 执行 /bin/login 等待使用者登陆!

• 开机时后的加载讯息可以看哪里?
    dmesg
    grep “kernel” /var/log/messages

• 改变 run-level 或关机的指令
    shutdown
    halt,reboot
    init or telinit

• 改变登陆 Linux 时候预设的 run-level 要改那个文件?
    /etc/inittab

 

 

 

 

十、程序与资源管理

• 如何查看目前的程序?
    ps, top

• 如何查看目前的内存使用状况?
    free, top

• 目前的工作如何丢到背景中?
    [Ctrl] + z

• 如何取得目前背景中的工作,且将他拉回前景中?
    jobs -x filename 及 fg %number

• 如何设定一个程序在开始执行时候的优先值?
    nice -n [number] [command]

• 什么指令可以修改一个正在执行的程序之 nice 值?
    top, renice

• 在例行性命令中,使用的两支 demane 是什么?
    atd,  crond

• 使用 crontab 这个"指令"的时候,如何可以查看目前的工作与删除目前的工作?
    编辑: crontab -e
    查看: crontab -l
    删除: crontab -r

• 常用的 kill 指令之 signal 当中, 1, 9, 15 代表什么?
    o 1 重新读取一次 config file
    o 9 强制删除此一执行程序
    o 15 terminal 结束的意思

 

 

相关推荐
作者序   服务器搭建前进修专区 1章  搭建服务器前准备工作 2 1.1 linux 功能 3 1.1.1 用 linux 搭建服务器需要能力 3 1.1.2 搭建服务器难不难呢 4 1.2 搭建服务器基本流程 5 1.2.1 网络服务器成功连接分析 5 1.2.2 一个常见服务器设置案例分析 8 1.2.3 系统安与备份处理 25 1.3 自我评估是否已经具备服务器搭建能力 27 2章  网络基本概念 29 2.1 网络 30 2.1.1 什么是网络 30 2.1.2 计算机网络组成组件 32 2.1.3 计算机网络范围 33 2.1.4 计算机网络协议osi 七层协议 34 2.1.5 计算机网络协议tcp/ip 37 2.2 tcp/ip 网络接口层相关协议 39 .2.2.1 广域网使用设备 39 2.2.2 局域网使用设备——以太网 40 2.2.3 以太网络传输协议csma/cd 42 2.2.4 mac 封装格式 44 2.2.5 mtu(最大传输单位) 46 2.2.6 集线器、交换器与相关机制 47 2.3 tcp/ip 网络层相关数据包与数据 49 2.3.1 ip 数据包封装 49 2.3.2 ip 地址组成与分级 52 2.3.3 ip 种类与取得方式 55 2.3.4 netmask、子网与 cidr(classless interdomain routing) 57 2.3.5 路由概念 61 2.3.6 观察主机路由route 64 2.3.7 ip 与 mac网络接口层 arp 与 rarp 协议 65 2.3.8 icmp 协议 66 2.4 tcp/ip 传输层相关数据包与数据 67 2.4.1 面向连接可靠 tcp 协议 67 2.4.2 tcp 三次握手 72 2.4.3 无连接 udp 协议 73 2.4.4 网络防火墙与 osi 七层协议 74 2.5 连上 internet 前准备事项 75 2.5.1 ip地址、主机名与dns系统 75 2.5.2 连上 internet 必要网络参数 76 2.6 重点回顾 77 2.7 参考数据与延伸阅读 78 3章  局域网架构简介 79 3.1 局域网连接 80 3.1.1 局域网布线规划 80 3.1.2 网络设备选购建议 84 3.2 本书使用内部连接网络参数与通信协议 88 3.2.1 网络联机参数与通信协议 88 3.2.2 windows 个人计算机网络配置范例 90 4章  连接 internet 93 4.1 linux 连接 internet 前注意事项 94 4.1.1 linux 网卡 94 4.1.2 编译网卡驱动程序(option) 96 4.1.3 linux 网络相关配置文件 98 4.2 连接 internet 设置方法 100 4.2.1 手动配置固定 ip 参数 100 4.2.2 自动取得 ip 参数(dhcp 方法,适用 cable modem、ip 路由器环境) 105 4.2.3 adsl 拨号上网(适用 adsl 拨号以及光纤接入) 106 4.3 无线网络——以笔记本电脑为例 111 4.3.1 无线网络所需要硬件ap、无线网卡 111 4.3.2 关于 ap 设置网络安方面 113 4.3.3 利用无线网卡开始连接 115 4.4 常见问题说明 118 4.4.1 内部网络使用某些服务(如 ftp、pop3)所遇到连接延迟问题 118 4.4.2 域名无法解析问题 120 4.4.3 默认网关问题 120 4.5 重点回顾 121 4.6 参考数据与延伸阅读 121 5章  linux 中常用网络命令 122 5.1 设置网络参数命令 123 5.1.1  手动/自动配置ip 参数与启动/关闭网络接口ifconfig、ifup、ifdown 123 5.1.2 修改路由route 126 5.1.3 网络参数综合命令ip 128 5.1.4 无线网络iwlist, iwconfig 134 5.1.5 dhcp客户端命令dhclient 134 5.2 网络排错与查看命令 134 5.2.1 两台主机两点沟通ping 134 5.2.2 两主机间各节点分析traceroute 137 5.2.3 查看本机网络连接与后门netstat 138 5.2.4 检测主机名与 ip 对应host、nslookup 141 5.3 远程连接命令与即时通信软件 143 5.3.1 终端机与 bbs 连接telnet 143 5.3.2 ftp 连接软件ftp、lftp 144 5.3.3 图形接口即时通信软件pidgin(gaim 延伸) 147 5.4 文字接口网页浏览 150 5.4.1 文字浏览器links 150 5.4.2 文字接口下载器wget 152 5.5 数据包捕获功能 153 5.5.1 文字接口数据包捕获器tcpdump 153 5.5.2 图形接口数据包捕获器wireshark 157 5.5.3 任意启动 tcp/udp 数据包端口连接nc、netcat 159 5.6 重点回顾 160 5.7 参考数据与延伸阅读 161 6章  linux 网络排错 162 6.1 无法连接网络原因分析 163 6.1.1 硬件问题网线、网络设备、网络布线等 163 6.1.2 软件问题ip 参数设置、路由设置、服务器与防火墙设置等 165 6.1.3 问题处理 165 6.2 处理流程 166 6.2.1 步骤1网卡工作确认 166 6.2.2 步骤2局域网内各项连接设备检测 167 6.2.3 步骤3取得正确 ip 参数 168 6.2.4 步骤4确认路由表规则 169 6.2.5 步骤5主机名与 ip 查询 dns 错误 170 6.2.6 步骤6linux nat 服务器或 ip 路由器出问题 171 6.2.7 步骤7internet 问题 171 6.2.8 步骤8服务器问题 171 6.3 参考数据与延伸阅读 172  主机简易安防护措施 7章  网络安与主机基本防护限制端口、网络升级与selinux 174 7.1 网络数据包连接进入主机流程 175 7.1.1 数据包进入主机流程 175 7.1.2 常见攻击手法与相关保护 177 7.1.3 主机能执行保护操作软件更新、减少网络服务、 启动 selinux 182 7.2 网络自动升级软件 184 7.2.1 如何进行软件升级 184 7.2.2 centos yum 软件更新、镜像站点使用原理 186 7.2.3 yum 功能安装软件组、系统更新 187 7.2.4 挑选特定镜像站点修改 yum 配置文件与清除 yum 缓存 193 7.3 限制连接端口(port) 196 7.3.1 什么是port 197 7.3.2 端口查看netstat、nmap 198 7.3.3 端口与服务启动/关闭及开机时状态设定 201 7.3.4 安性考虑——关闭网络服务端口 205 7.4 selinux 管理原则 206 7.4.1 selinux 工作模式 206 7.4.2 selinux 启动、关闭与查看 210 7.4.3 selinux type 修改 212 7.4.4 selinux 策略内规则布尔值修订 214 7.4.5 selinux 日志文件记录所需服务 217 7.5 被攻击后主机修复工作 221 7.5.1 网管人员应具备技能 221 7.5.2 主机受攻击后恢复工作流程 223 7.6 重点回顾 225 7.7 参考数据与延伸阅读 225 8章  路由概念与路由器设置 226 8.1 路由 227 8.1.1 路由表产生类型 227 8.1.2 一个网卡绑多个 ipip alias 测试用途 229 8.1.3 重复路由问题 230 8.2 路由器配置 231 8.2.1 什么是路由器与 ip 路由器 231 8.2.2 何时需要路由器 233 8.2.3 静态路由路由器 234 8.3 动态路由器架设 239 8.4 特殊状况——路由器两边界面是同一个ip网段arp proxy 245 8.5 重点回顾 249 8.6 参考数据与延伸阅读 250 9章  防火墙与 nat 服务器 251 9.1 认识防火墙 252 9.1.1 关于本章一些提醒事项 252 9.1.2 为何需要防火墙 253 9.1.3 linux 系统上防火墙主要类别 253 9.1.4 防火墙一般网络布线示意 255 9.1.5  防火墙使用限制 258 9.2 tcp wrappers 259 9.2.1 哪些服务有支持 259 9.2.2 /etc/hosts.{allowdeny} 设置方式 261 9.3 linux 数据包过滤软件iptables 262 9.3.1 不同 linux 内核防火墙软件 262 9.3.2 数据包进入流程规则顺序重要性 263 9.3.3 iptables 表格(table)与链(chain) 264 9.3.4 本机 iptables 语法 267 9.3.5 ipv4 内核管理功能/proc/sys/net/ipv4/* 278 9.4 设置单机防火墙一个实例 281 9.4.1 规则草拟 281 9.4.2 实际设置 282 9.5 nat 服务器设置 286 9.5.1 什么是 nat? snat? dnat? 287 9.5.2 最简单 nat 服务器ip 分享功能 290 9.5.3 iptables 额外内核模块功能 292 9.5.4 在防火墙后端网络服务器上做dnat 设置 292 9.6 重点回顾 293 9.7 参考数据与延伸阅读 294 10章  申请合法主机名 295 10.1 为何需要主机名 296 10.1.1 主机名由来 296 10.1.2 重点在合法授权 297 10.1.3 申请静态还是动态 dns 主机名 298 10.2 注册一个合法主机名 299 10.2.1 静态 dns 主机名注册(以 hinet 为例) 299 10.2.2 动态 dns 主机名注册(以 no-ip 为例) 301 10.3 重点回顾 306 10.4 参考数据与延伸阅读 307   局域网内常见服务器搭建 11章  远程连接服务器 ssh / xdmcp / vnc /xrdp 310 11.1 远程连接服务器 311 11.1.1 什么是远程连接服务器 311 11.1.2 有哪些可供登录类型 312 11.2 文字接口连接服务器 ssh 服务器 313 11.2.1 连接加密技术简介 314 11.2.2 启动 ssh 服务 317 11.2.3  ssh 客户端连接程序——linux 用户 317 11.2.4  ssh 客户端连接程序——windows 用户 324 11.2.5  sshd 服务器详细配置 328 11.2.6 制作不用密码可立即登录ssh用户 332 11.2.7 简易安设置 335 11.3 最原始图形接口xdmcp服务启用 337 11.3.1  x window server/client 架构与各组件 338 11.3.2 设定 gdm xdmcp 服务 341 11.3.3 用户系统为 linux 登录方式 343 11.3.4 用户系统为 windows 登录方式 xming 345 11.4 华丽图形接口vnc 服务器 348 11.4.1 默认 vnc 服务器 348 11.4.2  vnc 客户端连接软件 350 11.4.3  vnc 搭配本机 xdmcp 画面 352 11.4.4 开机就启动 vnc server 方法 354 11.4.5 同步 vnc 可以通过图示同步教学 354 11.5 仿真远程桌面系统xrdp 服务器 355 11.6  ssh 服务器高级应用 357 11.6.1 在非标准端口启动 ssh(非 port 22) 357 11.6.2 以 rsync 进行同步镜像备份 359 11.6.3 通过ssh通道加密原本无加密服务 362 11.6.4 以ssh通道配合 x server 传递图形界面 363 11.7 重点回顾 367 11.8 参考数据与延伸阅读 368 12章  网络参数管理者dhcp服务器 369 12.1 dhcp 工作原理 370 12.1.1 dhcp 服务器用途 370 12.1.2 dhcp 协议工作方式 371 12.1.3 何时需要架设 dhcp 服务器 375 12.2 dhcp 服务器端配置 376 12.2.1 所需软件与文件结构 376 12.2.2 主要配置文件 /etc/dhcp/dhcpd.conf 语法 377 12.2.3 一个局域网 dhcp 服务器设置案例 379 12.2.4 dhcp 服务器启动与观察 380 12.2.5 内部主机 ip 对应 382 12.3 dhcp 客户端设置 382 12.3.1 客户端是 linux 382 12.3.2 客户端是 windows 384 12.4 dhcp 服务器端高级查看与使用 387 12.4.1 检查租约文件 387 12.4.2 让大量 pc 都具有固定 ip 脚本 387 12.4.3 使用 ether-wake 实现远程自动开机(remote boot) 388 12.4.4 dhcp 与 dns 关系 389 12.5 重点回顾 390 12.6 参考数据与延伸阅读 391 13章  文件服务器之一nfs 服务器 392 13.1 nfs由来与功能 393 13.1.1 什么是 nfs(network file system) 393 13.1.2 什么是 rpc(remote procedure call) 394 13.1.3 nfs 启动 rpc daemons 395 13.1.4 nfs 文件访问权限 396 13.2 nfs server 端配置 397 13.2.1 所需要软件 398 13.2.2 nfs 软件结构 398 13.2.3 /etc/exports 配置文件语法与参数 399 13.2.4 启动 nfs 404 13.2.5 nfs 连接查看 406 13.2.6 nfs 性 408 13.3 nfs 客户端设置 410 13.3.1 手动挂载 nfs 服务器共享资源 410 13.3.2 客户端可处理挂载参数与开机挂载 411 13.3.3 无法挂载原因分析 414 13.3.4 自动挂载 autofs 使用 415 13.4 案例演练 418 13.5 重点回顾 420 13.6 参考数据与延伸阅读 420 14章  账号管理nis 服务器 421 14.1 nis 由来与功能 422 14.1.1 nis 主要功能管理账号信息 422 14.1.2 nis 工作流程通过 rpc 服务 423 14.2 nis server 端设置 425 14.2.1 所需要软件 425 14.2.2 nis 服务器相关配置文件 425 14.2.3 一个实际操作案例 426 14.2.4 nis server 设置与启动 426 14.2.5 防火墙设置 431 14.3 nis client 端设置 431 14.3.1 nis client 所需软件与软件结构 432 14.3.2 nis client 设置与启动 432 14.3.3 nis client 端验证yptest、ypwhich、ypcat 435 14.3.4 用户参数修改yppasswd、ypchfn、ypchsh 437 14.4 nis 搭配 nfs 设置在群集计算机上应用 438 14.5 重点回顾 441 14.6 参考数据与延伸阅读 442 15章  时间服务器ntp 服务器 443 15.1 关于时区与网络校时通信协议 444 15.1.1 什么是时区?球有多少时区?gmt 在哪个时区? 444 15.1.2 什么是夏令时(daylight saving time) 446 15.1.3 coordinated universal time(utc)与系统时间误差 447 15.1.4 ntp 通信协议 447 15.1.5 ntp 服务器层次概念 448 15.2 ntp 服务器安装与设置 449 15.2.1 所需软件与软件结构 449 15.2.2 主要配置文件 ntp.conf 处理 451 15.2.3 ntp 启动与观察 453 15.2.4 安性设置 455 15.3 客户端时间更新方式 455 15.3.1 linux 手动校时工作date、hwclock 455 15.3.2 linux 网络校时 456 15.3.3 windows 网络校时 457 15.4 重点回顾 459 15.5 参考数据与延伸阅读 459 16章  文件服务器之二samba 服务器 460 16.1 什么是 samba 461 16.1.1 samba 发展历史与名称由来 461 16.1.2 samba 常见应用 462 16.1.3 samba 使用 netbios 通信协议 463 16.1.4 samba 使用 daemons 464 16.1.5 连接模式介绍(peer/peer、domain model) 465 16.2 samba 服务器基础设置 467 16.2.1 samba所需软件及其软件结构 467 16.2.2 基础网上邻居共享流程与 smb.conf 常用设置项目 469 16.2.3 不需密码共享(security = share,纯测试) 474 16.2.4 需账号密码才可登录共享(security = user) 479 16.2.5 设置成为打印机服务器(cups 系统) 486 16.2.6 安议题与管理 496 16.2.7 主机安装时规划与中文扇区挂载 499 16.3 samba客户端软件功能 500 16.3.1 windows 系统使用 501 16.3.2 linux 系统使用 505 16.4 以 pdc 服务器提供账号管理 509 16.4.1 让 samba 管理网络用户一个实际案例 509 16.4.2 pdc 服务器搭建 511 16.4.3 wimdows xp pro. 客户端 515 16.4.4 windows 7 客户端 519 16.4.5 pdc 问题克服 520 16.5 服务器简单维护与管理 521 16.5.1 服务器相关问题克服 521 16.5.2 让用户修改samba密码同时同步更新 /etc/shadow 密码 522 16.5.3 利用 acl 配合单一用户时管理 523 16.6 重点回顾 524 16.7 参考数据与延伸阅读 524 17章  局域网控制者proxy 服务器 526 17.1 什么是代理服务器 527 17.1.1 什么是代理服务器 527 17.1.2 代理服务器工作流程 528 17.1.3 上层代理服务器 529 17.1.4 代理服务器与 nat 服务器差异 531 17.1.5 搭建代理服务器用途与优缺点 531 17.2 proxy 服务器配置基础 533 17.2.1 proxy 所需 squid 软件及其软件结构 533 17.2.2 centos 默认 squid 设置 534 17.2.3 管理信任来源(如局域网)与目标(如恶意网站)acl 与 http_access 使用 539 17.2.4 其他额外功能项目 542 17.2.5 安性设置防火墙、selinux 与黑名单文件 544 17.3 客户端使用与测试 545 17.3.1 浏览器设置firefox & ie 545 17.3.2 测试proxy 失败画面 548 17.4 服务器其他应用设定 549 17.4.1 上层 proxy 与获取数据分流设定 549 17.4.2 proxy 服务放在 nat 服务器上透明代理(transparent proxy) 551 17.4.3 proxy 认证设置 553 17.4.4 末端日志分析sarg 555 17.5 重点回顾 557 17.6 参考数据与延伸阅读 558 18章  网络驱动器设备iscsi 服务器 559 18.1 网络文件系统还是网络驱动器 560 18.1.1 nas 与 san 560 18.1.2 iscsi接口 561 18.1.3 各组件相关性 562 18.2 iscsi target 设置 564 18.2.1 所需软件与软件结构 564 18.2.2 iscsi target 实际设置 565 18.3 iscsi initiator 设置 570 18.3.1 所需软件与软件结构 570 18.3.2 iscsi initiator 实际设置 570 18.3.3 一个测试范例 574 18.4 重点回顾 576 18.5 参考数据与延伸阅读 577   常见因特网服务器搭建 19章  主机名控制者dns 服务器 580 19.1 什么是 dns 581 19.1.1 用网络主机名取得 ip 历史渊源 581 19.1.2 dns 主机名对应 ip 查询流程 584 19.1.3 合法 dns 关键申请区域查询授权 590 19.1.4 主机名交由 isp 代管还是自己设置 dns 服务器 591 19.1.5 dns 数据库记录正解、反解、zone 意义 592 19.1.6 dns 数据库类型hint、master/slave 架构 594 19.2 client 端设置 596 19.2.1 相关配置文件 596 19.2.2 dns 正、反解查询命令host、nslookup、dig 597 19.2.3 查询域管理者相关信息whois 602 19.3  dns 服务器软件、种类与caching only dns服务器设置 604 19.3.1 搭建 dns 所需要软件 604 19.3.2 bind 默认路径设置与 chroot 604 19.3.3 单纯 cache-only dns 服务器与 forwarding 功能 605 19.4 dns 服务器详细设置 611 19.4.1 正解文件记录数据(resource record,rr) 612 19.4.2 反解文件记录 rr 数据 616 19.4.3 步骤一dns 环境规划 617 19.4.4 步骤二主配置文件 /etc/named.conf 设置 618 19.4.5 步骤三最上层 . (root) 数据库文件设置 620 19.4.6 步骤四正解数据库文件设置 620 19.4.7 步骤五反解数据库文件设置 622 19.4.8 步骤六dns 启动、查看与防火墙 623 19.4.9 步骤七测试与数据库更新 624 19.5 协同工作 dnsslave dns 及子域授权设定 626 19.5.1 master dns 权限开放 626 19.5.2 slave dns 设置与数据库权限问题 628 19.5.3 配置子域 dns 服务器子域授权课题 630 19.5.4 依不同接口给予不同 dns 主机名view 功能应用 632 19.6 dns 服务器高级设定 635 19.6.1 架设一个合法授权 dns 服务器 635 19.6.2 lame server 问题 637 19.6.3 利用 rndc 命令管理 dns 服务器 638 19.6.4 搭建动态 dns 服务器让你成为 isp 642 19.7 重点回顾 645 19.8 参考数据与延伸阅读 646 20章  www 服务器 647 20.1 www简史、资源以及服务器软件 648 20.1.1 www 简史、html 与标准制订(w3c) 648 20.1.2 www 服务器与浏览器所提供资源定位(url) 651 20.1.3  www 服务器类型系统、平台、数据库与程序(lamp) 653 20.1.4 https加密网页数据(ssl)及三方证书机构 655 20.1.5 客户端常见浏览器 656 20.2 www(lamp)服务器基本配置 657 20.2.1 lamp 所需软件与其结构 657 20.2.2 apache 基本设定 660 20.2.3 php 默认参数修改 668 20.2.4 启动 www 服务与测试 php 模块 670 20.2.5 mysql 基本设定 672 20.2.6 防火墙设置与 selinux规则放行 676 20.2.7 开始网页设计及安装架站软件,如 phpbb3 677 20.3 apache 服务器高级设定 678 20.3.1 启动用户个人网站(权限是重点) 678 20.3.2 启动某个目录 cgi(perl)程序执行权限 680 20.3.3 找不到网页时显示信息通知 681 20.3.4 浏览权限设定操作(order、limit) 683 20.3.5 服务器状态说明网页 686 20.3.6 .htaccess 与认证网页设定 687 20.3.7 虚拟主机设定(重要!) 691 20.4 日志文件分析以及 php 强化模块 694 20.4.1 php 强化模块(eaccelerator)与 apache 简易性能测试 694 20.4.2 syslog 与 logrotate 697 20.4.3 日志文件分析软件webalizer 698 20.4.4 日志文件分析软件awstats 700 20.5 建立连接加密网站(https)及防整站下载脚本 702 20.5.1 ssl 所需软件与证书文件及默认 https 702 20.5.2 拥有自制证书https 704 20.5.3 将加密首页与非加密首页分离 706 20.5.4 防整站下载软件 707 20.6 重点回顾 708 20.7 参考数据与延伸阅读 709 21章  文件服务器之三ftp 服务器 710 21.1 ftp 数据传输原理 711 21.1.1 ftp 功能简介 711 21.1.2 ftp 工作流程与使用到端口 712 21.1.3 客户端选择被动式连接模式 714 21.1.4 ftp 性问题与替代方案 716 21.1.5 开放什么身份用户登录 716 21.2 vsftpd 服务器基础设置 718 21.2.1 为何使用 vsftpd 718 21.2.2 所需要软件以及软件结构 719 21.2.3 vsftpd.conf 配置值说明 721 21.2.4 vsftpd 启动模式 726 21.2.5 centos vsftpd 默认值 727 21.2.6 针对实体账号设定 729 21.2.7 仅有匿名登录相关设置 734 21.2.8 防火墙设置 738 21.2.9 常见问题与解决之道 739 21.3 客户端图形接口 ftp 连接软件 740 21.3.1 filezilla 740 21.3.2 通过浏览器取得 ftp 连接 744 21.4 让 vsftpd 增加 ssl 加密功能 744 21.5 重点回顾 747 21.6 参考数据与延伸阅读 748 22章  邮件服务器postfix 749 22.1 邮件服务器功能与工作原理 750 22.1.1 电子邮件功能与问题 750 22.1.2 mail server 与 dns 之间关系 751 22.1.3 邮件传输所需要组件(mta、mua、mda)以及相关协议 754 22.1.4 用户收信时服务器端所提供相关协议 mra 757 22.1.5 relay 与认证机制重要性 759 22.1.6 电子邮件数据内容 760 22.2 mta 服务器postfix基础设定 761 22.2.1 postfix 开发 761 22.2.2 所需要软件与软件结构 762 22.2.3 一个邮件服务器设定案例 764 22.2.4 让 postfix 可监听 internet 来收发邮件 764 22.2.5 邮件发送流程与收信、relay 等重要概念 767 22.2.6 设定邮件主机权限与过滤机制/etc/postfix/access 770 22.2.7 设定邮件别名 /etc/aliases、~/.forward 770 22.2.8 查看邮件队列信息postqueue、mailq 773 22.2.9 防火墙设置 775 22.3 mra 服务器dovecot 设定 775 22.3.1 基础 pop3/imap 设定 775 22.3.2 加密 pop3s/imaps 设定 776 22.3.3 防火墙设置 777 22.4 mua 软件客户端收发邮件软件 777 22.4.1 linux mail 778 22.4.2 linux mutt 781 22.4.3 好用跨平台(windows/linux x)软件thunderbird 784 22.5 邮件服务器高级设定 788 22.5.1 邮件过滤一用 postgrey 进行非正规mail server 垃圾邮件过滤 788 22.5.2 邮件过滤二关于黑名单过滤机制 792 22.5.3 邮件过滤三基础邮件过滤机制 793 22.5.4 非信任来源 relay开放 smtp 身份认证 795 22.5.5 非固定 ip 邮件服务器福音relayhost 799 22.5.6 其他设置小技巧 800 22.6 重点回顾 803 22.7 参考数据与延伸阅读 804
一部分 linux规则与安装 0章 计算机概论 1 0.1 计算机辅助人脑好工具 2 0.1.1 计算机硬件五大单元 2 0.1.2 cpu种类 3 0.1.3 接口设备 4 0.1.4 运作流程 4 0.1.5 计算机分类 5 0.1.6 计算机上面常用计算单位(大小、速度等) 6 0.2 个人计算机架构与接口设备 7 0.2.1 cpu 7 0.2.2 内存 9 0.2.3 显卡 11 0.2.4 硬盘与存储设备 12 0.2.5 pci适配卡 14 0.2.6 主板 15 0.2.7 电源 16 0.2.8 选购须知 16 0.3 数据表示方式 17 0.3.1 数字系统 17 .0.3.2 文字编码系统 18 0.4 软件程序运行 18 0.4.1 机器程序与编译程序 18 0.4.2 操作系统 19 0.4.3 应用程序 22 0.5 重点回顾 22 0.6 本章习题 23 0.7 参考数据与扩展阅读 24 1章 linux是什么 25 1.1 linux是什么 26 1.1.1 linux是什么 26 1.1.2 linux之前unix历史 27 1.1.3 关于gnu项目 32 1.2 torvaldslinux开发 34 1.2.1 minix 34 1.2.2 对386硬件多任务测试 35 1.2.3 初次释出linux 0.02 36 1.2.4 linux开发虚拟团队产生 37 1.2.5 linux内核本 38 1.2.6 linux distributions 39 1.3 linux特色 42 1.3.1 linux特色 42 1.3.2 linux优缺点 43 1.3.3 关于授权 45 1.4 重点回顾 46 1.5 本章习题 46 1.6 参考数据与扩展阅读 47 2章 linux如何学习 48 2.1 linux当前应用角色 49 2.1.1 企业环境利用 49 2.1.2 个人环境使用 50 2.2 鸟哥linux苦难经验回忆录 51 2.2.1 鸟哥linux学习之路 51 2.2.2 学习心态分别 53 2.2.3 x window学习 54 2.3 有心向linux操作系统学习学习态度 55 2.3.1 从头学习linux基础 56 2.3.2 选择一本易读工具书 57 2.3.3 实践再实践 57 2.3.4 发生问题怎么处理.. 58 2.4 鸟哥建议(重点在solution学习) 59 2.5 重点回顾 60 2.6 本章习题 61 2.7 参考数据与扩展阅读 61 3章 主机规划与磁盘分区 62 3.1 linux与硬件搭配 63 3.1.1 认识计算机硬件配置 63 3.1.2 选择与linux搭配主机配置 64 3.1.3 各硬件设备在linux文件名 66 3.2 磁盘分区 67 3.2.1 磁盘连接方式与设备文件名关系 67 3.2.2 磁盘组成复习 68 3.2.3 磁盘分区表(partition table) 69 3.2.4 开机流程与主引导分区(mbr) 72 3.2.5 linux安装模式下,磁盘分区选择(极重要) 74 3.3 安装linux规划 76 3.3.1 选择适当distribution 76 3.3.2 主机服务规划与硬件关系 77 3.3.3 主机硬盘主要规划 79 3.3.4 鸟哥关于练习机安装建议 80 3.3.5 鸟哥两个实际案例 80 3.3.6 大硬盘配合旧主机造成无法开机问题 81 3.4 重点回顾 82 3.5 本章习题 82 3.6 参考数据与扩展阅读 82 4章 安装centos 5.x与多重引导小技巧 83 4.1 本练习机规划(尤其是分区参数) 84 4.2 开始安装centos 5 85 4.2.1 调整启动媒体(bios) 86 4.2.2 选择安装结构与开机 87 4.2.3 选择语系数据 89 4.2.4 磁盘分区 90 4.2.5 引导装载程序、网络、时区设置与root密码 95 4.2.6 软件选择 98 4.2.7 其他功能ram testing、安装笔记本电脑内核参数(option) 99 4.3 安装后首次设置 100 4.4 多重引导安装流程与技巧 104 4.4.1 新主机仅有一块硬盘 104 4.4.2 旧主机有两块以上硬盘 105 4.4.3 旧主机只有一块硬盘 105 4.5 关于大硬盘导致无法开机问题 106 4.6 重点回顾 106 4.7 本章习题 107 4.8 参考数据与扩展阅读 107 5章 首次登录与在线求助man page 108 5.1 首次登录系统 109 5.1.1 首次登录centos 5.x图形界面 109 5.1.2 gnome操作与注销 110 5.1.3 kde操作与注销 113 5.1.4 x window与命令行模式切换 115 5.1.5 在终端界面登录linux 116 5.2 在命令行模式下执行命令 117 5.2.1 开始执行命令 117 5.2.2 基础命令操作 118 5.2.3 重要热键[tab], [ctrl]-c, [ctrl]-d 121 5.2.4 错误信息查看 122 5.3 linux系统在线求助man page与info page 122 5.3.1 man page 123 5.3.2 info page 127 5.3.3 其他有用文件(documents) 129 5.4 超简单文本编辑器nano 130 5.5 正确关机方法 131 5.5.1 数据同步写入磁盘sync 132 5.5.2 惯用关机命令shutdown 132 5.5.3 重启、关机reboot, halt, poweroff 133 5.5.4 切换执行等级init 133 5.6 开机过程问题排解 134 5.6.1 文件系统错误问题 134 5.6.2 忘记root密码 135 5.7 重点回顾 136 5.8 本章习题 136 5.9 参考数据与扩展阅读 137 二部分 linux文件、目录与磁盘格式 6章 linux文件权限与目录配置 138 6.1 用户与用户组 139 6.2 linux文件权限概念 140 6.2.1 linux文件属性 141 6.2.2 如何改变文件属性与权限 144 6.2.3 目录与文件权限意义 147 6.2.4 linux文件种类与扩展名 150 6.3 linux目录配置 152 6.3.1 linux目录配置标准fhs 152 6.3.2 目录树(directory tree) 156 6.3.3 绝对路径与相对路径 158 6.3.4 centos查看 159 6.4 重点回顾 159 6.5 本章练习 160 6.6 参考数据与扩展阅读 160 7章 linux文件与目录管理 161 7.1 目录与路径 162 7.1.1 相对路径与绝对路径 162 7.1.2 目录相关操作 162 7.1.3 关于执行文件路径变量$path 165 7.2 文件与目录管理 167 7.2.1 查看文件与目录ls 167 7.2.2 复制、删除与移动cp, rm, mv 169 7.2.3 取得路径文件名与目录名称 173 7.3 文件内容查阅 173 7.3.1 直接查看文件内容 173 7.3.2 可翻页查看 175 7.3.3 数据选取 176 7.3.4 非纯文本文件od 177 7.3.5 修改文件时间或创建新文件touch 178 7.4 文件与目录默认权限与隐藏权限 180 7.4.1 文件默认权限umask 181 7.4.2 文件隐藏属性chattr, lsattr 183 7.4.3 文件特殊权限suid, sgid, sbit 184 7.4.4 查看文件类型file 187 7.5 命令与文件查询 187 7.5.1 脚本文件名查询 187 7.5.2 文件名查找 188 7.6 权限与命令间关系(极重要) 192 7.7 重点回顾 193 7.8 本章习题 194 7.9 参考数据与扩展阅读 195 8章 linux磁盘与文件系统管理 196 8.1 认识ext2文件系统 197 8.1.1 硬盘组成与分区复习 197 8.1.2 文件系统特性 197 8.1.3 linuxext2文件系统(inode) 199 8.1.4 与目录树关系 204 8.1.5 ext2/ext3文件访问与日志文件系统功能 206 8.1.6 linux文件系统操作 208 8.1.7 挂载点(mount point)意义 208 8.1.8 其他linux支持文件系统 与vfs 209 8.2 文件系统简单操作 210 8.2.1 磁盘与目录容量df, du 210 8.2.2 连接文件ln 213 8.3 磁盘分区、格式化、检验与挂载 217 8.3.1 磁盘分区fdisk 217 8.3.2 磁盘格式化 223 8.3.3 磁盘检验fsck, badblocks 225 8.3.4 磁盘挂载与卸载 226 8.3.5 磁盘参数修改 231 8.4 设置开机挂载 234 8.4.1 开机挂载/etc/fstab及/etc/mtab 234 8.4.2 特殊设备loop挂载(镜像文件不刻录就挂载使用) 236 8.5 内存交换空间(swap)构建 238 8.5.1 使用物理分区构建swap 238 8.5.2 使用文件构建swap 240 8.5.3 swap使用上限制 241 8.6 文件系统特殊查看与操作 241 8.6.1 boot sector与superblock关系 241 8.6.2 磁盘空间浪费问题 243 8.6.3 利用gnuparted进行分区行为 243 8.7 重点回顾 245 8.8 本章习题 245 8.9 参考数据与扩展阅读 246 9章 文件与文件系统压缩与打包 248 9.1 压缩文件用途与技术 249 9.2 linux系统常见压缩命令 250 9.2.1 compress 250 9.2.2 gzip, zcat 252 9.2.3 bzip2, bzcat 253 9.3 打包命令tar 253 9.3.1 tar 254 9.4 完整备份工具dump 259 9.4.1 dump 259 9.4.2 restore 262 9.5 光盘写入工具 265 9.5.1 mkisofs新建镜像文件 265 9.5.2 cdrecord光盘刻录工具 267 9.6 其他常见压缩与备份工具 269 9.6.1 dd 269 9.6.2 cpio 270 9.7 重点回顾 272 9.8 本章习题 272 9.9 参考数据与扩展阅读 273 三部分 学习shell与shell script 10章 vim程序编辑器 274 10.1 vi与vim 275 10.1.1 为何要学vim 275 10.2 vi使用 276 10.2.1 简单执行范例 277 10.2.2 按键说明 278 10.2.3 一个案例练习 281 10.2.4 vim保存文件、恢复与打开时警告信息 282 10.3 vim功能 284 10.3.1 块选择(visual block) 285 10.3.2 多文件编辑 286 10.3.3 多窗口功能 286 10.3.4 vim环境设置与记录~/.vimrc, ~/.viminfo 287 10.3.5 vim常用命令示意图 289 10.4 其他vim使用注意事项 289 10.4.1 中文编码问题 289 10.4.2 dos与linux断行字符 290 10.4.3 语系编码转换 290 10.5 重点回顾 291 10.6 本章练习 291 10.7 参考数据与扩展阅读 292 11章 认识与学习bash 293 11.1 认识bash这个shell 294 11.1.1 硬件、内核与shell 294 11.1.2 为何要学命令行界面shell 295 11.1.3 系统合法shell与/etc/shells功能 295 11.1.4 bash shell功能 296 11.1.5 bash shell内置命令type 298 11.1.6 命令执行 298 11.2 shell变量功能 299 11.2.1 什么是变量 299 11.2.2 变量显示与设置echo, unset 300 11.2.3 环境变量功能 304 11.2.4 影响显示结果语系变量(locale) 308 11.2.5 变量有效范围 309 11.2.6 变量键盘读取、数组与声明read,array,declare 310 11.2.7 与文件系统及程序限制关系ulimit 312 11.2.8 变量内容删除、替代与替换 313 11.3 命令别名与历史命令 317 11.3.1 命令别名设置alias,unalias 317 11.3.2 历史命令history 318 11.4 bash shell操作环境 320 11.4.1 路径与命令查找顺序 320 11.4.2 bash登录与欢迎信息/etc/issue, /etc/motd 320 11.4.3 bash 环境配置文件 321 11.4.4 终端机环境设置stty, set 325 11.4.5 通配符与特殊符号 327 11.5 数据流重定向 328 11.5.1 什么是数据流重定向 329 11.5.2 命令执行判断依据;,&&,
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页