Archive for 九月, 2005


linux命令卡片

  • 获取帮助

    man page 或 man bash:
    读取每个命令的联机帮助 或 多数配置文件.

    command [–help, -h]:
    大多数命令的简要帮助.

    /usr/share/doc/[package-name/]:
    在这里查找所有文档, 以及包含具体选项的 README.Debian 文件

  • 配置

    /etc/
    所有的系统配置文件都在 /etc/ 目录下

    nano files
    默认的文本编辑器, 也可能是 emacs ,vi, joe

    https://hostname:10000 处的 webmin
    用于系统配置的浏览器接口, 其访问在 /etc/webmin/miniserv.conf 处定义

    http://hostname:631 处的 CUPS
    打印系统的浏览器接口

    dpkg-reconfigure package-name
    重新配置软件包, 例如console-common(键盘), locales(本地化)

    update-alternatives options
    设定默认启动命令

    update-grub
    在安装了新内核以后的操作

    make-kpkg –initrd –version=2:my.1.0 –rootcmd fakeroot –uc –us kernel_image
    当需要定制内核时, 从源码构建一个内核包, 需要安装 kernel-package

    m-a a-i module kernel_image
    创建并安装第三方模块(nvidia…), 需要安装 module-assistant

  • 守护进程和系统

    /etc/init.d/file restart
    重启一项服务, 系统守护进程

    /etc/init.d/file stop
    停止一项服务, 系统守护进程

    /etc/init.d/file start
    启动一项服务, 系统守护进程

    halt, reboot, poweroff
    停止, 重启, 关闭系统

    /var/log/
    所有的日志文件都在这个目录下

    /etc/default/
    一些守护进程和服务的默认值

  • 重要的shell命令

    cat files
    在屏幕上显示文件内容

    cd directort
    切换目录

    cp files dest
    复制文件和目录

    echo string
    将字符串回显至屏幕

    gzip, bzip2 [-d] files
    压缩, 解压 文件

    less files
    显示文件的内容

    ls files
    显示文件列表

    mkdir directory-names
    创建目录

    mv file1 file2
    移动, 重命名文件

    rm files
    删除文件

    rmdir dirs
    删除空目录

    tar [c] [x] [t] [z] [j] -f file.tar [files]
    创建, 解压, 列出归档文件的内容, z,j 是针对 .gz 和 .bz2 的

    find directories expressions
    查找文件, 如 -name name or -size +1000, 等

    grep search-string files
    在文件中, 搜索匹配字符串

    kill [-9] number
    对进程发送信号(例如, 终止它)

    ln -s file link
    为一个文件建立一个符号连接

    ps [options]
    显示当前进程

    su -[username]
    变成另一用户, 如 root

    sudo command
    普通用户以root的身份执行一个命令, 参阅 /etc/sudoers

    command >file
    将命令的输出以覆盖的方式输出到文件

    command >>file
    将命令的输出添加到文件的尾部

    cmd1 |cmd2
    把命令1的输出作为命令2的输入

    command <file
    把文件的内容作为命令的输入

  • APT

    apt-get update
    从 /etc/apt/source.list 中源的更新软件包列表, 当源的内容改变或不能确定时,运行

    apt-cache search search-string
    查找描述如 search-string 的软件包

    apt-cache policy package-name
    显示软件包的版本和优先级

    apt-cache show package-name
    显示文件的描述信息

    apt-cache showpkg package-name
    显示软件包的依赖关系

    apt-get install package-name
    从源安装软件包及其所有依赖包

    apt-get upgrade
    将当前安装的软件包更新到最新

    apt-get dist-upgrade
    如 apt-get upgrade, 但是自动解决冲突

    apt-get remove package-names
    删除软件包, 及其所有依赖它的包

    apt-cache depends package-names
    列出指定包的所有依赖包

    apt-cache rdepends package-names
    列出依赖于给定包的所有软件包

    apt-file upgrade
    从源更新内容列表, 详见 apt-get upgrade

    apt-file search file-name
    查找包含文件的软件

    apt-file search package-name
    列出软件包的内容

    auto-apt
    如果需要可以自动安装软件包, 可以替代 apt-file, 需要安装 auto-apt.

    aptitude
    APT 的控制台接口, 需要安装 aptitude

    synaptic
    APT的GUI接口, 需要安装synaptic

  • DPKG

    dpkg -l [names]
    列出软件包

    dpkg -I pkg.deb
    显示软件包相关信息

    dpkg -c pkg.deb
    列出软件包的内容

    dpkg -S filename
    显示哪个包包含这个文件

    dpkg -i pkg.deb
    安装软件包

    deborphan
    显示没有被依赖(孤儿)的软件包, 需要安装deborphan

    debsums
    审计安装的软件报, 需要安装debsums

    dpkg-divert [option] file
    重写一个软件包的版本

    dpkg –compare-versions v1 gt v2
    比较版本, 用 echo $? 检查

    dpkg-query -W –showformat=format
    查询已安装软件包, 格式 例如’$ $ $n’.

    dpkg –get-selections <file
    将选择的软件包写入一个文件

    dpkg –set-selection <file
    从文件读取软件包选择

  • 网络

    /sbin/ifconfig
    配置网络接口

    /etc/network/
    网络配置文件, 多数与接口有关.

    ifup, ifdown device
    启动,停止网络接口, 根据上边的文件

    ssh -X user@host
    登入别的机器

    scp files user@hostath
    将文件复制到别的机器上

  • WEB服务器(Apache2)

    /etc/apache2/
    配置文件

    /etc/apache2/sites-enabled/default
    定义默认虚拟主机

    /etc/apache2/mods-available/
    包含有效的模块文件. 若要启用一个模块, 在 /etc/apache2/mods-available/创建符号连接

  • 数据库(postgreSQL)

    createdb
    创建一个新数据库

    dropdb
    删除一个数据库

    createuser
    创建一个数据库用户

    dropuser
    删除一个数据库用户

    /etc/postgresql/pg_hba.conf
    客户端访问配置文件

    ALTER USER name WITH PASSWORD ‘password’;
    通过SQL控制台 psql 来修改密码

  • 文件和打印服务器(SAMBA)

    /etc/samba/smb.conf
    主配置文件

    smbclient
    浏览 SMB 网络资源, 例如, 下载, 上载文件

linux词汇表

A
 access permissions #
一组与每个文件或目录相关联的权限,(包括“特殊文件”),以决定谁能读,写或执行文件。只有文件的所有者或超级用户才有修改那些权限。 访问权限的格式,就象用 ls -l 命令显示的那样,是一个十个符号的列表:
drwxr-xr-xdrwxr-xr-x
第一个符号是 – 或 d,指明当前的文件是否是目录。该符号后面有三组符号,每组由三个符号构成,分别告诉你文件(或目录)是否可读、可写和可执行。这三组符号分别对应所有者,所在组和所有用户的权限。举个例子,上面的例子表明该文件: 
是一个目录
所有者拥有读,写和执行的权限
所在组拥有读和执行的权限
其他用户也有读和执行的权限
参见 Owner, groups.
 AFAIK #
就我所知 ( As Far As I Know )
 ASCII #
美国信息交换标准码。用七位比特来描述字母、数字和控制符的标准(8位是增强字符集)。

ASCII文本文件是可以被基本文本编辑器 ( 如cat,more, joe, 等 ) 直接阅读的文件。

参见 Unicode.

 autocompletion #
一个被大多数 Shell 提供的特性(包括但不仅限于 bash,tcsh,ksh 和 especially zsh),允许Shell当一个命令被明白地写出时能补全该命令。有时它还可以提供一个可能的补全列表。查看 Manpage 以找出你所用Shell的准确语法和合适的用法。在bash和tcsh中,补全功能是通过按 Tab 键来实现的。在ksh中,它是通过双击 ESC 键来实现的….请查阅 Manpage.

B
 background #
当一个进程没有占用一个终端时被称为正在“后台(daemons)”运行,如后台守护及其他程序。你可以在bash中用Ctrl+Z快捷键将正在运行的程序切换到后台,也可以用 fg <数字> 列出后台程序名,并将数字所对应的程序切换到前台来。 

 binary, binaries #
二进制文件不是用 ASCII (人们可以阅读)码格式编写的,而是由字节组成。二进制文件包括已 编译 的可执行文件,压缩 文件(包括图片)和一些不需要/允许可以很方便查看的数据文件。(或是有特定需求的:保密,尺寸等) 

 BTW #
顺便说一句 ( By The Way )
C
 C Language #
众多被发明的功能强大的计算机语言之一。Linux就象所有UNIX系统一样也是用C语言编写的。实现上,C语言作为一个语言被发明比操作系统更早,而且它首先被用来创建UNIX系统。程序员可以在文本编辑器中编写C源代码,然后把它编译成二进制可执行格式。 

参见 Interpreters.

 chown #
命令可以将文件或目录的所有者改成另一用户。用法: chown <新的所有者> <文件/目录>

 compiler #
编译器将源代码(如人们可读的,ASCII)编译成二进制(机器)代码,以便执行。GCC是GNU C的编译器,它被大多数Linux发行版使用。
D
 daemon #
驻留在后台并为用户提供服务的程序。守护程序通常是处于休眠状态,只有当任务被分配给它们时才会被唤醒。

一个很好的例子就是打印守护程序,它总是等待文档发往打印机。

参见 background.

 Debian #
Debian是Linux的发行版,Ubuntu就是基于它开发的。象Ubuntu一样,Debian也只包含自由软件。 

更多信息请参见 http://www.debian.org

Debian GNU/Linux同时存在三个版本。一个是“stable”,一个相对地被称为“unstable”,位于中间的称作“testing”。stable 版本是开发已经结束,其中的包只是为于修复安全方面的Bug才被升级。unstable版本是正在开发的版本。而在testing版本中的包是在 unstable中通过14天的艰苦测试被认为可以提供服务的包。

Debian被Ian Murdock创建于1993年。它是用他和他妻子Debra的名字命名的。Deb-ian(读作:deb-ee-ann)。

 Dependencies #
依赖关系是两个包之间的“联系”,主要是一个包在运行和安装时要求另一个包。(debconf用于配置许多软件。它是用Perl编写的,因此它依赖于Perl包。那些依赖于debconf的包,也依赖Perl包,而它也依赖于……)。

依赖关系也指明软件或版本冲突。你不能很轻易地删除一个包,如果其他包也依赖它的话。没有任何包管理软件会允许这样做,也没有任何命令会忽略依赖关系。

参见 Packages.

 /dev #
/dev 目录包含指向外部设备的“伪文件”。大多数外设被映射成一个或更多 /dev/ 文件。在它们中:

/dev/fd0 = 第一个软盘驱动器(MS-DOS 软盘 A盘)

/dev/fd1 = 第二个软盘驱动器(MS-DOS 软盘 B盘)

/dev/hd[a-d] = IDE 驱动器…

/dev/hda = 控制器1主盘

/dev/hdb = 控制器1从盘

/dev/hdc = 控制器2主盘

/dev/hdd = 控制器2从盘

分区后,出现分区数:

/dev/hda1 /dev/hdb6 /dev/hdd19

/dev/sc[a-…] = SCSI 驱动器

/dev/scd = SCSI 驱动器ID号为4(<==对吗?)

分区后,出现分区数:

/dev/scd7 /dev/scd13

依赖你的声音驱动器,这些设备被用于发送/取回声音数据:

/dev/audio

/dev/dsp

/dev/mixer

/dev/sequencer

