Bash shell
Bash shell
Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令,使用Shell可以实现对Linux系统的大部分管理。
1 提示符
登录到linux之后,每条命令左边都有这些提示符。
[root@localhost ~]#
# root:当前登录用户
# @ :分隔符
# localhost:主机名称,可以通过hostname查看
# ~:当前用户所在家目录
# #:通常指超级管理员
# $: 普通用户
2 基础语法
bash shell有三部分组成:command [-options] [arguments]
# 命令 选项 参数
command [-options] [arguments]
#命令: 整条shell命令的主体
#选项: 用于调节命令的输出效果
#以 “-”引导短格式选项(单个字符),例如“-l”
#以“--”引导长格式选项(多个字符),例如“--color”
#多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
#参数: 命令操作的对象,如文件、目录名等
# 选项和参数可以出现位置调换,命令,选项,参数之间要至少有一个空格
# 命令必须开头, 选项和参数位置可以发生变化
3 命令快捷键
快捷键可以帮助我们大大提升工作效率。
Ctrl + a #光标跳转至正在输入的命令行的首部
Ctrl + e #光标跳转至正在输入的命令行的尾部
Ctrl + c #终止前台运行的程序
Ctrl + d #在shell中,ctrl-d表示退出当前shell
Ctrl + z #将任务暂停,挂至后台
Ctrl + l #清屏,和clear命令一样
Ctrl + k #删除从光标到行末的所有字符
Ctrl + u #删除从光标到行首的所有字符
Ctrl + r #搜索历史命令最近的一条, 利用关键字,Tab建选中
Ctrl + w #按单词或空格进行向前删除
Ctrl + 左右键 #按单词或空格进行向前向后跳
#在命令行前加面加 "#" 则该命令不会被执行
4 命令补全
使用tab可以帮我们补全命令,也可以补全路径,在实际生产中tab补全往往是我们使用的最多的。
# 比如查看ip命令,在centos7以上没有,需要安装:yum install net-tools -y
[root@localhost ~]# if
if ifcfg ifconfig ifdown ifenslave ifstat ifup
# 输入if按tab,会提示if开头的命令供选择
本身不支持参数的补全,需要安装工具包
yum install bash-completion -y
安装完之后,新打开一个bash后就有效果了,tab支持参数补全。
5 历史命令history
[root@localhost ~]# history
1 ls
2 vi etc/sysconfig/network-scripts/ifcfg-ens33
3 ls
4 ls -a
5 cd etc
6 cd etc/
7 cd ..
8 cd..
9 cd ..
10 cd..
11 ls -a
12 cd etc/
13 ls
14 cd sysconfig\
15 ls
16 cd network-scripts
17 ls
[root@localhost ~]#
可以查看所有历史敲过的命令,使用!
加命令对应的序号就可以重新执行某行。举例:
!13 # 相当于执行了13行ls命令
!! # 双叹号,执行上一条命令
!cat # 执行最后一次的cat开头的命令
history -w # 保存命令历史到历史文件,保存在家目录的.bash_history文件里
history -c # 清空命令历史记录, 不会清空文件中的记录
history -d 10 # 删除命令历史的第 10 行
本文来自博客园,作者:yyyz,转载请注明原文链接:https://www.cnblogs.com/yyyzyyyz/p/15562326.html