《华为内部Linux培训资料.pdf》由会员分享,可在线阅读,更多相关《华为内部Linux培训资料.pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第1页,共53页 产品名称Product name 密级Confidentiality level CAMS 机密 产品版本Product version V100 Total 53pages 共55页 Linux 操作指导专题 (仅供内部使用)拟制:日期 2010-06-26 审核:日期 2010-06-26 审核:日期 2010-06-26 批准:日期 2010-06-26 华为3Com技术有限公司 版权所有 侵权必究 签署者:Administrator 签署日期:9:26 am,6/
2、26/10 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第2页,共53页 修订记录 日期 修订版本 描述 作者 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第3页,共53页 目 录 第 1 章 命令行操作及常用命令使用.5 1.1 命令行操作.5 1.1.1 Shell 简介.5 1.1.2 Shell 控制台使用方法.6 1.2 常用命令使用.6 1.2.1 登录和退出 Linux系统.6 1.2.2 文件和目录操作命令.8 1.2.3 用户及用户组管理命令.10 1.2.
3、4 进程及任务管理命令.13 1.2.5 磁盘及文件系统管理命令.16 1.2.6 软件安装命令.17 第 2 章 文件查看/编辑方法介绍.19 2.1 cat 命令介绍.19 2.2 vi 命令介绍.19 2.2.1 vi 的进入与退出.20 2.2.2 vi 中显示行号.20 2.2.3 光标移动操作.21 2.2.4 文本插入操作.22 2.2.5 文本修改操作.23 2.2.6 文本搜索与替换操作.25 2.3 head 及 tail 命令介绍.26 第 3 章 网络配置及操作.27 3.1 网络配置命令.27 3.1.1 ifconfig.27 3.1.2 route.28 3.2
4、网络操作命令.30 3.2.1 netstat.30 3.2.2 nslookup.31 3.2.3 host.32 3.2.4 finger.32 3.2.5 Ping 命令.33 3.3 常用网络配置文件介绍.33 3.3.1/etc/sysconfig/network 网络设置.34 3.3.2/etc/hosts IP 地址和主机名的映射.34 3.3.3/etc/services.35 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第4页,共53页 3.3.4/etc/host.conf 配置名字解析器.35 3.3.5/et
5、c/nsswitch.conf 配置名字解析器.36 3.3.6/etc/resolv.conf 配置 DNS 客户.37 3.3.7/etc/xinetd.conf.37 3.3.8/etc/modules.conf 文件.39 3.3.9/etc/sysconfig/network-scripts/ifcfg-ethN 文件.39 3.4 常用网络操作方法.39 3.4.1 ftp 远程文件传输.40 3.4.2 telnet.42 3.4.3 r-系列命令.43 第 4 章 常用使用技巧.45 4.1 Linux下软件包的安装及卸载.45 4.1.1 RPM 安装操作.45 4.1.2
6、RPM 查询操作.45 4.1.3 RPM 卸载操作.46 4.1.4 RPM 升级操作.46 4.1.5 RPM 验证操作.46 4.1.6 RPM 的其他附加命令.47 4.2 Linux操作系统的时钟系统.47 4.2.1 时钟系统介绍.47 4.2.2 硬件时钟系统与系统时间的同步.47 4.3 系统信息及运行状态监控.48 4.3.1 df 命令.49 4.3.2 du 命令.49 4.3.3 top 命令.49 4.3.4 iostat 命令.50 4.4 打包/压缩工具 tar.50 4.5 文件及文件内容的查找.51 4.5.1 文件查找命令find.51 4.5.2 文件内容
7、查找命令 grep.51 4.6 Linux的系统服务及其配置.52 4.6.1 服务简介.52 4.6.2 启动和停止服务.52 4.6.3 服务的添加删除自动运行及状态.53 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第5页,共53页 第1章 命令行操作及常用命令使用 1.1 命令行操作 1.1.1 Shell 简介 shell 是用户和 Linux 操作系统之间的接口Linux 中有多种 shell其中缺省使用的是 bash Linux 系统的 shell 作为操作系统的外壳为用户提供使用操作系统的接口它是一个命令语言解释器拥
8、有自己内建的 shell 命令集shell 也能被系统中其他应用程序所调用用户在提示符下输入的命令都由 shell 先解释然后传给Linux核心 Linux中的 shell 有多种类型 其中最常用的几种是 Bourne shell shC shellcsh和 Korn shellksh三种 shell 各有优缺 Bourne shell 是 UNIX 最初使用的 shell并且在每种 UNIX 上都可以使用Bourne shell 在 shell 编程方面相当优秀但在处理与用户的交互方面做得不如其他几种 shellLinux操作系统缺省的 shell 是 Bourne Again shell它
9、是Bourne shell 的扩展简称 bash与 Bourne shell 完全向后兼容并且在Bourne shell 的基础上增加增强了很多特性它还包含了很多 C shell 和 Korn shell 中的优点有灵活和强大的编程接口同时又有很友好的用户界面 C shell 是一种比 Bourne shell 更适于编程的 shell 它的语法与 C 语言很相似Linux为喜欢使用 C shell 的人提供了 Tcsh Tcsh 是 C shell 的一个扩展版本Tcsh 包括命令行编辑可编程单词补全拼写校正历史命令替换作业控制和类似 C语言的语法 它不仅和 Bash shell是提示符兼容
10、 而且还提供比 Bash shell 更多的提示符参数 Korn shell 集合了 C shell 和 Bourne shell 的优点并且和 Bourne shell 完全兼容 Linux系统提供了 pdkshksh 的扩展它支持任务控制可以在命令行上挂起后台执行唤醒或终止程序 Redhat Linux系统默认的 shell 是 bash对普通用户用$作提示符对超级用户 root 用#作提示符一旦出现了 shell 提示符就可以键入命令名称及命令所需要的参数 我们来实习一下 shell 是如何工作的在 shell 提示符下输入以下命令 Linux 操作指导专题 文档密级内部公开 2010-
11、06-26 华为 3Com 机密未经许可不得扩散 第6页,共53页$ls al 该命令可以列出当前目录下的所有文件和子目录 用户在登录到 Linux时由/etc/passwd 文件来决定要使用哪个 shell例如该文件中含有类似如下一行 myself:x:500:500:Linux User:/home/myself:/bin/bash 用户使用的 shell 被列每行的末尾/bin/bash 由于 bash是 Redhat Linux上缺省的 shell 本文将主要介绍 bash 及其相关知识 1.1.2 Shell 控制台使用方法 首先介绍一个名词控制台console它就是我们通常见到的使
12、用字符操作界面的人机接口 例如 dos 我们说控制台命令就是指通过字符界面输入的可以操作系统的命令例如 dos 命令就是控制台命令我们现在要了解的是基于 Linux操作系统的基本控制台命令 Linux是一个真正的多用户操作系统这表示它可以同时接受多个用户登录Linux还允许一个用户进行多次登录这是因为 Linux和许多版本的 UNIX 一样提供了虚拟控制台的访问方式允许用户在同一时间从控制台系统的控制台是与系统直接相连的监视器和键盘进行多次登录 虚拟控制台的选择可以通过按下Alt键和一个功能键来实现 通常使用F1-F6 例如用户登录后按一下 Alt-F2 键用户又可以看到login:提示符说明
13、用户看到了第二个虚拟控制台然后只需按 Alt-F1 键就可以回到第一个虚拟控制台一个新安装的 Linux 系统允许用户使用 Alt-F1 到 Alt-F6 键来访问前六个虚拟控制台 1.2 常用命令使用 1.2.1 登录和退出 Linux系统 用户登录系统时为了使系统能够识别自己必须输入用户名和密码经系统验证无误后方能进入系统 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第7页,共53页?说明 在系统安装过程中可以创建两种帐号超级用户帐号和普通用户帐号Linux使用者一般为普通用户而系统管理员一般使用超级用户帐号完成一些系统管理的工作
14、如果只需要完成一些由普通用户帐号就能完成的任务建议不要使用超级用户帐号以免无意中破坏系统 用户登录分两步进行第一步输入用户的登录名系统根据该登录名来识别用户第二步输入用户的口令该口令是用户自己选择的一个字符串对其他用户是保密的是在登录时系统用来辨别真假用户的关键字 1.启动和登录系统 超级用户的用户名为 root密码在安装系统时已设定系统启动成功后屏幕显示下面的提示 localhost login:这时输入超级用户名root然后键入回车键此时用户会在屏幕上看到输入口令的提示 localhost login:root Password:这时需要输入口令输入口令时口令不会在屏幕上显示出来如果用户输
15、入了错误的口令就会在屏幕上看到下列信息 login incorrect.这时需要重新输入当用户正确地输入用户名和口令后就能合法地进入系统屏幕显示 rootloclhost/root#此时说明用户已经登录到系统中可以进行操作了这里#是超级用户的系统提示符普通用户在建立了普通用户帐号以后就可以进行登录了 不论是超级用户还是普通用户需要退出系统时在 shell 提示符下键入 exit 命令即可还有其他退出系统的方法但上面一种是最安全的 2.重新启动系统 以 root 用户登录 Linux操作系统后执行 reboot 命令可以重新启动 linux系统 rootloclhost/root#reboot
16、Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第8页,共53页 3.关闭系统 shutdown 命令可以安全地关闭或重启 Linux系统它在系统关闭之前给系统上的所有登录用户提示一条警告信息该命令还允许用户指定一个时间参数可以是一个精确的时间也可以是从现在开始的一个时间段精确时间的格式是hh:mm表示小时和分钟时间段由+和分钟数表示系统执行该命令后会自动进行数据同步的工作该命令的一般格式 shutdown 选项 时间 警告信息 命令中各选项的含义为:-k 并不真正关机而只是发出警告信息给所有用户-r 关机后立即重新启动-h 关机后不重新
17、启动-f 快速关机重启动时跳过 fsck -n 快速关机不经过 init 程序-c 取消一个已经运行的 shutdown 需要特别说明的是该命令只能由超级用户使用 例 1系统在十分钟后关机并且马上重新启动#shutdown r+10 例 2系统马上关机并且不重新启动#shutdown h now 1.2.2 文件和目录操作命令 1.ls 命令 这个命令就相当于 dos 下的 dir 命令一样也是 Linux控制台命令中最为重要几个命令之一ls 最常用的参数有三个-a-l 和 F ls-a Linux 系统上的文件以.开头的文件被系统视为隐藏文件仅用 ls 命令是看不到他们的而用 ls a除了显
18、示一般文件名外连隐藏文件也会显示出来 ls l 这个参数是字母 L 的小写不是数字 1 这个命令可以使用长格式显示文件内容如果需要察看更详细的文件资料就要用到 ls-l 这个指令 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第9页,共53页 ls F 在列出的文件目录名称后加一符号例如可执行文件加*,目录则加/2.cd 命令 cd 这个命令是用来进出目录的它的使用方法和在 dos 下没什么两样但和dos 不同的是 Linux的目录对大小写是敏感的 如果大小写拼写有误 你的 cd操作是成功不了的另外cd 如果直接输入cd 后面不加任何东
19、西会回到使用者自己的 Home 目录假设如果是 root 那就是回到/root这个功能同 cd 是一样的 3.mkdirrmdir mkdir 命令用来建立新的目录如输入如下命令 mkdir work 将在当前目录下新建一个 work 目录 rmdir 用来删除已建立的目录如输入如下命令 rmdir work 将删除已存在的空目录 work 4.cp cp 这个命令相当于 dos 下面的 copy 命令具体用法是 cp r 源文件(source)目的文件(target)参数 r 是指连同源文件中的子目录一同拷贝 5.rm rm这个命令是用来删除文件的rm命令常用的参数有三个-i,-r,-f 比
20、如我现在要删除一个名字为 text 的一个文件输入如下命令 rm i test 系统会询问我们是否要删除 test 文件敲了 y/n确认是否要删除 test 文件 rm r 目录名这个操作可以连同这个目录下面的子目录都删除功能比上面讲到的 rmdir 更强大不仅可能删除指定的目录而且可以删除该目录下所有文件和子目录 rm f 文件名这个操作可以不经确认强制删除文件 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第10页,共53页 6.mv mv 这个命令的功能是移动目录或文件引申的功能是给目录或文件重命名比如 mv/tmp/xxx.ta
21、r/root 该命令将/tmp 目录下的 xxx.tar 文件移动到/root 目录下 而 mv aaa.tar bbb.tar 则是将当前目录下的文件 aaa.tar 更名为 bbb.tar 7.cat cat 这个命令是 linux 中非常重要的一个命令它的功能是显示或连结一般的ascii 文本文件它的用法如下 cat text 该命令显示 text 这个文件的内容 cat file1 file2 该命令依顺序显示 file1,file2 的内容 cat file1 file2file3 该命令把 file1,file2 的内容结合起来再重定向到 file3 文件中 8.more more
22、 是显示一般文本文件的指令如果一个文本文件太长了超过一个屏幕的画面用 cat 来看实在是不理想就可以试试 more用法如下 more file1 9.pwd pwd 这个命令的作用是显示用户当前的工作路径直接输入 pwd 即可 1.2.3 用户及用户组管理命令 1.useradd useradd 命令可以创建一个新的用户帐号其最基本用法为 useradd 用户名 如输入以下命令 useradd newuser Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第11页,共53页 系统将创建一个新用户 newuser该用户的 Home 目录为
23、/home/newuser useradd 命令的参数较多常用的组合为 useradd 用户名-g 组名 G 组名-d Home 目录名-p 密码 其中-g 指定该用户的首要组 -G 指定该用户的次要组 -d 指定该用户的 Home 目录 -p 指定该用户的密码 如输入以下命令 useradd oracle g oinstall G dba d/home/oracle p ora123 系统将创建一个用户 oracleoracle 用户的首要组为 oinstall次要组为 dbaHome 目录为/home/oracle密码为 ora123 2.userdel userdel 命令用于删除一个已
24、存在的帐号其用法为 userdel 用户名 3.groupadd groupadd 命令可以创建一个新的用户组其最基本用法为 groupadd 组名 如输入以下命令 groupadd newgroup 系统将创建一个新的用户组 newgroup 4.groupdel groupdel 命令用于删除一个已存在的用户组其用法为 groupdel 组名 5.passwd 出于系统安全考虑Linux系统中的每一个用户除了有其用户名外还有其对应的用户口令 用户可以随时用 passwd 命令改变自己的口令 该命令的一般格式为 passwd Linux 操作指导专题 文档密级内部公开 2010-06-26
25、华为 3Com 机密未经许可不得扩散 第12页,共53页 输入该命令后按系统提示依次输入密码和密码确认后即可完成用户密码的修改 此外超级用户还可以修改其他用户的口令命令如下 passwd 用户名 6.su su 命令这个命令非常重要它可以让一个普通用户拥有超级用户或其他用户的权限也可以让超级用户以普通用户的身份做一些事情普通用户使用这个命令时必须有超级用户或其他用户的口令如要离开当前用户的身份可以键入 exit 命令su 命令的一般形式为 su-用户名 7.chmod chmod 命令是非常重要的用于改变文件或目录的访问权限该命令有两种用法一种是包含字母和操作符表达式的文字设定法另一种是包含数
26、字的数字设定法 由于数字设定法不太直观本文不做介绍文字设定法的用法如下 chmod who+|-|=mode 文件名 命令中各选项的含义为 1操作对象 who可以是下述字母中的任一个或者它们的组合 u 表示用户(user)即文件或目录的所有者 g 表示同组(group)用户即与文件属主有相同组 ID 的所有用户 o 表示其他(others)用户 a 表示所有(all)用户它是系统默认值 2操作符号可以是+添加某个权限-取消某个权限=赋予给定权限,并取消其他所有权限 3mode 表示权限常用的参数有 r 可读 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密
27、未经许可不得扩散 第13页,共53页 w 可写 x 可执行 举例 1 将文件 script 的权限设为可执行命令如下 chmod=rx text 执行成功后用 ls-l script 命令查看文件属性的结果如下-r-xr-xr-x 1 user group 0 Feb 10 09:42 script 2 将文件 text 的权限设为文件属主可读可写可执行与文件属主同组的用户可读其他用户不可读命令如下 chmod u=rwx,g=r,o=text 注意,后无空格o=后有空格 执行成功后用 ls l text 命令查看文件属性的结果如下-rwxr-1 user group 0 Feb 10 09:
28、42 text 8.chown chown 用于更改某个文件或目录的属主和属组这个命令也很常用例如root 用户把自己的一个文件拷贝给用户 oracle 为了让用户 oracle 能够存取这个文件 root 用户应该把这个文件的属主设为oracle 否则用户oracle无法存取这个文件chown 的基本用法为 chown 用户:组 文件 举例 chown oracle:dba text 该命令将 text 文件的属主和属组分别改为 oracle 和 dba 1.2.4 进程及任务管理命令 Linux系统上所有运行的东西都可以称之为一个进程每个用户任务每个系统管理守护进程都可以称之为进程Linu
29、x用分时管理方法使所有的任务共同分享系统资源以下将介绍一些常用的查看和控制进程的命令 1.ps ps 命令是最基本同时也是非常强大的进程查看命令使用该命令可以查看有哪些进程正在运行以及运行的状态进程是否结束进程有没有僵死哪些进程占用了过多的资源等等 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第14页,共53页 该命令的基本用法如下 ps 选项 其中常用的选项有-e 显示所有进程-f 全格式-l 长格式 举例 1 在控制台输入 ps 命令得到类似如下的输出 PID TTY TIME CMD 12039 pts/0 00:00:00 b
30、ash 18710 pts/0 00:00:00 ps 该命令显示当前登录用户的执行进程 显示的项目共分为四项 依次为 PID(进程 ID)TTY(终端名称)TIME(进程执行时间)CMD(该进程的命令行输入)2 在控制台输入以下命令 ps ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Jan14?00:00:05 init root 2 1 0 Jan14?00:00:00 keventd root 3 1 0 Jan14?00:00:00 kapmd.该命令将显示所有执行进程的信息显示的项目依次为 UID执行进程的用户 IDPID(进程 I
31、D)PPID(父进程 ID)TTY(终端名称)STIME(进程启动时间)TIME(进程执行时间)CMD(该进程的命令行输入)该命令的输出较多可以使用 grep 命令进行过虑以方便查看如 ps ef|grep oracle 将只显示出包含 oracle 的输出行可以查询执行进程的用户为 oracle 的所有进程 2.top top 命令和 ps 命令的基本作用是相同的显示系统当前的进程和其他状况但是 top 是一个动态显示过程即可以通过用户按交互来不断刷新当前状态 top 的命令参数并不重要简单的输入 top 命令即可查看系统运行状态 Linux 操作指导专题 文档密级内部公开 2010-06-
32、26 华为 3Com 机密未经许可不得扩散 第15页,共53页 top 命令执行过程中可以使用交互命令从使用角度来看熟练的掌握这些命令比掌握选项还重要一些这些命令都是单字母的常用的命令有 立即刷新显示 h 或者?显示帮助画面给出一些简短的命令总结说明 m 切换显示内存信息 t 切换显示进程和 CPU状态信息 c 切换显示命令名称和完整命令行 M 根据驻留内存大小进行排序 P 根据 CPU使用百分比大小进行排序 q 退出 3.kill kill 命令可以用于终止后台进程 kill 命令是通过向进程发送指定的信号来结束进程的kill 命令的语法格式很简单大致有以下两种方式 1kill-s 信号 进
33、程号 其中发出的信号既可以是信号名也可以对应数字 如kill-9 1234 命令将终止 PID(进程号)为 1234 的进程 2kill-l 该命令显示信号列表 4.cron cron 命令用来实现定时任务的完成如每日执行一次的任务进程cron 命令是不应该手工启动的一般情况下cron 命令在系统启动时就由一个 shell 脚本自动启动启动后 cron 命令会搜索/var/spool/cron 目录寻找以/etc/passwd 文件中的用户名命名的 crontab 文件被找到的这种文件将载入内存例如一个用户名为 user 的用户它所对应的 crontab 文件就应该是/var/spool/cr
34、on/user也就是说以该用户命名的 crontab 文件存放在/var/spool/cron 目录下面cron 命令还将搜索/etc/crontab 文件这个文件是用不同的格式写成的 cron 启动以后它将首先检查是否有用户设置了 crontab文件如果没有就转入休眠状态释放系统资源它每分钟醒过来一次查看当前是否有需要运行的命令 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第16页,共53页 可以使用 crontab l 命令查看目前已经存在的 cron 任务 1.2.5 磁盘及文件系统管理命令 管理文件系统其实是相当复杂的工作本文
35、将只介绍日常维护需要的一些管理命令主要内容有挂装和卸载硬盘分区等 1.df df 命令可以显示目前磁盘剩余的磁盘空间常用的参数为-k如 df k 该语句将显示各分区的磁盘空间使用情况 2.mount 和 umount mount 命令有很多参数其中大多数都不会在日常工作中用到mount 命令最常见的用法如下所示 mount 选项 设备 目录 其中最常用的选项是-a 把/etc/fstab 文件中列出的文件系统都挂装上 挂装软驱和光驱的命令比较简单直接输入以下命令即可 mount/mnt/cdrom mount/mnt/floppy umount 命令用于卸载一个文件系统命令的格式如下 umou
36、nt -f directory 其中directory 是准备卸载的目录名 umount 命令有一个不足之处如果文件系统正在使用中也就是说有人在那个分区上打开了文件就无法把这个文件系统卸载下来这时可以使用和-f参数强制执行卸载操作当然这种操作可能会造成用户数据的丢失如 umount-f/mnt/cdrom 该命令将强制卸载挂装在/mnt/cdrom目录下的文件系统 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第17页,共53页 1.2.6 软件安装命令 1.tar tar 命令用于把多个文件合并于一个档案文件中并提供分解的合并后的档案
37、文件的功能它独立于压缩工具因此可以选择在合并前是否压缩tar 命令的基本用法为 tar 选项 文件名 常用的选项包括-c 创建一个新的档案文件-t 查看档案文件的内容-x 分解档案文件的内容-f 指定档案文件的名称-v 显示过程信息-z 采用压缩方式 举例 1tar-czf oracle.tar.gz/u01/app/oracle/etc/oratab/home/oracle 该命令将/u01/app/oracle 目录下的所有文件/etc/oratab 文件和/home/oracle 目录下的所有文件合并到 oracle.tar 文件中并采用压缩方式 2tar-tzf oracle.tar.
38、gz 该命令列出归档文件 oracle.tar 中的所有文件列表 3tar xzvf oracle.tar.gz 该命令将归档文件分解并解压缩到原有文件的路径中 2.rpm rpm命令的功能有很多 在这里我们只介绍如何利用 rpm安装和查询已安装的软件 1 安装 rpm安装软件包的基本语法如下 rpm-i rpm包名 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第18页,共53页 例如 rpm-i tomcat4.rpm 该命令将安装 Tomcat 软件并进行相关系统配置 2升级 rpm升级软件包的基本语法如下 rpm-U rpm包名
39、 例如 rpm U tomcat4.rpm 该命令将升级 Tomcat 软件并进行相关系统配置 3查看已安装的软件 有的时候 了解系统中都已经安装了哪些软件包以及它们的用途是很有用的 R P M的查询参数就可以做到这一点 要想列出已经安装的全部软件包可以通过以下命令 rpm-qa 可以使用 g r e p 命令指定软件包的名称或者部分名称如下所示 rpm-qa|grep tomcat 该命令将列出包名中包含 tomcat 的软件包 此外要想找出某个特定的文件到底是属于哪个软件包的可以输入 rpm-qf filename 其中filename 是准备要查找其归属的文件名称 要想查出某个已经安装的
40、软件包的功能可以用如下命令 rpm-qi packagename 其中packagename 是要查找其用途的软件包名称 4删除已安装的软件 使用 RPM删除软件包就像安装它们一样简单大多数情况下用户只需要输入命令 rpm-e packagename 其中ackagename 是要查删除的软件包名称 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第19页,共53页 第2章 文件查看/编辑方法介绍 2.1 cat 命令介绍 cat 命令的原含义为连接concatenate用于连接多个文件内容并输出到标准输出流中标准输出流默认为屏幕实际运用
41、过程中我们常使用它来显示文件内容如果您熟悉 MS-DOS 下的 type 命令相信不难掌握 cat 命令该命令的常用示例如下 cat file1.txt 显示 file1.txt 文件的内容 cat file1.txt file2.txt 显示 file1.txt 和 file2.txt 文件的内容 cat-n file1.txt 显示 file1.txt 文件的内容同时显示行号 2.2 vi命令介绍 vi 是 Visual Interface 的简称 它在 Linux上的地位就仿佛 Edit 程序在 DOS上一样它可以执行输出删除查找替换块操作等众多文本操作而且用户可以根据自己的需要对其进行
42、定制这是其他编辑程序所没有的 vi 不是一个排版程序它不象 Word或 WPS那样可以对字体格式段落等其他属性进行编排它只是一个文本编辑程序 vi 没有菜单只有命令且命令繁多限于篇幅本文只介绍常用的命令Vi有三种基本工作模式命令行模式文本输入模式和末行模式 命令行模式 任何时候不管用户处于何种模式只要按一下ESC键即可使 vi 进入命令行模式 当在 shell 环境下输入 vi 命令启动 vi 编辑器时 也是处于该模式下 在该模式下用户可以输入各种合法的 vi 命令用于管理自己的文档此时从键盘上输入的任何字符都被当作编辑命令来解释若输入的字符是合法的vi 命令则 vi 在接受用户命令之后完成相
43、应的动作但需注意的是所输入的命令并不在屏幕上显示出来若输入的字符不是 vi 的合法命令vi 会响铃报警 文本输入模式 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第20页,共53页 在命令模式下输入插入命令 i附加命令 a 打开命令 o修改命令 c取代命令 r 或替换命令 s 都可以进入文本输入模式在该模式下用户输入的任何字符都被 vi 当做文件内容保存起来并将其显示在屏幕上在文本输入过程中若想回到命令模式下按ESC键即可 末行模式 在命令模式下用户按:键即可进入末行模式下此时 Vi会在显示窗口的最后一行通常也是屏幕的最后一行显示一个
44、:作为末行模式的提示符等待用户输入命令多数文件管理命令都是在此模式下执行的如把编辑缓冲区的内容写到文件中等末行命令执行完后vi 自动回到命令模式 若在末行模式下输入命令过程中改变了主意可按ESC键或用退格键将输入的命令全部删除之后再按一下退格键即可使 vi 回到命令模式下 2.2.1 vi 的进入与退出 在 shell 模式下键入 vi 及需要编辑的文件名即可进入 vi例如 vi example.txt 即可编辑 example.txt 文件如果该文件存在则编辑界面中会显示该文件的内容并将光标定位在文件的第一行如果文件不存在则编辑界面中无任何内容如果需要在进入 vi 编辑界面后将光标置于文件的
45、第 n 行则在 vi命令后面加上+n参数即可例如需要从 example.txt 文件的第 5 行开始显示则使用如下命令 vi+5 example.txt 退出 vi 时需要在末行模式中输入退出命令q如果在文本输入模式下首先按ESC键进入命令模式然后输入:进入末行模式在末行模式下可使用如下退出命令:q 直接退出如果在文本输入模式下修改了文档内容则不能退出:wq 保存后退出:x 同wq:q!不保存内容强制退出 2.2.2 vi 中显示行号 在末行模式下输入如下命令 set number Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第21页
46、,共53页 可使 vi 在编辑界面中显示行号 此外在末行模式下可使用如下nu命令number 的简写来显示光标所在行的行号及该行的内容 2.2.3 光标移动操作 全屏幕文本编辑器中光标的移动操作无疑是最经常使用的操作了用户只有熟练地使用移动光标的这些命令才能迅速准确地到达所期望的位置处进行编辑 vi 中的光标移动既可以在命令模式下 也可以在文本输入模式下 但操作的方法不尽相同 在文本输入模式下可直接使用键盘上的四个方向键移动光标在命令模式下有很多移动光标的方法不但可以使用四个方向键来移动光标还可以用 hjkl 这四个键代替四个方向键来移动光标这样可以避免由于不同机器上的不同键盘定义所带来的矛盾
47、而且使用熟练后可以手不离开字母键盘位置就能完成所有操作从而提高工作效率 以下命令均在命令行模式下完成光标移动 h 光标左移如果在按 h 命令前输入数字 n则光标左移 n 个字符 l 光标右移如果在按 l 命令前输入数字 n则光标右移 n 个字符 j 光标上移如果在按 j 命令前输入数字 n则光标上移 n 个字符 k 光标下移如果在按 k 命令前输入数字 n则光标 xia移 n 个字符 0零 光标移到行首$光标移到行尾 H 光标移到屏幕上显示的第一行并不一定是文件头 L 光标移到屏幕上显示的最后一行并不一定是文件尾 M 光标移到屏幕的中间一行 nG 光标移到第 n 行 w或 W 将光标右移至下一
48、个单词的词首 e 或 E 如果光标起始位置处于单词内即非单词尾处则该命令将把光标移到本单词词尾如果光标起始位置处于单词尾则该命令将把光标移动到下一个单词的词尾 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第22页,共53页 b 或 B 如果光标处于所在单词内即非单词首则该命令将把光标移至本单词词首如果光标处于所在单词的词首则该命令将把光标移到上一个单词的词首 Ctrl+G 状态命令显示当前编辑文档的状态包括正在编辑的文件名是否修改过当前行号文件的行数以及光标之前的行占整个文件的百分比 此外也可以通过以下末行模式下的命令完成光标在整个文
49、件中的移动操作 :n 光标移到文件的第 n 行:$光标移到文件的最后一行 2.2.4 文本插入操作 在命令模式下用户输入的任何字符都被 vi 当作命令加以解释执行如果用户要将输入的字符当作是文本内容时则首先应将 vi 的工作模式从命令模式切换到文本输入模式切换的方式是使用下面的命令 1.插入Insert命令 vi 提供了两个插入命令i 和 I 1.i命令 插入文本从光标所在位置前开始并且插入过程中可以使用键删除错误的输入此时 vi 处于插入状态屏幕最下行显示-INSERT-插入字样 2.I命令 该命令是将光标移到当前行的行首然后在其前插入文本 2.附加append命令 vi 提供了两个附加插入
50、命令a 和 A 1.a 命令 该命令用于在光标当前所在位置之后追加新文本新输入的文本放在光标之后在光标后的原文本将相应地向后移动光标可在一行的任何位置 2.A 命令 该命令与 a 命令不同的是A命令将把光标挪到所在行的行尾从那里开始插入新文本当输入 A命令后光标自动移到该行的行尾 a 和 A命令是把文本插入到行尾的唯一方法 Linux 操作指导专题 文档密级内部公开 2010-06-26 华为 3Com 机密未经许可不得扩散 第23页,共53页 3.打开open命令 不论是 Insert 命令也好还是 append 命令也好所插入的内容都是从当前行中的某个位置开始的若我们希望在某行之前或某行之