认识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. [转]新浪云存储SCS Node.js使用指南

    转载自:https://github.com/SinaCloudStorage/scs-sdk-js scs-sdk-js 新浪云存储(SCS) SDK for Node.js Installatio ...

  2. Impacket网络协议工具包介绍

    转载自FreeBuf.COM Impacket是一个Python类库,用于对SMB1-3或IPv4 / IPv6 上的TCP.UDP.ICMP.IGMP,ARP,IPv4,IPv6,SMB,MSRPC ...

  3. 计算1-9总共九个数字可以满足abc+def=hij这样的式子

    计算1-9总共九个数字可以满足abc+def=hij这样的式子:其中abcdefghij九个数字各个都不相同,它们都属于1-9个数字中: 首先,第一种方法很简单很暴力,直接枚举,这样的话时间复杂度高: ...

  4. Java核心1(第三章)

    3.6字符串 子串substring(a,b)方法    第二个参数是不想复制的第一个位置  可以从一个较大的字符串中提取一个子串 3.6.2拼接  Java允许使用+号链接两个字符串 3.6.3不可 ...

  5. C语言--分支结构

    一.PTA实验作业 题目1:7-1 计算分段函数[2] 1.实验代码 float x, y; printf("Enter x:\n"); scanf("%f", ...

  6. (模板)poj2387(dijkstra+优先队列优化模板题)

    题目链接:https://vjudge.net/problem/POJ-2387 题意:给n个点(<=1000),m条边(<=2000),求结点n到结点1的最短路. 思路:dijkstra ...

  7. [转帖]海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏?

    海思大佬称华为CPU同频追平AMD 注水吹嘘玩文字游戏? https://t.cj.sina.com.cn/articles/view/6635931736/18b88485800100cz4h?fr ...

  8. Nginx03---重装

    1.先执行一下命令 1.1 删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 1.2 自动移除全部不使用的软件包 sudo apt-get ...

  9. 在Ubuntu中搭建Python3的虚拟环境并开始django项目

    搭建环境: 1.首先安装virtualenv: pip install virtualenv 2.创建虚拟环境:(指定安装Python3,若不写-p python3,默认安装Python2.7),en ...

  10. Kubernetes---Pod重启策略

    PodSpec中有一个restartPolicy 字段,可能的值为Always.OnFailure和Never.默认为Always.restartPolicy 适用于Pod 中的所有容器.restar ...