shell是用户与系统交互的界面,可以把它理解成翻译官,将用户发送的命令翻译给内核听。
![0Y@X[[$N(0]LJ1L3PQL8TV.png
使用shell有两种方式:
- 输入命令(效率低,适合少量工作)
- shell script(效率高,适合完成复杂重复性高的工作)
bash shell提示符
[root@localhost ~]#
shell语法
命令+选项+参数
例如:ls -a /home (显示/home目录下的全部)Bash基本特性
自动补全
日常命令输入一部分后输入Tab可以自动补全完整命令。借助bash-completion,一个增强版的补全工具,甚至可以补全命令参数、文件、目录等很多信息,还可以自定义补全功能。[root@localhost ~]# yum install -y bash-completion
快捷键
| ^C | 终止前台运行程序 | | —- | —- | | ^D | 退出,等价于exit | | ^L | 清屏 | | ^A/^E | 光标移动到命令行开头/结尾 | | ^R | 通过关键字搜索历史命令 | | Alt+. / ESC. | 引用上条命令的最后一部分(参数或命令或选项),等价于!$ |
历史命令
通过history可以查看历史命令。
[root@localhost ~]# history
命令history会读取历史缓存,每次登录shell时就会读取历史配置文件~/.bash_history。
我们输入的命令会存入缓存,缓存会将后续命令定期加入历史配置文件中。(history读出的历史缓存与历史配置文件不同,是因为我们刚输入的命令只存在缓存里,还没有被更新到文件中)![8Y4R$P]0VD()]22JEO8~3J4.png](/uploads/projects/u427629@ge071f/7fd61e8443b1a7cfd4a4585640696846.png)
- -a:追加本次会话列表执行的命令到历史文件中(手动更新)
- -d:删除指定行的历史命令
- -c:清空历史命令(只是清空本次会话缓存的历史命令,历史文件中的命令还在)
命令别名
[root@xwz ~]# alias wl='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
将查看网卡的命令重命名为“wl”。注意重命名后的命令不要与系统自带的命令冲突。
取消别名:unalias wl
直接输入alias可以查看当前系统里的别名。
在shell中命名别名是暂时的,要永久修改别名可以修改/etc/bashrc文件:
[root@xwz ~]# vi /etc/bashrcalias wl='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
Linux获得帮助
一些命令可以通过—help选项获得相关解释。
另外可以通过man手册获得帮助,例如:man ls
- 中文man手册
yum -y install man-pages-zh-CN.noarchecho "alias cman='man -M /usr/share/man/zh_CN'" >> .bashrcsource .bashrc
