鸟哥的Linux私房菜之认识Bash Shell(1)

来源:互联网 发布:淘宝如何图片搜索 编辑:程序博客网 时间:2024/06/04 22:59

 一、

1、首先说一下什么是Shell,即Shell、核心、硬件。Shell就像是用户界面,用户通过操作Shell来通知核心执行相应命令,核心收到命令后就会调用相应的硬件完成任务,然后将结果通过核心返回到Shell。

    什么是Bash Shell,根据开发者的不同,Shell有多个版本,而Bash Shell即是Linux默认的shell。因为Bash Shell有着以下优点:

               1、命令记忆功能,能记忆使用过的命令

               2、命令与文件补全功能,即Tab。

                       【Tab】接在一串命令的第一个字后面,则为命令补全

                       【Tab】接在一串命令的第二个字以后,则为文件补全。

                3、命令别名的设置功能(alias)

4、作业控制、前台、后台控制

5、Shell scripts的强大功能

6、通配符

2、Bash Shell 的内置命令:type

type命令用来确定命令是外部命令还是内部命令:

[root@localhost~]# type name

不加任何参数时,type会显示出name命令是外部命令还是内部命令:[root@localhost~]# type ls

        -t 参数,根据以下文字显示意义  [root@localhost~]# type -t  ls

file -->表示为外部命令

alias-->表示该命令为冰灵别名所设置的名称

builtin-->表示为bash内置的命令功能

-p 参数,如果后面接的name为命令,会显示完整文件名(外部命令)或显示为内置命令

-a 参数,在PATH变量定义的路径中,列出所有含有name的命令,包含alias

3、执行命令

命令太长时可以使用\符号来转移【Enter】符号;在Linux操作系统中,英文大小写字母不一样;命令与参数间空格无意义;

4、Shell的变量功能

使用echo获取与设置变量:

设置变量-->[root@localhost~]# varible=xxx

获取变量-->[root@localhost~]# echo $varible 或者[root@localhost~]# echo ${PATH}

设置变量的规则:变量与变量内容以等号=来连接;等号两边不能直接接空格符(有良好编程习惯的要特别注意了哈);变量名称只能是英文字母与数字,但不能以数字开头;若有空格符,可以使用双引号或单引号将变量内容结合起来;必要时用转义字符\将特殊字符转义;取消变量用unset 变量名称;

[root@localhost~]# name="bird's name"或者[root@localhost~]# name=birf\'s\ name(转义了单引号与空格)

要在name的内容多出“yes”   [root@localhost~]# name="$name"yes或者[root@localhost~]# name=${name}yes

在变量设置时单引号与双引号的不同:如例子name变量的值为bird          [root@localhost~]# myname="$name its me"结果为bird its me   

而单引号则为        [root@localhost~]# myname='$name its me'结果为$name its me

5、环境变量的功能 

[root@localhost~]#  env 列出当前shell环境下所有环境变量及其内容

[root@localhost~]#  set 除了将环境变量列出来之外,其他的自定义变量,以及所有的变量都列出来

6、变量键盘读取read

6.1

[root@localhost~]#  read atest

this is a test

[root@localhost~]# echo $stest

this is a test

6.2

[root@localhost~]# read -p "please keyin your name:" -t 30 named

please keyin your name:this is a test

[root@localhost~]# echo $named

this is a test

7、declare/typeset 声明变量属性

[root@localhost~]# declare [-aixr] variable

-a : 数组  -i  :整数数字  -x  :变成环境变量   -r  : 设置为只读

8、与文件系统及程序的限制关系ulimit

[root@localhost~]# ulimit -f 1024  可以建立的最大文件容量为1024KB

9、命令别名设置alias、unalias

[root@localhost~]#  alias rm="ab"  命令别名设置

[root@localhost~]# unalias ab 取消命令别名设置

[root@localhost~]# alias  列出所有命令别名设置

10、历史命令:history

[root@localhost~]# history 3 列出最近3个命令

[root@localhost~]#  history -w  将当前历史记忆写入historyfiles

[root@localhost~]# !66 执行第66条命令

[root@localhost~]# !!执行上一个命令

[root@localhost~]# !al 执行最近以al开头的命令






















0 0
原创粉丝点击