鸟哥的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开头的命令
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开头的命令
相关文章推荐
- 鸟哥的 Linux 私房菜第11章-认识与学习 BASH 学习笔记
- 鸟哥私房菜之认识 bash shell - 2
- 鸟哥私房菜之认识 bash shell - 5
- 鸟哥的 Linux 私房菜13-- 学习 BASH Shell 咯
- 鸟哥的 Linux 私房菜 -- 学习 bash shell
- 鸟哥私房菜之认识 bash shell - 4
- 鸟哥的 Linux 私房菜 -- 学习 bash shell
- 鸟哥私房菜之认识 bash shell - 3
- 鸟哥的 Linux 私房菜25-- 认识 Linux 系统服务的 daemons
- 鸟哥私房菜之认识 bash shell
- 鸟哥私房菜之认识 bash shell - 6
- 鸟哥的 Linux 私房菜 -- 学习 bash shell
- 鸟哥的 Linux 私房菜27-- Linux 的备份策略
- 鸟哥的 Linux 私房菜7 -- 首次开机关机与基本指令执行
- 鸟哥的 Linux 私房菜4 -- 一个 SPFDISK 的范例
- 鸟哥的 Linux 私房菜12-- vi 文书处理器
- 鸟哥的 Linux 私房菜16-- 账号管理
- 鸟哥的 Linux 私房菜 网页版网址http://linux-vbird.bluedata.org/
- 鸟哥的 Linux 私房菜28-- 简易 X-Window 设定
- 鸟哥的 Linux 私房菜5 -- 安装 FC4 的 Linux 练习机