1. /bin/bash是linux预设的shell,也是Linux发行版的标准shell,它兼容sh,可以看作是sh的功能加强。

2. bash具有命令记录功能,在bash中通过上下键就可以翻找之前用过的命令,这些命令记录在个人主目录的.bash_history,不过这个文件记录的是前一次登录所执行过的命令,而当前登录的用户所执行的命令都还暂存在内存中,当成功注销系统后,该指令记忆才会记录到.bash_history中.

3. 命令与文件补齐功能,tab键,这个按键的功能在bash里头才有。tab接在一串指令的第一个词之后是命令补齐,接在第二个词之后作用则是文件补齐。

4. 命令别名功能, alias lm='ls -al'.

5. 支持通配符 *

6.  变量

   规则: 变量与变量内容以=连接,等号两边不能接空格符;变量名称只能是英文和数字,并且不能以数字开头;变量内容如果有空格,则需要使用双引号或单引号包裹,注意单引号或者双引号要成对存在;可以使用转移字符将特殊符号变为一般字符,如\$ ; version=$(uname -r)或者version=`uname -r`是限制性()或者``内的指令,然后将执行完的指令的结果赋给左边的变量;PATH="$PATH":/bin/abc,这种语法是给已存在的变量添加内容;取消变量的指令是unset 变量名;export 变量名 的作用是将自定义变量导出为环境变量,这样其他线程也可以使用这个变量了。

  进入当前核心的模块目录:不同版本,所在的目录不同,通过uname -r将变化的部分设成了一个变量。

    cd /lib/modules/`uname -r`/kernel 或者 cd /lib/modules/$(uname -r)/kernel

  注意点(:是有作用的):

    1. 给PATH添加路径: PATH=$PATH:/abc 等效于 PATH="$PATH":/abc 等效于 PATH=${PATH}:/abc

        在变量name后面添加yes: name=$nameyes这样是不对的,这样相当于name的内容是$nameyes这个变量

      正确的方式应该是name="$name"yes 或者 name=${name}yes

    2.单引号和双引号的区别在于双引号可以保有变量的内容

      name=vBird

      myname="$name its me" 打印的是vBird its me

      myname='$name its me' 打印的是$name its me

7. 查看环境变量使用env或者export命令。

8. 读取键盘输入read

  read [-pt] variable

  -p后面可以接提示字符

  -t后面接等待的秒数

9. declare定义变量

  declare [-aixr] variable

  -a, 将变量定义为数组类型

  -i, 将变量定义成整数类型. declare -i sum=100+300; 然后$sum的值就是400,如果不加-i,那么$sum是100+300

  -x,和export一样的作用,将自定义变量变为环境变量,如果将-变成+则是撤销该环境变量,如declare +x name将name变的不再是环境变量。

  -r,将变量定义成readonly的,不能被更改,不能被unset

    

  

鸟哥的Linux学习笔记-bash的更多相关文章

  1. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  2. 跟着鸟哥学Linux系列笔记2-第10章VIM学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...

  3. 跟着鸟哥学Linux系列笔记1

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...

  4. 跟着鸟哥学Linux系列笔记0-如何解决问题

    跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1.  在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...

  5. 跟着鸟哥学Linux系列笔记0-扫盲之概念

    相关缩写全称: POSIX(Portable Operation System Interface):可携式操作系统接口,重点在于规范内核与应用之间的接口,由IEEE定义发布 IEEE: 美国电气与电 ...

  6. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)

    第2章 Linxu怎样学习         1. Linux当前的应用角色 当前的Linux常见的应用可略分为企业应用和个人应用双方面. 首先谈了企业环境的利用. 1)网络server. 2)关键任务 ...

  7. 《鸟哥的Linux私房菜》部分章节学习笔记整理

    简介 此笔记为<鸟哥的Linux私房菜·基础学习篇>中部分章节的学习笔记. 目录 0 计算机概论 1 Linux是什么与如何学习 2 主机规划与磁盘分区 3 安装CentOS7.x 4 首 ...

  8. Linux学习笔记——基于鸟哥的Linux私房菜

    Linux学习笔记--基于鸟哥的Linux私房菜 ***** ARM与嵌入式linux的入门建议 (1) 学习基本的裸机编程:ARM7或ARM9,理解硬件架构和控制原理 (这一步是绝对的根基) (2) ...

  9. 鸟哥的Linux私房菜笔记第四章

    前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...

随机推荐

  1. 编写Java程序,使用JDialog构造登录窗体

    返回本章节 返回作业目录 需求说明: 实现思路: 定义用户信息实体类User. 创建LoginDemoStart主类,初始化UI. 从UI获取用户信息并保存到User实体. 实现代码:

  2. What's new in dubbo-go-pixiu 0.4.0

    Dubbo-go-pixiu 是一款高性能 API 网关,支持 Dubbo 和 Http 等多种协议.具体介绍文章可以参考<Dubbo 跨语言调用神兽:dubbo-go-pixiu>. 近 ...

  3. 如何使用NiFi等构建IIoT系统

    您认为构建一个先进的工业物联网原型需要多长时间: 从传感器收集数据到每个工厂的网关 将传感器数据从一个或多个工厂移至云或数据中心 自动热部署新配置到所有边缘设备 支持大规模数据量和端到端安全性 使用正 ...

  4. Ribbon原理与应用

    一.定义 Ribbon是请求的负载均衡器,它为我们提供了几种负载均衡算法:轮询.随机等. 二.配置 spring: cloud: loadbalancer: retry: enabled: true ...

  5. 读《疯狂Java讲义》笔记总结一

    最近在读<疯狂Java讲义>,现把其中遇到的一些自己以前没掌握的点儿记录下来. 1.字符串相关 字符串不是基本类型,字符串是一个类,也就是一个引用类型. 字符串转int类型String a ...

  6. sql多行合并一列

    with a as( select * from( select 1 userId , '天津' province union select 1 userId , '北京' union select ...

  7. 使用idea时jsp中使用out.print();时报错的解决办法

    在用Maven创建web项目时 在jsp页面中out.print();老是报错 这边print显示红色出错因为这边使用的是JSP的API并不是Servlet的,但是可以运行,所以我们只要导包就完事其实 ...

  8. netty基础知识

    参考 http://www.infoq.com/cn/articles/netty-high-performance 1. 传统 RPC 调用性能差的三宗罪 1)网络传输方式问题 2)序列化方式问题 ...

  9. default和delete

    在C++中,有四类特殊的成员函数,分别为:默认构造函数,默认析构函数,默认拷贝构造函数,默认赋值运算符.他们的作用为创建.初始化.销毁.拷贝对象. 虽然在类A中什么都没有定义,但是编译会通得过,因为编 ...

  10. IoC容器-Bean管理(bean生命周期)

    1,生命周期 即从对象创建到对象销毁的过程 2,bean生命周期 (1)通过构造器创建bean实例(无参数构造) (2)为bean的属性设置值和对其他bean的引用(调用set方法) (3)调用bea ...