logging in or signing up 033-RHCE认证用户基础 DeBug Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 8 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: February 06, 2010 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 第零单元 : 第零单元 总览 任课讲师:______________ UNIX概述 : UNIX概述 UNIX历史 UNIX特点 UNIX原则 UNIX历史 : UNIX历史 UNIX操作系统诞生于60年代末期的Bell实验室 美国电话电报公司(AT&T)在70年代中期开始发行UNIX的非商业许可证 从70年代末开始在市场上出现了不同的UNIX商品化版本 UNIX特点 : UNIX特点 可靠性高 伸缩性强 开放性好 植根于网络 面向数据库使用 UNIX基本原则 : UNIX基本原则 所有对象,包括硬件都是文件 配置数据以文本形式保存 由短小的单目的程序构成 避免不必要的用户交互 可使用多个程序合作完成复杂任务. GNU项目介绍 : GNU项目介绍 GNU是GNU’s not UNIX的缩写 1984,Project GNU 由Richard Stallman发起 GNU的基本体系是micro kernel GNU的基本原则是共享 GPL–GNU通用公共授权 : GPL–GNU通用公共授权 FSF,Free Software Foundation Free Software的概念 不是免费(gratis) copyleft open source Linux 起源 : Linux 起源 核心编写者 Linus Torvalds 自由的类Unix操作系统 遵循 GNU 和GPL 为何选择Linux? : 为何选择Linux? 支持UNIX的API,可以实现所有UNIX的功能 遵循开源许可协议 多用户多任务系统 广泛的网络协议和配置支持 广泛的硬件支持 广泛的技术支持 Red Hat Linux : Red Hat Linux 最新的系统内核 拥有常用的实用程序和应用软件 简单的安装和配置软件 提供技术支持 推荐硬件配置 : 推荐硬件配置 奔腾系列或者更高的CPU 128 MB或更大的内存 最少600MB(文本模式)或1.2GB(图形模式)的硬盘空间 可以用于引导系统的CD-ROM或3.5寸软驱。 Linux图形环境 : Linux图形环境 XFree86:标准的Linux X Window系统 XFree86 3.3.X XFree86 4.2.X GNOME(The GNU Network Object Model Environment)--基于GTK的工具包 KDE --基于QT的工具包 第一单元 : 第一单元 基础操作 任课讲师:______________ Linux用户环境 : Linux用户环境 内核(Kernel) Shell 终端模拟器(Terminal Emulator) X Window系统 窗口管理器(Window Manager) 桌面环境(Desktop Environment) 本地登录 : 本地登录 Red Hat Linux release 9.0 (Shrike) Kernel 2.4.20-8 on an i686 login:root(用户名) password:______(密码) 提示符与home目录 : 提示符与home目录 [root@stationXX root]# [当前用户名@主机名 当前目录] 提示符因用户而异 home目录是用户登入系统后即所在的默认目录。 创建用户 : 创建用户 #useradd [用户名] #password [用户名] example: [root@stationXX root]# useradd student [root@stationXX root]# passwd student Changing password for user student New password: (无回显) Retype new password: (无回显) passwd: all authentication tokens updated successfully [root@stationXX root]# 运行指令 : 运行指令 指令名 [选项] [参数] 例子: ls -l /etc/X11 帮助和在线帮助 指令 --help 例:mknod --help man 指令 例:man mknod info 指令 例:info mknod 基础指令(一) : 基础指令(一) man 的使用技巧 man -k keyword man -f keyword man -a keyword man n keyword 基础指令(二) : 基础指令(二) ls - 查看文件 cp - 拷贝文件 mv - 移动或重命名文件 rm - 删除文件 touch- 创建空文件或更新文件时间 基础指令(三) : 基础指令(三) cd - 改变当前路径 pwd- 察看当前完整路径 mkdir- 创立新目录 rmdir- 删除空目录 基础指令(四) : 基础指令(四) cat - 察看文件内容 more- 逐屏察看文件内容 less- 逐行察看文件内容 date- 显示当前时间 cal - 显示月历 基础指令(五) : 基础指令(五) df -显示磁盘用量 du -计算目录下文件占用磁盘的大小 基础指令(六) : 基础指令(六) head - 显示文件开头部分内容 tail -显示文件结尾部分内容 设 备 文 件 : 设 备 文 件 设备在Linux中以特殊文件的形式存在 块(block)设备文件 字符(character)设备文件 设备文件所在位置 查看设备类型 虚拟控制台及用户身份切换 : 虚拟控制台及用户身份切换 在系统中有12个虚拟控制台,前6个可供用作本地登录 用户可以用Alt+Fn(n=1~12)来切换。 用su可以用来切换用户身份 su - username 离开系统 : 离开系统 重启 reboot shutdown -r now init 6 关机 halt shutdown -h now poweroff init 0 第二单元 : 第二单元 文件 任课讲师:______________ 检查文件 : 检查文件 用ls –l以长模式察看文件的详细信息 包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名。 用file检查文件类型 由于linux中的文件名中没有扩展名,所以可能需要用file来查看文件类型 文件类型 : 文件类型 在linux中,所有东西都被当成文件。 文件权限前的第一个字母用来标识文件类型: -:一般文件 d:目录文件 b:块设备文件 c:字符设备文件 l:链接文件 p:人工管道 文件权限 : 文件权限 对于每一个文件,Linux都提供了一套文件权限系统。 文件权限系统,将操作文件的用户都分成三类 文件的拥有者(u) 文件所属组的成员(g) 其他用户(o) 文件权限类型 : 文件权限类型 对于每一类用户,权限系统又分别提供他们三种权限 读(r) :用户是否有权力读文件的内容 写(w) :用户是否有权利改变文件的内容 执行(x) :用户是否有权利执行文件 改变文件权限 : 改变文件权限 使用chmod 来改变文件的当前权限 chmod [-R] 权限 文件名 只有文件的拥有者和root才可以改变文件的权限 使用数字来改变文件权限 : 使用数字来改变文件权限 chmod后可以用三个数字来表示用户权限 第一位代表文件拥有者权限 第二位代表文件所属组成员权限 第三位代表其他用户权限 每一个数字都采用加和的方式 4(读) 2(写) 1(执行) 建立链接 : 建立链接 ln 硬链接 语法:ln 源文件 新建链接名 软链接 语法:ln –s 源文件 新建链接名 ext2/3中文件的构成 : ext2/3中文件的构成 在ext2和ext3文件系统中,文件以inod+block的方式存在。 一但用rm指令删除文件中的inode记录。文件无法被找回。 stat指令可以用来检查文件的block与inode状况。 所属用户 : 所属用户 每一个文件都有一个拥有者。文件的拥有者可以改变文件的权限。 root用户可以用chown来改变文件的拥有者。 所属组 : 所属组 每一个文件只能属于一个指定的组。 文件的拥有者与root用户,可以用chgrp来改变文件所属的组 文件名 : 文件名 文件名最大为255个字符。 开头为.的文件为隐藏文件。 第三单元 : 第三单元 目录 任课讲师:______________ 目录 : 目录 目录在文件类型上用d标识 用 / 分隔目录层 Linux 操作系统都有且仅有一个起始目录,我们用一个单独的 / 来表示,称其为根目录。 对每一个shell和操作环境,都有一个当前工作目录。 .文件与..文件 : .文件与..文件 在每一个目录下都有一个.文件与..文件。 .文件是对当前目录的一个硬连接 ..文件是对上级目录的一个硬连接 目录权限 : 目录权限 目录也是一种文件 目录上的读写执行权限与普通文件有所不同: 读:用户可以读取目录内的文件 写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。 执行:用户可以进入目录,调用目录内的资料 强制位与冒险位 : 强制位与冒险位 除了读写执行权限以外,ext2文件系统还支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限。 针对u,g,o,分别有set uid,set gid,及sticky。 强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。 set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t。 set gid对目录的作用 : set gid对目录的作用 默认情况下,用户建立的文件属于用户当前所在的组。 目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。 冒险位对目录的作用 : 冒险位对目录的作用 默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。 一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。 强制位对文件的作用 : 强制位对文件的作用 在可执行文件上,用户可以添加set uid和set gid。 默认情况下,用户执行一个指令,会以该用户的身份来运行进程。 指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。 设置强制位与冒险位 : 设置强制位与冒险位 用户可以用chmod指令来为文件设置强制位与冒险位。 set uid:chmod u+s 文件名 set gid:chmod g+s 文件名 sticky:chmod o+t 文件名 强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。 4(set uid) 2(set gid) 1(sticky) umask : umask 每个用户建立文件时,此文件都会有默认权限。 默认权限的值由环境中的umask值来确定 用户可以自主改动umask值,并在改动后建立的文件上得到体现。 一般用户的默认umak值为002,系统用户的默认umask值为022。 根目录下的目录 : 根目录下的目录 /bin:存储常用用户指令。 /boot:存储核心、模块映像等启动用文件 /dev:存储设备文件 /etc:存储系统、服务的配置目录与文件 /home:存放个人主目录 /lib:存放库文件,诸如核心模块、驱动 /lost+found:存储fsck用的孤儿文件 根目录下的目录(二) : 根目录下的目录(二) /mnt:系统加载文件系统时用的常用挂载点 /opt:第三方工具使用的安装目录 /proc:虚拟文件系统,包含系统讯息等资料 /root:root用户的主目录 /sbin:存储系统管理用指令 /tmp:临时文件的暂存点 /usr:存放与用户直接相关的文件与目录 /var:存储在系统运行中可能会更改的数据 第四单元 : 第四单元 过滤器、输入输出 及管道 任课讲师:______________ 过滤器 : 过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称为过滤器 对过滤器和进程,存在着输入源与输出对象 输入、输出、重定向 : 输入、输出、重定向 输入:过滤器的数据来源 标准输入stdin(0):默认是键盘 输出:过滤器的数据去向 标准输出stdout (1):默认是终端屏幕 错误输出 :报错讯息与标准输出走不同的I/O通道 标准错误输出stderr(2):默认是终端屏幕 重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向 输入重定向 : 输入重定向 使用“<”来重定向输入源 大多数工具都会以其后的文件名为输入源 有一些过滤器一定需要添加 < 以明确输入源 从当前文档输入 : 从当前文档输入 使用 << 让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入 需要一对字母、符号或字符串作为起始终结标识符 可以选择任意符号作为起始终结标识符 输出重定向 : 输出重定向 使用>改变数据输出目标 范例: ls –l > listfile 将当前目录下的文件以长模式显示,然后写入listfile文件 文件已有内容会被消除 覆盖与追加 : 覆盖与追加 使用>进行输出重定向,文件的原内容会被覆盖 ls –l > listfile 使用>>,可以将输出追加入文件 ls –l >> listfile 错误输出重定向 : 错误输出重定向 系统错误与标准输出使用的I/O管道不同 默认情况下,系统报错会显示到终端屏幕上 使用2>将报错讯息重定向入一个文件 find / -type s 2> /dev/null 使用2>>将报错讯息追加入一个文件 find / -name passwd 2>> results 双重输出重定向 : 双重输出重定向 使用>和2>可以将一次操作的正确、错误输入,被单独地送到不同的地方: find / -perm -2 2> error > results 使用&>将所有输入都送向同一个地方: find / -perm +6000 > file 管道 : 管道 使用 | 将前一个过滤器的输出直接送入后一个过滤器的输入 ls –l | grep pass 允许多重管道 注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配 重定向、管道的常用范例 : 重定向、管道的常用范例 ls –l | more 分屏显示当前目录下的文件 cat < filea > fileb 拷贝filea到fileb cat file.* > file 将数个小文件合并成一个文件 第五单元 : 第五单元 文件查找与文件管理 任课讲师:______________ 可执行文件的搜索 : 可执行文件的搜索 which 显示一个可执行文件的完整路径 按照alias -> $PATH的顺序查找 whereis 搜索一个可执行工具及其相关配置、帮助 slocate : slocate 语法: slocate [关键字段] locate [关键字段] 所有文件名及其所在路径包含关键字段的文件与目录都会显示 slocate先将当前目录结构做成一个数据库,然后再在此数据库中搜索匹配记录 find : find 语法: find [路径] [参数] [表达式] 从指定路径下递归向下搜索文件 支持按照各种条件方式搜索 支持对搜索得到的文件进一步用指令操作 操作找到的文件 : 操作找到的文件 语法: find [路径] [参数] [表达式] -exec 指令 {} \; {}代表find找到的文件 \ 禁止转意 ;表示本行指令结束 常用的文件操作指令 : 常用的文件操作指令 wc - 统计文件的行、词、字数 grep - 显示文件中匹配关键字的行 sort - 按序重排文本并送显示 常用的文件操作指令(二) : 常用的文件操作指令(二) diff - 报告文本差异内容 comp - 报告文本差异位置 uniq - 去除文件中重复的行 cut -显示文件中的某一列 paste - 将文本按列拼接 压缩 : 压缩 gzip,gunzip Linux标准压缩工具 对文本文件可以达到75%的压缩率 compress,uncompress 旧的Unix压缩工具 bzip2,bunzip2 更新的Linux压缩工具 比gzip有着更高的压缩率 Z系列指令 : Z系列指令 对于用gzip压缩的文件,有一系列以z为开头的文件,可以在不经解压的情况下,直接操作文件 zcat:直接显示压缩文件的内容 zless:直接逐行显示压缩文件的内容 zdiff:直接报告压缩文件的差异内容 zcmp:直接报告压缩文件的差异处 tar : tar 用于在磁带机、软盘、ZIP设备上做备份。也可以备份在一个硬盘文件上。 主要参数: c:将文件备份出来 v:将过程输出 x:从一个文件中解出备份 范例 备份:tar cvf backup.tar *.txt 解开:tar xvf backup.tar –C backup/ dump/restore : dump/restore 备份与还原ext2/3文件系统 不可以在其他文件系统上使用 可以选择进行完全备份或增量备份 范例: dump –0u –f /var/tmp/hda2dump /dev/hda1 restore –rf /var/tmp/hda2dump 第六单元 : 第六单元 交互工具与编辑器 任课讲师:______________ 交互工具 : 交互工具 mesg -- 控制终端是否接收讯息 常用的交互工具: write:指定一个在线用户发送短消息 wall:向所有在线用户广播 编辑工具 : 编辑工具 我们通常用各种编辑工具来处理文本文件 常用的编辑工具: VIM EMACS Vi : Vi 作为一个编辑器,vi被广泛地运用在各种Unix操作系统上。 Vi是Linux中的标准文本编辑器。 在Red Hat Linux上,一般采用的“可视编辑器 / visual editor” 是vim(vi improved) 打开文件 : 打开文件 vi 文件名 如果文件已存在,则此文件被打开且显示文件内容 如果文件不存在,则vi在第一次存盘时自动建立在硬盘上 存写文件 : 存写文件 从命令模式下: :w 保存当前文件 :q 如果未对文件做改动则退出 :wq /:x /ZZ 保存当前文件并退出 :q! 放弃存储并退出 :e 文件名 打开另一文件并开始编辑 vi 模式 : vi 模式 vi 提供两种模式 命令模式 浏览、删除、剪贴、查找等 可以用各种命令进入插入模式 插入模式 输入新文档 用<ESC>退出插入模式回命令模式 删除与块操作 : 删除与块操作 在命令模式下可以直接删除字符 在命令模式下键入v则进入块操作: 移动光标以选定操作块 c 剪切选定块 或 y 复制选定块 p 将选定内容贴在光标所在位置右手边 取消操作 : 取消操作 u:取消上一个更动 U:取消一行内的所有更动 <ctrl-r>:重做 :e! :放弃所有更动,重新编辑 查找文本 : 查找文本 vi支持用户在全文中查找一个关键字段 在命令模式下,用 / 向上查找或用 ? 向下查找 查找一直到文件尾或文件头 在查找后,可以用 n 继续寻找下一个关键字段。 命令模式的输入选项 : 命令模式的输入选项 : r <文件名> 把文件插入到光标处 :r !<命令> 把<命令>的输出插入到当前文本中 :nr <文件> 把<文件>插入到第n行 :!<命令> 运行<命令>,然后返回 :sh 转到SHELL :so <文件> 读取<文件>,再执行文件里面的命令 第七单元 : 第七单元 BASH 任课讲师:______________ Shell简介 : Shell简介 Shell:命令行解释器,是用户与系统沟通时的媒介。 在Unix系统中有各种Shell,Linux采用bash为其默认shell 系统可以使用的shell记录在/etc/shells中 bash : bash bash:Bourne Again Shell的缩写。 GNU计划的一个组件。 与Unix上的Bourne Shell完全兼容。 支持命令行输入、操作历史查询、快捷键、使用变量等功能。 预定义环境变量 : 预定义环境变量 在bash中有很多预定义环境变量 系统通过预定义环境变量来定义shell的环境 用户可以用set或env查询当前的环境变量 常用的预定义变量: HOME:当前用户的主目录 PATH:当前用户的可执行文件搜索路径 LANG:程序应该使用的默认语言 PS1:行提示符 history : history 在bash中输入history指令可以查询用户的过往操作。 内存中记录的过往指令数根据环境变量中HISTSIZE而定。 history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中。在下次login时载入。 .bash_history中的指令数根据环境变量中的HISTFILESIZE而定。 调用过往指令 : 调用过往指令 使用 ! 来调用过往指令: !!:重复执行上一条指令 !a:重复执行上一条以a为首的指令 !number:重复执行上一条在history表中记录号码为number的指令 !-number:重复执行前第number条指令 可以用<ctrl+r>来在history表中查询某条过往指令 alias : alias 在shell下键入alias可以查询当前alias列表。 用户可以alias来为一条命令取一个简单的别名 用户也可以用unalias来取消一条别名记录。 alias记录在shell中总是先行。 命令行表达式 : 命令行表达式 命令行输出——“ ” 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。 命令行输出——‘ ’ 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义。 执行引用符——` ` 引用命令的执行结果 命令行表达式(二) : 命令行表达式(二) 数学运算——$[ ] 在中括号内的表达式会被数学计算 逸脱符——\ 用于取消命令行中字符的特殊含义 用于表示一行未结束 命令行表达式(三) : 命令行表达式(三) 命令行结束符——; 用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键 pwd ; ls –l 子shell激活——() 在小括号内的命令行表示激活一个子shell后在子shell中运行 逻辑运算符 : 逻辑运算符 shell命令行支持在同一行的两条命令中插入&&(逻辑与)与 ||(逻辑或) &&:当前一条指令执行成功时再执行后一条指令 ||:当前一条指令执行失败时再执行后一条指令 登录shell : 登录shell 默认情况下,在shell下改变变量、umask、alias,只在此次登录中有效。一旦logout后再login,则设定恢复初始值。 一个通过登录而得到的shell,一般是用户的初始shell。 在登录shell下激活的shell采用登录shell的环境设定 登录shell从配置文件中读取其环境设定 定制登录shell : 定制登录shell bash 在用户登录时从四个文件中读取环境设定: 全局设置文件: /etc/profile /etc/bashrc 用户设置文件: ~/.bashrc ~/.bash_profile 其他shell设定文件 : 其他shell设定文件 ~/.bash_logout:在用户logout的时候自动执行。 ~/.bash_history:用户login时自动读取其内容并加载到内存history记录中,logout时将内存history记录写入。 /etc/profile.d/*.sh:在/etc/profile中被执行,其中的环境设定,也会被全局引用 常用快捷键 : 常用快捷键 Ctrl + d:输入已结束。在shell下相当于一个exit Ctrl + c:键盘中断请求。 Ctrl +s & Ctrl + q:暂停/恢复屏幕输出 Ctrl + l:清屏,相当于clear。 Tab:自动补完命令行与文件名 Tab键双击可以列出所有可能匹配的选择 第八单元 : 第八单元 X window 任课讲师:______________ X window 系统 : X window 系统 支持在Linux上运行图形界面 创立于1986年,至今仍在被使用 客户端/服务器端模型 XFree86 – 自由、开放源代码的执行X GNOME : GNOME 三个主要构件 稳定,易于使用的桌面环境 为开发工具提供的完整工具组与库 GNOME office的应用工具 使用GTK+来设置桌面装饰 KDE : KDE KDE是K Desktop Environment的缩写 稳定的桌面环境 Koffice应用工具 使用QT来设置桌面装饰 Sawfish : Sawfish GNOME的默认窗口管理工具 可主题化 http://sawfish.themes.org 非常灵活且易于定制 sawfish-ui 同样也是GNOME配置工具的一部分 其他X环境 : 其他X环境 无GNOME或KDE的X11 一个可以为低性能硬件考虑的解决方案 WindowMaker 以NeXTSTEP GUI为范本的窗口管理器 fvwm 成熟、稳定的窗口管理器,在许多版本的Linux中采用过 twm 一个古旧的X窗口管理器 切换桌面 : 切换桌面 可以在桌面环境中使用switchdesk切换桌面 可以选择使用GNOME、KDE或其他窗口管理器 建立~/.Xclients、~/.Xclients_defaults或其他主机配置文件,并在其中指定桌面: GNOME (exec gnome-session) KDE (exec startkde) 鼠标配置 : 鼠标配置 X为三键鼠标而设计 双键鼠标可以用双键齐按的方式来模拟中键 支持鼠标滚轴轮 并不是对所有的应用工具都生效 鼠标配置工具 —redhat-config-mouse 或 mouseconfig 拷贝与粘贴 : 拷贝与粘贴 以鼠标左键来选择文本(高亮化) 用鼠标中键来粘贴 在双键鼠标中可以双键齐按来模拟中键 启动XFree86 : 启动XFree86 设定runlevel为5自动激活图形登录窗口进入X 用gdm、kdm、xdm开启图形登录窗口进入X 用startx在字符界面下进入X GUI 终端 : GUI 终端 xterm XFree86的一个组件(不支持中文) gnome-terminal 标准GNOME终端 konsole 标准KDE终端 nautilus : nautilus GNOME文件管理器 从面板上可以点选“start here”来开启nautilus 支持http及ftp连接 支持text、html、man、info、mp3等文件句柄的嵌入 文书编辑器 : 文书编辑器 gvim GUI下的vim kwrite 默认的KDE文本编辑器 xemacs x下的emacs编辑器 gedit 简单的GNOME文本编辑器 图片浏览器 : 图片浏览器 gimp 强大的GNU图片处理程序 display 图片阅览器 convert 图形格式转换工具 gqview 图片目录册 ee 高性能图片浏览器 声音工具 : 声音工具 xmms Linux上的winamp gmix GNOME标准混声器 gtcd GNOME下的CD播放器 网络应用工具 : 网络应用工具 gftp FTP客户端 xchat IRC客户端 evolution 邮件客户端 mozilla 网页浏览器 Office组件 : Office组件 Open Office 源代码开放的staroffice组 oowriter ,ooimpress,oodraw,oomath,oocalc koffice 完整的KDE下的office组件 kword,kspread,kpresenter,kontour,kchart X中有用的快捷键 : X中有用的快捷键 Ctrl+Alt+Backspace 退出X Ctrl+Alt+Fn 切换到虚拟控制台n Alt+Tab 改变窗口 配置 X 环境 : 配置 X 环境 redhat-config-xfree86 Red Hat 开发的X配置工具 需要root的权限 显卡的选择 显示器的选择 分辨率的选择 色彩的选择 第九单元 : 第九单元 系统监视 任课讲师:______________ 了解系统状况 : 了解系统状况 unam e:显示系统信息 hostname:显示主机名 last:列出最近的用户登录 lastlog:列出每一个用户的最近登录情况 free:显示内存使用状况 top:系统监视器 进程 : 进程 系统通过进程来完成工作 每一个进程都有一个独立的进程号,系统通过调用进程号来调度操控进程 系统的原始进程是init init的PID总是1 一个进程可以产生另一个进程,除了init以外,所有的进程都有父进程 查询进程 : 查询进程 查询进程的指令: ps [option] pstree可以用来以树状的方式表现进程的父子关系 top是一个常用的系统监视工具。 控制进程 : 控制进程 kill: 语法:kill [-signal] PID 向进程传送一个特定的讯号 默认为15(终结) kill -l:列出所有可以由kill传递的讯号 killall 进程的优先级 : 进程的优先级 进程的优先级,用nice值来表示 nice:以一个不同的nice值来运行指令 nice -n num command renice:改变一个运行进程的nice值 renice -n pid 前台和后台 : 前台和后台 默认情况下,一个命令执行后,此指令将独占shell,并拒绝其他输入。我们称之为前台进程。反之,则称为后台进程。 对每一个控制台,都允许多个后台进程。 对前台/后台进程的控制与调度,被称为任务控制。 将进程丢入后台 : 将进程丢入后台 command &:将一个进程直接丢入后台运行 nohup command &:将一个进程直接丢入后台运行,而且在该控制台退出后,进程仍不挂断 ctrl + Z:将一个正在运行的前台进程暂停,并丢入后台 工作 : 工作 jobs:列出系统当前的后台进程 fg:将后台进程拉回前台 bg:激活后台暂停的进程 /proc目录 : /proc目录 /proc目录是一个虚拟的文件系统,包含了来自正在运行着的核心的信息 用户可以通过cat /proc/下的文件,来获得系统的信息 这些信息包括系统硬件、网络设置、内存使用,及其他一些东西 /proc/sys目录下的文件,允许系统管理员更动,这些变动会直接影响当前核心 系统日志 : 系统日志 系统日志记录着系统运行中的记录信息 在服务或系统发生故障的时候,通过查询系统日志,可以帮助我们诊断。 系统日志可以预警安全问题 系统日志一般都存放在/var/log目录下 常用的系统日志 : 常用的系统日志 /var/log/dmesg 核心启动日志 /var/log/messages 系统报错日志 /var/log/maillog 邮件系统日志 常用的系统日志(二) : 常用的系统日志(二) /var/log/xferlog FTP服务用日志 /var/log/secure 安全信息 系统登录与网络连接的信息 /var/log/wtmp 登录记录 第十单元 : 第十单元 Shell Scripts 任课讲师:______________ Shell 脚本 : Shell 脚本 Shell Scripts是一个包含shell指令的文本文件。 Shell脚本支持变量与简单的语法来完成批量工作。 Shell脚本支持交互的方式,在执行时从标准输入读取数据。 有大量的系统工作都是通过Shell脚本的方式来完成,例如系统开机,服务控制。 编辑shell脚本 : 编辑shell脚本 我们可以使用各种编辑工具来编辑shell script。 在脚本中,#开头表示该行被注释。 脚本中可以采用shell下能使用的所用命令、变量、正则表达式 变量赋值与继承 : 变量赋值与继承 在shell与shell脚本中,我们允许自己定义变量并为他们赋值。 语法:变量名=值 默认情况下,变量值不会被继承入子shell 用export将变量变成环境变量 export 变量名 用unset取消变量定义。 脚本的数据读取与写出 : 脚本的数据读取与写出 使用read将数据读入 read username 从标准输入读取数据来为username这个变量赋值 使用echo完成简单地输出 echo “hello world” 也可以使用printf来产生各种格式的输出 运行shell脚本 : 运行shell脚本 有三种执行shell脚本的方式 sh /路径/脚本名 /路径/脚本名 . /路径/脚本名 if : if 条件判断控制语句: if 条件 then 动作 elif 条件 then 动作 else 动作 fi case : case 条件判断控制语句: case 表达式 in 匹配值 1) 动作;; 匹配值 2) 动作;; * ) 动作;; esac select : select 循环控制语句 select 变量 in 数组 do 动作 done for : for 循环控制语句 for 变量 in 数组 do 动作 done while : while 循环控制语句 while 条件 do 动作 done until : until 循环控制语句 until 条件 do 动作 done Shell 脚本命令行参数 : Shell 脚本命令行参数 使用带命令行参数的Shell脚本 #command [option1] [option2] ….. 引用Shell 脚本命令行参数 $0 命令名本身 $1 第一个参数(option1) $2 第二个参数(option2) … …. 第十一单元 : 第十一单元 用户管理 任课讲师:______________ 检查用户身份 : 检查用户身份 用户可以使用下列指令了解用户身份 who:查询当前在线的用户 groups:查询用户所属的组 id:显示当前用户信息 finger:查询用户信息 添加用户 : 添加用户 用指令添加命令 useradd <username> passwd <password> 系统添加用户的标准步骤 编辑/etc/passwd与/etc/group 创建用户主目录 从/etc/skel拷贝文件与目录 让新用户获得其主目录与文件的拥有权限 给新用户一个密码 更改/删除用户 : 更改/删除用户 更改用户的资料可以通过: redhat-config-users或kusers之类的图形界面工具来完成 在字符界面下可以使用usermod指令来更改 系统管理者可以用userdel指令来删除已存在的用户 参数-r可以帮助系统将一个用户的目录等一并删除。 /etc/passwd文件 : /etc/passwd文件 passwd文件中记录的是个用户的登录信息。 每一行代表一个用户,用 : 分隔成七项,即用户的基础登录信息。 添加或删除一个用户,最基础的操作,即在passwd文件中添加或删除相应的个人记录。 passwd文件详细 : passwd文件详细 login name:登录用名 passwd:密码 uid:用户身份编号 gid:登录默认所在组编号 full name:用户全名或注释 home directory:用户主目录 shell:用户默认使用shell Home directory : Home directory login.defs中的create home选项决定系统在建立用户的时候是否同时创建其主目录 系统在建立用户主目录时,会将/etc/skel下的内容复制到新目录下。 最后,系统会使该目录与其下的文件归属于新用户。 chown –R user.group 目录名 /etc/shadow : /etc/shadow 目前,Red Hat Linux默认将用户密码存储在/etc/shadow文件中。 passwd文件默认权限为644,shadow文件默认权限为400。 shadow文件支持密码过期设定等功能 shadow文件中每一行表示一个系统用户的密码记录,用 : 号分隔。 用户可以通过authconfig来设定是否使用shadow文件及md5加密。 shadow文件详细 : shadow文件详细 shadow文件的每一行中的每一项具体来说: 登录用名 用户密码(一般经md5加密) 从1970年1月1日起到密码上一次被更改的时间 密码再过几天可以被变更(0表示随时可被变更) 密码再过几天必须被变更(99999表示永不过期) 密码过期前几天系统提醒用户(默认为一周) 密码过期几天后帐号会被取消 从1970年1月1日算起,多少天后帐号失效。 组管理 : 组管理 系统中组的信息,记录在/etc/group中 系统用户可以直接修改/etc/group文件达到更改组数据的目的,也可以使用以下指令: groupadd:添加一个组 groupdel:删除一个已存在组 groupmod:更改组的信息 用户可用newgrp指令改变当前所在组 组文件 : 组文件 /etc/group中的每一行代表一个组,用 : 隔开不同项 group_name:组名 password:组密码(一般不用) GID :组身份编号 user_list:组成员列表 第十二单元 : 第十二单元 硬件配置与管理 任课讲师:______________ 设备文件 : 设备文件 Linux沿袭Unix的风格,将所有设备认成一个文件。 设备文件分为两种 块设备文件(b) 字符设备文件(c) 设备文件一般存放在/dev目录下 常用的块设备文件 : 常用的块设备文件 /dev/hd[a-t]:IDE设备 /dev/sd[a-z]:SCSI设备 /dev/fd[0-7]:标准软驱 /dev/md[0-31]:软raid设备 loop[0-15]:本地回访设备 ram[0-19]:内存 常用的字符设备文件 : 常用的字符设备文件 /dev/null:无限数据接收设备 /dev/zero:无限零资源 /dev/tty[0-31]:虚拟终端 /dev/ttyS[0-9]:串口 /dev/lp[0-3]:并口 /dev/console:控制台 /dev/fb[0-31]:framebuffer 常用的符号连接设备文件 : 常用的符号连接设备文件 /dev/cdrom /dev/hd[a-t],sd[a-z] /dev/modem /dev/ttyS[0-9] /dev/pilot /dev/ttyS[0-9] 设备文件的使用 : 设备文件的使用 用户可以通过操作设备文件来完成对设备的操作。 echo hello > /dev/tty2 在第二个tty终端上显示一个‘hello’ cp /dev/fd0 /dev/fd1 将第一个软驱中的软盘拷入第二个软驱中的软盘 dd if=/dev/hda of=/root/mbr bs=512 count=1 备份第一个硬盘上的mbr为/root目录下的mbr文件 dd : dd dd指令是一个功能强大的copy命令 支持在拷贝文件的过程中转换文件格式 支持指定范围的复制 常用参数 if=文件名:指定源文件 of=文件名:指定目标文件 bs=xxx:指定块的大小 count=n:指定复制块的数量 mknod : mknod 系统用户可以用mknod指令来建立所需的设备文件 语法:mknod 文件名 文件类型 主号 从号 主号与从号可以在 /usr/src/linux-2.4/Documentation/devices.txt中找到 kudzu : kudzu kudzu:Red Hat Linux上的硬件自检工具,它维护两份文件 /etc/sysconfig/hwconf;使用硬件列表 /etc/modules.conf:为硬件指定驱动 kudzu以/usr/share/hwdata为数据库寻找硬件 hwbrowser是图形界面下的硬件管理器 硬盘结构 : 硬盘结构 对于每一个硬盘: 主引导记录/Master Boot Record/MBR 硬盘分区表/Standard Partition Table/SPT 主分区/Primary Partition 扩展分区/Extended Partition 逻辑分区/Logical Partition 硬盘分区 : 硬盘分区 一块硬盘只能有四个主分区 用户可以也只可以将一个主分区变成扩展分区 在扩展分区上,用户可以以链表方式建立逻辑分区 Red Hat Linux对一块IDE硬盘最多支持到63个分区,SCSI硬盘支持到15个。 fdisk工具最多只能辨认出16个分区。 为硬盘分区 : 为硬盘分区 硬盘分区工具 disk druid:方便的分区工具,只能在安装时使用 fdisk:运用广泛的字符界面下硬盘分区工具 分区改变后需重启系统才会生效。 第十三单元 : 第十三单元 文件系统 任课讲师:______________ 文件结构 : 文件结构 为了能在设备上储存与读取文件,我们需要在分区上创立文件系统 文件系统记录目录与文件我们称之为文件结构 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录树结构 Linux将各个文件系统挂载(mount)在系统目录树中使用。 文件系统 : 文件系统 对应不同的操作系统与设备,计算机里有许许多多种文件系统。 不同的文件系统存放、搜索文件的方式都有不同 Linux支持多种文件系统的读写。 Linux自身最主要使用的是ext2/ext3文件系统 ext2/ext3文件系统 : ext2/ext3文件系统 ext2/ext3文件系统支持rwx权限及文件属性(attributes)。 ext2/ext3文件系统采用block+inode的方式存放文件 ext2/ext3文件系统上有一块空间被称为超级块(superblock)用于存放文件系统的元数据,诸如卷标名、block数、inode数等等 inode存放文件的元数据,包含文件权限、属性、更改时间等等数据。 文件属性 : 文件属性 在ext2/3文件系统中,对每一个文件,还提供额外的属性支持 用户可以用lsattr来检查文件的属性 系统用户可以用chattr来改变文件的属性 +号添加、-号去除 ext3文件系统 : ext3文件系统 ext3文件系统即一个添加了日志功能的ext2,可与ext2文件系统无缝兼容 ext2文件系统可以通过增加日志的方式简单地升级成为ext3文件系统 ext3文件系统支持三种日志模式 规则(默认,仅记录元数据) 日志化(将数据象元数据一样记录入日志) 写回(只在fsck时发生) 其他常见的文件系统 : 其他常见的文件系统 minix:古老的文件系统 msdos/fat:microsoft早年的文件系统 vfat:win95与win98采用的文件系统 ntfs:win2000使用的文件系统 iso9660:光盘使用的文件系统 ReiserFS/JFS:仍然在完善的带日志文件系统 创建文件系统 : 创建文件系统 如果我们需要使用一个分区用于存储文件,则我们要在这个分区上建立文件系统 常用的创建文件系统的工具: mkfs 可以用于创建各种文件系统,由-t参数指定 mke2fs 创建ext2/3文件系统,支持指定block大小等功能 使用文件系统 : 使用文件系统 为了使用一个文件系统,往其中存读文件,用户需要先挂载该文件系统。 挂载文件系统的指令是mount。 语法: mount -t 文件系统类型 [其他参数] 设备 挂载点 mount参数 : mount参数 -t 文件系统类型:用于指定挂载文件系统的类型,一般这个参数是必须的。 -o 参数:补充追加的参数 ext2文件系统默认采用的参数:rw、suid、dev、exec、auto、nouser、async /etc/fstab : /etc/fstab 配置文件系统挂载信息 mount文件系统时若给出的参数不全,系统会从/etc/fstab中读取参数补完 系统启动会参考/etc/fstab中的配置项自动加载文件系统 也被fsck、dump、quotaon、swapon等程序使用 当前挂载系统 : 当前挂载系统 用户可以通过直接键入mount后回车来检查当前挂载中的文件系统 用户也可以通过查看/etc/mtab文件来查看当前挂载中的文件系统。 卷标 : 卷标 由于设备文件名可能在硬盘结构发生变化时更动,因此Red Hat Linux对ext2文件系统使用卷标来挂载与卸载。 卷标记录在ext2/ext3文件系统的超级块中 用户可以用e2label指令来查询与更改ext2文件系统的卷标 卸载文件系统 : 卸载文件系统 当一个文件系统使用完毕,用户应当卸载该文件系统。 umount指令用于卸载文件系统 语法: umount [参数] 设备/挂载点 一个正在使用中的文件系统不能被卸载 文件系统维护 : 文件系统维护 fsck/filesystem check:用于检查与修复文件系统 e2fsck:检查与修复ext2文件系统 系统在启动时自动会被检查 tune2fs:更改ext2文件系统属性 resize2fs:更改ext2文件系统的大小 parted:更改多种文件系统大小 自动挂载 : 自动挂载 系统通过autofs服务自动挂载文件系统 需要后台的automount进程 autofs服务的开闭由/etc/init.d/autofs脚本控制 主要应用于软驱与光驱等场合 如果该设备一段时间没有被使用,autofs会自动卸载 磁盘限额 : 磁盘限额 Linux内核支持基于文件系统的磁盘限额 每一个组或用户,可以单独设置其磁盘限额 磁盘限额包括对block的限制与对inode的限制,每一种限制又可以分为软限制与硬限制 软限制被突破后,经过一段时间(grace time),会自动变成硬限制 quota的配置与使用 : quota的配置与使用 在/etc/fstab中需要设置磁盘限额的文件系统所在行的第四项(mount参数)中添加usrquota、grpquota参数 使用mount –o remount 需要限制的文件系统,将mount参数带入/etc/mtab中 quota的配置与使用(二) : quota的配置与使用(二) 3. 执行quotacheck –auvg,在文件系统的根目录下建立aquota.user及aquota.group两文件 4. 使用edquota 用户名与edquota –g 组名编辑用户与组的磁盘限额 5. 用quotaon –auvg打开quota功能 第十四单元 : 第十四单元 计划任务 任课讲师:______________ Linux的计划任务 : Linux的计划任务 Linux系统支持一些能够自动执行任务的服务我们称其为计划任务: at:指定一个时间执行一个任务 cron:根据一个时间表自动执行任务 anacron:在一个指定时间间隔错过后自动执行任务 at : at at服务:安排一个任务在未来执行 at服务需要系统后台有一个atd进程 常用指令 at:安排延时任务 atq:查询当前的等待任务 atrm:删除等待任务 batch:以一个低优先级延时执行任务 at的使用控制 : at的使用控制 at的使用控制文件 /etc/at.allow /etc/at.deny 基于用户的使用控制 cron : cron 允许系统根据时间表自动完成任务 服务需要后台运行的系统进程crond 开关cron服务 系统管理员可以用service crond start|stop来开关cron服务 用chkconfig或ntsysv选择cron服务的默认开启关闭。 定制个人计划任务 : 定制个人计划任务 用户级别 crontab –e:编辑当前的守护进程表 crontab –l:列出当前的守护进程表 crontab –r:删除当前的守护进程表 crontab –u user:以某一个用户的身份 /var/spool/cron:存放用户守护进程表 crontab格式 : crontab格式 * * * * * echo “hello” | wall 分钟/小时/日/月/星期 命令 #每分钟向所有在线用户的屏幕上发送‘hello’ 定制系统计划任务 : 定制系统计划任务 系统级别 采用/etc/crontab作为其crond的运行配置文件 与个人的crontab文件格式有所不同 默认情况下,系统会自动执行以下目录内的脚本 /etc/cron.hourly:每小时的零一分 /etc/cron.daily:每天四点零二分 /etc/cron.weekly:每周日四点二十二分 /etc/cron.monthly:每月一日四点四十二分 /etc/cron.d/目录下存放着附加的系统守护文件 cron的使用限制 : cron的使用限制 默认情况下,所有用户都可以定制自己的守护任务 系统的守护任务只能由root来编辑 限制/允许 用户使用cron /etc/cron.allow /etc/cron.deny anacron : anacron cron服务的扩展 防止非24小时开机的计算机遗漏守护任务 每次计算机通电时自动检测 配置文件:/etc/anacrontab 范例: 7 80 cron.weekly run-parts /etc/cron.weekly tmpwatch : tmpwatch 为指定目录清理古旧文件 有效应用于防止/tmp目录被填满 tmpwatch每天在/etc/cron.daily中运行 语法: /usr/bin/tmpwatch 小时数 指定目录 第十五单元 : 第十五单元 RPM 包及其管理 任课讲师:______________ 什么是RPM : 什么是RPM RPM:RedHat Package Manager RPM的安装和卸除 : RPM的安装和卸除 安装与卸除 安装:rpm -i 升级:rpm -U 更新:rpm -F 卸除:rpm -e 可能会用到的补充参数 输出用:-v,-h 预设条件:--nodeps,--force 重定位:--root RPM包的查询 : RPM包的查询 RPM包的查询: rpm -q:查询某一个RPM包是否已安装 rpm -qi:查询某一个RPM包的详细信息 rpm -ql:列出某RPM包中所包含的文件 rpm -qf:查询某文件属于哪一个RPM包 rpm -qa:列出当前系统所有已安装的包 rpm -qp:指定一个等待安装的RPM包 RPM包的校验及检查 : RPM包的校验及检查 RPM包的校验 rpm -V:校验某个RPM包 rpm -Va:校验所有已安装的RPM包 RPM包的检查 rpm -K:检查RPM包的GPG签名 第十六单元 : 第十六单元 打印与电子邮件 任课讲师:______________ 在Linux中进行打印 : 在Linux中进行打印 打印机可以是本地打印机也可以是网络打印机 打印请求首先被送入打印队列 排队的请求任务按照先来先服务的原则送到打印机 在打印前或打印中可以取消任务 打印命令 : 打印命令 lpr - 提交一个任务到打印队列以供打印 可接受的格式:ASCII,PostScript lpq - 查看打印队列的内容 lprm - 从打印队列中删除一个任务 System V 的打印命令也在支持之列(例如:lp,lpstat 和cancel ) 从应用程序中打印 : 从应用程序中打印 大部分的应用程序输出PostScript格式 从应用程序输出仍然使用LPRng打印系统 任务被送到打印队列 lpr的参数可以被使用 打印工具 : 打印工具 enscript - 把文本文件转化成PostScript文件 a2ps - 把文本文件转化成PostScript文件 gv - PostScript 文件浏览器 ps2pdf - PostScript到PDF转换器 pdf2ps - PDF到PostScript转换器 mpage - 在一张纸上打印多页 邮件 : 邮件 一台Linux主机可以是一个邮件服务器或邮件客户端 有很多可用的邮件客户端 文本模式 pine,mutt 图形模式 mozilla Mail,evolution,kmail,balsa 命令行模式 mail 邮件客户程序 : 邮件客户程序 pine - 菜单驱动接口,简便易用 mutt - 可详细配置的邮件客户程序 evolution - 邮件,任务管理器,联系管理器 mozilla mail - 图形,高级过滤,支持多个邮件帐号 kmail - 图形,简单易用,KDE的一部分 POP和IMAP : POP和IMAP POP - Post Office Protocol 允许远端收取和删除邮件 在客户端的邮件必须是压缩的 IMAP - Internet Message Access Protocol 允许远端邮件收取和基于服务器的邮件目录管理 邮件过滤 : 邮件过滤 mozilla mail拥有很灵活的过滤功能 pine和mutt的过滤功能由procmail来实现 fetchmail : fetchmail 收取远端的邮件然后送到本地的邮件系统 支持许多协议 POP IMAP SMTP 第十七单元 : 第十七单元 sed,awk,和其他语言 任课讲师:______________ sed : sed Stream EDitor (流编辑器) 用来编辑文本流 只读取文件一次 通常用在命令的输出 占用的系统资源很少 sed 地址 : sed 地址 告诉sed在哪里执行编辑 没有地址 - 编辑整个文件 一个地址 - 编辑所有匹配的 两个地址 - 编辑所有在之间的 sed脚本 : sed脚本 编辑内容可以写成脚本 脚本是包含sed命令的文本文件 有很多的命令和选项! 一个sed例子 : 一个sed例子 把文件aboutsed.txt中所有的单词"slow"换成"fast" $ sed s/slow/fast/g aboutsed.txt > output.txt awk : awk 编辑文本的程序语言 在一个文件中搜索匹配一个模式或多个模式的行 在匹配的行上执行特殊的操作 awk程序 : awk程序 规则通常由新行来分离 规则包含一个模式和在{ }内包含的操作 pattern {action} 运行awk程序 : 运行awk程序 简单的程序可以在命令行下直接输入: $awk 'program' input file 更长的程序保存在文件中 $awk -f program_file input_file 一个简单的awk例子 : 一个简单的awk例子 用awk搜索文件/etc/passwd中包含"bash"字符串的行 $ awk '/bash/ { print }' /etc/passwd 一个更加复杂的awk例子 : 一个更加复杂的awk例子 统计/project目录下所有属于用户joshua的文件的总大小. #ls -l /project | awk '$3 == "joshua" { \ sum += $5 } END { print sum }' 何时使用awk : 何时使用awk 从大量的原始数据中产生报告 从其他程序的输出中总结信息 当你需要一个又小又快的文本处理程序的时候 到哪里学到更多 : 到哪里学到更多 sed和awk有详细的info页 $info sed $info awk 其他语言 : 其他语言 Red Hat Linux支持的其他语言和程序库包括: Perl Java C和C++ Tcl/Tk和Expect GTK+ Qt php You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
033-RHCE认证用户基础 DeBug Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 8 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: February 06, 2010 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript 第零单元 : 第零单元 总览 任课讲师:______________ UNIX概述 : UNIX概述 UNIX历史 UNIX特点 UNIX原则 UNIX历史 : UNIX历史 UNIX操作系统诞生于60年代末期的Bell实验室 美国电话电报公司(AT&T)在70年代中期开始发行UNIX的非商业许可证 从70年代末开始在市场上出现了不同的UNIX商品化版本 UNIX特点 : UNIX特点 可靠性高 伸缩性强 开放性好 植根于网络 面向数据库使用 UNIX基本原则 : UNIX基本原则 所有对象,包括硬件都是文件 配置数据以文本形式保存 由短小的单目的程序构成 避免不必要的用户交互 可使用多个程序合作完成复杂任务. GNU项目介绍 : GNU项目介绍 GNU是GNU’s not UNIX的缩写 1984,Project GNU 由Richard Stallman发起 GNU的基本体系是micro kernel GNU的基本原则是共享 GPL–GNU通用公共授权 : GPL–GNU通用公共授权 FSF,Free Software Foundation Free Software的概念 不是免费(gratis) copyleft open source Linux 起源 : Linux 起源 核心编写者 Linus Torvalds 自由的类Unix操作系统 遵循 GNU 和GPL 为何选择Linux? : 为何选择Linux? 支持UNIX的API,可以实现所有UNIX的功能 遵循开源许可协议 多用户多任务系统 广泛的网络协议和配置支持 广泛的硬件支持 广泛的技术支持 Red Hat Linux : Red Hat Linux 最新的系统内核 拥有常用的实用程序和应用软件 简单的安装和配置软件 提供技术支持 推荐硬件配置 : 推荐硬件配置 奔腾系列或者更高的CPU 128 MB或更大的内存 最少600MB(文本模式)或1.2GB(图形模式)的硬盘空间 可以用于引导系统的CD-ROM或3.5寸软驱。 Linux图形环境 : Linux图形环境 XFree86:标准的Linux X Window系统 XFree86 3.3.X XFree86 4.2.X GNOME(The GNU Network Object Model Environment)--基于GTK的工具包 KDE --基于QT的工具包 第一单元 : 第一单元 基础操作 任课讲师:______________ Linux用户环境 : Linux用户环境 内核(Kernel) Shell 终端模拟器(Terminal Emulator) X Window系统 窗口管理器(Window Manager) 桌面环境(Desktop Environment) 本地登录 : 本地登录 Red Hat Linux release 9.0 (Shrike) Kernel 2.4.20-8 on an i686 login:root(用户名) password:______(密码) 提示符与home目录 : 提示符与home目录 [root@stationXX root]# [当前用户名@主机名 当前目录] 提示符因用户而异 home目录是用户登入系统后即所在的默认目录。 创建用户 : 创建用户 #useradd [用户名] #password [用户名] example: [root@stationXX root]# useradd student [root@stationXX root]# passwd student Changing password for user student New password: (无回显) Retype new password: (无回显) passwd: all authentication tokens updated successfully [root@stationXX root]# 运行指令 : 运行指令 指令名 [选项] [参数] 例子: ls -l /etc/X11 帮助和在线帮助 指令 --help 例:mknod --help man 指令 例:man mknod info 指令 例:info mknod 基础指令(一) : 基础指令(一) man 的使用技巧 man -k keyword man -f keyword man -a keyword man n keyword 基础指令(二) : 基础指令(二) ls - 查看文件 cp - 拷贝文件 mv - 移动或重命名文件 rm - 删除文件 touch- 创建空文件或更新文件时间 基础指令(三) : 基础指令(三) cd - 改变当前路径 pwd- 察看当前完整路径 mkdir- 创立新目录 rmdir- 删除空目录 基础指令(四) : 基础指令(四) cat - 察看文件内容 more- 逐屏察看文件内容 less- 逐行察看文件内容 date- 显示当前时间 cal - 显示月历 基础指令(五) : 基础指令(五) df -显示磁盘用量 du -计算目录下文件占用磁盘的大小 基础指令(六) : 基础指令(六) head - 显示文件开头部分内容 tail -显示文件结尾部分内容 设 备 文 件 : 设 备 文 件 设备在Linux中以特殊文件的形式存在 块(block)设备文件 字符(character)设备文件 设备文件所在位置 查看设备类型 虚拟控制台及用户身份切换 : 虚拟控制台及用户身份切换 在系统中有12个虚拟控制台,前6个可供用作本地登录 用户可以用Alt+Fn(n=1~12)来切换。 用su可以用来切换用户身份 su - username 离开系统 : 离开系统 重启 reboot shutdown -r now init 6 关机 halt shutdown -h now poweroff init 0 第二单元 : 第二单元 文件 任课讲师:______________ 检查文件 : 检查文件 用ls –l以长模式察看文件的详细信息 包含当前目录的硬盘使用空间、文件类型、文件权限、硬连接数、文件拥有者、文件所属组、文件大小、更动时间、文件名。 用file检查文件类型 由于linux中的文件名中没有扩展名,所以可能需要用file来查看文件类型 文件类型 : 文件类型 在linux中,所有东西都被当成文件。 文件权限前的第一个字母用来标识文件类型: -:一般文件 d:目录文件 b:块设备文件 c:字符设备文件 l:链接文件 p:人工管道 文件权限 : 文件权限 对于每一个文件,Linux都提供了一套文件权限系统。 文件权限系统,将操作文件的用户都分成三类 文件的拥有者(u) 文件所属组的成员(g) 其他用户(o) 文件权限类型 : 文件权限类型 对于每一类用户,权限系统又分别提供他们三种权限 读(r) :用户是否有权力读文件的内容 写(w) :用户是否有权利改变文件的内容 执行(x) :用户是否有权利执行文件 改变文件权限 : 改变文件权限 使用chmod 来改变文件的当前权限 chmod [-R] 权限 文件名 只有文件的拥有者和root才可以改变文件的权限 使用数字来改变文件权限 : 使用数字来改变文件权限 chmod后可以用三个数字来表示用户权限 第一位代表文件拥有者权限 第二位代表文件所属组成员权限 第三位代表其他用户权限 每一个数字都采用加和的方式 4(读) 2(写) 1(执行) 建立链接 : 建立链接 ln 硬链接 语法:ln 源文件 新建链接名 软链接 语法:ln –s 源文件 新建链接名 ext2/3中文件的构成 : ext2/3中文件的构成 在ext2和ext3文件系统中,文件以inod+block的方式存在。 一但用rm指令删除文件中的inode记录。文件无法被找回。 stat指令可以用来检查文件的block与inode状况。 所属用户 : 所属用户 每一个文件都有一个拥有者。文件的拥有者可以改变文件的权限。 root用户可以用chown来改变文件的拥有者。 所属组 : 所属组 每一个文件只能属于一个指定的组。 文件的拥有者与root用户,可以用chgrp来改变文件所属的组 文件名 : 文件名 文件名最大为255个字符。 开头为.的文件为隐藏文件。 第三单元 : 第三单元 目录 任课讲师:______________ 目录 : 目录 目录在文件类型上用d标识 用 / 分隔目录层 Linux 操作系统都有且仅有一个起始目录,我们用一个单独的 / 来表示,称其为根目录。 对每一个shell和操作环境,都有一个当前工作目录。 .文件与..文件 : .文件与..文件 在每一个目录下都有一个.文件与..文件。 .文件是对当前目录的一个硬连接 ..文件是对上级目录的一个硬连接 目录权限 : 目录权限 目录也是一种文件 目录上的读写执行权限与普通文件有所不同: 读:用户可以读取目录内的文件 写:单独使用没有作用。与执行权限连用可以在目录内添加与删除文件。 执行:用户可以进入目录,调用目录内的资料 强制位与冒险位 : 强制位与冒险位 除了读写执行权限以外,ext2文件系统还支持强制位(setuid 和setgid)与冒险位(sticky)的特别权限。 针对u,g,o,分别有set uid,set gid,及sticky。 强制位与冒险位添加在执行权限的位置上。如果该位置上原已有执行权限。则强制位与冒险位以小写字母的方式表示,否则,以大写字母表示。 set uid与set gid在u和g的x位置上各采用一个s,sticky使用一个t。 set gid对目录的作用 : set gid对目录的作用 默认情况下,用户建立的文件属于用户当前所在的组。 目录上设置了setgid,表示在此目录中,任何人建立的文件,都会属于目录所属的组。 冒险位对目录的作用 : 冒险位对目录的作用 默认情况下,如果一个目录上有w和x权限,则任何人可以在此目录中建立与删除文件。 一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。 强制位对文件的作用 : 强制位对文件的作用 在可执行文件上,用户可以添加set uid和set gid。 默认情况下,用户执行一个指令,会以该用户的身份来运行进程。 指令文件上的强制位,可以让用户执行的指令,以指令文件的拥有者或所属组的身份运行进程。 设置强制位与冒险位 : 设置强制位与冒险位 用户可以用chmod指令来为文件设置强制位与冒险位。 set uid:chmod u+s 文件名 set gid:chmod g+s 文件名 sticky:chmod o+t 文件名 强制位与冒险位也可以通过一个数字加和,放在读写执行的三位数字前来指定。 4(set uid) 2(set gid) 1(sticky) umask : umask 每个用户建立文件时,此文件都会有默认权限。 默认权限的值由环境中的umask值来确定 用户可以自主改动umask值,并在改动后建立的文件上得到体现。 一般用户的默认umak值为002,系统用户的默认umask值为022。 根目录下的目录 : 根目录下的目录 /bin:存储常用用户指令。 /boot:存储核心、模块映像等启动用文件 /dev:存储设备文件 /etc:存储系统、服务的配置目录与文件 /home:存放个人主目录 /lib:存放库文件,诸如核心模块、驱动 /lost+found:存储fsck用的孤儿文件 根目录下的目录(二) : 根目录下的目录(二) /mnt:系统加载文件系统时用的常用挂载点 /opt:第三方工具使用的安装目录 /proc:虚拟文件系统,包含系统讯息等资料 /root:root用户的主目录 /sbin:存储系统管理用指令 /tmp:临时文件的暂存点 /usr:存放与用户直接相关的文件与目录 /var:存储在系统运行中可能会更改的数据 第四单元 : 第四单元 过滤器、输入输出 及管道 任课讲师:______________ 过滤器 : 过滤器 Linux中的应用工具分为三种: 交互工具 过滤器 编辑器 能够接受数据,过滤再输出的工具,称为过滤器 对过滤器和进程,存在着输入源与输出对象 输入、输出、重定向 : 输入、输出、重定向 输入:过滤器的数据来源 标准输入stdin(0):默认是键盘 输出:过滤器的数据去向 标准输出stdout (1):默认是终端屏幕 错误输出 :报错讯息与标准输出走不同的I/O通道 标准错误输出stderr(2):默认是终端屏幕 重定向:标准输入、输出与错误输出,都可以用特定符号改变数据来源或去向 输入重定向 : 输入重定向 使用“<”来重定向输入源 大多数工具都会以其后的文件名为输入源 有一些过滤器一定需要添加 < 以明确输入源 从当前文档输入 : 从当前文档输入 使用 << 让系统将一次键盘的全部输入,先送入虚拟的‘当前文档’,然后一次性输入 需要一对字母、符号或字符串作为起始终结标识符 可以选择任意符号作为起始终结标识符 输出重定向 : 输出重定向 使用>改变数据输出目标 范例: ls –l > listfile 将当前目录下的文件以长模式显示,然后写入listfile文件 文件已有内容会被消除 覆盖与追加 : 覆盖与追加 使用>进行输出重定向,文件的原内容会被覆盖 ls –l > listfile 使用>>,可以将输出追加入文件 ls –l >> listfile 错误输出重定向 : 错误输出重定向 系统错误与标准输出使用的I/O管道不同 默认情况下,系统报错会显示到终端屏幕上 使用2>将报错讯息重定向入一个文件 find / -type s 2> /dev/null 使用2>>将报错讯息追加入一个文件 find / -name passwd 2>> results 双重输出重定向 : 双重输出重定向 使用>和2>可以将一次操作的正确、错误输入,被单独地送到不同的地方: find / -perm -2 2> error > results 使用&>将所有输入都送向同一个地方: find / -perm +6000 > file 管道 : 管道 使用 | 将前一个过滤器的输出直接送入后一个过滤器的输入 ls –l | grep pass 允许多重管道 注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配 重定向、管道的常用范例 : 重定向、管道的常用范例 ls –l | more 分屏显示当前目录下的文件 cat < filea > fileb 拷贝filea到fileb cat file.* > file 将数个小文件合并成一个文件 第五单元 : 第五单元 文件查找与文件管理 任课讲师:______________ 可执行文件的搜索 : 可执行文件的搜索 which 显示一个可执行文件的完整路径 按照alias -> $PATH的顺序查找 whereis 搜索一个可执行工具及其相关配置、帮助 slocate : slocate 语法: slocate [关键字段] locate [关键字段] 所有文件名及其所在路径包含关键字段的文件与目录都会显示 slocate先将当前目录结构做成一个数据库,然后再在此数据库中搜索匹配记录 find : find 语法: find [路径] [参数] [表达式] 从指定路径下递归向下搜索文件 支持按照各种条件方式搜索 支持对搜索得到的文件进一步用指令操作 操作找到的文件 : 操作找到的文件 语法: find [路径] [参数] [表达式] -exec 指令 {} \; {}代表find找到的文件 \ 禁止转意 ;表示本行指令结束 常用的文件操作指令 : 常用的文件操作指令 wc - 统计文件的行、词、字数 grep - 显示文件中匹配关键字的行 sort - 按序重排文本并送显示 常用的文件操作指令(二) : 常用的文件操作指令(二) diff - 报告文本差异内容 comp - 报告文本差异位置 uniq - 去除文件中重复的行 cut -显示文件中的某一列 paste - 将文本按列拼接 压缩 : 压缩 gzip,gunzip Linux标准压缩工具 对文本文件可以达到75%的压缩率 compress,uncompress 旧的Unix压缩工具 bzip2,bunzip2 更新的Linux压缩工具 比gzip有着更高的压缩率 Z系列指令 : Z系列指令 对于用gzip压缩的文件,有一系列以z为开头的文件,可以在不经解压的情况下,直接操作文件 zcat:直接显示压缩文件的内容 zless:直接逐行显示压缩文件的内容 zdiff:直接报告压缩文件的差异内容 zcmp:直接报告压缩文件的差异处 tar : tar 用于在磁带机、软盘、ZIP设备上做备份。也可以备份在一个硬盘文件上。 主要参数: c:将文件备份出来 v:将过程输出 x:从一个文件中解出备份 范例 备份:tar cvf backup.tar *.txt 解开:tar xvf backup.tar –C backup/ dump/restore : dump/restore 备份与还原ext2/3文件系统 不可以在其他文件系统上使用 可以选择进行完全备份或增量备份 范例: dump –0u –f /var/tmp/hda2dump /dev/hda1 restore –rf /var/tmp/hda2dump 第六单元 : 第六单元 交互工具与编辑器 任课讲师:______________ 交互工具 : 交互工具 mesg -- 控制终端是否接收讯息 常用的交互工具: write:指定一个在线用户发送短消息 wall:向所有在线用户广播 编辑工具 : 编辑工具 我们通常用各种编辑工具来处理文本文件 常用的编辑工具: VIM EMACS Vi : Vi 作为一个编辑器,vi被广泛地运用在各种Unix操作系统上。 Vi是Linux中的标准文本编辑器。 在Red Hat Linux上,一般采用的“可视编辑器 / visual editor” 是vim(vi improved) 打开文件 : 打开文件 vi 文件名 如果文件已存在,则此文件被打开且显示文件内容 如果文件不存在,则vi在第一次存盘时自动建立在硬盘上 存写文件 : 存写文件 从命令模式下: :w 保存当前文件 :q 如果未对文件做改动则退出 :wq /:x /ZZ 保存当前文件并退出 :q! 放弃存储并退出 :e 文件名 打开另一文件并开始编辑 vi 模式 : vi 模式 vi 提供两种模式 命令模式 浏览、删除、剪贴、查找等 可以用各种命令进入插入模式 插入模式 输入新文档 用<ESC>退出插入模式回命令模式 删除与块操作 : 删除与块操作 在命令模式下可以直接删除字符 在命令模式下键入v则进入块操作: 移动光标以选定操作块 c 剪切选定块 或 y 复制选定块 p 将选定内容贴在光标所在位置右手边 取消操作 : 取消操作 u:取消上一个更动 U:取消一行内的所有更动 <ctrl-r>:重做 :e! :放弃所有更动,重新编辑 查找文本 : 查找文本 vi支持用户在全文中查找一个关键字段 在命令模式下,用 / 向上查找或用 ? 向下查找 查找一直到文件尾或文件头 在查找后,可以用 n 继续寻找下一个关键字段。 命令模式的输入选项 : 命令模式的输入选项 : r <文件名> 把文件插入到光标处 :r !<命令> 把<命令>的输出插入到当前文本中 :nr <文件> 把<文件>插入到第n行 :!<命令> 运行<命令>,然后返回 :sh 转到SHELL :so <文件> 读取<文件>,再执行文件里面的命令 第七单元 : 第七单元 BASH 任课讲师:______________ Shell简介 : Shell简介 Shell:命令行解释器,是用户与系统沟通时的媒介。 在Unix系统中有各种Shell,Linux采用bash为其默认shell 系统可以使用的shell记录在/etc/shells中 bash : bash bash:Bourne Again Shell的缩写。 GNU计划的一个组件。 与Unix上的Bourne Shell完全兼容。 支持命令行输入、操作历史查询、快捷键、使用变量等功能。 预定义环境变量 : 预定义环境变量 在bash中有很多预定义环境变量 系统通过预定义环境变量来定义shell的环境 用户可以用set或env查询当前的环境变量 常用的预定义变量: HOME:当前用户的主目录 PATH:当前用户的可执行文件搜索路径 LANG:程序应该使用的默认语言 PS1:行提示符 history : history 在bash中输入history指令可以查询用户的过往操作。 内存中记录的过往指令数根据环境变量中HISTSIZE而定。 history表存储在内存中,在用户logout时会记录入用户主目录下的.bash_history文件中。在下次login时载入。 .bash_history中的指令数根据环境变量中的HISTFILESIZE而定。 调用过往指令 : 调用过往指令 使用 ! 来调用过往指令: !!:重复执行上一条指令 !a:重复执行上一条以a为首的指令 !number:重复执行上一条在history表中记录号码为number的指令 !-number:重复执行前第number条指令 可以用<ctrl+r>来在history表中查询某条过往指令 alias : alias 在shell下键入alias可以查询当前alias列表。 用户可以alias来为一条命令取一个简单的别名 用户也可以用unalias来取消一条别名记录。 alias记录在shell中总是先行。 命令行表达式 : 命令行表达式 命令行输出——“ ” 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,则转义。 命令行输出——‘ ’ 将一串字符当成一个字符串来对待,如果字符串中包含特殊含义的字符,不转义。 执行引用符——` ` 引用命令的执行结果 命令行表达式(二) : 命令行表达式(二) 数学运算——$[ ] 在中括号内的表达式会被数学计算 逸脱符——\ 用于取消命令行中字符的特殊含义 用于表示一行未结束 命令行表达式(三) : 命令行表达式(三) 命令行结束符——; 用于在一行内分隔两个独立命令,表示一行已结束,作用相当于回车键 pwd ; ls –l 子shell激活——() 在小括号内的命令行表示激活一个子shell后在子shell中运行 逻辑运算符 : 逻辑运算符 shell命令行支持在同一行的两条命令中插入&&(逻辑与)与 ||(逻辑或) &&:当前一条指令执行成功时再执行后一条指令 ||:当前一条指令执行失败时再执行后一条指令 登录shell : 登录shell 默认情况下,在shell下改变变量、umask、alias,只在此次登录中有效。一旦logout后再login,则设定恢复初始值。 一个通过登录而得到的shell,一般是用户的初始shell。 在登录shell下激活的shell采用登录shell的环境设定 登录shell从配置文件中读取其环境设定 定制登录shell : 定制登录shell bash 在用户登录时从四个文件中读取环境设定: 全局设置文件: /etc/profile /etc/bashrc 用户设置文件: ~/.bashrc ~/.bash_profile 其他shell设定文件 : 其他shell设定文件 ~/.bash_logout:在用户logout的时候自动执行。 ~/.bash_history:用户login时自动读取其内容并加载到内存history记录中,logout时将内存history记录写入。 /etc/profile.d/*.sh:在/etc/profile中被执行,其中的环境设定,也会被全局引用 常用快捷键 : 常用快捷键 Ctrl + d:输入已结束。在shell下相当于一个exit Ctrl + c:键盘中断请求。 Ctrl +s & Ctrl + q:暂停/恢复屏幕输出 Ctrl + l:清屏,相当于clear。 Tab:自动补完命令行与文件名 Tab键双击可以列出所有可能匹配的选择 第八单元 : 第八单元 X window 任课讲师:______________ X window 系统 : X window 系统 支持在Linux上运行图形界面 创立于1986年,至今仍在被使用 客户端/服务器端模型 XFree86 – 自由、开放源代码的执行X GNOME : GNOME 三个主要构件 稳定,易于使用的桌面环境 为开发工具提供的完整工具组与库 GNOME office的应用工具 使用GTK+来设置桌面装饰 KDE : KDE KDE是K Desktop Environment的缩写 稳定的桌面环境 Koffice应用工具 使用QT来设置桌面装饰 Sawfish : Sawfish GNOME的默认窗口管理工具 可主题化 http://sawfish.themes.org 非常灵活且易于定制 sawfish-ui 同样也是GNOME配置工具的一部分 其他X环境 : 其他X环境 无GNOME或KDE的X11 一个可以为低性能硬件考虑的解决方案 WindowMaker 以NeXTSTEP GUI为范本的窗口管理器 fvwm 成熟、稳定的窗口管理器,在许多版本的Linux中采用过 twm 一个古旧的X窗口管理器 切换桌面 : 切换桌面 可以在桌面环境中使用switchdesk切换桌面 可以选择使用GNOME、KDE或其他窗口管理器 建立~/.Xclients、~/.Xclients_defaults或其他主机配置文件,并在其中指定桌面: GNOME (exec gnome-session) KDE (exec startkde) 鼠标配置 : 鼠标配置 X为三键鼠标而设计 双键鼠标可以用双键齐按的方式来模拟中键 支持鼠标滚轴轮 并不是对所有的应用工具都生效 鼠标配置工具 —redhat-config-mouse 或 mouseconfig 拷贝与粘贴 : 拷贝与粘贴 以鼠标左键来选择文本(高亮化) 用鼠标中键来粘贴 在双键鼠标中可以双键齐按来模拟中键 启动XFree86 : 启动XFree86 设定runlevel为5自动激活图形登录窗口进入X 用gdm、kdm、xdm开启图形登录窗口进入X 用startx在字符界面下进入X GUI 终端 : GUI 终端 xterm XFree86的一个组件(不支持中文) gnome-terminal 标准GNOME终端 konsole 标准KDE终端 nautilus : nautilus GNOME文件管理器 从面板上可以点选“start here”来开启nautilus 支持http及ftp连接 支持text、html、man、info、mp3等文件句柄的嵌入 文书编辑器 : 文书编辑器 gvim GUI下的vim kwrite 默认的KDE文本编辑器 xemacs x下的emacs编辑器 gedit 简单的GNOME文本编辑器 图片浏览器 : 图片浏览器 gimp 强大的GNU图片处理程序 display 图片阅览器 convert 图形格式转换工具 gqview 图片目录册 ee 高性能图片浏览器 声音工具 : 声音工具 xmms Linux上的winamp gmix GNOME标准混声器 gtcd GNOME下的CD播放器 网络应用工具 : 网络应用工具 gftp FTP客户端 xchat IRC客户端 evolution 邮件客户端 mozilla 网页浏览器 Office组件 : Office组件 Open Office 源代码开放的staroffice组 oowriter ,ooimpress,oodraw,oomath,oocalc koffice 完整的KDE下的office组件 kword,kspread,kpresenter,kontour,kchart X中有用的快捷键 : X中有用的快捷键 Ctrl+Alt+Backspace 退出X Ctrl+Alt+Fn 切换到虚拟控制台n Alt+Tab 改变窗口 配置 X 环境 : 配置 X 环境 redhat-config-xfree86 Red Hat 开发的X配置工具 需要root的权限 显卡的选择 显示器的选择 分辨率的选择 色彩的选择 第九单元 : 第九单元 系统监视 任课讲师:______________ 了解系统状况 : 了解系统状况 unam e:显示系统信息 hostname:显示主机名 last:列出最近的用户登录 lastlog:列出每一个用户的最近登录情况 free:显示内存使用状况 top:系统监视器 进程 : 进程 系统通过进程来完成工作 每一个进程都有一个独立的进程号,系统通过调用进程号来调度操控进程 系统的原始进程是init init的PID总是1 一个进程可以产生另一个进程,除了init以外,所有的进程都有父进程 查询进程 : 查询进程 查询进程的指令: ps [option] pstree可以用来以树状的方式表现进程的父子关系 top是一个常用的系统监视工具。 控制进程 : 控制进程 kill: 语法:kill [-signal] PID 向进程传送一个特定的讯号 默认为15(终结) kill -l:列出所有可以由kill传递的讯号 killall 进程的优先级 : 进程的优先级 进程的优先级,用nice值来表示 nice:以一个不同的nice值来运行指令 nice -n num command renice:改变一个运行进程的nice值 renice -n pid 前台和后台 : 前台和后台 默认情况下,一个命令执行后,此指令将独占shell,并拒绝其他输入。我们称之为前台进程。反之,则称为后台进程。 对每一个控制台,都允许多个后台进程。 对前台/后台进程的控制与调度,被称为任务控制。 将进程丢入后台 : 将进程丢入后台 command &:将一个进程直接丢入后台运行 nohup command &:将一个进程直接丢入后台运行,而且在该控制台退出后,进程仍不挂断 ctrl + Z:将一个正在运行的前台进程暂停,并丢入后台 工作 : 工作 jobs:列出系统当前的后台进程 fg:将后台进程拉回前台 bg:激活后台暂停的进程 /proc目录 : /proc目录 /proc目录是一个虚拟的文件系统,包含了来自正在运行着的核心的信息 用户可以通过cat /proc/下的文件,来获得系统的信息 这些信息包括系统硬件、网络设置、内存使用,及其他一些东西 /proc/sys目录下的文件,允许系统管理员更动,这些变动会直接影响当前核心 系统日志 : 系统日志 系统日志记录着系统运行中的记录信息 在服务或系统发生故障的时候,通过查询系统日志,可以帮助我们诊断。 系统日志可以预警安全问题 系统日志一般都存放在/var/log目录下 常用的系统日志 : 常用的系统日志 /var/log/dmesg 核心启动日志 /var/log/messages 系统报错日志 /var/log/maillog 邮件系统日志 常用的系统日志(二) : 常用的系统日志(二) /var/log/xferlog FTP服务用日志 /var/log/secure 安全信息 系统登录与网络连接的信息 /var/log/wtmp 登录记录 第十单元 : 第十单元 Shell Scripts 任课讲师:______________ Shell 脚本 : Shell 脚本 Shell Scripts是一个包含shell指令的文本文件。 Shell脚本支持变量与简单的语法来完成批量工作。 Shell脚本支持交互的方式,在执行时从标准输入读取数据。 有大量的系统工作都是通过Shell脚本的方式来完成,例如系统开机,服务控制。 编辑shell脚本 : 编辑shell脚本 我们可以使用各种编辑工具来编辑shell script。 在脚本中,#开头表示该行被注释。 脚本中可以采用shell下能使用的所用命令、变量、正则表达式 变量赋值与继承 : 变量赋值与继承 在shell与shell脚本中,我们允许自己定义变量并为他们赋值。 语法:变量名=值 默认情况下,变量值不会被继承入子shell 用export将变量变成环境变量 export 变量名 用unset取消变量定义。 脚本的数据读取与写出 : 脚本的数据读取与写出 使用read将数据读入 read username 从标准输入读取数据来为username这个变量赋值 使用echo完成简单地输出 echo “hello world” 也可以使用printf来产生各种格式的输出 运行shell脚本 : 运行shell脚本 有三种执行shell脚本的方式 sh /路径/脚本名 /路径/脚本名 . /路径/脚本名 if : if 条件判断控制语句: if 条件 then 动作 elif 条件 then 动作 else 动作 fi case : case 条件判断控制语句: case 表达式 in 匹配值 1) 动作;; 匹配值 2) 动作;; * ) 动作;; esac select : select 循环控制语句 select 变量 in 数组 do 动作 done for : for 循环控制语句 for 变量 in 数组 do 动作 done while : while 循环控制语句 while 条件 do 动作 done until : until 循环控制语句 until 条件 do 动作 done Shell 脚本命令行参数 : Shell 脚本命令行参数 使用带命令行参数的Shell脚本 #command [option1] [option2] ….. 引用Shell 脚本命令行参数 $0 命令名本身 $1 第一个参数(option1) $2 第二个参数(option2) … …. 第十一单元 : 第十一单元 用户管理 任课讲师:______________ 检查用户身份 : 检查用户身份 用户可以使用下列指令了解用户身份 who:查询当前在线的用户 groups:查询用户所属的组 id:显示当前用户信息 finger:查询用户信息 添加用户 : 添加用户 用指令添加命令 useradd <username> passwd <password> 系统添加用户的标准步骤 编辑/etc/passwd与/etc/group 创建用户主目录 从/etc/skel拷贝文件与目录 让新用户获得其主目录与文件的拥有权限 给新用户一个密码 更改/删除用户 : 更改/删除用户 更改用户的资料可以通过: redhat-config-users或kusers之类的图形界面工具来完成 在字符界面下可以使用usermod指令来更改 系统管理者可以用userdel指令来删除已存在的用户 参数-r可以帮助系统将一个用户的目录等一并删除。 /etc/passwd文件 : /etc/passwd文件 passwd文件中记录的是个用户的登录信息。 每一行代表一个用户,用 : 分隔成七项,即用户的基础登录信息。 添加或删除一个用户,最基础的操作,即在passwd文件中添加或删除相应的个人记录。 passwd文件详细 : passwd文件详细 login name:登录用名 passwd:密码 uid:用户身份编号 gid:登录默认所在组编号 full name:用户全名或注释 home directory:用户主目录 shell:用户默认使用shell Home directory : Home directory login.defs中的create home选项决定系统在建立用户的时候是否同时创建其主目录 系统在建立用户主目录时,会将/etc/skel下的内容复制到新目录下。 最后,系统会使该目录与其下的文件归属于新用户。 chown –R user.group 目录名 /etc/shadow : /etc/shadow 目前,Red Hat Linux默认将用户密码存储在/etc/shadow文件中。 passwd文件默认权限为644,shadow文件默认权限为400。 shadow文件支持密码过期设定等功能 shadow文件中每一行表示一个系统用户的密码记录,用 : 号分隔。 用户可以通过authconfig来设定是否使用shadow文件及md5加密。 shadow文件详细 : shadow文件详细 shadow文件的每一行中的每一项具体来说: 登录用名 用户密码(一般经md5加密) 从1970年1月1日起到密码上一次被更改的时间 密码再过几天可以被变更(0表示随时可被变更) 密码再过几天必须被变更(99999表示永不过期) 密码过期前几天系统提醒用户(默认为一周) 密码过期几天后帐号会被取消 从1970年1月1日算起,多少天后帐号失效。 组管理 : 组管理 系统中组的信息,记录在/etc/group中 系统用户可以直接修改/etc/group文件达到更改组数据的目的,也可以使用以下指令: groupadd:添加一个组 groupdel:删除一个已存在组 groupmod:更改组的信息 用户可用newgrp指令改变当前所在组 组文件 : 组文件 /etc/group中的每一行代表一个组,用 : 隔开不同项 group_name:组名 password:组密码(一般不用) GID :组身份编号 user_list:组成员列表 第十二单元 : 第十二单元 硬件配置与管理 任课讲师:______________ 设备文件 : 设备文件 Linux沿袭Unix的风格,将所有设备认成一个文件。 设备文件分为两种 块设备文件(b) 字符设备文件(c) 设备文件一般存放在/dev目录下 常用的块设备文件 : 常用的块设备文件 /dev/hd[a-t]:IDE设备 /dev/sd[a-z]:SCSI设备 /dev/fd[0-7]:标准软驱 /dev/md[0-31]:软raid设备 loop[0-15]:本地回访设备 ram[0-19]:内存 常用的字符设备文件 : 常用的字符设备文件 /dev/null:无限数据接收设备 /dev/zero:无限零资源 /dev/tty[0-31]:虚拟终端 /dev/ttyS[0-9]:串口 /dev/lp[0-3]:并口 /dev/console:控制台 /dev/fb[0-31]:framebuffer 常用的符号连接设备文件 : 常用的符号连接设备文件 /dev/cdrom /dev/hd[a-t],sd[a-z] /dev/modem /dev/ttyS[0-9] /dev/pilot /dev/ttyS[0-9] 设备文件的使用 : 设备文件的使用 用户可以通过操作设备文件来完成对设备的操作。 echo hello > /dev/tty2 在第二个tty终端上显示一个‘hello’ cp /dev/fd0 /dev/fd1 将第一个软驱中的软盘拷入第二个软驱中的软盘 dd if=/dev/hda of=/root/mbr bs=512 count=1 备份第一个硬盘上的mbr为/root目录下的mbr文件 dd : dd dd指令是一个功能强大的copy命令 支持在拷贝文件的过程中转换文件格式 支持指定范围的复制 常用参数 if=文件名:指定源文件 of=文件名:指定目标文件 bs=xxx:指定块的大小 count=n:指定复制块的数量 mknod : mknod 系统用户可以用mknod指令来建立所需的设备文件 语法:mknod 文件名 文件类型 主号 从号 主号与从号可以在 /usr/src/linux-2.4/Documentation/devices.txt中找到 kudzu : kudzu kudzu:Red Hat Linux上的硬件自检工具,它维护两份文件 /etc/sysconfig/hwconf;使用硬件列表 /etc/modules.conf:为硬件指定驱动 kudzu以/usr/share/hwdata为数据库寻找硬件 hwbrowser是图形界面下的硬件管理器 硬盘结构 : 硬盘结构 对于每一个硬盘: 主引导记录/Master Boot Record/MBR 硬盘分区表/Standard Partition Table/SPT 主分区/Primary Partition 扩展分区/Extended Partition 逻辑分区/Logical Partition 硬盘分区 : 硬盘分区 一块硬盘只能有四个主分区 用户可以也只可以将一个主分区变成扩展分区 在扩展分区上,用户可以以链表方式建立逻辑分区 Red Hat Linux对一块IDE硬盘最多支持到63个分区,SCSI硬盘支持到15个。 fdisk工具最多只能辨认出16个分区。 为硬盘分区 : 为硬盘分区 硬盘分区工具 disk druid:方便的分区工具,只能在安装时使用 fdisk:运用广泛的字符界面下硬盘分区工具 分区改变后需重启系统才会生效。 第十三单元 : 第十三单元 文件系统 任课讲师:______________ 文件结构 : 文件结构 为了能在设备上储存与读取文件,我们需要在分区上创立文件系统 文件系统记录目录与文件我们称之为文件结构 每一个文件系统在Linux里都被解释成由一个根目录为起点的目录树结构 Linux将各个文件系统挂载(mount)在系统目录树中使用。 文件系统 : 文件系统 对应不同的操作系统与设备,计算机里有许许多多种文件系统。 不同的文件系统存放、搜索文件的方式都有不同 Linux支持多种文件系统的读写。 Linux自身最主要使用的是ext2/ext3文件系统 ext2/ext3文件系统 : ext2/ext3文件系统 ext2/ext3文件系统支持rwx权限及文件属性(attributes)。 ext2/ext3文件系统采用block+inode的方式存放文件 ext2/ext3文件系统上有一块空间被称为超级块(superblock)用于存放文件系统的元数据,诸如卷标名、block数、inode数等等 inode存放文件的元数据,包含文件权限、属性、更改时间等等数据。 文件属性 : 文件属性 在ext2/3文件系统中,对每一个文件,还提供额外的属性支持 用户可以用lsattr来检查文件的属性 系统用户可以用chattr来改变文件的属性 +号添加、-号去除 ext3文件系统 : ext3文件系统 ext3文件系统即一个添加了日志功能的ext2,可与ext2文件系统无缝兼容 ext2文件系统可以通过增加日志的方式简单地升级成为ext3文件系统 ext3文件系统支持三种日志模式 规则(默认,仅记录元数据) 日志化(将数据象元数据一样记录入日志) 写回(只在fsck时发生) 其他常见的文件系统 : 其他常见的文件系统 minix:古老的文件系统 msdos/fat:microsoft早年的文件系统 vfat:win95与win98采用的文件系统 ntfs:win2000使用的文件系统 iso9660:光盘使用的文件系统 ReiserFS/JFS:仍然在完善的带日志文件系统 创建文件系统 : 创建文件系统 如果我们需要使用一个分区用于存储文件,则我们要在这个分区上建立文件系统 常用的创建文件系统的工具: mkfs 可以用于创建各种文件系统,由-t参数指定 mke2fs 创建ext2/3文件系统,支持指定block大小等功能 使用文件系统 : 使用文件系统 为了使用一个文件系统,往其中存读文件,用户需要先挂载该文件系统。 挂载文件系统的指令是mount。 语法: mount -t 文件系统类型 [其他参数] 设备 挂载点 mount参数 : mount参数 -t 文件系统类型:用于指定挂载文件系统的类型,一般这个参数是必须的。 -o 参数:补充追加的参数 ext2文件系统默认采用的参数:rw、suid、dev、exec、auto、nouser、async /etc/fstab : /etc/fstab 配置文件系统挂载信息 mount文件系统时若给出的参数不全,系统会从/etc/fstab中读取参数补完 系统启动会参考/etc/fstab中的配置项自动加载文件系统 也被fsck、dump、quotaon、swapon等程序使用 当前挂载系统 : 当前挂载系统 用户可以通过直接键入mount后回车来检查当前挂载中的文件系统 用户也可以通过查看/etc/mtab文件来查看当前挂载中的文件系统。 卷标 : 卷标 由于设备文件名可能在硬盘结构发生变化时更动,因此Red Hat Linux对ext2文件系统使用卷标来挂载与卸载。 卷标记录在ext2/ext3文件系统的超级块中 用户可以用e2label指令来查询与更改ext2文件系统的卷标 卸载文件系统 : 卸载文件系统 当一个文件系统使用完毕,用户应当卸载该文件系统。 umount指令用于卸载文件系统 语法: umount [参数] 设备/挂载点 一个正在使用中的文件系统不能被卸载 文件系统维护 : 文件系统维护 fsck/filesystem check:用于检查与修复文件系统 e2fsck:检查与修复ext2文件系统 系统在启动时自动会被检查 tune2fs:更改ext2文件系统属性 resize2fs:更改ext2文件系统的大小 parted:更改多种文件系统大小 自动挂载 : 自动挂载 系统通过autofs服务自动挂载文件系统 需要后台的automount进程 autofs服务的开闭由/etc/init.d/autofs脚本控制 主要应用于软驱与光驱等场合 如果该设备一段时间没有被使用,autofs会自动卸载 磁盘限额 : 磁盘限额 Linux内核支持基于文件系统的磁盘限额 每一个组或用户,可以单独设置其磁盘限额 磁盘限额包括对block的限制与对inode的限制,每一种限制又可以分为软限制与硬限制 软限制被突破后,经过一段时间(grace time),会自动变成硬限制 quota的配置与使用 : quota的配置与使用 在/etc/fstab中需要设置磁盘限额的文件系统所在行的第四项(mount参数)中添加usrquota、grpquota参数 使用mount –o remount 需要限制的文件系统,将mount参数带入/etc/mtab中 quota的配置与使用(二) : quota的配置与使用(二) 3. 执行quotacheck –auvg,在文件系统的根目录下建立aquota.user及aquota.group两文件 4. 使用edquota 用户名与edquota –g 组名编辑用户与组的磁盘限额 5. 用quotaon –auvg打开quota功能 第十四单元 : 第十四单元 计划任务 任课讲师:______________ Linux的计划任务 : Linux的计划任务 Linux系统支持一些能够自动执行任务的服务我们称其为计划任务: at:指定一个时间执行一个任务 cron:根据一个时间表自动执行任务 anacron:在一个指定时间间隔错过后自动执行任务 at : at at服务:安排一个任务在未来执行 at服务需要系统后台有一个atd进程 常用指令 at:安排延时任务 atq:查询当前的等待任务 atrm:删除等待任务 batch:以一个低优先级延时执行任务 at的使用控制 : at的使用控制 at的使用控制文件 /etc/at.allow /etc/at.deny 基于用户的使用控制 cron : cron 允许系统根据时间表自动完成任务 服务需要后台运行的系统进程crond 开关cron服务 系统管理员可以用service crond start|stop来开关cron服务 用chkconfig或ntsysv选择cron服务的默认开启关闭。 定制个人计划任务 : 定制个人计划任务 用户级别 crontab –e:编辑当前的守护进程表 crontab –l:列出当前的守护进程表 crontab –r:删除当前的守护进程表 crontab –u user:以某一个用户的身份 /var/spool/cron:存放用户守护进程表 crontab格式 : crontab格式 * * * * * echo “hello” | wall 分钟/小时/日/月/星期 命令 #每分钟向所有在线用户的屏幕上发送‘hello’ 定制系统计划任务 : 定制系统计划任务 系统级别 采用/etc/crontab作为其crond的运行配置文件 与个人的crontab文件格式有所不同 默认情况下,系统会自动执行以下目录内的脚本 /etc/cron.hourly:每小时的零一分 /etc/cron.daily:每天四点零二分 /etc/cron.weekly:每周日四点二十二分 /etc/cron.monthly:每月一日四点四十二分 /etc/cron.d/目录下存放着附加的系统守护文件 cron的使用限制 : cron的使用限制 默认情况下,所有用户都可以定制自己的守护任务 系统的守护任务只能由root来编辑 限制/允许 用户使用cron /etc/cron.allow /etc/cron.deny anacron : anacron cron服务的扩展 防止非24小时开机的计算机遗漏守护任务 每次计算机通电时自动检测 配置文件:/etc/anacrontab 范例: 7 80 cron.weekly run-parts /etc/cron.weekly tmpwatch : tmpwatch 为指定目录清理古旧文件 有效应用于防止/tmp目录被填满 tmpwatch每天在/etc/cron.daily中运行 语法: /usr/bin/tmpwatch 小时数 指定目录 第十五单元 : 第十五单元 RPM 包及其管理 任课讲师:______________ 什么是RPM : 什么是RPM RPM:RedHat Package Manager RPM的安装和卸除 : RPM的安装和卸除 安装与卸除 安装:rpm -i 升级:rpm -U 更新:rpm -F 卸除:rpm -e 可能会用到的补充参数 输出用:-v,-h 预设条件:--nodeps,--force 重定位:--root RPM包的查询 : RPM包的查询 RPM包的查询: rpm -q:查询某一个RPM包是否已安装 rpm -qi:查询某一个RPM包的详细信息 rpm -ql:列出某RPM包中所包含的文件 rpm -qf:查询某文件属于哪一个RPM包 rpm -qa:列出当前系统所有已安装的包 rpm -qp:指定一个等待安装的RPM包 RPM包的校验及检查 : RPM包的校验及检查 RPM包的校验 rpm -V:校验某个RPM包 rpm -Va:校验所有已安装的RPM包 RPM包的检查 rpm -K:检查RPM包的GPG签名 第十六单元 : 第十六单元 打印与电子邮件 任课讲师:______________ 在Linux中进行打印 : 在Linux中进行打印 打印机可以是本地打印机也可以是网络打印机 打印请求首先被送入打印队列 排队的请求任务按照先来先服务的原则送到打印机 在打印前或打印中可以取消任务 打印命令 : 打印命令 lpr - 提交一个任务到打印队列以供打印 可接受的格式:ASCII,PostScript lpq - 查看打印队列的内容 lprm - 从打印队列中删除一个任务 System V 的打印命令也在支持之列(例如:lp,lpstat 和cancel ) 从应用程序中打印 : 从应用程序中打印 大部分的应用程序输出PostScript格式 从应用程序输出仍然使用LPRng打印系统 任务被送到打印队列 lpr的参数可以被使用 打印工具 : 打印工具 enscript - 把文本文件转化成PostScript文件 a2ps - 把文本文件转化成PostScript文件 gv - PostScript 文件浏览器 ps2pdf - PostScript到PDF转换器 pdf2ps - PDF到PostScript转换器 mpage - 在一张纸上打印多页 邮件 : 邮件 一台Linux主机可以是一个邮件服务器或邮件客户端 有很多可用的邮件客户端 文本模式 pine,mutt 图形模式 mozilla Mail,evolution,kmail,balsa 命令行模式 mail 邮件客户程序 : 邮件客户程序 pine - 菜单驱动接口,简便易用 mutt - 可详细配置的邮件客户程序 evolution - 邮件,任务管理器,联系管理器 mozilla mail - 图形,高级过滤,支持多个邮件帐号 kmail - 图形,简单易用,KDE的一部分 POP和IMAP : POP和IMAP POP - Post Office Protocol 允许远端收取和删除邮件 在客户端的邮件必须是压缩的 IMAP - Internet Message Access Protocol 允许远端邮件收取和基于服务器的邮件目录管理 邮件过滤 : 邮件过滤 mozilla mail拥有很灵活的过滤功能 pine和mutt的过滤功能由procmail来实现 fetchmail : fetchmail 收取远端的邮件然后送到本地的邮件系统 支持许多协议 POP IMAP SMTP 第十七单元 : 第十七单元 sed,awk,和其他语言 任课讲师:______________ sed : sed Stream EDitor (流编辑器) 用来编辑文本流 只读取文件一次 通常用在命令的输出 占用的系统资源很少 sed 地址 : sed 地址 告诉sed在哪里执行编辑 没有地址 - 编辑整个文件 一个地址 - 编辑所有匹配的 两个地址 - 编辑所有在之间的 sed脚本 : sed脚本 编辑内容可以写成脚本 脚本是包含sed命令的文本文件 有很多的命令和选项! 一个sed例子 : 一个sed例子 把文件aboutsed.txt中所有的单词"slow"换成"fast" $ sed s/slow/fast/g aboutsed.txt > output.txt awk : awk 编辑文本的程序语言 在一个文件中搜索匹配一个模式或多个模式的行 在匹配的行上执行特殊的操作 awk程序 : awk程序 规则通常由新行来分离 规则包含一个模式和在{ }内包含的操作 pattern {action} 运行awk程序 : 运行awk程序 简单的程序可以在命令行下直接输入: $awk 'program' input file 更长的程序保存在文件中 $awk -f program_file input_file 一个简单的awk例子 : 一个简单的awk例子 用awk搜索文件/etc/passwd中包含"bash"字符串的行 $ awk '/bash/ { print }' /etc/passwd 一个更加复杂的awk例子 : 一个更加复杂的awk例子 统计/project目录下所有属于用户joshua的文件的总大小. #ls -l /project | awk '$3 == "joshua" { \ sum += $5 } END { print sum }' 何时使用awk : 何时使用awk 从大量的原始数据中产生报告 从其他程序的输出中总结信息 当你需要一个又小又快的文本处理程序的时候 到哪里学到更多 : 到哪里学到更多 sed和awk有详细的info页 $info sed $info awk 其他语言 : 其他语言 Red Hat Linux支持的其他语言和程序库包括: Perl Java C和C++ Tcl/Tk和Expect GTK+ Qt php