认识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. 82. 删除排序链表中的重复元素 II

    # 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字,比如: # 输入: 1->2->3->3->4->4->5 # 输出: 1 ...

  2. 第34课.数组操作符的重载("[]"重载)

    1.问题:string类对象还具备c方式字符串的灵活性吗?还能直接访问单个字符吗? 答案:可以按照c字符串的方式使用string对象 string s = "a1b2c3d4e"; ...

  3. 关于Android的资源id

    1 @+id/xx 这个表示向资源文件中添加一个新的id. @+id是在R文件中生成int xxx=value. 有两种情况 ①R文件中不存在xxx变量,则生成int xxx=value即为控件新建一 ...

  4. [转帖]2019-03-26 发布 深入理解 MySQL ——锁、事务与并发控制

    深入理解 MySQL ——锁.事务与并发控制 https://segmentfault.com/a/1190000018658828 太长了 没看完.. 数据库 并发  mysql 639 次阅读   ...

  5. 【洛谷】P5348 密码解锁

    [洛谷]P5348 密码解锁 很显然我们可以推导出这个式子 设\(a(m)\)为\(m\)位置的值 \[ \mu(m) = \sum_{m | d} a(d) \\ a(m) = \sum_{m|d} ...

  6. kindeditor的配置jsp版

    1.将kindeditor资源下载下来,点击这里下载: 2.将资源解压,因为是jsp版本所以只需要保留jsp的文件即可,最终目录为下图 3.在所给的jsp的demo中做配置 注意:demo.jsp中引 ...

  7. Netty源码剖析-启动服务

    参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! --1主线分两步: 一:首先在our thread里,如果写在mai ...

  8. c++:论如何成功把自己搞懵【二叉树特辑①】(不定期更新)

    并不正经的前言 以前我这个小白看OI的书,老觉得有些东西很高端(看不懂的自然就很高端[滑稽]):什么栈啊,位运算啊,二叉树啊.有些东西我学了之后也很迷糊(真的不是因为傻?),做题的时候总是可以把自己搞 ...

  9. Centos安装elasticsearch,php连接使用

    一.下载安装JAVA 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  10. python如何切割字符串

    python字符串的分割方法如下 str.split():字符串分割函数 通过指定分隔符对字符串进行切片,并返回分割后的字符串列表. 语法: str.split(s, num)[n] 参数说明: s: ...