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. WinForm应用程序的开机自启、记住密码,自动登录的实现

    一.思路: 1.开机自启,自然是需要用到注册表,我们需要把程序添加到电脑的注册表中去 2.记住密码,自动登录,开机自启,在页面的呈现我们都使用复选框按钮来呈现 3.数据持久化,不能是数据库,可以是sq ...

  2. javascript实现base64格式转码与解码

    最近碰到一个需求,后端返回base64格式的数据,前端需要进行base64格式解码,好了,前端采用内部提供的atob函数进行解码,开完成,交付测试,然后测试小哥哥小姐姐反馈说中文乱码! 然后查了一下, ...

  3. Drupal 8 环境搭建部署

    运行环境安装 系统:Ubuntu Server 16.04  (ubuntu-16.04.4-server-amd64.iso) Web服务器:Apache / 2.4.18 数据库:Mysql / ...

  4. hisql ORM 框架研究(国内第一个支持HANA的ORM框架)

    HiSql 操作说明文档 V1.0 下一代ORM框架 国内第一个支持HANA的ORM框架 hisql源码下载 git clone https://github.com/tansar/HiSql.git ...

  5. Python + Selenium 定位非selected型下拉框的方法

    最近在尝试给自己负责的模块写UI自动化的Demo 登录及切换页面比较顺利 但是遇到下拉框的选择时,遇到了一点困难 我负责的模块页面的下拉框并非Select类型,无法使用select_by_index ...

  6. android studio 配置 Lombok 插件 -具体步骤

    1.前言 idea 用惯了 Lombok 插件了,好用的很,可是开发安卓 却没有,即便在 android studio 安装了插件,但是仍然无法使用 因为需要配置 2.解决 (1)进入设置,找到插件设 ...

  7. 使用 try-catch

    ECMA-262 第 3 版引入了 try-catch 语旬,当 try-catch 语句中发生错误时, 浏览器会认为错误已经被处理了 ,因而不会报告错误.对于那些不要求用户懂技术,也不需要用户理解错 ...

  8. 微服务架构攀登之路(四)之使用gRPC构建微服务

    做一个处理用户信息的微服务 客户端通过用户名,可以从服务端查询用户的基本信息 gRPC proto user.proto 定义客户端请求.服务端响应的数据格式 user.pb.go 自动生成的,为数据 ...

  9. Nginx日志通过Flume导入到HDFS中

    关注公众号:分享电脑学习回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新) flume上传到hdfs: 当我们的数据量比较大时,比如每天的日志文件达到5G以上 使用ha ...

  10. JSP页面中最常使用的脚本元素

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6513082449755374093/ 前面简单说了一个<JSP页面实际上就是Servlet>,接下来说 ...