1, 什么是 shell
Shell 是系统的用户界面, 提供了用户与内核进行交互操作的一种接口(命令解释器). 它接收用户输入的命令并把它送入内核去执行. 起着协调用户与系统的一致性和在用户与系统之间进行交互的作用.
Shell 在 Linux 系统上具有极其重要的地位
2, 命令解释过程
Shell 可以执行: 内部命令, 应用程序, shell 脚本
3,Shell 的种类
常见的各种版本的 shell:
Bash(Bourne Again Shell) | bash 是大多数 Linux 系统的默认 Shell.bash 与 bsh 完全向后兼容,并且在 bsh 的基础上增加和增强了很多特性。bash 也包含了很多 C Shell 和 Korn Shell 中的有点。bash 有很多灵活和强大的变成接口,同时又有很友好的用户界面。 |
Ksh(Korn Shell) | Korn Shell(ksh)由 Dave Korn 所写。它是 UNIX 系统上的标准 Shell。在 Linux 环境下有一个专门为 Linux 系统写的 Korn Shell 的扩展版本,即 Public Domain Korn(pdksh) |
tcsh(csh 的扩展) | tcsh 是 C Shell 的扩展。tcsh 与 csh 完全向后兼容,但它包含了更多的使用户感觉方便的新特性。其最大的提高是在命令行编辑和历史浏览方面。 |
4,Linux 的元字符
在 Shell 中有一些具有特殊意义的字符, 称为 Shell 元字符(shell metacharacters).
若不以特殊方式 (使用转义字符) 指明, Shell 并不会把它们当作普通文字符使用.
字符 | 含义 | 字符 | 含义 |
' | 强引用 | *、?、! | 通配符 |
" | 弱引用 | <、>、>> | 重定向 |
\ | 转义字符 | - | 选项标志 |
$ | 变量引用 | # | 注释符 |
; | 命令分隔符 | 空格、换行符 | 命令分隔符 |
5,Bash 的基本功能
历史命令(history)
命 令: history 命令可以用来显示曾执行过的命令, 也可以根据显示的治疗来重新执行需要的命令
语 法: history(选项)(参数)
选 项: n 显示 n 个最近的记录
参 数:-a 添加记录
-r 读取记录, 但不会添加内容记录
-w 覆盖原有的 history 文件
-c 清除记录
-d < 编号>[n] 删除指定 n 条记录
-n < 文件> 读取指定文件
-r < 文件> 读取文件但不记录
-w < 文件> 覆盖原有文件
使用上下箭头 --- 调用以前的历史命令
使用 "!n" 的方式 --- 重复执行第 n 条历史命令
使用 "!!" 的方式 --- 重复执行上一条命令
使用 "! 字符串" 的方式 --- 重复执行最后一条以该字符串开头的命令
使用 "!$" 的方式 --- 重复执行上一条命令的最后一个参数
历史命令存放在当前用户家目录下的 .bash_history 隐藏文件中.
.bash_history 文件存放命令是在系统退出时写入的, 在下次登录后能查到上次操作所用到的命令. 如果使用 history -w 表示将缓存中的命令立即写入历史文件中.
history 命令查看的历史命令可以用 history -c 进行删除, 但是. bash_history 文件的内容是需要通过 VIM 编辑器进入文件中删除, 或者使用重定向删除(echo> /root/.bash_history ).
bash 中常用的快捷键
移动:
Ctrl+A: 移动到当前编辑的命令行首
Ctrl+E: 移动到当前编辑的命令行尾
Ctrl+F 或 -> : 按字符右移(往命令行尾部方向, 前移)
Ctrl+B 或 <- : 按字符左移(往命令行尾部方向, 后移)
Alt+F: 按单词右移(往命令行尾部方向, 前移)
Alt+B: 按单词左移(往命令行尾部方向, 后移)
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.bashrc
来源: https://www.cnblogs.com/qiuyu666/p/11943852.html