认识Bash Shell

视频地址: space.bilibili.com/204411292

初识Shell

Shell就是终端程序的统称,它充当了人与内核(硬件)之间的翻译官,将用户输入的命令翻译给内核,内核处理完成之后,将结果返回。现在许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。

ShellBash是包含与被包含的关系。举例来说,在社会中有翻译官这个职业,它是由许多从业者共同组成的职业名称,而Bash则是其中一个出色的成员,是Shell终端程序中的一份子。

Bash Shell登陆后的提示符

登陆后,默认提示符格式为:

csharp 复制代码
[root@localhost ~]#

格式说明:

字符 解释
root 当前登陆系统的用户。
@ 分隔符。
localhost 主机名。
~ 当前所在的位置,~表示用户的家目录。
# 一般情况下,#表示超级管理员,$表示普通用户。

Bash Shell的基础语法

Bash Shell语法为 命令 [参数] [对象],如

csharp 复制代码
[root@localhost ~]# ls -a /tmp/

命令:主体,如ls

参数:用来调节输出效果,如 -a

对象:文件或者路径。

Bash Shell常用特性

Tab补全

可通过Tab键补全命令、路径、选项。为了使用更强大的补全功能,需要安装扩展程序,然后退出当前shell,重新登陆,具体命令如下:

csharp 复制代码
[root@localhost ~]# yum install bash-completion

快捷键

常用快捷键如下:

组合键 作用
ctrl + c 终止当前正在运行的程序
ctrl + l 清屏
crtl + w 按单词或者空格进行向前删除
ctrl + < (方向键⬅️) 光标向左移动一个单词
ctrl + > (方向键➡️) 光标向右移动一个单词
ctrl + a 光标跳转至行首
ctrl + e 光标跳转至行尾
ctrl + z 暂停放入后台
ctrl + u 删除光标以前的所有内容
ctrl + k 删除光标以后的所有内容
ctrl + r 搜索此前执行过的命令

历史命令

CentOS中,可以使用history命令来查看和管理命令历史记录。history命令的参数如下:

参数 解释
-w 保存历史命令到文件
-c 清空命令历史纪录,但不会清空已保存的文件
-d 删除命令历史的第N条

如将本次登陆的历史命令写入到历史文件中,即~/.bash_history文件。

csharp 复制代码
[root@localhost ~]# history -w

通过!命令序号可直接调用历史命令。

命令别名

查看系统内置的别名

bash 复制代码
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

一次性设置别名

ini 复制代码
[root@localhost ~]# alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
[root@localhost ~]# wk
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=0e24ffd7-3fe6-4383-a28c-d8704cf3b373
DEVICE=ens32
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=114.114.114.114
IPV6_PRIVACY=no

取消别名(一次性)

csharp 复制代码
[root@localhost ~]# unalias wk

永久设置或者取消别名需要修改~/.bashrc文件

ini 复制代码
[root@localhost ~]# cat .bashrc
# .bashrc
​
# User specific aliases and functions
​
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
​
#添加或删除别名。
alias wk='cat /etc/sysconfig/network-scripts/ifcfg-ens32'
​
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
相关推荐
云贝贝贝10 分钟前
OceanBase 生产运维 7 个高频现场:从连不上到误删兜底
运维·ffmpeg·oceanbase
南讯股份Nascent22 分钟前
电商全域 CRM 技术拆解:以 KEDAO-CRM 为例看 One ID 与营销自动化的落地实践
运维·自动化
杨云龙UP42 分钟前
Linux 下 MySQL 常用登录方式及 Socket 排查指南
linux·运维·数据库·mysql·登录·xtrabackup·主从复制
Elastic 中国社区官方博客1 小时前
从告警到根因仅需 3 分钟:使用 Elastic Agent Builder 实现自动化根因分析
运维·数据库·人工智能·elasticsearch·自动化·可用性测试
月落汀兰2 小时前
运维实战:LVS-NAT/DR 双模式完整落地,含一键启停脚本,线上直接复用
linux·运维·lvs
feng_you_ying_li2 小时前
linux之Udpsocket实践
linux·运维·c#
SatanII2 小时前
从零认识云计算|走进云时代,看懂服务器底层基石
运维·服务器·云计算
电商API_180079052472 小时前
自动化获取淘宝评论数据技术分享之API调用示例
大数据·运维·人工智能·自动化·网络爬虫
数智启示录2 小时前
实时数据湖 flink CDC + Kafka +Doris 【企业级实战】性能调优与生产运维闭环 09
运维·flink·kafka
福建佰胜张工2 小时前
西门子 ULTRAMAT23 分析仪 7MB2337‑0NH10‑3PW1 原理、调试、故障处理与现场运维全记录
大数据·运维·人工智能·自动化