Loading

Bash shell

Bash shell

Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。当我们使用远程连接工具连接linux服务,系统则会给打开一个默认的shell,我们可在这个界面执行命令,使用Shell可以实现对Linux系统的大部分管理。

1 提示符

登录到linux之后,每条命令左边都有这些提示符。

image

[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 行
posted @ 2021-11-16 17:20  yyyz  阅读(9)  评论(0编辑  收藏  举报