认识Bash这个Shell

查看linux下shells:

[shichaogeng@study etc]$ vim /etc/shells

查看登入时取得到的shell:

[shichaogeng@study etc]$ vim /etc/passwd

其中,root用户取得的是/bin/bash,为linux预设shell,有以下几个优点:

~./bash_history 记录指令历史

c[tab]查找以c开头的指令

alias 设置查询别名

shell scripts

通配符(wildcard)

查询是否bashshell内建指令:

[shichaogeng@study ~]$ type cd

指令下达与快速编辑

命令太长可以利用\Enter来换行(\转义)继续输出

ctrl+u 向前删除

ctrl+k 向后删除

ctrl+a 跑到最前端

ctrl+e 跑到最后端

Shell的变量

变量的取用与设定:echo,变量的设定规则unset

变量的取用 echo $变量名 或者 echo ${变量名},例如:

用等号设定变量名=

注意,变量设定要符合以下规则哦:

1.用等号连接

myname=VBIRD

2.=两边不能加空格

3.只能英文和数字组成,并数字不能开头(试了下,下面的好像不太符合啊)

4.变量内容若有空格,可以用"或'括起来()注意要成对出现哦,但

双引号的特殊字符如$,可保持原有特性(即变量),如:

单引号的特殊字符仅文本输出,如:

5.用\转义特殊字符到原来的意义

6.借用其他指令,用反引号`指令`或者$(指令)如:

那么,如何进入当前核心驱动模块的目录?:

其中,被``包起来的内容会优先执行

7.可用"$变量名"或$(变量名)来累加内容(PATH用:来分隔),如:

PATH="$PATH":/home/bin
PATH=${PATH}/home/bin

8.使用export使变量变成环境变量

export myname

怎么样,看懂了吗,其中bash表示进入子程序

9.一般大写字符为环境变量,自定义为小写(自己决定咯)

10.取消变量设定,用unset 变量名称

环境变量的功能

用env查看环境变量和常见的环境变量说明

[shichaogeng@study ~]$ env

使用set来观察所有变量,包括环境和自定义变量

PS1:命令提示符的设定(可以man bash来查看PS1的相关说明)

其中\u代表目前使用者账号

\h代表主机在第一个小数点之前的名字

\W代表工作目录名,最后一节目录

\$代表提示字符,root为#,其他为~

$:本shell的线程代号(pid)

?:上个指令执行锁回传的值

export自定义变量转环境变量

环境变量与自定义变量有什么区别啊,需要来回转换,哈哈,主要是父程序的环境变量能被子程序所使用啊

因为子程序只会继承父程序的环境变量,所以需要export之后自定义变量编程环境变量,子程序才能使用啊

export展示所有环境变量:

变量的键盘读取,数组和宣告

read

read -pt variable
其中,-p代表提示;-t代表超时时间

decalre/typeset

decalre [-aixr] variable
-a:将variable变量定义为array数组
-i:将variable变量定义为integer类型
-x:将variable变量声明为环境变量
r:将variable变量设定为readonly,该变量不能被更改,也不能unset

解释:变量类型默认字符串,bash环境运算都为整数1/3=0

把-号变为+为取消设定

-p可只列出变量类型

数组:var[index]=content

变量的删除,取代和替换

删除

#代表从前面开始删除,1个#代表删除最短的路径,2个##代表删除最长的路径

删除和取代表格:

替换:-代表替换null :-代表替换""和null

别名和历史

别名alias

用alias列出别名

alias xx='xxx'指定别名

unalias xx 取消别名

history

history n    最近n笔命令
history -c    清空shell中history
 history -raw histfiles
-a 新增的指令加到histfiles中
-r 读取histfiles到history记忆中
-w history记忆中命令写到histfiles中

查看~/.bash_history 大小

利用history来执行命令

!number    执行第几笔指令
!command 执行command开头的指令
!! 执行上一个指令
 

