认识和学习bash
认识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的更多相关文章
- 第十一章、认识与学习BASH
第十一章.认识与学习 BASH 最近升级日期:2009/08/25 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 ...
- 第十一章、认识与学习 BASH
第十一章.认识与学习 BASH 1. 认识 BASH 这个 Shell 1.1 硬件.核心与 Shell 1.2 为何要学文字接口的 shell 1.3 系统的合法 shell 与 /etc/shel ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- 认识与学习BASH①——鸟叔的Linux私房菜
文章目录 认识与学习BASH① 认识BASH 壳程序 多种shells Bash shell 的功能 type :查询指令是否为Bash shell 的内置指令 指令的换行输入和快速删除 Shell的 ...
- 快速学习Bash
作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. Shell是Linux下经典的文本互动方式,而Bash是现在最常用的一种Shell.我在这里总结了Bash ...
- Linux学习笔记之认识与学习Bash
什么是shell:shell是一个翻译器,将所敲的命令翻译成CPU能理解的语言,之后CPU再去执行,CPU执行后返回给shell,shell再翻译成我们所能理解的语言并显示:终端并不是shell,而是 ...
- 认识和学习BASH alias 给长命令起别名 unalias 取消该别名
此图反映了shell所在的位置与作用. 既然Shell与KDE和application等都是用户与Kernel的接口,那为什么还要学习呢?书中也给出了答案. 通用性,可以这样理解,也就是所谓的跨平台机 ...
- 【CentOS】学习Bash
一.特性 命令历史 history , !! , !$ , !字符 , !n (n为第几条命令) Tab可以补全文件路径或者命令 alias a="b", unalias a ...
- 认识与学习 BASH
2015-08-03摘自鸟哥 什么是变量? 那么,什么是『变量』呢?简单的说,就是让某一个特定字符串代表不固定的内容就是了.举个大家在国中都会学到的数学例子, 那就是:『 y = ax + b 』这东 ...
- 学习bash
工作8年,前6年基本是Windows环境下,也就是个鼠标党:两年前换工作开始用linux,也就开始了领略了命令行的强大,无论是直接在命令行组合命令,也还写几行简单的shell脚本,其能完成的功能往往令 ...
随机推荐
- 82. 删除排序链表中的重复元素 II
# 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字,比如: # 输入: 1->2->3->3->4->4->5 # 输出: 1 ...
- 第34课.数组操作符的重载("[]"重载)
1.问题:string类对象还具备c方式字符串的灵活性吗?还能直接访问单个字符吗? 答案:可以按照c字符串的方式使用string对象 string s = "a1b2c3d4e"; ...
- 关于Android的资源id
1 @+id/xx 这个表示向资源文件中添加一个新的id. @+id是在R文件中生成int xxx=value. 有两种情况 ①R文件中不存在xxx变量,则生成int xxx=value即为控件新建一 ...
- [转帖]2019-03-26 发布 深入理解 MySQL ——锁、事务与并发控制
深入理解 MySQL ——锁.事务与并发控制 https://segmentfault.com/a/1190000018658828 太长了 没看完.. 数据库 并发 mysql 639 次阅读 ...
- 【洛谷】P5348 密码解锁
[洛谷]P5348 密码解锁 很显然我们可以推导出这个式子 设\(a(m)\)为\(m\)位置的值 \[ \mu(m) = \sum_{m | d} a(d) \\ a(m) = \sum_{m|d} ...
- kindeditor的配置jsp版
1.将kindeditor资源下载下来,点击这里下载: 2.将资源解压,因为是jsp版本所以只需要保留jsp的文件即可,最终目录为下图 3.在所给的jsp的demo中做配置 注意:demo.jsp中引 ...
- Netty源码剖析-启动服务
参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! --1主线分两步: 一:首先在our thread里,如果写在mai ...
- c++:论如何成功把自己搞懵【二叉树特辑①】(不定期更新)
并不正经的前言 以前我这个小白看OI的书,老觉得有些东西很高端(看不懂的自然就很高端[滑稽]):什么栈啊,位运算啊,二叉树啊.有些东西我学了之后也很迷糊(真的不是因为傻?),做题的时候总是可以把自己搞 ...
- Centos安装elasticsearch,php连接使用
一.下载安装JAVA 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- python如何切割字符串
python字符串的分割方法如下 str.split():字符串分割函数 通过指定分隔符对字符串进行切片,并返回分割后的字符串列表. 语法: str.split(s, num)[n] 参数说明: s: ...