320 likes | 562 Views
UNIX 基础培训 ( 三 ). TOPIC :简单的 shell. 目的 一、学习 UNIX 操作系统部分命令 二、管道与重定向 三、 vi 的使用 四、简单的 shell. 一、 UNIX 命令. 1 、显示进程 ps. 使用 ps 命令显示系统正在运行的进程 参数: -e 列出系统所有的进程 -f 列出详细清单. 各列信息说明 UID :运行进程的用户 PID :进程的 ID PPID :父进程的 ID C :进程的 CPU 使用情况(进程使用占 CPU 时间的百分比) STIME :开始时间
E N D
TOPIC:简单的shell • 目的 • 一、学习UNIX操作系统部分命令 • 二、管道与重定向 • 三、vi的使用 • 四、简单的shell
1、显示进程ps • 使用ps命令显示系统正在运行的进程 • 参数: -e 列出系统所有的进程 -f 列出详细清单
各列信息说明 • UID:运行进程的用户 • PID:进程的ID • PPID:父进程的ID • C:进程的CPU使用情况(进程使用占CPU时间的百分比) • STIME:开始时间 • TTY:运行此进程的终端或控制台 • TIME:消耗CPU的时间总量 • CMD:产生进程的命令名称
2、档案文件管理 tar • tar是打包,不是压缩! • tar程序用于储存或展开 tar 存档文件。存档文件可放在磁盘中 ,也可以存为普通文件。
语法:tar –key [ f device_file] [ file...]例子:创建一个备份档案:$ tar –cvf /dev/rmt/0m myfile从一个备份档案得到一个档案内容列表:$ tar –tvf /dev/rmt/0m从备份档案中提取一个文件:$ tar –xvf /dev/rmt/0m myfile语法:tar –key [ f device_file] [ file...]例子:创建一个备份档案:$ tar –cvf /dev/rmt/0m myfile从一个备份档案得到一个档案内容列表:$ tar –tvf /dev/rmt/0m从备份档案中提取一个文件:$ tar –xvf /dev/rmt/0m myfile
有效的key参数有:c 创建(create)一个新的档案。x 从档案中提取一个文件t 打印档案中的内容的列表。r 在档案的末尾增加文件。u 如果文件是新的或者修改过的,就添加到档案的末尾。v 在存档和恢复的时候在屏幕上显示文件名(冗长模式verbose)f file 指明要创建档案的文件名。注意,这个文件不一定必须是一个磁带的设备文件,你可以在你的磁盘上的目录下创建一个档案文件。如果不指定,其默认值为/dev/rmt/0m • 注意!创建tar包的时候最好不要使用绝对路径,因为解tar的时候系统会向绝对路径中解这个包。例如: tar -cvf aaa.tar ./backup
3、查找匹配grep • 1.grep的含义是“全局搜索正则表达式(RE)并打印该行” • 2.grep 的选项
-b 在各行之前放置它发现的块号。有时在根据上下文定位磁盘字块时有用 • -c 显示匹配行数而不是内容 • -h 不显示文件名 • -I 在座比较时忽略字母大小写 • -n 文件中每行之前给出它的相关行号 • -s 无声操作。即除了错误消息外不做任何显示。用于检查退出状态 • -v 把搜索翻转为只显示不匹配的行 • -w 把表达式当作一个次来搜索,相当于用\<和\>括起来
1、管道“|” • 管道直接将一个命令的输出传送到另一个命令的输入,不需要创建中间文件,而且可以将多个命令连接在一起,这样提高了单个命令行的处理能力。
管道用符号“|”表示。它的一般形式为: 命令1 |命令2 • 管道符左边命令的标准输出会被用作管道符右边的命令的标准输入,而出现在管道中间的命令,必须能够接收标准输入和输出到标准输出。 • 以下是管道的每一个位置的命令的要求:a、任何在一个|符号左边的命令必须能够输出到标准输出。 b、任何在 | 符号右边的命令必须能够从标准输入读取数据。 c、任何在两个 | 符号之间的命令必须能够接收标准输入并且能够制造输出到标准输出。(是一个过滤器) • 例如 who | grep root ls | more
2、重定向”>”、”>>”、”<” • 标准输入 命令的输入,缺省是键盘,也可以是文件或其他命令的输出。 • 标准输出 命令的输出,缺省是屏幕,也可以是文件。
输出重定向会捕获一个命令的标准输出,并且把它输出到一个文件。输出重定向一般用来记录日志或者长时间地存贮一个命令的输出数据。输出重定向会捕获一个命令的标准输出,并且把它输出到一个文件。输出重定向一般用来记录日志或者长时间地存贮一个命令的输出数据。 • “>”把命令的结果输出到一个文件中 • “>>”把命令的结果追加到一个文件中
输入重定向一般把某个文件作为命令的输入 • grep root <who.txt >root.txt
vi 是 UNIX 里使用非常普遍的全屏幕文本编辑器,几乎任何一种UNIX系统都会提供这套软件。
vi 有两种模式:命令模式、文本输入模式。 • 执行vi以后,会先进入命令模式,此时用户可输入各种子命令对行进行编辑,如删除行、拷贝行等。 • 在文本输入模式下,用户可以修改一行的内容并添加新行。 • 在命令模式下键入 i、I、a 、A或o等即可进入文本输入模式,键入ESC键即可返回命令模式。 • 注意vi并不锁住所编辑的文件,因此多个用户可能同时编辑一个文件,那么最后保存的文件版本将被保留。
查找”/” • 查找下一个”n”
每天要把a文件夹打包cp到几个不同的目录,怎么做?每天要把a文件夹打包cp到几个不同的目录,怎么做? • shell的执行方法 sh 脚本,例如sh ./patch_install.sh 对有执行权限的脚本可以直接执行,例如./patch_install.sh • sh –x可以查看每一行的执行情况