操作系统用户界面(SHD)
用户界面的定义
OS给用户控制计算机的机制,又称用户接口。用户界面的分类
-
操作界面
典型的操作界面
- 系统调用(system tall,系统功能调用,程序界面)
图形用户接口(GUI、Graphic、User、Interface)
窗口、图标、菜单、按钮、鼠标(消息,事件)
键盘命令(COMMAND)
在控制台环境下接收键盘输入的命令
- 类型
普通命令 批处理命令 shell
普通命令
1.Dos典型命令
文件管理 | COPY 、COMP 、TYPE 、SEL R、EN |
磁盘管理 | FORMAT.CHKDSK、DISKCOPY.DISKCOMP |
目录管理 | DIR 、CD 、MD、 RD 、TREE |
设备工作模式 | CLS、MODE |
时期、时间、系统设置 | DATE 、TIME、 VER 、VOL |
运行用户程序 | MASM、LINK、DEBUG |
2.LINUX典型命令
命令 | 基本功能 |
---|---|
man | 查看命令的帮助 |
cd | 改变工作路径 |
ls | 列目录信息 |
ps | 显示系统中的进程及ID |
mount | 挂接文件系统 |
umount | 卸掉文件系统 |
tar | 管理TAR类型文件 |
chown、chgrp | 设置文件/目录的拥有者 |
chmod | 改变文件属性 |
find | 用于查找某个文件 |
locate | 查找文件 |
whereis | 查看文件放在那个目录 |
批处理
- 普通命令的集合,批执行,由command解释执行。
- 支持变量替换、条件、转移、循环、注释等简单语法。
- *。BAT
例子:累计1..100,输出和5050.
@echo off
for /l%%i in(1,1,100)do
(
set /a sum+=%%i
)
echo %sum%
pause
格式:for /参数 %%变量 in(集) do命令
//:表示参数是一个序列(l是字母L的小写)
Set:设置变量。
Shell
Shell是操作与用户交互的界面
Shell表现为通过控制台执行用户命令的方式。
Shell本身不执行命令,仅仅是组织和管理命令。
Shell的发展与分类
Bsh:1970s,AT&T有较强的脚本编程功能。
Csh:1980s,C语法,用户命令交互方便。
Ksh:结合Bsh和Csh优势。
Bash:Bsh的升级,吸收Ksh特性,开源。(目前非常主流的)
Bash的主要功能
命令行编辑功能
命令和文件名补全功能
命令历史功能
命令别名功能
提供作业控制功能
管道与重定向
具有将命令序列定义为功能键的功能
Shell脚本编程
命令行编辑功能
操作键 | 功能 |
---|---|
左右方向键 | 使用左右方向键可以使光标在当前命令行中的已有字符间进行任意的移动 |
退格键 | 删除命令行中光标左边的字符 |
Del | 删除当前光标处的字符 |
Home | 将光标快速命令行的行首 |
End | 将光标快速移动到命令行的行尾 |
Ctrl+u | 删除当前光标到行首的内容 |
Ctrl+k | 删除当前光标到行尾的内容 |
Bash的命令行补全功能
使用Tab键可在命令查找路径中查找匹配的命令,并进行命令拼写的补全。
文件补全功能
使用Tab键可对文件和目录名进行补全。
命令历史与命令重复
- 命令历史功能的使用
使用上下方向键浏览已数人命令(历史命令) - 历史命令的查看
$ history - 用户名命令历史保存文件
~ /.bash_history - 命令历史的清除
history -C
- 相关的环境变量
HISTFILE,HISTSIIE
管道与重定向 - 标准的输入输出
- 重定向操作
- 管道操作
重定向操作
类型 | 操作符 | 说明 |
---|---|---|
输入重定向 | < | 将命令输入由默认的键盘更改/重定向为指定文件 |
输出重定向 | < | 将命令输出由默认的显示器更改/重定向为指定的文件 |
输出重定向 | >> | 将命令输出重定向并追加到指定文件的末尾 |
错误重定向 | 2> | 将命令的错误输出重定向指定文件(先清空) |
错误重定向 | 2>> | 将命令的错误输出重定向指定文件(追加到末尾) |
输出与错误组合重定向 | &> | 将命令的正常输出和错误输出重定向指定文件 |
重定向:改变命令缺省的输入来源或输出方向为文件或其他。
重定向的例子(Linux)
- 将命令输出重定向到文件
$ls/etc >etcdir.log - 将标准输出重定向追加到文件
$ ls/etc/sysconfig/ >> etcdir.txt - 将错误输出重定向到文件
$ nocmd2 >errfile.log
管道
管道:特殊的重定向操作。
** 管道操作符:**
“|”符用于连接左右两个命令,将“|”左边命令的执行结果(输出)
作为“|”右边命令的输入
- CMD1 | CMD2
在同一条命令中可以使用多个“|”符连接多条命令 - CMD1 | CMD2 | .....| CMDn