Shell系列-Shell概述

@lianst  June 20, 2016

一、shell环境及特性

1.什么是shell?

负责向内核翻译以及传达用户/程序指令,相当于操作系统的"外壳".在Linux中默认shell一般为/bin/bash

2.Shell的使用方式
shell有两种使用方式,一种交互式的,另外一种是非交互式的。
交互式(命令行):人工干预,智能化程度高;逐条解释执行,效率低。
非交互式(脚本):需要提前设计,智能化难度大;批量执行,效率高;方便在后台静默运行。

3. 常见的shell程序种类
在linux系统下可以使用cat /etc/shells命令来查看当前系统所支持的shell.

[root@centos67-x64 /]# cat /etc/shells 
/bin/sh     //多数UNIX默认的shell
/bin/bash   //多数Linux默认的shell
/sbin/nologin     //非登录的shell
/bin/dash
注:在RHEL系统中,/bin/sh实际上是bash的符号链接

4. Bash基本特性
-快捷键、TAB键补全
-命令历史
-命令别名
-标准输入输出
-重定向
-管道操作

二、历史命令

1. 存放位置及数量
在Linux操作系统中默认历史命令保存上限为1000条,也可以通过修改配置文件的方法修改这个数量。
历史命令的保存位置:~/.bash_history
控制历史命令数量的文件位置:/etc/profile

[root@centos67-x64 /]# grep ^HISTSIZE /etc/profile
HISTSIZE=1000

2. 操作历史命令
2.1 history工具
-history:查看历史命令列表
-history -c :清空历史命令
2.2 调用历史命令
-!78:执行历史记录中的第78条命令
-!str:执行最近一次以str开头的历史命令

三、I/O设备与重定向

1. 交互式硬件设备
-标准输入:从该设备接收用户输入的数据
-标准输出:通过该设备向用户输出数据
-标准错误:通过该设备报告执行中的出错信息

2. 重定向操作
改变标准输入/输出/错误输出的方向


添加新评论