RHCE课堂笔记.docx
- 文档编号:6547660
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:25
- 大小:33.55KB
RHCE课堂笔记.docx
《RHCE课堂笔记.docx》由会员分享,可在线阅读,更多相关《RHCE课堂笔记.docx(25页珍藏版)》请在冰点文库上搜索。
RHCE课堂笔记
新手必读:
RHCE课堂实验笔记
(1)
单元一:
概述
UNIX由贝尔实验室(BellLabs)发明。
UNIX为AT&T的注册商标,所以其他公司开发的UNIX都有自己的名字,例如IBM的AIX,Sun的Solaris等。
UNIX中,任何事物都是文件。
基于这个定理,UNIX的配置文件都储存在文本文件中,并可以将多个程序链起来完成复杂的任务。
GNUProject开始于1984年,由自由软件基金(FSFforFreeSoftwareFoundation)支持,目的是为了建立免费的UNIX系统。
到1990年,建立了一套包括gcc,emac等在内的近乎完备的系统。
GPL=GNUGeneralPublicLicense。
GPL鼓励自由软件,所有对遵循GPL的软件进行的改进和修改也都必须遵循GPL。
而Linux起源于1991年有个大学毕业生LinuxTorvalds建立了一个叫做"Linux"的操作系统内核。
虽然该内核当时只支持gcc和bash两个GNU产品,但它预示着组合Linux内核和GNU应用程序使得建立免费的类UNIX系统成为可能。
Linux具备的特性有:
#Linux是一个类UNIX系统
#支持多任务和多用户
#并有广泛的硬件支持(至少是越来越广泛)
#RedHat发行版Linux提供了相当多RedHat推荐的、普遍使用的、有用的程序。
RedHatLinux是Linux的一个发行版本(distribution)。
它具有的特性有:
#最新的系统内核
#常用的实用程序和应用软件
#安装和配置软件
#提供技术支持
RedHatLinux推荐的硬件配置
#Pentium级以上的CPU
#128M内存
#600M-1.2G的硬盘空间,取决于使用目的。
#可启动的CDROM或者软驱
Linux在图形用户界面(GUI)环境上,提供标准的XWindow系统:
XFree86。
两种桌面环境:
KDE和GNOME,分别建立在Qt和GTK+开发包上。
单元二:
快速教程
Linux用户环境组件包括:
#内核(Kernel)
#Shell
#终端模拟器(TerminalEmulator)
#XWindow系统
#窗口管理器(WindowManager)
#桌面环境(DesktopEnvironment)
本地登录时,若是在虚拟终端中以文本界面登录,运行级别(runlevel)为3;当在图形界面登录是,运行级别(runlevel)为5。
可使用init来切换runlevel,如init3或者init5。
ls命令通常用于查看文件系统,RedHatLinux使用“彩色的”ls来区分不同的文件。
命令例如:
$ls-lh文件以KB大小列出并列出属性等详细信息
$ls-a列出所有文件(显示隐藏的以"."开头的文件)
$ls-al列出所有文件及其详细信息
$ls-R列出目录下所有子目录及文件
所有的硬件设备都是以文件形式存在的,只不过它们是特殊的文件,并存放在/dev目录下。
设备分为块设备(block)和字符设备(character)两种。
在用ls-l命令显示时,设备文件的类型会在属性的第一位以"b"或者"c"分别表示。
块设备是可随机读写的设备,例如硬盘;字符设备必须是顺序读写的,比如串口。
进程(process)是一个正在执行的程序的实例(程序的一次运行),每个进程都有一个唯一的进程号PID,从1-32768取值。
其中PID1为init进程所保留。
线程(thread)可以看作是一个进程内部的“小进程”,和系统中的进程有些相似。
用ps-ef和pstree可以罗列当前的进程列表。
top可即时监视当前所有进程,gtop是一个图形界面的进程监视程序。
在命令行Shell中,最常用和最著名的是bash(BourneAgainSHell),也是Linux的缺省shell。
bash的全局设置文件为/etc/profile和/etc/bashrc。
当然还有其他的shell比如csh等。
两个以上的命令/程序的连续执行可使用分号“;”。
若需要连续执行命令并保证前一个命令没有返回错误的前提下执行下一个命令的话,可在命令间加上“&&”。
若命令在一行打不下或想人为换行,可在行末尾加“\”然后回车,继续这个命令的后面的部分。
man命令后跟命令名可找到相应的帮助页面,按q退出。
例如manls或者ls--help。
info命令后跟section_name可找到相应部分的帮助。
在/usr/share/doc/HOWTO/中有编译好的HowTos可供查阅。
env命令显示环境变量;set命令显示环境变量和本地shell变量。
下面是一些通用变量:
PATH-可执行文件搜索路径
PWD-当前目录
TERM-登录终端类型
SHELL-登录Shell的路径
HOME-用户的home目录
USER-用户名
DISPLAY-X显示名
VISUAL-可视化编辑器名
EDITOR-缺省编辑器名
root用户拥有对系统的完全控制,用户号(UID)为保留的0。
任何非特权用户的UID都大于0。
可以用id命令查看当前用户信息。
用passwd命令改变密码,密码长度应在6-255位之间,并且大小写敏感。
passwd[用户名]用来修改某特定用户的密码。
虚拟终端(virtualconsole)的设计支持非GUI的多重登录。
缺省情况下有6个虚拟终端,可通过CTRL-ALT-F[1-6]在之间切换。
在虚拟终端中可使用Shift+PageUp和Shift+PageDown卷动显示。
如果运行了X,则X用CTRL-ALT-F7来切换。
单元三:
文件与Shell基础
命令pwd(PrintWorkingDirectory)显示当前所在目录的绝对路径。
cd命令用于改变当前目录,后跟绝对路径或相对路径。
绝对路径以“/”开始,而相对路径通常以“.”、“..”或者下级目录名开始。
例如:
$cd/tmp/mydir
$cd..
$cdmydir
$cd-(到前一个所在目录)
$pwd
/tmp
每个用户都有一个home目录,一般在/home目录下。
home目录中包含了用户特定的配置和用户文件。
字符“~”代表当前用户的home目录。
例如,当前用户为feng_ye,则他的home目录下的某个文件就可以这样写:
~/text/example.txt,即/home/feng_ye/text/example.txt。
如果feng_ye用户可以访问别的用户home目录,则~kim/text/another.txt代表了kim用户home目录下的text/another.txt文件,即/home/kim/text/another.txt。
文件名可以长达255个字符,以“.”开头的文件为隐藏文件,在ls时必须加-a显示才能看到。
文件名一般来说避免在其中使用/,>,<,?
*,",'和控制符号(不可打印的字符)。
如果想要使用特殊字符,比如空格,那么将文件名用双引号“"”括起来,例如:
$ls-l"filenamewithspaces.txt"
或者
$ls-lfile\name\with\spaces.txt
RedHatLinux和大多数Linux发行版一样,遵循FHS(FilesystemHierarchyStandard)。
系统目录中:
/bin,/sbin,/usr存放系统编译后的可执行文件、命令;
/var存放日志文件,PID文件和电子邮件;
/proc当前的进程都会在这个目录中出现,可看作是一个通向内核的虚拟窗口;
/etc存放配置文件;
/lib存放共享库;
/dev设备文件;
/boot内核和启动文件;
/home用户的home目录;
/opt为安装第三方软件包的目录。
df命令显示磁盘用量,加-h选项可以以KB、MB、GB等单位输出,加-H也以KB、MB、GB输出,但是是以1000为K,而非1024。
du命令计算目录下文件占用磁盘的大小,以KB为单位,也加-h选项。
例如du-sh。
文件操作中,mv命令用来移动文件或者将文件改名。
注意如果mv命令的第二个参数,也就是移动目的地是一个目录,则源文件移动到该目录下;若不存在第二个参数所指定的目录,则mv将认为第二个参数是一个文件名,并将源文件改名。
cp命令复制文件。
可用-a选项复制整个目录及其子目录和文件,并保持其修改时间。
touch命令更新文件的最后修改时间,若文件不存在则建立空文件。
rm命令删除文件。
可以用-rf命令删除任何文件或者目录,及其子目录下的文件。
如果需要的话可以用-i选项让rm命令具有交互功能。
目录操作中,mkdir命令新建目录,rmdir用于删除空目录,若需要删除非空目录,使用rm-r将删除目录及其子目录中所有文件。
file命令用于获得文件的类型,如ASCII文件或者可执行文件等。
cat命令用于显示整个文件的内容。
-A选项显示所有字符,包括控制字符和不可打印的字符;-s选项压缩文件中的多个空行为一个空行;-b为所有非空行加注行号。
less命令用于在分屏显示文件,空格向后翻页;b向前翻页;/text在文件中向前查找text;?
text在文件中向后查找text;n重复上一次的查找;N重复上次查找,但方向相反;q退出。
less的选项有-c在显示前清屏;-r显示控制字符;-s压缩多个空行为一个空行。
tail和head命令显示文件最后n行和最前的n行。
n缺省为10。
-n或者-nn选项:
显示n行(例:
-20或者-n20)
-cn选项:
显示n个字节
-f选项为tail所独有,它用来实时观察文件的末尾增加的行,在观察系统日志时非常有用。
pico是一个通用文本编辑器,当编辑系统配置时务必加-w选项以防止自动换行。
文件可以用通配符*和?
,*表示0个或者多个字符,?
表示单个字符。
[a-z]表示在范围之内的字符,[^a-z]表示除范围之外的字符。
技巧:
echo命令可以用来测试通配符以避免错误的毁灭性操作,例如rm。
$echo?
?
ee*.txt
bleeding-edge.txtsheeptrix.txt
kill[PID]用来杀死进程。
不易杀死的进程可用kill-9[PID]杀死。
单元四:
用户、组和系统信息
所有的用户(下称user)都有一个唯一的用户号(uniqueUserID=uid)。
用户名和uid都存储在/etc/passwd文件中。
当user登录时通常被连接到home目录和一个Shell程序。
user不能在没有允许的情况下读、写、执行其他user的文件。
user都属于一个组(下称group),而group有唯一的组号(uniqueGroupID
新手必读:
RHCE课堂实验笔记
(2)
∙单元三实验
文件和目录操作
估计用时:
1小时30分
目标:
熟悉文件、目录操作命令的数、语法和几个文件的使用。
实验将这些命令组合成一个一般的用户任务。
实验前准备:
准备一个安装好的RedHatLinux系统,并准备一个叫student的非特权帐号,其密码为student。
检查一下指南以确认这个帐号是否已经存在在系统中。
如果你的student帐号还未建立,则按如下次序操作:
1、以root用户登录
2、输入#useraddstudent
3、输入#passwdstudent
Changingpasswordforuserstudent
NewUNIXpassword:
{在这里输入student}
BADPASSWORD:
itisbasedonadictionaryword
RetypenewUNIXpassword{重新输入student}
passwd:
allauthenticationtokensupdatedsuccessfully
实验1:
目录和文件管理
假设:
你在你的home目录中收集了一大堆文件,而你觉得现在该是将他们整理一下的时候了。
你打算建立几个新的子目录,并将拷贝或者移动它们以适合你的安排。
除此之外,还有一些文件你根本用不着,你想删除它们。
任务:
1、在tty1上以student登录。
密码为student。
2、刚刚登录后你应该在你的home目录中。
用"printworkingdirectory"命令校验一下。
$pwd
/home/student
3、用一下命令检查一下你在home目录中有否文件:
$ls
$ls-a
$ls-al
为什么第一个命令和第二个命令返回不同的文件个数?
从第三个命令的输出中你看出哪个文件在你当前的home目录中最大?
在home目录中有子目录吗?
4、你将使用touch命令来建立一些这个实验所需要的文件。
关于这个命令的具体问题将在今后的章节中讲述。
现在,你只需简单的将下面的命令全盘打出(包括花括号{},还有几个下划线_)。
$touch{report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}
5、使用ls命令检验上一个命令的效果。
你应该发现在你的home目录中有108个(哇……)新建立的空文件。
这些文件便是你后面实验所需的数据文件。
如果没有这些文件,后面的实验将无法继续。
6、为了管理你的文件你必须建立一些新子目录。
使用mkdir命令建立你的home目录的直接子目录:
$mkdir"AReports"
$mkdirseptemberoctobernovemberdecember
再次使用ls命令检验你的工作。
7、在你新建的子目录中再建立一些其他的目录,使用如下命令:
输入下面任一一行:
$cdA\Reports/
或者
$cd"AReports"/
改变了当前目录。
然后:
$mkdir123
使用ls命令校验你已经在"AReports"目录中有了3个子目录,分别叫做1,2,3。
8、将所有含"B"的文件移出你的home目录并以月份分组。
做类似这种复杂的通配字符的操作时,通常先将其“预览”一遍会是个不错的主意,它可以让你确认是在正确的文件上进行了操作。
其中一种方法是将你的命令替换成一种“无害”的命令。
$cd
$ls-l*dec?
b?
你应该看到有9个"december","b"文件被列出。
现在移动它们:
$mv*dec?
b?
december/
列出december子目录以确认移动操作顺利完成了。
$ls-ldecember/
total0
-rw-rw-r--1studentstudent0Oct1622:
16graph_dec_b1
-rw-rw-r--1studentstudent0Oct1622:
16graph_dec_b2
-rw-rw-r--1studentstudent0Oct1622:
16graph_dec_b3
-rw-rw-r--1studentstudent0Oct1622:
16memo_dec_b1
-rw-rw-r--1studentstudent0Oct1622:
16memo_dec_b2
-rw-rw-r--1studentstudent0Oct1622:
16memo_dec_b3
-rw-rw-r--1studentstudent0Oct1622:
16report_dec_b1
-rw-rw-r--1studentstudent0Oct1622:
16report_dec_b2
-rw-rw-r--1studentstudent0Oct1622:
16report_dec_b3
9、将所有剩下的"B"文件分别移入相应的目录:
$mv*nov?
b?
november
$mv*oct?
b?
october
$mv*sep?
b?
september
10、现在你将"A"文件移动到它们相应对数字的目录中去:
$cd"AReports"/
$mv~/*_a11/
"a1","september"文件不需要了。
删除它们并确认剩下的文件已正确的移动了。
$cd1
$rm*sep*
$ls
graph_dec_a1graph_oct_a1memo_nov_a1report_dec_a1report_oct_a1
graph_nov_a1memo_dec_a1memo_oct_a1report_nov_a1
11、将最后的"a2"和"a3"文件移入相应的数字目录中去:
$pwd
/home/student/AReports/1
使用相对路径移动"a2"文件:
$mv../../*a2*../2/
使用绝对路径移动"a3"文件
$mv/home/student/*a3*/home/student/A\Reports/3/
12、回到你的home目录下,并用ls确认在该目录下只剩下"c"文件。
13、每个月的"c1"和"c2"文件很重要,你想将它们备份到另外一个目录中去:
$mkdir/tmp/archive
$cpreport*[1-2]/tmp/archive/
除此之外所有December月份的文件应备份到/tmp/archive目录中。
注意使用-i选项以使cp命令在覆盖文件时提示。
$cp-ireport_dec*/tmp/archive/
cp:
overwrite'/tmp/archive/report_dec_c1'?
n
cp:
overwrite'/tmp/archive/report_dec_c2'?
n
14、现在你已经备份了一些对你来说重要的"C"文件,你想删除所有还留在你home目录里的文件。
用通配符*c*检验所剩余的文件。
为什么你不能用rm*c*删除?
(提示:
试试ls*c*看看)
15、删除所剩余的"c"文件:
$rm*c[1-3]
$ls
AReportsdecembernovemberoctoberseptember
完成:
一个良好组织的home目录,文件都放在合适的子目录中。
一些文件备份在/tmp/archive目录中。
实验2:
检测磁盘使用程度
假设:
你想检测系统上每个文件系统所剩余的空间。
除此之外,你需要有个包含最占磁盘空间的目录的列表。
任务:
1、使用df检测文件系统上剩余的空间。
输出将类似于如下所示(这当然取决于你的机器安装和配置)。
$df
Filesystem1k-blocksUsedAvailableUser%Mountedon
/dev/hda51288064816343441059198814%/
/dev/hda1365662476322028%/boot
2、注意缺省的df命令是以块(block)为单位输出的。
试着使用-h和-H选项产生更人性化的输出:
$df-h
Filesystem1k-blocksUsedAvailableUser%Mountedon
/dev/hda512G1.6G10G14%/
/dev/hda136M2.5M31M8%/boot
$df-H
Filesystem1k-blocksUsedAvailableUser%Mountedon
/dev/hda513G1.7G10G14%/
/dev/hda137M2.6M32M8%/boot
两种选项有何区别?
(用mandf查找答案)
3、在home目录下使用du(diskusage)命令检测你的home目录使用了多少空间。
务必使用-h选项产生人性化输出。
实验3:
检测文本文件
任务:
1、首先,我们需要一个文本文件:
$cd
$cp/usr/share/dict/words.
2、使用cat命令显示文件
$catwords
Aarhus
Aaron
Ababa
......输出省略......
Zulu
Zulus
Zurich
3、cat在这种情况下是一个糟糕的选择,因为输出翻屏得很快。
试着使用less:
$lesswords
Aarhus
Aaron
Ababa
......输出省略......
abducts
Abe
abed
......输出省略......
用less你可以往回翻(用b)和往前翻(用空格键),一次一个屏幕。
4、若你只需要快速浏览一下一个文件的头部或者尾部,你可以使用head或者tail:
$headwords
Aarhus
Aaron
Ababa
aback
abaft
abandon
abandoned
abndoning
abandonment
abandons
$tailwords
zoologically
zoom
zooms
zoos
Zorn
Zoroaster
Zoroasterian
Zulu
Zulus
Zurich
使用man搜索head和tail,找到可以修改显示行数、和显示的相对位置的选项。
哪个命令可以显示某文件的前50行?
哪个命令可以显示某个文件从25000行开始,到其结束?
单元四实验:
用户信息和man
估计用时:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- RHCE 课堂 笔记