认识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. [BAT] SetX 永久设置环境变量

    SetX 有三种使用方式: 语法 1: SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M] 语法 2: SETX [/ ...

  2. Java进程监控

    目录 1.引言 2. 程序启停, 为进程自定义项目名称 3. 操作系统判断 4. 获取进程信息 5. 内存,CPU信息 6. 堆内存信息 7. 端口信息 8. 线程信息 9. MXBean使用样例 9 ...

  3. 动态中位数-POJ 3784

    题目: 依次读入一个整数序列,每当已经读入的整数个数为奇数时,输出已读入的整数构成的序列的中位数. 输入格式 第一行输入一个整数P,代表后面数据集的个数,接下来若干行输入各个数据集. 每个数据集的第一 ...

  4. 【VS开发】VC下加载JPG/GIF/PNG图片的两种方法

    1.用API OleLoadPicture来加载JPG.GIF格式的图片(注:不支持PNG格式,另外GIF只能加载第一帧,且不支持透明) OleLoadPicture 函数实际上创建了一个IPictu ...

  5. 记录一次SignalR服务端实现过程

    前言:最近手上一个项目需要后端实时推送数据到前端,第一个想到的就是微软的SignalR,由于之前都是平时没事写的Demo,没有用到实际项目中,这次恰好用到了,因此记录下来整个实现过程(网上也有很多类似 ...

  6. lua程序设计 第一章习题答案

    练习1.1:运行阶乘的示例并观察,如果输入负数,程序会出现什么问题?试着修改代码来解决问题. 答:当输入负数时,循环无法终止,因为原本程序中的终止条件为n==0,而在输入为负数情况下,无法达成此终止条 ...

  7. du 和 df命令

    测试环境数据库收到磁盘报警时,需要清理部分磁盘空间 df -h 查看整个磁盘占有 找到对应目录 查看每个文件夹占有磁盘量: sudo du -h --max-depth=1 data/ --max-d ...

  8. 解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes

    解决java.lang.SecurityException: Invalid signature file digest for Manifest main attributes 当项目依赖其他jar ...

  9. JavaSE基础(十)--Java中的基本数据类型转换

    Java中的基本数据类型转换 说基本数据类型转换之前,先了解下 Java 中的 8 种基本数据类型,以及它们的占内存的容量大小和表示的范围,如下图所示. 重新温故了下原始数据类型,现在来解释下它们之间 ...

  10. [LuoguP2163][SHOI2007]园丁的烦恼_CDQ分治

    园丁的烦恼 题目链接:https://www.luogu.org/problem/P2163 数据范围:略. 题解: 树套树过不去,那就$CDQ$分治好了. 有点小细节,但都是$CDQ$分治必要的. ...