[Shell]Shell基本功能:历史命令 & 别名,shell基本功能
[Shell]Shell基本功能:历史命令 & 别名,shell基本功能
--------------------------------------------------------------------------------------------------------
一. 历史命令
history #查看历史命令
history -c #清空历史命令
history -w #不等退出,直接把缓存中的历史命令写入历史命令保存文件~/.bash_history
vim /etc/profile #默认历史命令保存1000条,可修改HISTSIZE保存条数(无限制),命令保存在 ~/.bash_history 文件中
历史命令的调用:
1. 上下箭头调用
2. !n #执行行号为n行的命令,history显示的命令前面会显示各自行号
3. !his #执行最后一条以his开头的命令
命令与文件补全:Tab
----------------------------------@黑眼诗人 <www.chenwei.ws>----------------------------------
二. 别名与快捷键
alias vi = "vim" #定义别名,临时生效
alias #查看所有别名
命令执行顺序:
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行Bash的内部命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令;echo $PATH;可以看到一系列命令所在的路径,系统命令之所以不用路径,是因为设置了这个环境变量,自动寻找。
永久保存别名:
用户编辑家目录下的 .bashrc 文件,将alias vi='vim'写入即可。
vim /root/.bashrc
vim /home/.bashrc
删除别名:
unalias vi # unalias 别名
Bash常用快捷键:
ctrl + c 终止命令
ctrl + l 清屏
ctrl + u 删除或剪切光标之前的命令
ctrl + k 删除或剪切光标之后的内容
ctrl + y 粘贴ctrl + u 或 ctrl + k 剪切的内容
ctrl + r 在历史命令中搜索,按下ctrl + r后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。
ctrl + d 退出当前终端(等同exit)
------------------------------------------------------------------------------------------------------
Bash shell在“~/.bash_history”(“~/”表示用户目录)文件中保存了500条使用过的命令,这样能使你输入使用过的长命令变得容易。每个在系统中拥有账号的用户在他的目录下都有一个“.bash_history”文件。
bash shell应该保存少量的命令,并且在每次用户注销时都把这些历史命令删除。
第一步:
“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行确定所有用户的“.bash_history”文件中能保
存的旧命令条数。强烈建议把把“/etc/profile”文件中的“HISTFILESIZE”和“HISTSIZE”行的值设为一个较小的数,比如
30。编辑profile文件(vi /etc/profile),把下面这行改为:
HISTFILESIZE=30
HISTSIZE=30
这表示每个用户的“.bash_history”文件只能保存30条旧命令。
第二步:
网管还应该在"/etc/skel/.bash_logout" 文件中添加下面这行"rm -f $HOME/.bash_history" 。这样,当用户每次注销时,“.bash_history”文件都会被删除.
shell的一项主要功能是在交互方式下解释从命令行输入的命令。shell解析命令行,将其分解为词(也称为token),词之间由空白分隔,空白由制表符、空格键或换行组成。如果词中有特别的元字符,shell会对其进行替换。shell处理文件I/O和后台进程。对命令行的处理结束后,shell搜索命令并开始运行他。
shell的另一项重要功能是制定用户环境,这通常在shell的初始化文件中完成。初始化文件中有非常多定义,包括设置终端键和窗口属性,设置用来定义搜索路径、权限、提示符和终端类型的变量,设置特定应用程式所需的变量,如窗口、字处理程式和编程语言的库等。Korn/Bash shell和C/TC shell还提供了更多的制定功能:历史添加、别名、设置内置变量防止用户破坏文件或无意中退出,通知用户作业完成。
shell还能用作解释性的编程语言。shell程式(也称为shell脚本)由文件中的一列命令组成。shell程式用编辑器生成(也能在命令行上直接输入脚本)。他们由UNIX命令组成,命令之间插入了一些基本的程式结构,如变量赋值、条件测试和循环。shell脚本不必编译。shell会逐行解释脚本,就似乎他是从键盘输入相同。shell负责解释命令,因此,用户需要了解可用的命令有哪些。附录A中列出了一些有用的命令。
1.3.2 shell的职责
shell负责确保用户在命令提示符后输入的命令被正确执行。其职责包括:
(1) 读取输入并解析命令行
(2) 替换特别字符,比如通配符和历史命令符
(3) 设置管道、重定向和后台处理
(4) 处理信号
(5) 程式执行的相关设置
评论暂时关闭