/dev/tty* = 远程终端接口

/dev/tty??  当你用线连接终端时,/dev/tty?? 会显示“w”。

/dev/pts/* = pseudo-tty -ssh 或 telnet 接口

/dev/pts/* 让你通过命令行象真的 tty 一样与机器进行交互。

/dev/mouse = 你的鼠标 COM 口

该文件有些是软链接到其它设备接口文件的,如: 

/dev/mouse -> /dev/psaux for PS/2 鼠标

/dev/cdrom -> /dev/hdc 如果你有一个IDE CD-ROM驱动器

还有我不知道的许多其他方面,你也不需要知道除非你要用你的Linux做更多的事。

 Distribution, distro, dists #
"Linux"  本身并不存在。一个发行版是指

a Linux 内核( Kernel ),和

应用程序(软件)。

软件的种类,价格(或没有),实施细节全依赖于发行版。

它们包括: Debian, Red Hat, SuSe, Slackware, Mandrake … 以及其他很多。

它们提供的用于管理或安装系统的工具大部分是不同的。

E
 Emacs #
UNIX世界著名的文本编辑器之一。GNU 项目的一部分,它既有纯文本版本也有图形版本,并且拥有大量“插件”以便定制出你自己的版本。Emacs甚至被激进现实主义者宣称其能够做任何事而闻名天下。 但请牢记,它是一个用起来相当困难的编辑器,尤其是当所有插件都被安装之后。很多人都不再使用Emacs。编辑器的工作是在于编辑,程序应该做好它应做的一件事,而不是每一件事。

参见 joe.

 Ext3 FS #
Third-Extended Filesystem, 第三扩展文件系统,当前作为Linux文件系统的标准。

参见 Filesystem.

 Extensible Markup Language #
一种被广泛使用的数据表示形式。

参见 Standard Generalized Markup Language.

F
 FAT #
文件系统中使用微软文件定位表(File Allocation Table)格式的标准名称。例如:FAT16是老的MS-DOS文件系统,VFAT是Windows 95引进的文件系统,允许文件名超过8个字符,FAT32是当前Windows操作系统使用的文件系统,在VFAT系统上做了一些扩展。Windows NT使用了不同的文件系统NTFS来代替FAT系统。当然所有的这些文件系统都能被Linux访问,只要你使用正确的工具(尽管对NTFS文件系统进行写操作也许是危险的)。

参见 Filesystem.

 Filesystem #
在介质(如硬盘、软盘、CD-ROM等)上保存文件的方式。

ext3 (第三扩展)是Linux当前“自带”的文件系统。

ReiserFS 是最新的文件系统,主要基于速度和安全性设计的。

fat 和 vfat 是Linux对微软windows标准文件系统的命名方式:fat16(fat)和fat32(vfat)。

iso9660 通常是CD-ROM的标准。

smb,nfs,… 是网络文件系统,允许计算机之间共享数据。’smb’ 就是微软的众所周知的“网上邻居”。

proc,dev,… 也是(特殊的)文件系统。

Linux支持大量其他文件系统,至少是可以读取其中内容,但大多数是可以对其进行读写的。

 Free software #
free 其实是“自由(freedom)”的意思。

这是一种创建和发布软件的方式,软件带源代码,并且只要人们觉得必要,许可证(通常是GNU公共许可证(GPL))许可,他们就拥有修改,更新和(重新)销售的权利。 

术语 开放源代码 也通常指明软件是自由的,不是因为空想的理念,而是因为它对程序开发而言是一种适合的方式。参见 http://www.opensource.org 

开源软件包括但不仅是自由软件,术语“开放源代码”比“自由软件”也更容易说服软件公司开放它们的源代码或它们的编程思路。

请查阅  http://www.gnu.org

 FWIW #
不论真假;随便说说 (For What It’s Worth)
G
 GNU #
递归定义。是“GNU’s Not Unix”的首字缩写。

GNU 项目是于1984年麻省理工AI实验室里的一名软件开发者Richard M Stallman创建的。该项目的目标是提供高质量的 自由软件。 

 groups #
用户组是从UNIX继承下来的特性。之所以需要组是为了让属于同一组的用户能够共享资源。举个例子,在我们项目中每个文件的所有者通常都是作者本人,它也是Newbiedoc组的成员,因此我们中的任何人都可以工作在它们上面。

参见 access permissions.

H
 Hard link #
它是相对于symlink(符号链接,其实也就是我们常说的软链接)而言的,表示超出一个的目录项指向磁盘上同一块真实数据。

符号链接仅仅只是一个指向另一个文件的文件;而硬链接则实际上是被定位在磁盘相同点上的完全相同的信息。 

使用硬链接,你可以选择文件的任何一个实例并删除所有其他的,该仍然存在;而用符号链接,当你删除了目标文件之后,那所有的软链接将指向一个并不存在的文件! 

但是,它也使得区分符号链接和目标文件比起区分原始文件和其他硬链接来得容易。实际上,那是不可能的,因为它们(原始文件和其他硬链接)是完全相同的。

相对于软链接,硬链接被用得越来越少了。我强烈建议你使用符号链接,除非你知道你正在做什么。

索引计数,也就是说在使用 ls -l 时可以在第二列看出硬链接数

如果你删除了一个索引计数a >1的文件,那就意味着数据仍然被保存在磁盘的某个地方,并可以通过另一个硬链接进行访问。

如果索引计数等于1,而你又删除了该文件,那么数据将丢失同时数据所占空间将被释放。

不要说你的索引计数小于1,那将是个坏消息。一笑。

 HTH #
希望得到帮助 ( Hope This Helps )
I
 IIRC #
如果我记得没错的话 ( If I (Recall|Remember) Correctly )
 IMHO #
据我看来(坦率地说|以我之愚见) ( In My (Honest|Humble) Opinion )
 Image #
Computer Graphics: 图像是由彩色/灰色/黑白点组成的二维数组。它可以用大量的格式来保存(如gif,png,jpg,tiff,bmp…)同时也可以用更多的工具来显示。网页浏览器,图像观看和处理工具,如Gimp。

Files: 映像是大块数据的精确拷贝。映像通常在创建可引导光盘或软盘时使用,为了能在它们上面拷贝一个Linux内核映像。另一个用法应试是在烧录CD时:你首先创建一个你要拷贝的(文件或未加式的音频数据)的硬盘映像,然后将该映像拷到CDR上。

 Interpreters #
能从文本文件中读取并执行命令的程序

Shell就是一个解释程序,因此象perl, tcl/tk, python, scheme和java(在某些程序上)也都是。

一个Shell(或是perl和其他)脚本不需要被编译,因此它极易移植。然而解释语言通常不如编译语言如C语言那么快,并且它们依赖解释程序的存在。

J
 Java #
"一个基于C++语法的高可移植性的面向对象语言"

Java是当前非常流行的语言。它是面向对象的,最初被Sun Microsystems设计用来为开发者提供可以在多种设备上使用的高可移植性语言。

Java程序一般是被Java虚拟机解释执行的。Java虚拟机是一个提供标准处理环境的仿真软件

JVM(Java虚拟机)在不同体系结构上都是不同的,但Java程序在一个体系结构切换到另一个时却不需要经过任何的修改或编译。这也使得某些Java 程序在某些环境下相对于实现相同功能的C++程序而言显得异常缓慢。然而,它的高可移植性使之成为扩展client-server(客户端-服务器,即我们常说的CS结构)概念的规范。

当前Java开发中的最新进展是包含了直接编译功能,以便程序运行的更快,同时扩展了在计算机图形领域方面的功能

 joe #
一种文本编辑器。(实际上,它是“Joe自己的编辑器”)。Joe主要基于WordStar(一个以前在MS-DOS下非常流行的程序)开发的。

参见 Emacs, Recursive.

K
 Kernel #
Linux系统的核心部分,内核在你的引导程序开始引导Linux之后被引导,然后按照你的配置开始运行系统。

它是Linux系统的“指挥”

Versions of the Kernel:

第一(主)版本号:“重要版本号”,常常会改变。

第二(次)版本号:发行版本号,偶数为稳定版本,奇数为开发版本。

第三版本号(补丁):更新版本号,通常是Bug修复或小的升级。

请不要(我就曾经做过)安装次版本号为奇数的内核(如:2.3),并期望它能按你所希望的那样完美地工作。奇数版本号意味着那是正在开发的内核,是为下一个稳定版本作好铺垫(如:2.4版)。

L
 Linux #
从单词确切的意义来说,“Linux”仅仅是指内核。 

大多数人通常所说的“Linux”实际上是指“GNU/Linux”,起码是按照自由软件基金会的说法。

“Linux”来源于UNIX(当然)和Linus Torvalds,编写了第一个自由的类UNIX内核的人。它被GNU项目组用来当作他们系统的内核,因为那时他们的HURD内核正在开发中。

[顺便说一句,一些人一直在争论它是读成lie nucks还是lee nux。下决心快速地选一个。这场论战导致了相当的混乱,以致于Linus Torvalds不得有发布他是如何读它的录音。]

M
 Mailing lists #
现在有很多(至少有几百个)用户列表,但是请首先浏览存档。这些邮件列表中的一些专家不想五十多次都回答同一个问题。

这些都是最近出现的,你也许可以找到一条“热线”

 Manpage #
一种特定格式的文件,主要提供指定命令或主题的相关信息。

 man ls
调用命令ls的在线手册,以显示语法,可选项等等。

大多数程序都在同一个地方安装他们自己的手册(通常是/usr/share/man,尽管 也许有可能不同。变量MANPATH会指向所有包括在线手册的目录)

 Mount #
文件系统是用带子目录的树形结构组织的。为了访问其他文件系统(另一个分区,磁盘等)而需要挂载它。那需要指定文件系统的类型(Ext3,Fat...)和目录树中放置新文件系统根的目录所在。

如果你有一个被称为C的Dos磁盘,其中包括着autoexec.bat和config.sys文件,然后命令:

 mount -t msdos /dev/hda1 /mnt/dos    

将C:链接到/mnt/dos目录。于是

 ls /mnt/dos    
将得到:

 autoexec.bat config.sys

Linux的文件系统通常能在引导阶段自动被挂载,开始是根文件系统,然后是/usr,/home等等。

查看 /etc/fstab 以得到更多信息。

当改变 /etc/fstab 时要小心,不要在挂载 /usr 之前挂载 /usr/local ,那是不合理的。

警告:被称为挂载点的目录必须存在,并且它绝对必须在挂载操作前为空,否则为了系统的稳定你也必须将文件尽可能的隐藏起来。

因此不要挂载任何东西在/目录上,除非你确实知道你在干什么。

如果你认为你觉得确实需要那样的话,看一看 chroot 命令。

O
 Open Source #
一个常用名词是指软件包括其源代码,以便客户可以在需要时修改该软件。它通常是自由软件的同义词。 

 Owner #
对一个文件或目录拥有独立权限的用户。一般来说所有者是始建文件的用户,但它也可以通过chown命令改成其它人。

参见 access permissions, chown.

P
 /proc/* #
伪目录结构作为网关与进程和其他后台内部程序如网络、内存等进行通讯。

哪些文件并不真正存在;当被读时,系统报告信息和其他项,当被写时,改变系统行为。相当的酷!

/proc/$$ = 当前Shell(aka $$)的相关信息,包括命令行,当前目录和环境变量等

/proc/self/ = 到当前进程信息的软连接

/proc/sys/net/* = …

/proc/pci: PCI设备相关信息

/proc/interrupts: 中断监视

 Packages #
通常Linux软件是以 tarballs 或包的形式出现的。

大多数 发行版 都喜欢用包,原因有两点: 

如果它只表示着哪个软件(和版本)的话,能更容易跟踪安装了什么。

(这是非常重要的,因为在Linux世界里软件经常改变。)

它提供了更方便检查合适 依赖关系 的途径。 

 Package management #
在Ubuntu系统中,使用synaptic, aptitude, apt-get或dpkg。

Ubuntu和Debian包有着.deb的扩展名,而RedHat则是.rpm。

 Partition #
分区是硬盘上可以创建 文件系统 的一块区域。 

一个硬盘可能有许多的分区,每个都可以有自己的文件系统。这使得同一个硬盘上可能拥有两个或两个以上的操作系统,且每个都在它自己的分区里。

“硬盘分区”意味着将它分成几个分区。有很多工具可以做到这一点,在它们中Linux自带的工具是"fdisk"和"cfdisk",类似于Windows环境中的"Partition Magic"。

Linux要求至少有两个分区:一个是Linux的交换分区(通常是RAM的两倍),另一个是 Ext3 格式的 根文件系统。然而,相对于一个根文件系统而言,人们常常会被建议在其他分区中挂载/usr、/home和其他目录。 

 path #
从根目录(绝对路径)或从任何目录(相对路径)到给定文件的目录列表:/usr/bin/vi就是一个到vi相对路径。如果当前目录是/usr,那么vi的相对路径就是./bin/vi了。 

人们也指定PATH变量,包括着命令的目录列表,以便不必使用完全绝对路径。举个例子,如果/usr/bin目录没有列在你的PATH变量中,那么你将需要使用  /usr/bin/vi 来代替简单的 vi 命令。你的PATH变量是你SHELL中的一个环境变量,对它的改变取决于你所使用Shell。

参见 Shell.

 PERL #
Practical Extraction and Report Language,或 Pathological Eclectic Rubbish Lister ; 这两个名字都被它的作者 Larry Wall 肯定。

有时被称为“管理员的瑞士军刀” 

Perl是一种流行的解释语言,它常被用于建立系统管理工具,如 debconf,或某些服务的部分。 

 Processes #
进程是Linux内核表现正在运行或暂时挂起程序的一种方式。 

进程由一个唯一的被称为PID的数字来标识。他们也被他们的所有者或优先级描述。

检查当前进程可以用 ps 或用 ps aux 来检查全部进程。

 Proprietary #
几乎是 开源 和 自由软件 反义词。当一个数据格式没有被公开时它就是私有的了。 

当软件的源代码不允许或只允许一些被挑选的评论家查看时它就被称为是私有软件了。私有软件相对于开源软件来说通常十分贵,并且常常测试较少。

R
 Recursive #
用自身单词的第一个字母来做为自己的首字母组合词。如:

GNU: Gnu is Not Unix

JOE: Joe’s Own Editor

Wine: Wine Is Not an Emulator

和我的极爱:

HURD: Hird of Unix-Replacing Daemons

HIRD: Hurd of Interfaces Representing Depth

[“这里,第一个软件用首字母组合词相互递归的一部分来命令”],参见这里 

 Regular expressions #
在Unix系统中非常有特色之一就是“命名规则”(也叫“RegExp”)。它由一系列特点的字符组成的,用于创建字符串列表(通常但不仅限于文件名)的设计规范。那些列表可以被大多数命令行工具使用。参见 wildcard … 
 Root #
1) Administrator 也称“超级用户”

root帐号是拥有所有维护权限的帐号。它能读/修改/删除系统上的任意或全部文件。当安装软/硬件时使用该帐号,以便维护任务或一些在根用户 UID 下运行的 进程 。 

作为根用户运行一个命令, 在一般用户的Shell提示符中键入:

 sudo     COMMAND
并输入他们自己的密码。

Warning
在你可以使用一般用户不要使用根用户,甚至你是唯一的用户,如果你不需要运行特定的管理员任务,那么作为一般用户来进行你的工作。否则你将冒着在你计算机上删除任何东西的危险。root帐号的权利是非常大的。

2) filesystem 也称为 "/"

根文件系统是第一个被挂载的。它是文件系统树的根(如其名所示)。其它文件系统作为/的目录被挂载上来(如 /usr,/home和当然的/mnt)。内核需要挂载一个根文件系统(需要?检查),因此它的位置在lilo中就被指定了。

 RTFM #
请读详细手册 ( Read The Fine Manual )

有时也写作RFD:请读详细文档 ( Read the Fine Doc ).

参见 Manpage.

S
 SGML #
参见 Standard Generalized Markup Language.

 Standard Generalized Markup Language #
一个用于编写文档的功能强大的标识语言。HTML是一种简单的,有着更多特定格式的SGML。更多信息参见 Docbook.org

参见 Extensible Markup Language.

 Shell #
Shell 是一个解释程序。它即能作为终端的命令行解释程序,也可作为Shell脚本解释程序。一个命令行Shell在每次打开一个[伪]终端(比如说使用xterm)时开始运行。某个特定用户所使用的Shell类型可以通过编辑/etc/passwd中用户行的最后一段来指定。如果你喜欢可以将 /usr/bin/bash改成/usr/bin/zsh,不过请确定该文件能在指定位置找到,因为无法回退。

现在有许多不同的Shell,只需选择其中之一来体验。大多数Linux发行版提供bash(Bourne Again SHell)作为缺省Shell,不过你也可以使用 csh (C-SHell), tcsh (exTended C-SHell), the ksh (Korn SHell)等等。

通过使用脚本,Shell程序对管理员来说是十分强大的工具,因为它最初就是作为处理大量命令行的Unix程序文件而被设计的。

 soft-link #
参见 Symlink.

 Source code #
一种人们可读的文本文件。它要么可以编译成一个可执行文件,要么能被解释执行。可以读源代码实际上能够对程序形成完整的概念,以便理解它,调试它和重现它等等.

参见 Proprietary, Open Source.

 Symlink #
在Windows中它被称为快捷方式;在Macintosh,它是别名。一个符号链接是一个指向其他目录项(目录或文件)的目录项。

它是非常方便的。如果你有一个项目或文件的几个不同版本,你可以

ln  -s  actual-item-being-worked-on  current

用“current(当前)”来代替现在的项。如果版本改变了,只需要更新你的“current”链接的指向就行了。然后只需要保持使用“current”就可以了。因此你永远也不需要改变你的输入习惯了。非常灵活!

一个symlink链接是一个独立的文件,删除它不能删除它所指向的文件.

参见 Hard link.

T
 Tarballs #
许多Linux软件都没有以预编译的形式出现,而是以源代码文件包的形式。这些文件打包到一个文件中(通过tar工具)并用 gzip 打包(压缩)。它们的名字通常是"hop.tar.gz"或"hop.tgz"。 

为了安装这些程序,一是需要解包(unzipping and un-tarring)同时通常还需要编译它们。GNU相关软件通常可以很容易进行编译。 

在解包后最好做其他任何事之前,读一下README文件。

U
 UID, SetUID #
代替一个用户的数字。根用户的UID是0。程序通常在执行该程序(emacs, gcc, vi)的用户UID下运行,除非该程序需要通过设置根用户UID(即SetUID)来运行一些特定的任务(passwd, chsh)。也有些程序被允许做一些只有根用户才能被允许做的事,如改变密码或将系统上每个人的屏幕上写东西。正如它所描述的那样,出于安全考虑这些程序必须只能保留少量。
 Unicode #
8位ASCII字符并不能表示世界上所有可能的符号(如中国的表意文字),这是十分明显的。所以一个新的编码被设计同来,叫Unicode。它有足够的位置来表示所有存在语言的全部可能的字符。
W
 Wildcard #
特点的正则表达式,如著名的*,通配符可以表示任意或全部可能的值。 

* 可以表示所有可能的值,hop* 表示以hop开始的所有值,诸如此类… 

 Window Manager #
参见 X

X
 X #
也称为 "The X Window System"

还有许多其他(基本上都算正确)的叫法(但不会被叫成“Windows”,argh…) 

这是一种被用来在屏幕上显示图形事物的系统。

X 服务器 等待“事件”的发生,如监视鼠标,击键…等。然后它将该事件的信息发送给X客户端,如Xterm,xv等,这些客户端也可以运行在其他计算机上。

X显示的方式看上去象是被 窗口管理器 所设置,该管理器的任务就是管理你的窗口和它们的外观。Smile(边界,背景图片…) 

Y
 YMMV #
此法对你可能不灵 ( Your Mileage May Vary )
Z
 Zip #
通常压缩大文件(或一组文件)是为了节省磁盘空间,大多数人广泛使用的创建标准是“zip”(Windows下是winzip,Unix下是gzip)。这些标准其实是一个叫Lempel-Ziv(LZ)(1997)老算法的两个版本。

在Unix下,zipped文件通常后缀名是.gz(有时是.tgz,参见 Tar ),使用gzip文件去zip(压缩)并用gunzip文件去unzip(解压)。

申请ubuntu免费光盘的全程指导

1,去launchpad开账户

1)https://launchpad.net/
2)点右上角的 Log In / Register,进入注册页面。
3)最下面有个register按钮,上面有个文本框,在里面填你的email地址(有效地址,要通过email确认)。接着按register确定。
4)应该出现以下页面:

Done!

Your registration URL has been sent to <你的邮件地址>. Once you have followed the link included in that email your Launchpad account will be activated.

Thanks for signing up and welcome to the Launchpad user community. We are always interested to hear new ideas and bug fixes, so please feel free to join #launchpad on irc.freenode.net and share your ideas for improvements to the Launchpad!

2确认账户

1/ 察看你的邮箱,应该有一封Launchpad Account Creation Instructions
2/ 打开它,内容如下:
Hello!

Thank you for registering at The Launchpad. To complete your
registration, please click on the link below and follow the
instructions to create your account:
https://launchpad.net/token/<xxxxxxxxxxxx&gt;
The Launchpad is a web portal for open source developers that
includes easy web based translation and bug management. We’ll
be adding new features to The Launchpad based on your
suggestions, so feel free to contact us on #launchpad on
irc.freenode.net with ideas. Malone and Rosetta are just
the tip of the iceberg ;-)

Thank you!

The Launchpad SWAT Team
launchpad@ubuntu.com

3,复制黑体部分的地址(原信中不是黑体)到浏览器的地址栏,回车

4,有五个文本框
第一个(Given Name)填你的名(拼音)
第2个(Family Name)填你的姓(拼音)
第3个(Display Name (Required))<你的名的拼音>.<你的姓的拼音>
(注意这里的姓名也就是将来光盘收件人的姓名,请确保其真实有效)
最后两个是密码和确认密码。

5做完4以后,检查一下,接着按下面的add按钮。

完成后会跳出一个页面,一般来说,这代表你成功了。可以做下一步了。

3索要光盘

1,去https://shipit.ubuntu.com
第一个文本框填你注册launchpad时的填的email地址
第2个填你launchpad的密码

然后按下面的log in按钮

2出现的网页由三部分组成(有三个褐色的大标题)

1)第一部分(How many CDs would you like?)是说送几张光盘和送一张成本差不多。所以你想多要点没关系
2 (如果你需要的是x86 pc的光盘,这一步可跳过,如果你不知道x86,64-bit,mac,那么跳过这步) 第2部分(Request Details)选光盘
本部分第一个下拉框(Standard request),依次为
x86 pc 64-bit MAC(苹果电脑)
张数 5 0 0
1 1 1
10 3 2
20 3 2

Custom request不用管

3,第三部分(Shipping Address)
Organization不用填。
Address地址,这个最好找懂英文的帮你翻。不过既然送信的是中国邮递员,
直接把你的地址用拼音写应该就可以了。注意这里有两个文本框(第2个是确认地址)你的地址要写两遍。
City/Town/etc城市(区)
State/Province省(直辖市、自治区)
Postcode邮编
Country国家(选China)
Phone电话

检查一遍后按右下角的Request CDs按钮

祝贺,你终于完成了。
出现的页面上应该有一条黄底的New request accepted.
如果你看到了,就在家等着吧。

Linux内核重编译学习指南

为什么你要重新编译内核?
当你有一些新的硬件目前无法支持时,或者比较常见的是当NTFS文件格式不能够被linux mount的时候,或者你想让你的内核更贴近你现在的硬件和服务时候,这个是你就需要重新编译内核了!

在编译之前你应该做那些准备?
首先你必须拥有内核的核心源代码!确信你安装了如下头文件和源代码。
rpm -ivh binutils*.rpm
rpm -ivh cpp*.rpm
rpm -ivh dev86*.rpm
rpm -ivh gcc*.rpm
rpm -ivh glibc-devel
rpm -ivh kernel-headers.*.rpm
rpm -ivh kernel-source.*.rpm
rpm -ivh make
rpm -ivh ncurses
rpm -ivh ncurses-devel
注意:Redhatlinux的核心文件和你在kernel.org找到的核心文件有一些细微的差异,如果你编译总是通不过,请使用针对Redhat的版本!

RedhatLinux官方编译内核步骤
cd /usr/src
bzcat linux-2.4.17.tar.bz | tar xvf –
cd linux
make config | make menuconfig | make xconfig
make dep
make clean
make bzImage
make modules (if modular kernel)
make modules_install (if modular kernel)
cp System.map /boot/System.map-2.4.17
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.17
cp .config /boot/config-2.4.17
mkinitrd /boot/initrd-<version> <kernel version> # Depending on kernel configuration
Update LILO or GRUB
Reboot into new kernel

su
su命令是最基本的命令之一,常用于不同用户间切换。例如,如果登录为 user1,要切换为user2,只要用如下命令:
$su user2
然后系统提示输入user2口令,输入正确的口令之后就可以切换到user2。完成之后就可以用exit命令返回到user1。
su命令的常见用法是变成根用户或超级用户。如果发出不带用户名的su命令 ,则系统提示输入根口令,输入之后则可切换为根用户。
如果登录为根用户,则可以用su命令成为系统上任何用户而不需要口令。

pwd
pwd命令也是最常用最基本的命令之一,用于显示用户当前所在的目录。

cd
cd命令不仅显示当前状态,还改变当前状态,它的用发跟dos下的cd命令基本一致。
cd ..可进入上一层目录
cd -可进入上一个进入的目录
cd ~可进入用户的home目录

ls
ls命令跟dos下的dir命令一样,用于显示当前目录的内容。
如果想取得详细的信息,可用ls -l命令, 这样就可以显示目录内容的详细信息。
如果目录下的文件太多,用一屏显示不了,可以用ls -l |more分屏显示 。

find
find命令用于查找文件。这个命令可以按文件名、建立或修改日期、所有者(通常是建立文件的用户)、文件长度或文件类型进行搜索。
find命令的基本结构如下:
$find
其中指定从哪个目录开始搜索。指定搜索条件。表示找到文件怎么处理。一般来说,要用-print动作,显示 整个文件路径和名称。如果没有这个动作,则find命令进行所要搜索而不显示结果,等于白费劲。
例如,要搜索系统上所有名称为ye的文件,可用如下命令:
$find / -name ye -print
这样就可以显示出系统上所有名称为ye的文件。

tar
tar最初用于建立磁带备份系统,目前广泛用于建立文件发布档案。可用如下方法建立tar档案:
$tar cvf
例如,如果要将当前目录中所有文件存档到ye.tar中,可用如下命令:
$tar cvf ye.tar *.*
要浏览档案内容,将c选项变成t。如果要浏览ye.tar档案中的内容,可用如下命令:
$tar tvf ye.tar
要取出档案内的内容,将c选项变成x。如果要将ye.tar档案中的内容取到当前目录中,可用如下命令:
$tar xvf ye.tar

gzip
gzip命令用于压缩文件。 例如,如果要将ye.txt文件压缩,可用如下命令:
$gzip ye.txt
这样就可以压缩文件并在文件名后面加上gz扩展名,变成文件ye.txt.gz。
解压缩文件可用gzip -d命令实现:
$gzip -d ye.txt.gz
这样就可以解压缩文件并删除gz扩展名。除此之外还可以用gunzip命令来解 压缩文件,效果跟用gzip -d命令一样。
旧版的tar命令不压缩档案,可用gzip压缩。例如:
$tar cvf ye.tar *.txt
$gzip ye.tar
则可建立压缩档案ye.tar.gz。
新版的tar可以直接访问和建立gzip压缩的tar档案,只要在tar命令中加上z 选项就可以了。例如:
$tar czvf ye.tar *.txt
生成压缩档案ye.tar.gz,
$tar tzvf ye.tar *.txt
显示压缩档案ye.tar.gz的内容,而
$tar xzvf ye.tar *.txt
取出压缩档案ye.tar.gz的内容。

mkdir
这个命令很简单,跟dos的md命令用法几乎一样,用于建立目录。

cp
cp命令用于复制文件或目录。
cp命令可以一次复制多个文件,例如:
$cp *.txt *.doc *.bak /home
将当前目录中扩展名为txt、doc和bak的文件全部复制到/home目录中。
如果要复制整个目录及其所有子目录,可以用cp -R命令。

rm
rm命令用于删除文件或目录。
rm命令会强制删除文件,如果想要在删除时提示确认,可用rm -i命令。
如果要删除目录,可用rm -r命令。rm -r命令在删除目录时,每删除一个文件或目录都会显示提示,如果目录太大,响应每个提示是不现实的。这时可以用 rm -rf命令来强制删除目录,这样即使用了-i标志也当无效处理。

mv
mv命令用于移动文件和更名文件。例如:
$mv ye.txt /home
将当前目录下的ye.txt文件移动到/home目录下,
$mv ye.txt ye1.txt
将ye.txt文件改名为ye1.txt。
类似于跟cp命令,mv命令也可以一次移动多个文件,在此不再赘叙。

reboot
重启命令,不必多说。

halt
关机命令,不必多说。

1. MBR损坏或丢失
进入rescue模式
检查grub.conf文件,确保文件内容正确
grub-instll /dev/had

2.grub.conf 文件错误
grub.conf包含如下语句
root(hdX,y) #指定/boot 分区所在位置,x y代表具体的磁盘和分区
kernel /vmlinuz-2.xx.x-x.EL ro root=/dev/xxx #/指定内核文件vmlinuz-xxx的所在位置,ro表示只读,root=指定根分区所在的位置
initrd /initrd-2.xx.x-x.img #加载initrd镜像文件,初始化RAM disk

#引用“大坏羊”的帖子#
如果无法找到内核,检查 root(hdx,y)是否正确
进rescue模式检查 vmlinuz文件是否被改名,或移到其他地方
一般出现File not found
Press any key to continue…
如果找到内核后,运行一会,
  出现kernel Panic:Not init Found,
  一般来说是没有找到根分区(/分区)即root=/dev/xxx不对
如果找到内核后,运行一会,
  出现Kernel panic: VFS: Unable to mount root fs on …,
  一般来说可能忘了加上initrd /initrd-2.4.21-4.EL.img(大多情况发生在使用scsi硬盘)
总的来说grub.conf里面必须存在的就几行。

3./etc/inittab 文件丢失
会出现
INIT: No inittab file found
Enter runlevel:
Inittab 文件属于initscripts-7.31.6.EL-1 rpm包
可以进入rescue模式来重装这个包,
也可以进入单用户模式来修复,进入单用户模式后要手动挂载根分区
mount –o remount rw /dev/xxxx /
注意:进单用户模式的时候要输入 single 不要输入1
在inittab文件消失的情况下输入 1是无法进入单用户模式的。(具体原因今后讨论)

4. /initrd 目录丢失
出现:pivortroot:pivot_root(/sysroot,/sysroot/initrd)failed: 2
umount /initrd/proc failed: 2
Freeing unused kernel memory: 164k freed
Kernel panic: No init found. Try passing init= option to kernel

进rescue模式重建 /initrd目录

5./etc/fstab 丢失
fstab的格式必须熟记
#以下引用“大坏羊”的帖子#
/etc/fstab文件不属于任何rpm包,利用fdisk和e2label命令查看根分区(/分区)、/boot、/home、
/usr、/var分区(如果有这几个分区),然后编辑/etc/fstab文件,注意fstab文件的格式,如
果记不住,可以查看帮助:如果未mount /分区,则先装载,如果/usr分区单列,装载/usr
分区。如果在rescue模式下则先chroot。
查找fstab的帮助文件:
1、直接man fstab
2、locate fstab
  你会发现有个叫fstab.5.gz的文件,一般在/usr/share/man/man5/fstab.5.gz
  可以 man /usr/share/man/man5/fstab.5.gz
  或者 zless /usr/share/man/man5/fstab.5.gz
3、rpm -ql mount | grep fstab 也能找到fstab的帮助文件
4、find / -iname "*fstab*"  最笨的办法
如果不是在rescue模式,修改fstab文件时出来Read-only file system咋办?重新装载成读
写模式
mount -o remount,rw /dev/sdax /

(二)mount 文件丢失或被替换
mount 文件错误会出现/proc文件相关错误,红字显示很醒目,
此时比较麻烦,需进入rescue模式而不是进入输入root口令进行修改,因为根分区现在被
mount成只读(ro)模式,你没有mount命令来把根分区mount 成读写的(rw)。

(三)文件系统错误
1、使用fsck进行修复,郁闷的是无论出现什么提示只能选y,要不系统依然有问题。
2、可能文件系统的superblock有问题,把备份的恢复即可。(考试中这种情况几乎不可能)
fsck.ext3 -b (8192*n)+1

6./bin/bash 文件丢失
这种情况在启动后会出现( none ) login :
输入用户名和密码无效
进入rescue模式重装bash 包

7.RAID, quota,其他文件系统的错误
检查/etc/fstab文件里的设置

8.登陆问题
9.用户无法登陆
a.密码被更改
b.密码过期
c.PAM
更多的信息需要看/var/log/secure
/var/log/message

10.X问题
多数是/etc/X11/XFree86配置文件丢失,用redhat-config-xfree86来修复
查看/home/xxx/ 目录,/temp目录是否已满,是否做了quota
xfs服务是否启动

11.quota 配置
在/etc/fstab 文件里添加usrquota grpquota
mount –o remount /xxxxx
touch /xxxxx/aquota.user
touch /xxxxx/aquota.group
edquota <用户名>
quotaon /xxx

12.LVM
先用fdisk /dev/had
: n 添加新的分区
: t 更改分区标签 8e是LVM的标签
pcreate /dev/xxx /dev/xxx /dev/xxxx
pvscan 搜索 PV
pvdisplay /dev/xxx 显示信息

vgcreate <name> /dev/xxx /dev/xxx /dev/xxx
vgscan 搜索 VG 创建 /etc/lvmtab 和 /etc/lvmtab.d
vgdisplay 显示VG详细信息

lvcreate –L <LV sizes> -n <LV name> <vgname>
宽展LV
umount /xxx
lvextend –L +<LV sizes> /dev/vg/lv
e2fsadm –L +<LV sizes>

13. RAID
创建/etc/raidtab
/etc/raidtab 的内容可以参照 /usr/share/doc/raidtools-1.00-3/ 下的文件
mkraid /dev/md0
mke2fs –j –R stride=xx /dev/md0

14.autofs 配置 配合NIS客户端
vi /etc/autofs.master
/home /etc/auto.xxx

vi /etc/auto.xxx
*(挂载点) -fstype=nfs xxx:/home/&

网络服务
1.Apache:(必考)
建virtual host 加主机访问控制和用户访问控制
namevirtualhost 192.168.0.1:*

<virtualhost 192.168.0.1:80>
documentroot /var/www/www.example.com
servername www.example.com
<directory /var/www/www.example.com>
authname “example”
authtype basic
authuserfile /etc/home/password.file
require valid-user
order deny,allow
deny from 192.168.0.9
</directory /var/www/www.example.com>
</virtualhost>

#htpasswd –c /etc/home/password.file tom

#httpd –t 检查httpd.conf文件的语法
日志:/var/log/httpd
注意:对于在文件系统中,/var/www/www.example.com/下的文件要有对于其他用户的可执行权限,因为apache 以apache用户身份来访问文件系统

2.samba共享
建立共享目录
先在文件系统建立目录
mkdir /home/group
chgrp group /home/group
在/etc/samba/smb.conf中添加
[group]
path = /home/group 指明在文件系统中的路径
valid users 列出允许使用的用户名,每个用户名空格格开
@<组名>
read list 列出只读用户
only user 指出不在用户列表里的用户允许访问的名单
write list 列出可写用户
writeable 目录是否可写
creat mask 上传文件的权限

———————————————————————
hosts allow 是主机访问控制,用法同/etc/hosts.allow文件
smbpasswd –a tom 添加帐户,设置用户密码
注意此用户必须是系统中已有的用户
密码文件位置/etc/samba/smbpasswd
testparm检查配置文件
smbclient –L 主机名 查看smb服务器的资源列表
日志:/var/log/samba/

3.FTP
配置文件/etc/vsftpd/vsftpd.conf
用匿名用户上传文件
anon_upload_enable=YES 仅允许匿名用户上传
anon_mkdir_write_enable=YES 允许匿名用户在/var/ftp/目录下建目录
anon_other_write_enable=YES 允许匿名用户有写权限,如改名,删除文件
但不能上传和建立目录
ftp_banner= welcome 指定欢迎信息
xferlog_file=/var/log/vsftpd.lof 指定日志文件的位置
chown_username=username 把上传文件变成某用户的属主
pam_service_name=vsftpd 指定pam认证文件
注意:匿名用户上传文件首先要确保文件系统里的目录/var/ftp有写权限

用户访问控制:
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd.user_list 使/etc/vsftpd.user_list里的本地用户不能访问FTP服务,其他用户可以

在以上情况中
userlist_deny=NO时
/etc/vsftpd.user_list里的本地用户可以访问FTP服务,其他用户不行。

用pam通过/etc/pam.d/vsftpd 配置来控制用户访问

主机访问控制通过/etc/hosts.allow文件来实现

4.NFS
编辑/etc/exports 文件
showmount -e <主机名> 显示NFS资源
启动时 注意 portmap 要启动
日志:/var/log/message

5.sendmail
配置文件/etc/mail/sendmail.cf 一般没人碰它
宏文件 /etc/mail/sendmail.mc
注释以下行 sendmail便监听 0.0.0.0:25
默认监听127.0.0.1:25
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)
m4 /etc/mail/sendmail.mc>/etc/mail/sendmail.cf 生成sendmail.cf文件

用户和主机访问控制
/etc/mail/access
domain.com RELAY
USER@ REJECT
USER@domain.com REJECT
IP RELAY
makemap hash access.db>access

6.POP3
安装imap包
配置 /etc/xinetd.e/ipop3
重启 xinetd
chkconfig ipop3 on
 

8.PAM
配置:/etc/pam.d/
这个主要考pam_access这个模块
pam_access 配置文件:/etc/secrity/access.conf
+:ALL :hostname +表示允许 -表示拒绝
USER :.domain.com
group :192.168.0.4
:192.168.0.
然后再相关的服务pam配置文件里(最后一个auth认证下)添加:
account required pam_access.so

9.iptables/Netfilter
对与这个部分,我觉得没什么好写的,NAT不可能考,一般的访问控制在tcp_wrapper和
服务本身也可以做到
iptables里有3个tables:NAT
filter
mangle
tables里有3个默认的基本的chains:input
forward
output

-A chains在chains中添加一条规则
-D chains在chains中删除一条规则
-L chains列出chains中的规则
-F chains清空chains中的规则
-P chains 在tables中添加一条chains
-X 删除一条chains

match:-p 指定协议 tcp,udp,icmp
-s 指定源地址
-d 指定目标地址
–sport 指定源端口
–dport 指定目标端口
–icmp-type 指定icmp包的类型

动作:-j ACCEPT 通过
DROP 丢弃
REJECT 拒绝,同时给发送者发送通知
LOG 记录日志
TOS 改写包的TOS值
其实iptables内容丰富,功能强大,但是考试的话这些够了

10. DNS不大会考,据说从来没有考过,但我总放心不下.就算不考,也挺实用的
配置文件:/etc/named
在/etc/named里添加
zone “example.com” IN {
type master;
file “example.com.zone”;
};
//以上是正向解析
//以下是反响解析
zone “0.168.192.in-addr.arpa” IN {
type master;
file “0.168.192.zone” ;
};

对于zone文件大家可以参考/var/named/named.local

1. Where are kernel modules stored assuming you are using kernel version 2.4.16-9?
 A. /lib/redhat/modules/2.4.16-9
 B. /lib
 C. /lib/modules/2.4.16-9
 D. /lib/modules
 E. /usr/lib/modules/
Explanation: kernel modules are stored in /lib/modules/.
答案是c,你做对了吗?内核的模块放在/lib/modules/XXX,"XXX"代表内和的版本哦.

2. What file contains the configuration for the Network Time Protocol server?
 A. /etc/ntp.conf
 B. /etc/xntp.conf
 C. /etc/NTP
 D. /etc/time.conf
 E. /etc/timeserver.conf
Explanation: The XNTP server is configured in /etc/ntp.conf.
网络时间同步服务器,猥琐没讲哦,嘿嘿,记住了,这个偶也不知道.

3. How can I see what directories are being shared via NFS on a remote host called fileserver?
 A. ping fileserver
 B. mount -a -t NFS fileserver
 C. showmount -e fileserver
 D. nfstalk –query fileserver
 E. None of the above
Explanation: Only C is right!
只有C对了.现实所有可以用mount加载的nfs服务器共享文件

4. What does COPS stand for?
 A. Company Oriented Password System
 B. Computer Oriented Password Security
 C. Computer Oracle and Password System
 D. Computer Oracle and Points System
 E. None of the above
Explanation: COPS (Computer Oracle and Password System) can check your system for things that are insecure.
记住答案,真恶心.

5. Sendmail is an example of a(n):?
 A. MTA
 B. MUA
 C. MDA
 D. MLA
 E. All of the above
Explanation: Only A is correct. Sendmail is an MTA
这个不会的脱出去打.

6. What command allows you to switch from using Gnome to using KDE?
 A. Xconfigurator
 B. Xsetup
 C. Xwindowconfig
 D. switchdesk
 E. videocfg
Explanation: The switchdesk program allows you to switch desktop enviornments and window managers.
用switchdesk-kde就转到kde桌面了,呵呵.

7. How do you install an RPM?
 A. rpm -evh packagename.rpm
 B. rpm -ivh packagename.rpm
 C. rpm -q packagename.rpm
 D. rpm -qa *.rpm
 E. rpm -ql *.rpm
Explanation: A is wrong because the -e option is for uninstalling. B is right. C D and E are wrong because the -q option is for querrying.
这个不会的,脱出去喂狗.

8. Where are source RPMs installed?
 A. /usr/src/linux/rpms/
 B. /var/src/linux/rpm/
 C. /var/rpm/src/
 D. /var/linux/rpm/src/
 E. /usr/src/redhat/
Explanation: Source RPMs are installed in /usr/src/redhat. There are 5 subdirectories under there. SOURCES contains the original source code. SPECS contains the specification files that control the RPM build process. BUILD is where source code is uncompressed and built. SRPMS contains the source RPM that is created when you build one.
这个应该记住了.

9. You want to add a directory to all users paths. What file should you edit to do this?
 A. /etc/sysconfig/profile
 B. /etc/sysconfig/profile
 C. /etc/bashrc
 D. /etc/profile
 E. /etc/env
Explanation: The /etc/profile script is used for system-wide enviornment variables and startup files. You could also create a new file in /etc/profile.d/ that ends in .sh and set the enviornment variable in there. Keep in mind that not all users will necessarily use bash.
这个应该记住,为什么不是C答案呢?因为,/etc/profile文件是系统的全局变量文件,如果放在这个文件里,你就是执行一下#bash,这时你的路径都还在,因为她会读取这个文件,她是一个no-login shell和login shell都会读的文件,而C就不是了,呵呵.

10. What program allows you to acess SMB shares using ftp-like commmands?
 A. mount
 B. smbftp
 C. smbclient
 D. smbmount
 E. samba
Explanation: The smbclient program allows you to acess SMB shares using commands similar to FTP.
不会的,明天请我吃饭.
 
11. What does the -H option do for the dhcpcd program?
 A. Sets the hostname of the machine to the name provided by DHCP.
 B. Kills any previous version of the dhcpcd program that may be running.
 C. Passes the machine name to DHCP as part of the DHCP request.
 D. Only tries to get a new ip address if the current one is older than a certain number of hours.
 E. None of the above
Explanation: The -H option forces dhcpcd to set the hostname of the host to the hostname option supplied by the DHCP server.
强制设置DHCP主机名的参数哦.

12. How can you find out which ports are being used?
 A. ifconfig -a
 B. netstat -a
 C. netstat -rn
 D. ports
 E. cat /etc/services
Explanation: The netstat -a command shows you which ports are in use. A is wrong because the ifconfig -a command tells you about your NICs. B is correct. C is wrong because it shows you the routing table. D doesn’t do anyting. E just shows you the etc/ports file.
嘿嘿,你说对了,是B,不会让我告诉你一个个都是干什么的吧,
1.显示所有网络信息,不论你的网卡是否启动,都会显示所有网卡哦,即使没有驱动
2.答案
3.======route -n
4.doesn’t do anything
5.show all port.

13. What directory contains the kernel?
 A. /
 B. /kernel
 C. /etc
 D. /boot
 E. /var/log
Explanation: The Kernel is in /boot.
知道启动目录吧.

14. What is the correct syntax to mount an MS DOS formatted floppy disk (do not assume that there is an entry in /etc/fstab)?
 A. mount /dev/floppy /mnt/fd0
 B. mount -t iso9660 /dev/fd0 /mnt/floppy
 C. mount -t vfat /dev/fd0 /mnt/floppy
 D. mount -t msdos /dev/floppy /mnt/floppy
 E. mdir
Explanation: A will only work if there is an entry in /etc/fstab. B is wrong because iso9660 is for CDROM’s. C is correct. D is wrong becuase the device should be /dev/fd0 rather than /dev/floppy.
答案C,嘿嘿,其实A也可以哦,不过你要先在/etc/fstab里面写上
/dev/floppy /mnt/fd0 vfat default 0 0 (我没记错吧,呵呵)

15. What is the correct syntax to mount an MS DOS formatted floppy disk (do not assume that there is an entry in /etc/fstab)?
 A. mount /dev/floppy /mnt/fd0
 B. mount -t iso9660 /dev/fd0 /mnt/floppy
 C. mount -t vfat /dev/fd0 /mnt/floppy
 D. mount -t msdos /dev/floppy /mnt/floppy
 E. mdir
You answered this question incorrectly
Explanation: A will only work if there is an entry in /etc/fstab. B is wrong because iso9660 is for CDROM’s. C is correct. D is wrong becuase the device should be /dev/fd0 rather than /dev/floppy.
一样?????fu**.

16. If you want to allow X-Windows programs from hostB to run on the display on hostA what would you need to do?
 A. run xhost +hostB on hostA.
 B. run xhost +hostA on hostB.
 C. run xhost + on hostA.
 D. run xhost + on hostB.
 E. just set the DISPLAY environment variable and it will work.
Explanation: You want programs from hostB to display on hostA. So you must tell hostA to allow Xclients from hostB. Hence A is correct. The xhost + command is too broad and allows anyone to connect to your X-server.
记住了,A.谁理解了,告我一声哦

17. How do you enable quotas on a partition in /etc/fstab?
 A. Add the enforcequotas option.
 B. You don’t. Quotas are turned on automatically when you install the quota rpm.
 C. Add the quota option.
 D. Add the usrquota and grpquota options.
 E. You put a 1 in the last column.
Explanation: To enable quotas on a partition you put the userquota and groupquota option in the options section for the partition in /etc/fstab.
不说了.

18. What command will map all of the dependencies between modules into a file?
 A. modmap
 B. depmod -a
 C. depmod –rebuild
 D. modmap –rebuild
 E. modprobe –rebuild
You answered this question incorrectly
Explanation: The depmod -a command finds all the dependcies betwen modules and puts the information in the modules.dep file.
内核编译中的,关联模块.

19. What command will create the quota.user and quota.group files for me?
 A. quotacheck -avug
 B. quotacheck -cugf
 C. quotacheck -rugf
 D. repquota -u
 E. none of the above
You answered this question incorrectly
Explanation: A is right. You can also do it like this:
touch /quota.user
touch /quota.group
chmod 600 /quota.*
如上所说的.

20. What file contains the configuration for BIND?
 A. /etc/bind.conf
 B. /etc/named.conf
 C. /etc/dns.conf
 D. /var/named/bind.conf
 E. /var/named.conf
Explanation: BIND (the Berkely Internet Name Daemon) which is a DNS server is configured in /etc/named.conf.
不说了.
 
21. What command do you use to edit the default grace period for quotas?
 A. quotaconfig -g
 B. editquota -g
 C. quotaconfig -t
 D. edquota -t
 E. quotaeditor –grace
Explanation: You use the edquota command to edit quotas. For example you can say edquota -u username to edit a specific user’s quota. Or you can type edquota -g to set a quota for a group. You can say edquota -t to set up grace periods.
修改quota的宽限期,用edquota -t,其他的
————————-
引用一下别人的说法
Executed with the command "edquota -t", grace period is a time limit before the soft limit is enforced for a file system with quota enabled. Time units of sec(onds), min(utes), hour(s), day(s), week(s), and month(s) can be used. This is what you’ll see with the command "edquota -t":
————————-

22. You have Linux installed on a machine and you use LILO as your boot loader. How do you boot into single user mode?
 A. Wait for the machine to boot up then log in as root. Use the init 2 command.
 B. At the LILO prompt use the linux single command.
 C. At the LILO prompt use the linux 1 command.
 D. At the LILO prompt use the linux command.
 E. Linux only supports multi-user mode.
Explanation: Either linux single or linux 1 will work at the LILO prompt. A will not work because single user mode is runlevel 1. D will only work if the default runlevel in /etc/inittab is set to 1 (which it is not normally.)
竟然是多选题BC

23. You have just added a new NFS share to the appropriate file. What must you do to activate the share?
 A. reboot
 B. exportfs -a
 C. ndc restart
 D. server nfs start
 E. mount -A
You answered this question incorrectly
Explanation: To share a directory via NFS you must edit the /etc/exports file and then run exportfs -a.
这个…这个..我们做过吧

24. What does the -N option do for the dhcpcd program?
 A. Sets the hostname of the machine to the name provided by DHCP.
 B. If the dhcpcd server is already running then it sends it an ALRM signal to get it to renew its lease.
 C. Passes the machine name to DHCP as part of the DHCP request.
 D. Only tries to get a new ip address if the current one is older than a certain number of hours.
 E. None of the above
You answered this question incorrectly
Explanation: The -N option will an ALRM signal to dhcpcd,if it is already running, to cause it to attempt to renew it’s lease.
就是这个用处,有时间整理一下dhcpd的很多参数

25. How can you create a file of all your ISA plug and play device settings?
 A. pnpdump > isapnp.conf
 B. pnpdump -isa > isapnp.conf
 C. isadump > isapnp.conf
 D. cat /proc/isa
 E. isaadmin –dump >isapnp.conf
Explanation: Only A is right

26. You have created a /home/projectx directory with the owner of projectx and a group of projectx. How can you set its permissions so that all files created in this directory are owned by the projectx group?
 A. chown projectx.projextx /home/projectx
 B. chgrp projectx /home/projectx
 C. chmod 755 /home/projectx
 D. chmod g-s /home/projectx
 E. chmod g+s /home/projectx
Explanation: The
嘿嘿,这个命令chgrp 咱们即时的考试必有哦,切记.

27. Which files are used to configure TCP Wrappers?
 A. /etc/tcpwrapper.conf and /etc/hosts.conf
 B. /etc/hosts.allow and /etc/hosts.deny
 C. /etc/tcpwrapper.conf and /etc/xinetd.conf
 D. /etc/access.conf and /etc/xinetd.conf
 E. /etc/tcpwrapper and /etc/access.conf
You answered this question incorrectly
Explanation: TCP Wrappers are configured in the /etc/hosts.allow and /etc/hosts.deny files.
呵呵,下面的这个问题才重要.
how can you setting /etc/hosts.allow and /etc/hosts.deny ?
this is a problem.

28. Which installation class will automatically delete all of your DOS partitions?
 A. Custom
 B. Workstation
 C. Laptop
 D. Server
 E. All of the above
You answered this question incorrectly
Explanation: The Server installation class will automatically delete all DOS partitions. The workstation class will use availiable free space. The laptop class is very similar to the workstation class (but for laptops.)
answer:D

  29. What file would you edit to share out a directory via NFS?
   A. /etc/nfsd.conf
   B. /etc/nsf
   C. /etc/fstab
   D. /etc/exports
   E. /etc/export.conf
  You answered this question incorrectly
  Explanation: To share a directory via NFS you must edit the /etc/exports file and then run exportfs -a.
D了,/etc/exports,修改后执行exportfs -a.

  30. How do I immeadiately shut down a Linux system?
   A. Turn off the monitor then turn off the CPU.
   B. /sbin/stop
   C. init 6
   D. shutdown -h now
   E. None of the above
  You answered this question incorrectly
  Explanation: A is wrong because you should always gracefully shut down a machine. B is wrong because there is no such command. C is wrong becauuse it will reboot the machine. Hence D is correct.
这个大家用的最熟悉了.
 
31. What command do you use to edit quotas?
 A. quotaconfig
 B. editquota
 C. quotaconfig
 D. edquota
 E. quotaeditor
Explanation: You use the edquota command to edit quotas. For example you can say edquota -u username to edit a specific user’s quota. Or you can type edquota -g to set a quota for a group. You can say edquota -t to set up grace periods.
答案: B. editquota,用它可以修改组,期限等等,具体察看man edquota

32. What directory contains the DNS zone files?
 A. /etc/bind/
 B. /etc/named/
 C. /etc/bind.d
 D. /var/named
 E. /var/bind.d
Explanation: The zone files are stored in /var/named by default. The location of this directory is specified in /etc/named.conf.
这个答案在redhat里有用,但在thiz linux中却不一样了,thiz在/var/chroot/var/named对吗?我记错了吧!!

33. What file do I edit to prevent specific users from accessing an ftp server?
 A. /etc/hosts.allow
 B. /etc/hosts.deny
 C. /etc/ftpacess
 D. /etc/ftpusers
 E. /etc/ftpd.conf
Explanation: The /etc/ftpusers file lists users not allowed to FTP.
只有写入/etc/ftpusers文件中的用户,在登陆ftp的时候会被拒绝.

34. What program can be used to test the smb.conf file for errors?
 A. mount
 B. test
 C. samba –checkparm
 D. testparm
 E. smbfs
Explanation: the testparm program parses the smb.conf file and reports any errors. If you make a typo this program is likely to find it.
测试/etc/samb/smb.conf的语法错对,可以用testparm,好像也可以用testparm 192.168.0.来测试是否允许192.168.0.网段的访问.

35. You have installed a DHCP server on your Linux machine and edited the configuration file. What else must you do before it will give out ip addresses?
 A. reboot
 B. Put fixed-addresses in the configuration for each client.
 C. service dhcp begin
 D. touch /var/lib/dhcp/dhcpd.leases
 E. All of the above
Explanation: You must touch the /var/lib/dhcp/dhcpd.leases file in order to get DHCP to begin giving out ip addresses.
give out,知道了这个词,才知道答案哦,"释放"

36. You install Linux and reboot your machine and you see only L instead of the expected LILO. What is wrong?
 A. Lilo did not load at all.
 B. The first stage boot loader loaded but not the second stage.
 C. The descriptor table is corrupt.
 D. The second stage boot loader loaded at an incorrect address
 E. Nothing is wrong.
Explanation: When Lilo just displays an L then the first stage boot loader loaded but not the second stage. If the second stage loaded then LILO would print an LI. When the descriptor table is corrupt LILO prints LIL-. When the second stage boot loader is loaded at an incorrect address LILO prints LIL?.
这个是很早以前的lilo了,这四个字母可以根据启动的不同阶段而显示出来,这样就好判断在那个启动阶段除了问题:
L—/boot/stage1加载,但是/boot/stage2没有
LI—-/boot/stage2也加载
LIL?—-加载的第二个模块有错误.

37. You have created a /home/projectfoo directory. How can you change its group ownership to the projectfoo group?
 A. chmod g+rwx projectfoo /home/projectfoo
 B. chown projectfoo /home/projectfoo
 C. chgrp projectfoo /home/projectfoo
 D. newgrp projectfoo /home/projectfoo
 E. chown projectfoo.users /home/projectfoo
Explanation: The chgrp command sets the group ownership of a file or directory.
哦?又是一个同样的题目.

38. What command can you enter to find out which rpm contains the /etc/foo file?
 A. rpm -qa |grep foo
 B. rpm -ql /etc/foo
 C. rpm -qlf /etc/foo
 D. rpm -q -f /etc/foo
 E. man foo
Explanation: You can find out which rpm a file belongs to by using the rpm -q -f command. You must have the redhatrpmdb rpm installed though.
不会的请偶吃饭饭了.

39. You have a Linux machine that does not have X-Windows configured. What command can you use to find out what kind of graphics card it has?
 A. Xfind
 B. SuperProbe
 C. Xsetup
 D. cat /proc/video
 E. videocfg
Explanation: The SuperProbe program is used to find information about your graphics card.
显卡配置:SuperProbe(第一次知道)

40. What file do you edit to set the default runlevel?
 A. /etc/grub.conf
 B. /etc/lilo.conf
 C. either A or B
 D. /etc/inittab
 E. /etc/runlevel
Explanation: /etc/inittab is the standard place to do this and is the best answer.
不会的脱出去format,呵呵.

linux初步

Suse华丽的界面,强大功能和绝佳的稳定性,在欧洲市场有很大的占有率。

redhat有成功的商业运做。在整个世界有着不错的发行量。对硬件的支持较出色。

Mandriva有着亲和的界面。是所有的发行版中最易上手的,也有着相当多的用户。

debian有着绝佳的自由,是许多老鸟们的酷爱。

/bin:存放着一百多个Linux下常用的命令、工具 (7.8M)
/dev:存放着Linux下所有的设备文件! (416.1KB)
/home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录,给该用户一个自己的空间 (根据你的实际情况来了)
/lost+found:顾名思义,一些丢失的文件可能可以在这里找到
/mnt:外部设备的挂接点,通常用cdrom与floppy两个子目录!它的存在简化了光盘与软盘的使用。你只需在塞入光盘后,运行:mount /mnt/cdrom,就可以将光盘上的内容Mount到/mnt/cdrom上,你就可以访问了。不过你使用完成后,应该离开该目录,并执行umount /mnt/cdrom。同样的,软盘就是  mount /mnt/floppy和umount /mnt/floppy了。
/proc:这其实是一个假的目录,通过这里你可以访问到内存里的内容。(191.9M,是偶的内存大小)
/sbin:这里存放着系统级的命令与工具 (16.8M)
/usr:通常用来安装各种软件的地方 (3.7G)
/usr/X11R6 X Window目录 (140M)
/usr/bin与/usr/sbin 一些后安装的命令与工具 (268.8M 47.2M)
/usr/include、/usr/lib及/usr/share 则是存放一些共享链接库 (67.3M 1.5GB 1.2GB)
/usr/local 常用来安装新软件 (301.5M)
/usr/src Linux源程序 (116.9M)
/boot:Linux就是从这里启动的 (12.8M)
/etc:这里存放Linux大部分的配置文件 (12.4M)
/lib:静态链接库 (126.4M)
/root:root用户的主目录,这就是特权之一!
/var:通常用来存放一些#变化中的东西! (131.5M)
/var/log:存放系统日志 (21M)
/var/spool:存放一些邮件、新闻、打印队列等 (1.2M)
另外,要说明的是,在Linux下"当前目录"、"路径"等概念与Windows下是一样的。

什么是系统配置文件?

  内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。

  除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:

访问文件

  /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改)

  /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。

  /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。

  /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。

引导和登录/注销

  /etc/issue & /etc/issue.net 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(issue.net)连接的用户显示一个“welcome”字符串。 它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。

  /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。

  /etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。 例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令:init 5。运行级别 5 表示以图形模式引导系统。

  /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。

  /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。

  /etc/rc.d/rc/rcX.d 从 rc 运行的脚本(X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。 当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。
 
 
文件系统

  内核提供了一个接口,用来显示一些它的数据结构,这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的,称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。例如,/proc/modules 文件列举系统中当前加载的模块。lsmod 命令读取此信息,然后将其以人们可以看懂的格式显示出来。 下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。

  /etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。

  /etc/fstab 列举计算机当前“可以安装”的文件系统。 这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。

  /etc/mtools.conf DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。

系统管理

  /etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的:user: * : group-id : project1

  /etc/nologin 如果有 /etc/nologin 文件存在,login(1) 将只允许 root 用户进行访问。它将对其它用户显示此文件的内容并拒绝其登录。

  etc/passwd 请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow 程序加密过)。

  /etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。

  /etc/securetty 包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。

  /etc/usertty

  /etc/shadow 包含加密后的用户帐号密码信息,还可以包括密码时效信息。包括的字段有:

    登录名
    加密后的密码
    从 1970 年 1 月 1 日到密码最后一次被更改的天数
    距密码可以更改之前的天数
    距密码必须更改之前的天数
    密码到期前用户被警告的天数
    密码到期后帐户被禁用的天数
    从 1970 年 1 月 1 日到帐号被禁用的天数

  /etc/shells 包含系统可用的可能的“shell”的列表。

  /etc/motd 每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。
 
 
联网

  /etc/gated.conf gated 的配置。只能被 gated 守护进程所使用。

  /etc/gated.version 包含 gated 守护进程的版本号。

  /etc/gateway 由 routed 守护进程可选地使用。

  /etc/networks 列举从机器所连接的网络可以访问的网络名和网络地址。通过路由命令使用。允许使用网络名称。

  /etc/protocols 列举当前可用的协议。请参阅 NAG(网络管理员指南,Network Administrators Guide)和联机帮助页。

  C 接口是 getprotoent。绝不能更改。

  /etc/resolv.conf 在程序请求“解析”一个 IP 地址时告诉内核应该查询哪个名称服务器。

  /etc/rpc 包含 RPC 指令/规则,这些指令/规则可以在 NFS 调用、远程文件系统安装等中使用。

  /etc/exports 要导出的文件系统(NFS)和对它的权限。

  /etc/services 将网络服务名转换为端口号/协议。由 inetd、telnet、tcpdump 和一些其它程序读取。有一些 C 访问例程。

  /etc/inetd.conf inetd 的配置文件。请参阅 inetd 联机帮助页。 包含每个网络服务的条目,inetd 必须为这些网络服务控制守护进程或其它服务。注意,服务将会运行,但在 /etc/services 中将它们注释掉了,这样即使这些服务在运行也将不可用。 格式为:

  /etc/sendmail.cf 邮件程序 sendmail 的配置文件。比较隐晦,很难理解。

  /etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 读取。

  /etc/sysconfig/network-scripts/if* Red Hat 网络配置脚本。

系统命令

  系统命令要独占地控制系统,并让一切正常工作。所有如 login(完成控制台用户身份验证阶段)或 bash(提供用户和计算机之间交互)之类的程序都是系统命令。因此,和它们有关的文件也特别重要。这一类别中有下列令用户和管理员感兴趣的文件。

  /etc/lilo.conf 包含系统的缺省引导命令行参数,还有启动时使用的不同映象。您在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。

  /etc/logrotate.conf 维护 /var/log 目录中的日志文件。

  /etc/identd.conf identd 是一个服务器,它按照 RFC 1413 文档中指定的方式实现 TCP/IP 提议的标准 IDENT 用户身份识别协议。identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。作为选择,它也可以返回其它信息,而不是用户名。请参阅 identd 联机帮助页。

  /etc/ld.so.conf “动态链接程序”(Dynamic Linker)的配置。

  /etc/inittab 按年代来讲,这是 UNIX 中第一个配置文件。在一台 UNIX 机器打开之后启动的第一个程序是 init,它知道该启动什么,这是由于 inittab 的存在。在运行级别改变时,init 读取 inittab,然后控制主进程的启动。

  /etc/termcap 一个数据库,包含所有可能的终端类型以及这些终端的性能。
 
 
守护进程

  守护进程是一种运行在非交互模式下的程序。一般来说,守护进程任务是和联网区域有关的:它们等待连接,以便通过连接提供服务。Linux 可以使用从 Web 服务器到 ftp 服务器的很多守护进程。

/etc/syslogd.conf syslogd 守护进程的配置文件。syslogd 是一种守护进程,它负责记录(写到磁盘)从其它程序发送到系统的消息。这个服务尤其常被某些守护进程所使用,这些守护进程不会有另外的方法来发出可能有问题存在的信号或向用户发送消息。

  /etc/httpd.conf Web 服务器 Apache 的配置文件。这个文件一般不在 /etc 中。它可能
在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要确定它的位置,您还需要检查特定的 Apache 安装信息。

  /etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 并不是“作为守护进程的”内核。它其实是一种在需要时负责“快速”加载附加内核模块的守护进程。

更改配置文件

  在更改配置文件时,如果程序不是由系统管理员或内核控制的,就要确保重新启动过使用该配置的程序。普通用户通常没有启动或停止系统程序和/或守护进程的权限。

内核

  更改内核中的配置文件会立即影响到系统。例如,更改 passwd 文件以增加用户将立即使该用户变为可用。而且任何 Linux 系统的 /proc/sys 目录中都有一些内核可调参数。只有超级用户可以得到对所有这些文件的写访问权力;其它用户只有只读访问权力。此目录中文件的分类的方式和 Linux 内核源代码的分类方式一样。此目录中的每个文件都代表一个内核数据结构,这些数据结构可以被动态地修改,从而改变系统性能。

注意:在更改其中任何文件的任何值之前,您应该确保自己全面了解该文件,以避免对系统造成不可修复的损害。

  /proc/sys/kernel/ 目录中的文件

文件名 描述

threads-max 内核可运行的最大任务数。
ctrl-alt-del 如果值为 1,那么顺序按下这几个键将“彻底地”重新引导系统。
sysrq 如果值为 1,Alt-SysRq 则为激活状态。
osrelease 显示操作系统的发行版版本号
ostype 显示操作系统的类型。
hostname 系统的主机名。
domainname 网络域,系统是该网络域的一部分。
modprobe 指定 modprobe 是否应该在启动时自动运行并加载必需的模块。
 
 
守护进程和系统程序

  守护进程是永远运行在后台的程序,它默默地执行自己的任务。常见的守护进程有 in.ftpd(ftp 服务器守护进程)、in.telnetd(telnet 服务器守护进程)和 syslogd(系统日志记录守护进程)。 有些守护进程在运行时会严密监视配置文件,在配置文件改变时就会自动重新加载它。但是大多数守护进程并不会自动重新加载配置文件。我们需要以某种方式“告诉”这些守护进程配置文件已经被发生了改变并应该重新加载。可以通过使用服务命令重新启动服务来达到这个目的(在 Red Hat Linux 系统上)。

  例如,如果我们更改了网络配置,就需要发出:

    service network restart。
  注意:这些服务最常见的是 /etc/rc.d/init.d/* 目录中存在的脚本,在系统被引导时由 init 启动。所以,您也可以执行如下操作来重新启动服务:

    /etc/rc.d/init.d/ start | stop | status
    start、stop 和 status 是这些脚本接受的输入值,用来执行操作。

用户程序

  用户或系统程序在每次启动时都会读取其配置文件。尽管如此,请记住,有些系统程序在计算机打开时情况不一样,它们的行为依赖于在 /etc/ 中的配置文件中读到的内容。所以,用户程序第一次启动时将从 /etc/ 目录中存在的文件读取缺省配置。然后,用户可以通过使用 rc 和 .(点)文件来定制程序,正如下面一节所示。

  用户配置文件:.(点)文件和 rc 文件

  我们已经看到怎样容易地配置程序。但是如果有的人不喜欢在 /etc/ 中配置程序的方式该怎么办呢?“普通”用户不能简单地进入 /etc 然后更改配置文件;从文件系统的角度来看,配置文件的所有者是 root 用户!这就是大多数用户程序都定义两个配置文件的原因:第一个是“系统”级别的,位于 /etc/;另一个属于用户“专用”,可以在他或她的主目录中找到。

  例如,我在我的系统中安装了非常有用的 wget 实用程序。/etc/ 中有一个 /etc/wgetrc 文件。在我的主目录中,有一个名为 .wgetrc 的文件,它描述了我定制的配置(只有在我,也就是用户运行 wget 命令时,才会加载这个配置文件)。其它用户在他们自己的主目录(/home/other)中也可以有 .wgetrc 文件;当然,只有这些用户运行 wget 命令时,才会读取这个文件。换句话说,/etc/wgetrc 文件为 wget 提供了“缺省”值,而 /home/xxx/.wgetrc 文件列举了某个用户的“定制项”。重要的是这只是“一般规则”,并非所有情况都如此。例如,一个象 pine 一样的程序,在 /etc/ 中并没有任何文件,它只在用户主目录中有一个定制配置文件,名为 .pinerc。其它程序可能只有 /etc/ 中的缺省配置文件,而且可能不允许用户“定制”这些配置文件(/etc 目录中只有少数 config. 文件是这种情况)。

  通常使用的 rc 和 .(点)文件
 
 
文件名 描述

~/.bash_login 请参考“man bash”。如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。

~/.bash_logout 请参考“man bash”。在退出时由 bash 登录 shell 引用。

~/.bash_profile 由 bash 登录 shell 引用 /etc/profile 之后引用。

~/.bash_history 先前执行的命令的列表。

~/.bashrc 请参考“man bash”。由 bash 非登录交互式 shell 引用(没有其它文件)。除非设置了 BASH_ENV 或 ENV,非交互式 shell 不引用任何文件。

~/.emacs 启动时由 emac 读取。

~/.forward 如果这里包含一个电子邮件地址,那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。

~/.fvwmrc ~/.fvwm2rc fvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。

~/.hushlogin 请参考“man login”。引起“无提示”登录(没有邮件通知、上次登录信息或者 MOD 信息)。

~/.mail.rc 邮件程序的用户初始化文件。

~/.ncftp/ ncftp 程序的目录;包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议(Internet standard File Transfer Protocol)提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。

~/.profile 请参考“man bash”。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 则将 ~/.profile 作为 ~/.bash_profile 处理,并被其它继承 Bourn 的 shell 使用。

~/.pinerc Pine 配置

~/.muttrc Mutt 配置

~/.exrc 这个文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。

~/.vimrc 缺省的“Vim”配置文件。和 .exrc 一样。

~/.gtkrc GNOME 工具包(GNOME Toolkit)。

~/.kderc KDE 配置。

~/.netrc ftp 缺省登录名和密码。

~/.rhosts 由 r- 工具(如 rsh、rlogin 等等)使用。因为冒充主机很容易,所以安全性非常低。
必须由用户(~/ 的所有者)或超级用户拥有。
列出一些主机,用户可以从这些主机访问该帐号。
如果是符号链接则被忽略。

~/.rpmrc 请参阅“man rpm”。如果 /etc/rpmrc 不存在则由 rpm 读取。

~/.signature 消息文本,将自动附加在从此帐号发出的邮件末尾。

~/.twmrc twm(The Window Manager)的配置文件。

~/.xinitrc 启动时由 X 读取(而不是由 xinit 脚本读取)。通常会启动一些程序。
示例:exec /usr/sbin/startkde
如果该文件中存在上面这行内容,那么在从这个帐号发出 startx 命令时,这一行就会启动“KDE 视窗管理器”(KDE Window Manager)。

~/.xmodmaprc 此文件被传送到 xmodmap 程序,而且可以被命名为任何文件(例如 ~/.Xmodmap 和 ~/.keymap.km)。

~/.xserverrc 如果 xinit 可以找到要执行的 X,xinit 就会将该文件作为 X 服务器运行。

~/News/Sent-Message-IDs gnus 的缺省邮件历史文件。

~/.Xauthority 由 xdm 程序读和写,以处理权限。请参阅 X、xdm 和 xauth 联机帮助页。

~/.Xdefaults, ~/.Xdefaults-hostname 在主机 hostname 的启动过程中由 X 应用程序读取。如果找不到 -hostname 文件,则查找 .Xdefaults 文件。

~/.Xmodmap 指向 .xmodmaprc;Red Hat 有使用这个名称的 .xinitrc 文件。

~/.Xresources 通常是传送到 xrdb 以加载 X 资源数据库的文件的名称,旨在避免应用程序需要读取一个很长的 .Xdefaults 文件这样的情况。(有些情况曾经使用了 ~/.Xres。)

  从均瑶的辞世我们看到了创业者的艰辛,从网易代理首席执行官孙德棣的辞世,我们不得不又对IT人的生存状况担忧!IT人好似天之骄子,但是IT人亚健康状况却不得不让从业者担忧。

  互联网很年轻,刨到老底也就10年,因此还只是开始打酱油的年龄。互联网创业的几乎都是2、30岁的年轻人,所以健康还是亲密的朋友,死亡还是遥远的故事。这个行业年轻而富有活力,享受着当今最多的荣耀和最壮观的财富。但是,2005年9月20日,一切都改变了,死亡的阴影第一次与互联网如此接近。

  如方兴东说的:“人生如狗”。互联网的时间尺度是以狗年来计算的,我们的一年相当于普通人的7年。也就是说,我在互联网奋斗了10年,就相当于已经是70狗岁了。虽然,今年我只有36岁。但是,在互联网领域,却已经是属于70的“古稀之年”了。而像我这样依然执着地奋斗着第一线的还有一大批朋友,不管他们今天是否发财,是否成功。他们还当自己像刚进入这个行业一样。

  “人生如狗”!希望每一个做互联网的人,每天对自己都要像对一头狂奔的狗一样提醒一句:“生命是短暂的,请珍惜每一次呼吸!”

  1、电磁辐射之害

  症状:显示器热度过高,在工作时就会有相当多的电磁辐射,它会使空气发生电离作用,不断产生正电荷(正离子),并不断与空气中的负离子中和,导致负离子的含量几乎为零,长期处于正离子过多的环境中,使人失眠、免疫力下降、女性内分泌紊乱等。
  宝典:仔细地打扫办公环境;多喝茶;不要把自己显示器的后面对着同事的后脑或者身体的侧面;常喝绿茶;勤洗脸;在电脑桌下摆放一盆植物或水,可以吸收电脑所发出的电磁波;尽量使用液晶显示器。
 
  2、长期处在灰尘场

  症状:皮肤过敏。处于开机状态的显示器周围会形成一个静电场,它差不多会把整个房间的空气中悬浮的灰尘吸入自己的场中,从而使得面部皮肤受到刺激,会出现过敏起疹等现象。
  宝典:不要在电脑周围摆放堆积如山的纸和文件;电脑桌表面用湿布蘸着抗静电剂擦拭;经常开窗通风;在电脑桌上摆放一盆仙人掌,因为仙人掌的针刺能够吸收灰尘;经常清洁键盘,使用键盘时及使用后应先洗手再进食,不使用时用布将键盘遮盖。
 
  3、干眼症与电脑眼病

  症状:虽然肉眼无法看出来,但事实上显示器上的画面是一直在闪烁的。看显示器时,我们往往会长时间地盯着某一个点,很少眨眼,因此眼肌容易疲劳,眼黏膜发干,眼睛发红、发炎、疼痛。在电脑前不间断工作4小时后,几乎所有人的眼睛都会出现酸痛和沙眼的感觉。
  宝典:距显示器需要70厘米以上;把亮度调整到不使眼疲劳的程度;避免室内的光线直接照射在屏幕上而产生干扰光线;使用电脑时滴一些与我们眼泪成分相同的眼药水;眼睛疲劳时,用以淡红茶水煮过的湿巾敷几分钟眼睛,会很快消除充血和疲劳。在荧光屏前工作时间过长,视网膜上的视紫红质会被消耗掉,而视紫红质主要由维生素A合成。因此应多吃些胡萝卜、白菜、豆芽、豆腐、红枣、橘子以及牛奶、鸡蛋、动物肝脏、瘦肉等食物,以补充人体内维生素A和蛋白质

  4、恐怖鼠标手

  症状:长期使用电脑键盘和鼠标,可能与一种称为腕关节综合征的疾病挂上钩,出现食指或中指疼痛、麻木和拇指肌肉无力感,发展下去可能导致神经受损,进而引起手部肌肉萎缩。女性发生“鼠标手”比男性多,这是因为,女性手腕通常比男性小,部正中神经容易受到压迫。
  宝典:避免上肢长时间处于固定、机械而频繁活动的工作状态下;电脑桌上的键盘和鼠标的高度,最好低于坐着时的肘部高度;使用鼠标时,手臂不要悬空,以减轻手腕的压力,移动鼠标时不要用腕力而尽量靠臂力做,减少手腕受力;鼠标最好选用弧度大、接触面宽的,有助力的分散。

  5、脑功能减弱

  症状:随着个人电脑日益普及,人们正越来越多地受到记忆力减退的困扰,主要原因是他们对电脑的依赖过强,从而使得自己的脑功能反而减弱。
  宝典:保证充足的睡眠;静想练习。最好每天能有20-30分钟时间静想生活中轻松美好的事情,聆听自己呼吸的节律,让情绪尽量放松;学习使用五笔输入法,不要总是使用智能拼音的联想输入法;改变不健康的饮食结构,多食用健脑食品。
 
  6、颈肩腕综合症

  症状:如果使用电脑时高高地架着胳膊,低着头,并且在桌子下艰难地跷着二郎腿,那么,工作一小时你就会感到腰背酸痛,脖子和肩膀麻木,手臂也不灵活。这样的坐姿保持一年至一年半,你就可以获得双下巴、颈椎关节僵硬。
  宝典:上半身应保持颈部直立,使头部获得支撑,两肩自然下垂;须选择符合人体工学设计的桌椅,使用专用的电脑椅;使用电脑每隔一小时应休息5至10分钟,做柔软操或局部按摩;眼睛与显示器保持恰当距离。眼睛与电脑显示器形成轻度向下注视荧光屏的角度,这样可使颈部肌肉得到放松。

  7、电脑忧郁症

  症状:长时间的电脑操作形成“非此即彼”的思维定式,不习惯与人达成妥协和谅解,丧失自信,身心疲惫,以致工作难以展开。
  宝典:做好自我心理调整,及时纠正思维方式;积极处理好人际关系,尤其与同事的关系。

  8、电脑躁狂症

  症状:由于对电脑过度依赖,所以当电脑出现故障后,会精神紧张,情绪烦躁、不安,甚至有对电脑“动武”的倾向,如通过用力敲打键盘、鼠标,大骂电脑,摔砸电脑等方式发泄怒火,有的还将不满情绪发泄在家人或同事身上。
  宝典:一旦电脑出现故障,立即找专业人士来维修,避免独自坐在电脑桌前,应当尽快转移视线和注意力,放松心情;随时保存工作文档,用移动硬盘将资料备份,一旦电脑出现问题,不会受到太大损失,情绪不至于骤然失控;不要长时间坐在电脑前,隔一段时间走开喝杯茶、咖啡或活动一下。
 
  9、中枢神经失调

  症状:发病率为70%,长时间在密闭环境中操作电脑,电脑发出的微波引起中枢神经失调,连续多日长时间操作电脑后发病症状:头痛、头晕、失眠、厌食、恶心,以及情绪低落、思维迟钝、健忘、容易被激怒、常感疲惫等。
  宝典:保证电脑桌附近采光充足、通风良好;每在电脑前工作1小时就走开休息10分钟;操作电脑期间多喝水。