




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UNIT3文本用户界面使用基础 命令行基础知识 vi编辑器 1 Linux系统提供两种用户操作界面 一种是基于XWindows Unix的通用图形用户界面标准 的图形用户界面 如GNOME和KDE桌面环境 另一种是基于Shell的文本用户界面 也称Shell界面或命令行界面 Linux系统提供大量的命令和工具 如能熟练地掌握最基本的命令 灵活地利用系统提供的各种机制 组合运用Linux系统的命令和工具 就能充分地发挥Linux系统的潜能 Linux系统的强大功能完全体现在其命令行环境中 图形界面 如GNOME 提供的所有功能实际上也是利用基本的命令和工具实现的 因此 熟练地掌握 灵活地运用一定数量的常用命令和工具是每个学习Linux系统的人都应当具有的基本功 2 1 命令行基础知识 什么是Shell Shell版本 进入和退出Shell界面 Shell提示符 Shell命令行的基本语法规则 3 1 1什么是Shell Shell的原意是外壳 用来形容物体外部的架构 Linux的Shell作为操作系统的外壳 为用户提供了使用整个Linux系统的文本用户界面 它是命令语言程序设计语言语言解释器的统称 负责用户与操作系统内核之间以及与Linux操作系统支持的各种系统工具及应用程序之间的通信 4 首先 Shell是一种功能丰富的交互式命令语言 它提供有上百条基本的控制台操作命令 所谓交互式 就是用户从键盘每输入一条命令 就可以立即得到Shell解释器的响应 Shell解释器解释用户输入的Shell命令然后传送给内核执行 并把内核反馈的结果信息经解释后显示在屏幕上 Shell交互界面 即文本用户界面 非常简单 它通常包含提示用户输入命令行的提示符 并且以回车键结束命令行 5 其次 Shell也是一种非交互式的解释型编程语言 它具有编程语言的语法 可定义变量 执行赋值操作等 并提供了通常高级编程语言所具有的控制流结构 包括循环和分支 用户可使用Shell语言编写出具有复杂算法的Shell脚本 script 程序 从本质上讲 Shellscript是将若干Shell命令行按某种算法组合到一个文件中 Shell解释器可连续解释执行Shell脚本 在执行过程中Shell解释器通常与用户不进行交互 直到该脚本执行完再输出结果信息 6 1 2Shell版本 在Linux系统中常见的Shell版本有以下几种 1 BourneShell sh 它是UNIX最初使用的Shell 并且在每种UNIX上都可以使用 它在Shell编程方面相当优秀 但处理与用户的交互方面不如其他几种Shell 2 CShell csh 它更多地考虑了用户界面的友好性 支持如命令补齐等一些BourneShell所不支持的特性 但其编程接口做得不如BourneShell CShell被很多C程序员使用 因为CShell的语法和C语言的语法很相似 CShell也由此得名 3 KornShell ksh 它集合了CShell和BourneShell的优点 并且和BourneShell完全兼容 7 4 BourneAgainShell bash bash是大多数Linux系统 包括RedHatLinux 的默认Shell 它是BourneShell的扩展 并且与BourneShell完全向后兼容 而且在BourneShell的基础上增加和增强了很多特性 是最常用的一种shell 本课程采用的是bash 5 tcsh 它是csh的一个扩展版本 与csh完全向后兼容 但它包含了更多使用户感觉方便的新特性 6 pdksh 它是一个专门为Linux编写的ksh的扩展版本 ksh是商用Shell 而pdksh是免费的 7 zsh 这是最大的Unix LinuxShell之一 提供的命令最为丰富 对于普通应用 一般没有必要安装zsh 8 1 3进入和退出Shell界面 进入Linux系统的Shell交互界面有两种基本方式 直接进入方式和间接进入方式 直接进入方式 在安装系统时选择文本界面 textmode 则在系统启动时直接进入Shell界面 间接进入方式 在安装系统时选择图形界面 graphicsmode 系统启动后进入的是图形桌面环境 再在桌面环境中切换进Shell界面 9 1 终端方式 终端方式是间接进入Shell界面的方式 在图形桌面环境下可通过如下方法进入Shell界面 方法1 打开主菜单 选择 系统工具 终端 方法2 用鼠标右击桌面 在弹出的快捷菜单中选择 新建终端 方法3 双击桌面上的终端启动器 10 终端窗口 shell命令提示符 11 退出终端式Shell界面返回桌面可通过如下方法 方法1 单击Shell窗口右上角的 按钮 方法2 输入exit命令 方法3 按Ctrl D 12 2 虚拟控制台方式 虚拟控制台是Linux提供的多用户并发使用系统的方式 它提供的是Shell界面 默认情况下 Linux有6个虚拟控制台 分别名为tty1 tty6 如果在安装系统时选择的是文本界面模式 则系统启动时默认进入Shell界面的虚拟控制台 在图形桌面环境下 超级用户 root 可以通过编辑 etc inittab文件 把系统启动后的初始界面改为虚拟控制台 正常状态下可以在Shell界面 敲入快捷键 Ctrl Alt F1 F6 进行虚拟控制台的切换 而实际上却不行 这是为什么呢 13 vmware中运行的linux如何切换虚拟控制台 ctrl alt Fn不起作用了 高手指点 修改vmware中的热键 将VMWare切换Windows系统的热键改成Alt Shift 这样 在vmware中的linux中按Ctrl alt就不会跟vmware的热键冲突了 具体方法 vmware Edit preferences HotKeys Custom Ctl选成Don tCareShit选成DownAlt选成Down 应用确定后关掉vmware 重新打开vmware就可以了 当然 要记住VMWare切换键就变成Alt Shift了 14 启动到图形界面方法如下 在主菜单中选择 附件 文本编辑器 弹出文本编辑器窗口 打开 etc inittab文件 找到语句 id 5 initdefault 将该语句中的5改为3 15 文本编辑器窗口 16 打开文件 对话框 17 打开 etc inittab文件 选择根目录 输入文件路径名etc inittab 18 修改初始的用户界面模式 将该语句中的5改为3 19 重新启动系统后 Linux系统会自动进入虚拟控制台登录界面 默认是tty1 由于每个控制台各自独立 因此在同一台Linux计算机上可以使用不同的用户账号进行登录 在虚拟控制台上 也可以使用startx命令或init5切换到XWindows桌面环境 如果安装了桌面环境 20 虚拟控制台窗口 21 注意 虚拟控制台方式与终端方式的差别 终端方式是间接进入Shell界面的 即用户是在图形方式下先登录并进入桌面环境后再切换到Shell界面的 故在进入Shell界面后无需再进行登录 另外用户注销和关机也是在桌面环境中以图形方式进行的 而虚拟控制台方式是在启动系统后直接进入Shell界面的 用户的登录 注销和关机都是在Shell界面中进行的 登录的提示符是 login 输入用户名password 输入口令 无显示 22 用户注销及关机也都是在Shell提示符下直接进行 注销命令是 logout 当前账号注销关机命令 root用户 是 shutdown hnow 立刻关机shutdown rnow 重新启动计算机reboot 重新启动计算机 23 1 4Shell提示符 进入Shell界面后 用户可在Shell提示符 串 后输入各种Shell命令 Shell提示符的格式为 用户登录名 主机名当前目录名 用户类例如 root RHL9etc zhangsan RHL9zhangsan 其中 表示超级用户 表示普通用户 24 1 5Shell命令行的基本语法规则 Shell命令行的一般格式为 命令名 选项 参数 1 命令行中的字母严格区分大小写 命令名由小写英文字母组成 往往是表示相应功能的英文单词或单词的缩写 例如 date表示日期 cp是copy的缩写 2 方括号括起的部分表明该项是可缺省的 3 选项主要用于限定命令的具体功能 每个命令通常均提供一定数量的选项 选项通常用单个英文字母表示 并以减号 引导 多个选项可以只用一个减号引导 如du k c du kc 25 与UNIX不同的是 Linux还提供以双减号 引导的命令选项 称GNU选项 其选项通常为单个英文单词或词组 如 help 4 参数是命令操作的对象 可以是目录名 文件名或其他内容 5 在命令名和选项及参数之间必须用空格或Tab键隔开 6 一个命令行中通常仅输入一个命令 也可以输入多个命令 命令之间用分号隔开 如 cd etc ls 1该命令行包含了cd和ls两条命令 cd命令中只含有参数 ls命令中只含有选项 26 1 6命令自动补全 Shell具有命令自动补全功能 对某些记不清楚的命令或命令过长的情况很有用 对于能唯一确定的命令 输入该命令的前若干字符 然后按下键盘上的Tab键 就可以自动补全该命令的剩余部分 例1 要输入hostname命令来查看当前主机的名称 可以输入hostn后按下Tab键 这时Shell会自动在后面补全为hostname 27 例2 假设当前目录中包含以下的文件和子目录 news bin games mail samplefiletest 要进入test子目录 可输入如下命令行 cdt再按Tab键 则Shell会自动补全为 cdtest因为test是当前目录中唯一以字母t开头的子目录 28 例3 如果输入的命令前缀不能唯一标识某个命令时 则按下Tab键时 系统将发出警告声 再按下Tab键时 系统会给出可用来补全的命令清单 如 当输入host时 第一次按Tab键时系统发出警告声 再按Tab键时 系统会给出所有以host开头的命令 如下所示 hosthosthostidhostnamehoststat 29 1 7历史命令 Shell将用户每次输入的命令都记录在命令历史缓冲区中 以便用户可能用到过去用过的命令 要调出历史缓冲区中保存的命令 可使用两种方法 1 使用箭头键在命令提示符状态下 按向上箭头可回退到上一条命令 在命令提示符后显示上一条命令 若连续按向上箭头则连续回退 2 使用history命令history命令将显示用户执行过的全部命令 30 例4 history命令的输入及结果显示 history1ls2cdnew3ls l4cd 5clear6hostname7history命令history c将清除历史缓冲区中的内容 31 1 8通配符 Shell命令允许使用通配符作为特殊结构的字符串模式 下面是常用的通配符 星号用于匹配任意多个字符 例如 要查找当前目录中所有扩展名为 doc的文件 可以使用如下命令 ls doc 问号用于匹配单个字符 例如 要显示 bin目录下所有文件名为三个字符的文件 可使用如下命令 ls bin 或 X X 用于匹配字符集或字符范围 例5 32 ls pw 列出当前目录中以p或w打头的所有文件 ls 0 9 列出当前目录中所有名字中包含有数字的文件 或 与 正好相反 表示可以匹配任何一个不属于给定字符集范围的字符 如 ls pw 列出当前目录中不以p或w打头的所有文件 33 1 9输入 输出重定向 一般情况下Shell命令是从键盘输入的 标准输入 并将命令的结果在屏幕上显示 标准输出 但在必要时可以通过重定向符改变标准的输入输出 34 1 输入重定向 输入重定向符 的作用是把命令 或执行程序 的标准输入重新定向到指定文件 输入重定向的一般形式是 命令 文件名 例6 有一个可执行程序prog 其源程序用C语言编写 为了输入数据 程序中使用了scanf 函数调用语句 如果所需数据 例如成绩表 预先已录入一个文件date1 那么就可以让prog执行时直接从date1文件中读取相应数据 而不必交互式地从键盘录入 执行prog的命令行可以是 prog date1如果程序所需数据较多或者会被反复执行 那么采用输入重定向方式就很有用 35 2 输出重定向 输出重定向的作用是把命令 或执行程序 的标准输出重新定向到指定文件 而不再在屏幕上显示其输出 如果指定的文件不存在 shell将会创建一个新文件 输出重定向的一般形式是 命令 文件名 命令的输出信息送入指定文件命令 文件名 命令的输出信息附加到指定文件后 例7 一个简单的例子是 ls l bin tmp 36 1 10管道 管道是一种先进先出的单向数据通路 利用管道符号 可以把一个命令的标准输出连接到另一个命令的标准输入 例8 ls usr wc w该命令行利用管道把ls和wc两个命令连接到一起 可获知指定目录下的文件数量 选项 w 表示对字进行计数 管道的常见用法是为 过滤器 提供原始数据 过滤器首先读取通过管道输入的数据 然后将该输入数据以某种模式进行变换 相当于过滤 再将处理结果输出 例如grep tail sort和wc等命令都属于过滤器命令 37 例9 ls grepm c该命令行列出当前目录中以m打头的所有C源程序文件 利用管道可以在一个命令行中完成复杂的任务 即把多个命令组合到一起 把前一命令的标准输出依次传递到下一个命令的标准输入 最终得到经过多个命令依次处理的结果 例10 ls grep c wc l该命令行输出当前目录中所有C源程序文件的数目 选项 l 表示对行进行计数 38 1 11获得帮助信息 如果碰到不会用的命令 可以使用以下两种方法获得相关的帮助信息 1 使用 help选项大部分命令都可以使用 help选项来获得命令的使用帮助信息 例11 使用命令 cat help可以获得cat命令的帮助信息 39 cat命令的help信息 40 有问题找 男子汉 2 使用man命令每个Shell命令都有一份称为man的联机帮助信息 如果觉得help帮助信息不够详细 可以使用man命令来查看任何命令的联机帮助信息 只要将需要查询的命令名作为man命令的参数即可 如 mancat在阅读联机帮助细信息时 可以按PageUp和ageDown键进行上下页翻页 按Q键退出 41 cat命令的man信息 42 1 12文件保护 Linux是个多用户的操作系统 每个用户可拥有自己的资源 在Linux中把用户可使用的系统资源统一处理成文件 并分类成普通文件 目录文件和特别 设备 文件三类 为了保证用户对系统资源的安全使用 Linux提供了文件存取控制机制 以实现对文件的保护 43 Linux的文件存取控制机制的基本原理 1 把所有用户划分为三种身份 文件主 user 同组用户 group 其他用户 other 文件主即文件的创建者 对本文件具有最大的存取权限 44 2 每种用户对一个文件可拥有读 写和执行的权限 r read 读 权限 对普通文件而言 指用户可打开并读取文件的内容 对目录而言 指用户可浏览目录的内容 对I O设备而言 则指用户可使用设备进行数据的输入 用数字表示为4 w write 写 权限 对普通文件而言 指用户可修改文件的内容 对目录而言 指用户可删除或移动目录内的文件 对I O设备而言 则指用户可使用设备进行数据的输出 用数字表示为2 x execute 执行 对普通文件而言 指用户可执行该文件 对目录而言 指用户可进入该目录 用数字表示为1 45 3 用3组每组3个共9个二进制位 bit 表示文件的存取控制方式 依次是 文件主存取控制方式 同组用户存取控制方式 其他用户存取控制方式 每组中的顺序依次是 读 写 执行 例如 某文件的存取控制方式设置为 111101100 对应的八进制数表示为754 表示文件主对该文件可读 可写 可执行 同组用户可读 可执行 其他用户只可读 用字符形式表示上述文件存取控制方式 就是rwxr xr 46 在用户创建一个文件时 Linux会提供默认的文件存取控制方式 文件主可根据需要使用shell命令或图形命令进行修改 47 2vim vi编辑器 只有命令 没有菜单的文本编辑器 48 大腕 编辑器版 周围同事不是用vi就是Emacs 你要是用UltraEdit 你都不好意思跟人家打招呼 什么插件呀 语法高亮呀 拼写检查呀 能给它开的都给它开着 就是一个字儿 酷 你说这么牛x一咚咚 怎么着学会也得小半年吧 半年 入门都远着呢 能学会移动光标就不错了 你还别说耗不起 就这还只是左右移动 49 2 1为什么要学习vim vi 修改与设定某些软件的配置文件 以及为某些系统管理工作编写shell脚本 是Linux系统管理员的必不可少的重要工作 在Linux的世界中 绝大部分的配置文件都是以ASCII的纯文本形态存在 因此利用简单的文本编辑软件就能够修改设定了 各种Linux发行版都提供有多种文本编辑器软件 如emacs pico nano joe vi等 但多把vi作为默认的文本编辑器 而且vi也是各种UNIX版本默认的文本编辑器 vi visualinterface 是个功能齐全的全屏幕文本编辑器 可以执行输入 插入 删除 查找 替换等各 50 种文本编辑操作 但是vi不是一个排版软件 它不像OfficeWord那样可以对字体 格式 段落等属性进行编排 它只是一个文本编辑器 相当于windows中的笔记事本 而且vi只有命令 没有菜单 vim是vi的升级版 完全兼容vi vim不但可以用不同颜色显示文字内容 还能够进行诸如shell脚本 C程序等程序的编辑 并具有许多的语法检查功能 能自动进行debug 程序调试 因此你可以将vim视为一种程序编辑器 此外 vim还能够对Linux的一些基础配置文件进行语法检查 各种较新版本的UNIX以及几乎所有的Linux发行版都已把vi升级为vim了 51 对于UNIX Linux来说 系统管理员必须至少掌握好一种文本编辑器 而vim vi无疑是首选 52 2 2vi的工作模式 vi有三种基本工作模式 命令模式 文本输入模式和末行模式 1 命令模式这是进入vi编辑器时的默认工作模式 在该模式下用户可以输入各种合法的vi编辑命令 此时从键盘上输入的任何字符都被当作编辑命令来解释 需注意的是 命令模式的命令是隐式命令 即所输入的命令并不在屏幕上显示出来 若输入的字符不是合法的vi命令 vi会响铃提示用户 53 2 文本输入模式在该模式下 用户输入的任何字符都被vi当作文件内容保存起来 并将其显示在屏幕上 3 末行命令模式在命令模式下输入冒号 便进入末行命令模式 它是命令模式的特例 主要用于输入保存和退出命令 与命令模式下的隐式命令不同的是 末行命令是显式命令 且按回车键结束 末行命令执行完后 vi自动回到命令模式 54 三种模式之间的切换 命令模式 文本输入模式 键入文本输入命令 如a i o 文本输入模式 命令模式 按Esc键 命令模式 末行模式 键入冒号 鸟哥癿私房菜馆http linux vbird org 55 命令模式 文本输入模式 末行命令模式 vifilename进入 输入iao 按Esc键 输入 显式命令按回车键结束 输入wqq 退出 vi vim工作模式 56 文本输入命令 隐式命令 输入这些命令将进入文本输入模式 57 光标定位命令 58 搜索命令 59 替换与取消命令 输入r和R命令将进入文本输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年网络广告投放分析师考试试卷及答案
- 2025新疆吐鲁番市鄯善县消防救援大队招聘政府专职消防员18人笔试参考题库附答案解析
- 2025年运输货场服务项目合作计划书
- 2025年网络安全技术在金融行业的应用与挑战试卷及答案
- 2025年网络安全工程师资格认定试题及答案解析
- 2025年台州仙居县人民医院招聘编外工作人员3人笔试模拟试题及答案解析
- 2025四川巴中平昌县选调县内农村中小学(幼儿园)教师80人考试备考试题及答案解析
- 工作压力应对能力评价标准
- 2025云南西双版纳州建筑业协会招聘1人笔试备考试题及答案解析
- 综合与实践《生活中的不等式》教案 苏科版(2024)数学七年级下册
- 人工智能实验学校申报材料
- 复杂网络上的演化博弈及其学习机制与演化动态综述
- 2024年江苏省成考(专升本)大学政治考试真题含解析
- 四年级数学(四则混合运算带括号)计算题与答案
- 2023年新高考全国Ⅱ卷英语试题真题及答案详解(含作文范文)
- 消毒隔离技术
- 2023年中国邮轮游船游艇行业发展报告
- 符合RBT214-2017防雷装置检测机构质量手册+检测作业指导书2021首版
- 中国铁路高速综合检测列车
- 2015年考研英语二真题及答案解析
- JGJT193-2009 混凝土耐久性检验评定标准
评论
0/150
提交评论