应用程序在最外面,就如同鸡蛋的外壳一样,因此被称呼为shell(壳程序)。其实壳程序的功能只是提供操作系统的一个接口。

              应用程序

                ↓

              操作系统(系统呼叫+核心)

                ↓

               硬件

linux预设的shell就是bash

“Tab“:接在一串指令的第一个字的后面,则为命令补全

    接在一串指令的第二个字以后时,则为档案补齐

命令别名设定功能:(alias)

查看所有档案(包含隐藏档)及所有的文件属性:ls -al

设置别名命令:alias lm=‘ls -al’

可以在指令列输入alias就可以知道目前的命名别名有哪些。

type [-tpa] name

:1、不加任何选项与参数时,type会显示出name是外部指令还是bash内建指令

2、“-t” :type会将name以底下这些字眼显示出他的意义:

      file:表示为外部指令

      alias:表示该指令为命令别名所设定的名称

      builtin:表示giant指令为bash内建的指令

   “-p”:后接name为外部指令时,才会显示完整文件名

   “-a”:会由PATH变量定义的路径中,将所有含name的指令都列出来,包含alias

变量的读取与设定:echo unset

利用echo来读取变量,变量在被读取时,前面必须要加上“$”  格式:echo $variable或者echo ${var}

设定和修改变量的内容:格式  :var=内容

如:echo $myname    //不显示任何数据,因为这个变量尚未被设定,是空值

  myname=Vbird  //myname    设定值

  echo $myname  //显示VBird

  注意:在bash当中,当一个变量名称尚未被设定时,预设的内容是“空”

变量设定规则:

1.变量与变量内容以一个等号“=”来连接,且等号两边不能直接接空格符

2.变量名称只能是英文字母与数字,但开头字符不能是数字

3.变量内容若有空格符可使用双引号【“】或者单引号【‘】将变量内容结合起来,但

  双引号内的特殊字符如$等,可以保留原来的特性。如[var="lang is $LANG"]则[echo $var]可得[lang is en_US]

  单引号内的特殊字符则仅仅为一般字符(纯文本),如[var='lang is $LANG']则[echo $var]可得[lang is $LANG]

4.可用跳脱字符"\"将特殊符号([enter],$,\,空格符,等)变成一般字符

5.在一串指令中,若需借由其他的指令提供的信息,可使用反单引号【`指令`】或【$(指令)】。注:`是键盘上方1左边那个按键,而不是单引号。

  【var=$(uname -r)】再【echo $var】可得【2.6.18-128.el5】

6.若该变量为扩增变量内容时,则可用“$变量名称”或${变量}累加内容。如【PATH=“PATH”:/home/bin】

7.若该变量需在其他子程序中执行,则需要以export来使变量变成环境变量:【export PATH】

8.取消变量unset,【unset变量名称】

例:unset myname

认识与学习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. PHP获得两个绝对路径的相对路径

    周末在家看面试题,没事儿写了个. 题目: 写一个函数,算出两个文件的相对路径 如 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php';计算出 $b 相对于 $ ...

  2. mfs-管理员

    http://www.moosefs.org/http://moosefs.com/download.html 两个手册于2015/03/05阅完 moosefs-installation moose ...

  3. OpenJudge计算概论-与7无关的数

    /*========================================================== 与7无关的数 总时间限制: 1000ms 内存限制: 65536kB 描述 一 ...

  4. HDFS 文件读写过程

    HDFS 文件读写过程 HDFS 文件读取剖析 客户端通过调用FileSystem对象的open()来读取希望打开的文件.对于HDFS来说,这个对象是分布式文件系统的一个实例. Distributed ...

  5. 常见的java 错误--转

    Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...

  6. 【jmeter】元件的作用域与执行顺序

    1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...

  7. for循环内 执行$ajax(){}

    真是郁闷,在for 循环里添加了ajax异步传输之后,for循环是单线程处理,就是里面执行的是ajax,也不异步处理数据.而是执行完for循环的次数后,一起把ajax的数据处理掉. 解决办法.分开吧! ...

  8. Linux中升级更新命令yum upgrade和yum update的区别

    区别 Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的: 代码如下: yum -y update #升级所有包,同时也升级软件和系统内核 yum - ...

  9. golang获取字符串长度需要注意的地方

    中文长度,直接贴代码 package main import ( "fmt" "unicode/utf8" ) func main() { aa := &quo ...

  10. gridview例子

    直接贴代码 MainActivity.java public class MainActivity extends AppCompatActivity { private GridView _grid ...