认识和学习bash的更多相关文章

  1. 第十一章、认识与学习BASH

    第十一章.认识与学习 BASH 最近升级日期:2009/08/25 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 ...

  2. 第十一章、认识与学习 BASH

    第十一章.认识与学习 BASH 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shel ...

  3. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  4. 认识与学习BASH①——鸟叔的Linux私房菜

    文章目录 认识与学习BASH① 认识BASH 壳程序 多种shells Bash shell 的功能 type :查询指令是否为Bash shell 的内置指令 指令的换行输入和快速删除 Shell的 ...

  5. 快速学习Bash

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. Shell是Linux下经典的文本互动方式,而Bash是现在最常用的一种Shell.我在这里总结了Bash ...

  6. Linux学习笔记之认识与学习Bash

    什么是shell:shell是一个翻译器,将所敲的命令翻译成CPU能理解的语言,之后CPU再去执行,CPU执行后返回给shell,shell再翻译成我们所能理解的语言并显示:终端并不是shell,而是 ...

  7. 认识和学习BASH alias 给长命令起别名 unalias 取消该别名

    此图反映了shell所在的位置与作用. 既然Shell与KDE和application等都是用户与Kernel的接口,那为什么还要学习呢?书中也给出了答案. 通用性,可以这样理解,也就是所谓的跨平台机 ...

  8. 【CentOS】学习Bash

    一.特性 命令历史  history , !! , !$ , !字符 , !n (n为第几条命令) Tab可以补全文件路径或者命令 alias a="b",  unalias a ...

  9. 认识与学习 BASH

    2015-08-03摘自鸟哥 什么是变量? 那么,什么是『变量』呢?简单的说,就是让某一个特定字符串代表不固定的内容就是了.举个大家在国中都会学到的数学例子, 那就是:『 y = ax + b 』这东 ...

  10. 学习bash

    工作8年,前6年基本是Windows环境下,也就是个鼠标党:两年前换工作开始用linux,也就开始了领略了命令行的强大,无论是直接在命令行组合命令,也还写几行简单的shell脚本,其能完成的功能往往令 ...

随机推荐

  1. C语言包含头文件时用引号和尖括号的区别

    用尖括号 #include <>:    一般用于包含标准的库头文件,编译器会去系统配置的库环境变量和者用户配置的路径去搜索,而不会在项目的当前目录去查找 用双引号 #include &q ...

  2. keytool命令的使用

    ## 打印所有证书指纹.如果是cacerts,则指本机安装的jdk的key store:如果是一个jks文件,则是其他key store keytool -list -keystore <cac ...

  3. Nginx-windows

    1.下载 http://nginx.org/ 选择最新稳定版本,例如nginx-1.15.5 mainline version has been released. 点击后,跳转页面,选择Stable ...

  4. ivy使用Maven阿里云镜像的问题

    ivy默认使用的Maven仓库下载速度有点慢,所以想改成国内的,添加如下resolver: <ibiblio name="working-chinese-mirror" ro ...

  5. 《剑指offer》Q13-18 (牛客10.13)

    目录 Q13 调整数组顺序使奇数位于偶数前 Q14 链表中倒数第k个结点 Q15 反转链表 Q16 合并两个有序链表 Q17 树的子结构 Q18 二叉树的镜像 Q13 调整数组顺序使奇数位于偶数前 输 ...

  6. loback的介绍与配置-(通俗易通)

    一.logback的配置介绍 Logback的配置分为三个内容:Logger.appender及layout Logger:作为日志的记录器,主要用于存放日志对象,也可以定义日志类型.级别. appe ...

  7. Kubernetes---资源控制器之ReplicationController、ReplicaSet和Deployment

    1.ReplicationController和ReplicaSet介绍 RC(ReplicationController)主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数.即如果有容 ...

  8. IT学习的计算机网络内容

    1.一种结构:数据结构 参考书目:<大话数据结构>.<数据结构(C#语言描述)>.<剑指Offer> ①线性表部分: 线性表(上){ 数组.ArrayList } ...

  9. python入门pk小游戏

    import time import random flag = True while flag: player_win = 0 enemy_win = 0 for i in range(1, 4): ...

  10. java8【一、lambda表达式语法】

    特点 lambda表达式允许将函数作为方法的参数 lambda表达式更加简洁 特征 可选类型声明:不需要声明参数类型,编译器可以统一识别参数值. 可选的参数圆括号:一个参数无需定义圆括号,但多个参数需 ...