您的位置:首页 > 运维架构 > Shell

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

2014-11-26 17:00 393 查看
 一、

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开头的命令




















内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: