1 / 39

Turbolinux 用户基础 课程内容

Turbolinux 用户基础 课程内容. 第一章 什么是 LINUX 第二章 安装 TURBOLINUX 第三章 TURBOLINUX 工具 第四章 X 配置及疑难解答 第五章 运行级别与故障排除 第六章 文件系统基础 第七章 SHELL 使用指南 第八章 SHELL 进程与脚本 第九章 文档编辑工具 第十章 TURBOLINUX 应用程序. 第七章 Shell 使用指南. 主要内容:. Linux 的基本命令 SHELL 环境 bash shell bash, vi, emacs 功能强大的实用工具

keely
Télécharger la présentation

Turbolinux 用户基础 课程内容

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Turbolinux用户基础 课程内容 • 第一章 什么是LINUX • 第二章安装TURBOLINUX • 第三章TURBOLINUX工具 • 第四章 X配置及疑难解答 • 第五章 运行级别与故障排除 • 第六章 文件系统基础 • 第七章 SHELL使用指南 • 第八章SHELL进程与脚本 • 第九章文档编辑工具 • 第十章TURBOLINUX应用程序

  2. 第七章 Shell使用指南 主要内容: • Linux的基本命令 • SHELL环境 • bash shell • bash, vi, emacs • 功能强大的实用工具 • diff, find, grep, 正则表达式,sed, awk, perl

  3. 7.1 Linux的基本命令 • cd, cp, rm, mv, ls, less, ln, cat, diff, man, passwd, pwd, find, exit • 在线帮助 • man ls • whatis proc • man 5 proc • man –k time • apropos time

  4. 7.2 SHELL环境 • 变量 • 如:$HOME/.bash_profile • SHELL: • bash, sh, tcsh, csh, ash, bsh, ksh, zsh等 • 父进程和子进程 • bash(PID=xx) bash(PID=yy)vi(PID=yy)

  5. SHELL环境 • 环境:一组定义,变量,别名,函数 • 子进程从父进程继承环境(如shell) • 子进程中可改变环境,但它不影响父进程 • 局部变量 • 环境变量:export • HOME是变量,$HOME是变量的值

  6. 定义shell变量 • 如: $TEST=“test” $echo $TESTstring $echo ${TEST}string teststring $ 视为变量TESTstring

  7. 用变量EDI定义一个带路径的命令 $EDI=/usr/local/src/editor/bin/editor $$EDI filename

  8. 用变量EDI定义一个带路径的命令 $DISPLAY=192.168.0.1:0 $export DISPLAY $

  9. SHELL内置的系统变量 HOME PWD OLDPWD PATH PS1,PS2 HISTFILE HISTSIZE ENV TERM VISUAL EDITOR LOGNAME SHELL PAGER

  10. 查找路径 • PATH • 如:PATH=:/bin:/usr/bin:/usr/local/bin • 内部命令优先于外部命令 • 若有同名程序,只运行先找到的 • 允许在当前目录查找并运行程序:用.(点),或以冒号开头或结尾 • 超级用户的查找路径加. (当前目录)非常危险! • type可指出程序在PATH的什么路径找到 • 如 type tty

  11. shell提示符 • PS1 主提示符 • PS2 附加部分提示符(命令行续行符) • PS4 显示命令行扫描的结果(解析) • set –x

  12. 环境文件 • /etc/profile 系统变量,由管理员维护 • $HOME/.bash_profile 用户可修改 • $HOME/.bashrc 该名字由变量ENV定义, 该文件定义bash shell的特征

  13. 环境文件 • 查看环境: • set • set –o • env • Unset

  14. 更换目录的快捷方式

  15. 练习 • 练习7-1:shell环境 • P142 • 练习7-2:其他附加的环境变化 • P143

  16. 7.3 bash shell • 命令行扫描 • 按回车表示命令行输入结束 • SHELL解析整个行,特殊字符被解释替换掉 • 如$HOME • TAB键的使用 • 再按TAB键

  17. 扩展通配符 • “*”,“?”是通配符 • SHELL在扫描阶段对通配符进行展开 • “*”匹配跨越“.”的文件名(点只是文件名中的一个普通字符) • 如:my* 可能匹配  my myfile my.word my.old.t

  18. 文件名的形成 • 通配符有: • * 匹配任意个(含0个)字符 • ? 匹配任意一个字符 • [list] 匹配其中之一的字符 • [!list] 匹配不在其中的字符

  19. 练习 • 练习7-3:文件名的生成 • P147

  20. 引号 • ' 单引号 屏蔽所有特殊字符 • “ 双引号 屏蔽多数特殊字符(如:空格,连字符-, 反斜杠\等;但不屏蔽$,允许对变量和命令进行替换) ls aa bb cc 列表aa,bb,cc三个文件或目录项 ls “aa bb cc” 列表名为“aa bb cc”的文件 • \ 反斜杠 屏蔽紧跟其后的字符的特殊含义 touch \\aa 创建名为“\aa”的文件

  21. bash的别名 • 别名:用来创建命令的缩写或另一可选名字 • 如: alias dir=ls alias if=‘ls -fi’ rm=‘rm -I’ cp=‘cp -I’ • 列出别名: alias

  22. 命令历史:history • 重复调用命令:! • 命令行编辑模式: • set –o vi • set –o emacs • 用分号在一行中执行多条命令

  23. vi模式的命令行编辑 • ESC进入命令行模式 • 编辑命令行时使用vi的命令 • 使用垂直方向键调用历史命令 • 使用/查找先前的命令 • 不能使用光标键! • h左移;l右移;j下移;k上移

  24. 练习 • 练习7-4:bash shell P152 • 练习7-5:命令的展开和通配符 P153

  25. 7.4 功能强大的实用工具diff • 比较两个文件的不同之处 • 格式:diff file1 file2 • 显示结果中, • n1 a n3,n4:在file1的第n1行之后加进了file2第n3行至第n4行。 • n1,n2 d n3:删除了原属于file1的第n1至n2行(即file2的第3行)。 • n1,n2 c n3,n4:file1的第n1至第n2行变成了file2的第n3至第n4行 • “<“行列出第一个文件中受影响的行 • “>”行为第二个文件中的新行 • 例: diff /etc/passwd /etc/passwd.bak

  26. diff • diff可用于目录操作 • 格式:diff dir1 dir2 • 显示: • Common subdirectories: • Only in dir1: • Only in dir2:

  27. find实用程序 • 例:fine –name name –print • 格式:find directories… options… action • options为参数,如: • -name name 查找名为name的文件 • -user name 查找属于用户name的文件 • -type [fdlcb] 查找指定类型的文件(d目录,l连接) • -size [+/-]n[bckw] 查找指定大小的文件(如+10k表示大于10KB,b-blocks(512B), c-Bytes, k-KB, w-2Bytes word) • -inum number • action为操作,如: • -print 在标准输出中显示文件名 • -exec command {} \; 对找到的文件执行指定命令 • -ok command {} \; 在执行命令前请求确认

  28. 练习 • 练习7-6:find的使用 P155

  29. grep实用程序 • 文本文件中查找内容 • Global regular expression print的缩写 • 匹配模式称“正则表达式” • 通常当作过滤器使用 • 也可查找多个文件

  30. grep实用程序 • 命令格式: • grep <参数> <正则表达式> <待查文件名> 如: grep –n else rc • <命令> | grep <参数> <正则表达式> 如: ls | grep rc* • 参数:

  31. 正则表达式

  32. 正则表达式

  33. sed实用程序 • sed: 字符流编辑器 • 与ed相似,一般用作管道过滤器 • 简单的语法: sed [-n] ‘command’ [files…] sed [-n] ‘command’ [files…] > file sed –nf scriptfile [files…] <命令> | sed ‘command’ > file

  34. 查找替换: n,ms/old/new/flags 表示从第n行到第m行,(s)查找old, 替换为new 如:sed ‘1,10s/Now/Today/g’ rc • 行号也可用正则表达式查找: sed –n ‘/^France/,/^Japan/s/ /-/p’ country.txt

  35. awk实用程序 • 一种强大的解释性的编程语言 • 可用作过滤或操纵文本 • 可用于处理格式化的文本文件 • 常与sed配合使用 • 语法: awk [-F char] [-f file | program] [files…] • awk是Aho, Weinberger和Kernighan三位早期UNIX的作者 • awk通常硬连接到新的awk, 即nawk • awk是高级系统管理员必须学习的!

  36. awk实用程序 第1列,$0表示整个记录 • ifconfig | grep ^[a-z] | awk '{print $1}' • cat /etc/passwd | awk –F: '{print $1}' • awk –F: '{print $1}' /etc/passwd • awk 'BEGIN {print "I am counting"} {for (I=1;I<=NF;I++) words[$I] += 1} END {for (w in words) print w ":" words[w]}' datafile • grep awk /etc/rc0.d/*

  37. .Perl • Practical Extraction and Report Language的简称 • 跨平台,适用于异构环境 • Perl脚本可实现交互式任务,可实现几乎所有自动服务管理任务 • 可完成sed和awk的所有任务 • 具有速度、性能和安全方面的优势

  38. 小结 • Shell是一个环境 • 应理解Shell运行机制 • 了解SHELL的主要环境变量 • bash • 实用工具

  39. 练习 • P161  练习7-7 正则表达式在grep中的用法 • P161 练习7-8 在vi的查找中使用正则表达式 • P162 练习7-9 先进的正则表达式 • P163 练习7-10 实用工具的其他用法 • 课后习题

More Related