linux chapter05
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Input Mode 主要功能: 主要功能:输入文字
Last Line Mode 主要功能:搜索或替换、 主要功能:搜索或替换、存保存及结束 按q、pi、wq键 、 、 键 回到提示符
使用 vi 建立一个档名为 test.txt 的资料
进入编辑模式,开始编辑文字
在一般模式之中,只要按下 I, o, a 等字符, 就可以进入编辑模式了!在编辑模式当中, 可以发现在左下角会出现 –INSERT- 的画面, 键盘上 除了 [Esc] 这个按键之外,其它的按 键都可以视作为一般的输入按钮了,
5. 必要时需要以跳脱字符『 \ 』来将特殊符号 ( 如 Enter, $, \, 空格符, ' 等 ) 变成一般符号; 6. 在一串指令中,还需要藉由其它的指令提供的信息,可 以使用 quote 『 ` command` 』;(特别注意,那个 ` 是键盘 上方的数字键 1 左边那个按键,而不是单引号!) 7. 若该变量为扩增变量内容时,则需以双引号及 $变量名 称 如:『 "$PATH":/home』继续累加内容; 8. 若该变量需要在其它子程序执行,则需要以 export 来 使变量变成环境变量, 如『export PATH』;
5.2 使用Shell
为什么使用Shell shell环境变量 显示环境变量 修改环境变量
高效、安全、 高效、安全、占用系统资 源少
root@linux ~]# echo $myname [root@linux ~]# myname=VB [root@linux ~]# echo $myname
Linux 主机的运行来说明:因为在主机里面有太多的数据需 会不会太麻烦? 会不会太麻烦? 要进行存取了, 而这些数据都是 一些服务所必须的, 这当然很麻烦, 所 以为了简化整个运作流程,我们就可以 透过某个变量功能,让这个变量可以依据不同的使用者而变 更内容, 如此一来,系统的邮件服务只要依据那个变量去 取得所需要的数据即可,就不需要记录不同的路径。
Shell历史
第一个流行的 shell 是由 Steven Bourne 发展出来 的,为了纪念他所以就称为 Bourne shell ,或直接 简称为 sh ! 后来另一个广为流传的 shell 是由柏克莱大学的 Bill Joy 设计依附于 BSD 版的 Unix 系统中的 shell , 依附于 这个 shell 的语法有点类似 C 语言,所以才得名为 C shell ,简称为 csh !由于在学术界 Sun 主机势 力相当的庞大,而 Sun 主要 是 BSD 的分支之一, 所以 C shell 也是另一个很重要而且流传很广的 shell 之一.
kernel 是『核心』的意思,而 Shell 是『壳』 的意思, shell 是最外头的东西!而 kernel 乃是最内层的的东西啦!核心是操作系统的 最底层的东西! 这个核心里头包 括了各种的 支持硬件的工具!
shell版本
由于早年的 Unix 年代,发展者众,所以由于 shell 依 据发展者的不同就有许多的版本,每一种 Shell 都各有其特点。 Bourne SHell (sh) 、 在 Sun 里头预设的 C SHell、 商 业上常用的 K SHell、, 还有 TCSH 等等, Linux 使用的『 Bourne Again SHell (简bash) 』, 这个 Shell 是 Bourne Shell 的增强版本,也是基准 于GNU 的架构下发展出来的呦!
第5章
字符操作
5.1 使用终端
虚拟终端简介
• 终端启动 • 虚拟控制台 • 从虚拟控制台启动X Window:startx
控制台console 支持连接256个,6个虚拟终端
Shell Shell的历史
• 系统中的shell • 启动shell
与内核的交互接口,一个终端可以 使用多种shell
转换系统模式
常用的shell操作-2
命令行打印 清除和重设终端机
管道和重定向
使用重导向 后补重定向 重导向标准输入 管道和换页器
阅读文本文件的其它命令
使用cat操作文件 head命令 tail 命令 grep 命令
I/O 重导向和管道
通配符和正则表达式
通 配 符 * ? \ \* \? \) 匹配所有字符 匹配字串中的一个字符(例如 sneaker?.txt) 转义符,与特殊字符一起使用来表示某个特 殊字符 匹配“*”字符 — 匹配“?”字符 匹配“)”字符 含 义
5.3 字符编辑器vi
字符模式配置及系统维护工作 vi的执行与离开 VIM – Vi Improved
• 启动vi • 离开vi
version 5.8.7 y Bram Moolenaar et al. Vim is freely distributable type : help Uganda<Enter> if you like Vim type : q<Enter> to exit type : help<Enter> or <F1> for on-line help type : help version5<Enter> for version info
1. 『mkdir /tmp/vitest』 2. 『cd /tmp/vitest』 3. 『cp /etc/man.config .』 4. 『vi man.config』 5. 『:set nu』 6. (1)简单的方法可以一直按『 u 』回复到原始状态,(2) 使用不储存离开『 :q! 』之后,再重新 读取一次该文件;
命令历史和Tab 自动补全
查看命令历史 自动补全命令 使用多重命令
权限类型 使用chmod命令改变权限
所有权和许可权限
权限速符号含义
功 能 用 户 身 份 u g o a 权限 r w x 执行 + = 符 号 含 义 —拥有文件的用户(所有者) —所有者所在的组群 其他人(不是所有者或所有者的组群) 每个人或全部(u、g、和o) 读取权 写入权 执行权 添加权限 删除权限 使它成为唯一权限
界面
• 编辑区 • 命令区
5.3.2 vi的操作模式
编 辑 区ຫໍສະໝຸດ Baidu
操作模式
• Command Mode • Insert Mode • Last Line Mode
命 令 区
vi的3种模式转换关系
执行vi命令 执行 命令 Command Mode 主要功能: 主要功能:移动鼠标或编辑文 字 按a、i、o键 、、 键 按 :键 命令错误或按Esc键 键 命令错误或按
Shell变量
变量的概念
个变量来进行存取的, 当 dmtsai 这个使用 名为vb的账号登录, vb的账号登录 名为vb的账号登录, 者登入 时,他便会取得 MAIL 这个变量,而 MAIL变量的内容 变量的内容: MAIL变量的内容: 这个变量的内容其实就是 , 那如果 vb 登 入 /var/spool/mail/vb 呢?。 而我们使用信件读取指令mail 来读取自己的 邮件信箱时,程序可以直接读取 MAIL 这个 变量的内容, 就能够自动的分 辨出属于自己 的信箱信件啰!
查看系统的环境变量
env Set 自订变量转成环境变量: export 数组的设定
shell scripts用途
自动化管理的重要依据; 追踪与管理系统的重要工作: Linux 系统的服务 ( services ) 启动的接口,在 /etc/init.d/ 这个目录下,所有的文件都是 scripts 简单入侵侦测功能; 连续指令单一化: 防火墙连续规则 ( iptables ),开机加载程序的项目 ( 就是 在 /etc/rc.d/rc.local 里头的数据 ); 简易的数据处理;
案例练习
1. 请在 /tmp 这个目录下建立一个名为 vitest 的目录; 2. 进入 vitest 这个目录当中; 3. 将 /etc/man.config 拷贝到本目录底下 4. 使用 vi 开启本目录下的 man.config ; 5. 在 vi 中设定一下行号; 6.修改完之后,突然反悔了,要全部复原,有哪些方法? 7.将这个文件另存成一个 man.test.config 的檔名; 8.储存后离开 9.编辑不少于50字的英文文档vitest.txt
的账号, vb的账号 名为 dmtsai 的账号, vb的账号, 名为vb 名为 的账号, mail 的存取路径预设是在 mail 的存取路径预设是在 那么我们主机的邮件服务是否 /var/spool/mail/dmtsai , /var/spool/mail/vb , 家目录预设在 /home/dmtsai 要记录好几个不同的路径啊? 要记录好几个不同的路径啊? 家目录预设在 /home/vb
[ESC] 回到一般模式
按下[Esc] 键 会发现画面左下角的 – INSERT – 不见了!
在一般模式中按下 :wq 储存后离开 vi
需要注意的是,如果文件的权限不对: 例如为 -r--r--r-- 时,那么可能会无法写入,那么可 以使用『强制写入』的方式吗?可以!使用『:wq!』 多加一个惊叹号
变量使用规则
1. 变量与变量内容以等号『=』来连结; 2. 等号两边不能直接接空格符; 3. 变量名称只能是英文字母与数字,但是数字不 能是开头字符; 4. 若有空格符可以使用双引号『 " 』或单引号 『 ' 』来将变量内容结合起来,但须要特别留意, 双 引号内的特殊字符可以保有变量特性,但是单 引号内的特殊字符则仅为一般字符;
• 设置启动模式 • 运行时设为文字模式
什么是 Shell?
『什么是 Shell ?』在讨论 Shell 之前,我们先来了解一下计算机的运作
状况吧! 例子:
当你要计算机传输出来『音乐』的时候,你的计算机需要什么东西呢? 1. 当然就是需要你的硬件有『声卡芯片』这个硬件配备,否则怎么会 有声音; 2. 操作系统的核心可以支持这个芯片组,当然还需要提供芯片的驱动 程序啰; 3. 需要使用者(就是你)输入发生声音的指令! 这是基本的一个输出声音的需要的步骤!那么也就是说,你必须要『输入』 一个指令之后, 『硬件』才 会透过你下达的指令来工作!那么硬件如何 知道你下达的指令呢?那就是 kernel (核心)的控制 工作了!我们必须 要透过『 Shell 』将我们输入的指令与 Kernel 沟通,好让 Kernel 可以控 制硬件来正确无误的工作!
Shell功能
命令编修能力(类似 DOS 的 doskey 功能): 命令与文件补全功能: 我们再复习一次: * [Tab] 接在一串指令的第一个字的后面,则为命令补全; * [Tab] 接在一串指令的第二个字以后时,则为『文件补齐』! 命令别名(alias)设定功能: 由 shell 提供的环境 假如我需要知道这个目录底下的所有文件(包含隐藏档)及所有的 变量及相关指令来进行 文件属性,那么我就必须要下达 ls -al 这样的指令列,唉!真麻烦,有 设计, 设计,整个设计下来几 没有更快的取代方式?呵呵!就使用命令别名呀!也可以直接 乎就是一个小型的程序 alias lm='ls -al' 语言 工作控制(jobs)、前景背景控制: Shell scripts 的强大功能: 相当DOS的批处理 替换符 * 查看内建命令的命令: type
的账号登录, 名为 dmtsai 的账号登录, MAIL的变量内容 MAIL的变量内容 我们每个账号的邮件信箱预设是以 MAIL 这 /var/spool/mail/dmtsai
变量的概念
变量就是以一组文字或符号等,来取代一些 设定或者是一串保留的数据。 可以 为何你在任意的路径下都 执行 ls 呢?而不需要指定路 要下达正确的指令,应该需要指定路径与文 径呢? 径呢? 件名。 ls 指令应该需要以『/bin/ls』来下达指令才对? 这是因为系统已经预设了一些『搜寻路径 (PATH)』了。
shell script 用在系统管理上面是很好的一项工具, 用在系统管理上面是很好的一项工具, 但是用在处理大量数值运算上, 就不够好了, 但是用在处理大量数值运算上, 就不够好了,而且 还很麻烦
5.2.3常用的shell操作
浏览目录及文件 使用pwd来判定你的当前目录 改变所在目录 使用 ls 来查看目录内容 定位文件和目录