今天继续讲Linux基础知识,内容是关于bash shell的。分享以下bash shell的相关知识,例如基本特性等。

 1.8)bash shell的介绍

1.8.1)什么是bash shell
  概括地讲就是bash shell是一个命令解释器,与内核进行交互。
  bash shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。
  当我们使用远程连接工具连接linux服务,系统则会打开一个默认的shell,我们可以在这个界面执行命令,比如:获取系统当前时间,创建一个用户等等。

1.8.2)bash shell的作用
  使用shell实现对Linux系统的大部分管理,例如:文件管理、用户管理、权限管理、磁盘管理、网络管理、软件管理、应用管理……

1.8.3)bash两种使用方式
  1)命令
    效率低,适合少量工作
  2)脚本
    效率高,适合大量工作

1.8.4)命令提示符
  [ root @ centos7 ~ ]#

  root:代表当前登录的用户;

  @:代表分隔符;

  centos7:代表主机名;

  ~:代表当前目录的位置
  其中,# :超级管理员,$ :普通用户

接下来讲了一个Linux命令。
echo命令,它的作用是获取命令后的所有内容,所见即所得。

echo:所见即所得。输出你echo后面参数内容
-e:识别换行符等特殊符号
\: 转义符
$: 调用变量

示例1:请打印出oldboy和oldgirl两组字符打印到屏幕上面,且要分两行显示。

示例2:请打印出 “hello world”到屏幕上面。

示例3:请调用变量age

另一个命令是whoami命令,是查看当前登录的用户。

1.8.5)shell的基础语法
命令            选项           参数
command [-options] [arguments] 中括号 可有可无

1.8.6)shell的特性

1.8.6.1)shell的一大特性是补全。有以下三种补全方式:

1、命令补全 Tab
2、参数补全:yum install -y bash-completion
3、选项补全:主要是补全路径
当使用windows查找一个目录层级特别多的文件时,打开的效率会非常的慢,但如果使用linux查找一个目录层级特别多的文件时,可以通过tab键快速补全。
PS:tab键可以实命令补全,路径补全,在实际生产中tab补全往往是我们使用的最多的,因为可以减少执行命令以及路径出错率,还能提高输入效率。

1.8.6.2)shell的另一个特性是Linux命令行常用快捷键,合理使用快捷键,能提高输入效率。
Ctrl + a:将光标跳转到行首
Ctrl + e:将光标跳转至行末
Ctrl + w:以空格为单位,将当前光标位置之前的内容删除
Ctrl + u:将当前光标位置之前的内容全部删除
Ctrl + l:清屏
Ctrl + c:终止当前命令
Ctrl + d:退出,断开当前连接(exit,logout)
Ctrl + z:挂起,放后台执行
Ctrl + r:搜索历史命令
Ctrl + s:锁屏
Ctrl + q:解锁
Ctrl + 左右:按照单词跳转光标
ESC + . :瞬间显示出上一条命令,最后的内容,以空格分隔

#:注释,不执行

Linux基础之bash shell介绍及基本特性的更多相关文章

  1. linux基础之bash特性

    linux基础之bash特性 1.命令历史 命令历史包含的环境变量 $HISTSIZE:命令历史记录的条数 $HISTFILE:命令历史文件~/.bash_history $HISTFILESIZE: ...

  2. linux系统配置之bash shell的配置(centos)

    linux系统开机启动过程的最后阶段会由init进程根据启动方案(运行级:0-6)启动许多基本的服务程序,为用户提供各种各样的服务.在启动这些服务的最后会启动一个为用户提供操作环境的服务,用户就是通过 ...

  3. 【Linux】-- 认识bash shell

    一.前言 我们知道管理整个计算机硬件的其实是系统的内核,这个内核是需要被保护的,所以我们一般用户就只能通过shell来跟内核通信,以让内核达到我们所想要达到的工作.那么Linux系统有多少shell可 ...

  4. Linux基础:初识shell之系统命令基础

    一 shell介绍 shell Shell 中文意思贝壳,寓意类似内核的壳.Shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,简而言之就是只要能够操作应用 ...

  5. linux文件管理之bash shell

    BASH Shell 对文件进行管理 ========================================================创建.复制.删除.移动.查看.编辑.压缩.查找 内 ...

  6. Linux基础之-Bash命令优先级

    一. Bash简介 命令解释器,也就是 Bourne Again Shell,起源于shell.shell俗称壳,它是指UNIX系统下的一个命令解析器:主要用于用户和系统的交互.UNIX系统上有很多种 ...

  7. 在 Alpine Linux 中安装 bash shell

    如何在我的 Alpine Linux LXD(Linux容器)虚拟机(VM)中安装 bash shell? Alpine Linux 自带 BusyBox 工具.它被评为“嵌入式 Linux 的瑞士军 ...

  8. Linux基础篇,Shell

    一.基本知识 Shell Script是一种脚本.可以用来极大的简化计算机的管理.在谱写shell script的时候,需要注意以下问题: 1. 指令的执行是从上而下. 从左而右的分析与执行: 2. ...

  9. linux下的bash shell

    运行bash shell命令的方式 vi t1.sh 并输入 pwd ls pwd 然后:x保存关闭 1.首先查看权限 ls -l,如果没有执行权限则用chmod a+x t1.sh ,最后运行./t ...

随机推荐

  1. SpringCloud系列——TX-LCN分布式事务管理

    前言 SpringCloud分布式架构给我们带来开发上的便利,同时增加了我们对事务管理的难度,微服务的遍地开花,本地事务已经无法满足分布式的要求,由此分布式事务问题诞生. 分布式事务被称为世界性的难题 ...

  2. Spring Boot:实现MyBatis分页

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

  3. mysql-5.7.24-winx64安装与Navicat_for_MySQL_10.1.7注册码

    mysql安装图解:https://blog.csdn.net/qq_38455201/article/details/83419450 Navicat注册码名:组织:注册码:均为NAVN-LNXG- ...

  4. 使用 Spring Boot Actuator 构建 RESTful Web 应用

    Spring Boot Actuator 是 Spring Boot 的一个子项目.通过它,可以很轻易地为应用提供多种生产级服务.本教程中,你将通过构建一个应用来学习如何添加这些服务. 1. 你需要构 ...

  5. Python自学day-15

    一.防止页面变形 在改变浏览器大小时,可能会导致里面的元素变形(特别是用百分比设置的宽度). 那么,我们如何解决这个问题? 可以在最外层的元素(例如div)中,设置一个固定像素的宽度,例如: < ...

  6. Spark学习之路(三)—— 弹性式数据集RDDs

    弹性式数据集RDDs 一.RDD简介 RDD全称为Resilient Distributed Datasets,是Spark最基本的数据抽象,它是只读的.分区记录的集合,支持并行操作,可以由外部数据集 ...

  7. Hive学习之路(二)—— Linux环境下Hive的安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...

  8. Java学习笔记——三层架构

    Layer: UI层: user interface 用户接口层 Biz层:   service business login layer 业务逻辑层 DAO层:   Date Access Obje ...

  9. HDU 5534:Partial Tree(完全背包)***

    题目链接 题意 给出一个n个结点的树,给出n-1个度的权值f[],代表如果一个点的度数为i,那么它对于答案的贡献有f[i].问在这棵树最大的贡献能达到多少. 思路 对于这个图,有n*2-2个度可以分配 ...

  10. ifream子页面与父页面互调

    function a1(x){ alert('父页面:' + x); } function acc(){ var frames = document.getElementById("dial ...