shell作为下Linux系统中用户与内核交互的接口,用于将用户输入的命令转化为内核可以理解的指令,进而通过内核操作硬件资源,完成相应的功能。shell分为两种,图形shell和命令行shell。图形shell主要有KDE,Gnome等,命令行shell有常见的sh,zsh,csh,bash,ksh,tcsh等。
这里主介绍最常用的bash的相关特性,作为用户的工作环境,bash主要具有如下的特性:
1.命令历史
可以通过history命令查看用户输入过那些命令
2.命令补全
可以通过tab键进行命令补全和路径补全
3.管道 重定向
管道:前一个命令的输出可以作为后一个命令的输入。
重定向:将原本命令执行结果的标准输出(通常是屏幕)重定向到其他地方(如某个文件当中)。
4.命令别名
对于很长的命令可以通过alias为变量设置别名简化用户命令输入
例如alias ls=ls -lhva
5.命令行编辑
常用的在命令行下用来编辑命令的快捷键可以帮助用户快捷的编辑命令
CTRL+a 跳到命令行首
CTRL+e 跳到命令行尾
CTRL+u 删除光标至命令行首的内容
CTRL+k 删除光标至命令行尾的内容
CTRL+l:清屏
6.命令行展开
通过{}可以展开成多条命令,简化用户的输入。
例如mdir ~/{m,n,/x/z} 等价于
mkdir ~/m
mkdir ~/n
mkdir ~/x/z
7.文件名匹配
具体是通过通配符来实现。
8.变量
变量作为命名的内存空间,分为两类。
系统变量 比如PATH 命令搜索路径
用户自定义变量
9.编程
通过bash可以进行shell编程,通过shell脚本可以完成复杂的功能。