shell能够提供给用户操作系统的一个接口,能够将我们输入的命令与内核通信,好让内核可以控制硬件来正确无误的工作。shell中有很多中形式,比如bshell,CShell,KShell,TCSH等等,通过/etc/shells中文件可以查看当前系统中存在的shell形式。当我们进行用户登录时,系统会自动检查/etc/passwd目录下的文件,取得当前系统中当前用户使用的shell形式。
bshell中的特性:
1、命令补全
2. 命令历史
查看命令历史:history
-c:清空命令历史
-d OFFSET [n]: 删除指定位置的命令
-w:保存命令历史至历史文件中
3.命令别名
alias CMDALIAS='COMMAND [options] [arguments]'
在shell中定义的别名仅在当前shell生命周期中有效;别名的有效范围仅为当前shell进程;
ualias CMDALIAS
4、命令行编辑
光标跳转:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u: 删除光标至命令行首的内容
Ctrl+k: 删除光标至命令行尾的内容
Ctrl+l: 清屏2、管道、重定向
bash支持的引号:
``: 命令替换
"": 弱引用,可以实现变量替换
'': 强引用,不完成变量替换
5、文件名通配, globbing
*: 任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]: 大写字母
[:alpha:]: 大小写字母
[:digit:]: 数字
[:alnum:]: 数字和大小写字母
# man 7 glob
[^]: 匹配指定范围之外的任意单个字符
[[:alpha:]]*[[:space:]]*[^[:alpha:]]
6、变量
主要分为环境变量、本地变量、位置变量、特殊变量。
本地变量: set VARNAME=VALUE:作用域为整个bash进程。
局部变量:local VARNAME=VALUE 作用域为当前代码段
环境变量: 作用域为当前shell进程及其子进程;
export VARNAME=VALUE
VARNAME=VALUE
export VARNAME "导出"
特殊变量$?:上一个命令的执行状态返回值
程序执行可能有两类返回值:程序执行结果,程序状态返回代码(0-255) 0:正确执行 1-255:错误执行,其中1,2,127系统预留。
与变量相关的操作命令有:
查看系统中所有变量(含环境变量和自定义变量):set
撤销变量: unset VARNAME
查看当前shell中的环境变量:printenv、env、export
7、编程 ..............
补充对shell的认识
1.变量的显示与取消 echo unset
2.命令的运行顺序
1.以相对/绝对路径执行命令
2.由alias找到该命令来执行
3.由bash内置的命令来执行
4.通过$PATH这个变量的顺序找到第一个命令执行
3.bash的登陆与欢迎信息
\d :本地终端的日期
\l:显示第几个终端接口
\m:显示硬件的等级
\n :显示主机的网络名称
\o :显示domain name
/etc/issue :登陆信息
/etc/motd :欢迎信息
4.login 与no-login shell
login shell:取得bash时需要完整的登录流程,就称为login shell。举例来说,由tty1~tty6登陆,需要输入用户的账号和密码。。
no-login shell:取得bash接口的方法不需要重复登陆的举动。
全局配置:/etc/profile,/etc/profile.d/*.sh,/etc/bashrc
个人配置:~/.bash_profile,~/.bashrc
profile类的文件:
设定环境变量
运行命令或脚本
bashrc类的文件
设定本地变量
定义命令别名
登陆式shell读取配置文件的方式:
/etc/profile--->/etc/profile.d/*.sh--->~/.bash_profile----> ~/.bashrc --> /etc/bashrc
非登录式shell读取配置文件的方式:
~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh
相关推荐
通过本文的学习,我们不仅了解了Bash的基本特性和命令,还深入探讨了一些高级功能,如函数定义和脚本编程。掌握这些知识将有助于提高日常开发和系统管理工作的效率。 以上就是关于Bash的一些基本介绍和实用技巧,...
该手册涵盖了 Bash shell 的所有方面,包括基本语法、shell 操作、变量、命令、函数、流程控制、文件描述符、输入/输出重定向等。 Bash 是一个 Unix shell 和命令行解释器,於 1989 年首次发布,由 Brian Fox 开发...
Bash提供了许多基本特性,包括: * 命令历史记录:Bash提供了一个命令历史记录功能,用户可以查看和重复之前输入的命令。 * 命令补全:Bash提供了命令补全功能,用户可以输入部分命令,然后按下Tab键补全命令。 * ...
Bash基本概念** Bash不仅用于接收和执行用户在终端输入的命令,还支持脚本编写,通过编写shell脚本,可以实现自动化任务。了解Bash的基本语法、变量、控制结构和函数是入门的关键。 **2. Bash变量** Bash中的变量...
1. **基本Shell特性**:这部分介绍了Bash的基本结构和操作,包括语法、命令执行、管道、列表、循环和条件语句等。这些是构建复杂脚本的基础,也是理解更高级功能的前提。 2. **Shell扩展**:这是Bash相较于其他shell...
Bash 参考手册是学习和掌握 Bash 的必备资料,为用户提供了一个详尽的指南,涵盖了 Bash 的各种特性和用法。 二、什么是 Bash? Bash 是一个命令语言解释器,同时也是一种脚本编程语言,它允许用户与操作系统进行...
#### 二、Bash与Csh的基本介绍 1. **Bash**: - **开发者**:由Brian Fox开发。 - **特性**:Bash是GNU项目的一部分,它兼容原始的Bourne Shell,并添加了许多改进功能,例如命令历史记录、命令补全等。 - **...
这篇教程将通过一系列实例,帮助初学者了解并掌握Bash的基本用法。 ### 1. Bash shell介绍 Bash是GNU项目的一部分,由Brian Fox在1987年创建,并由Chet Ramey维护至今。它继承了Unix的原始shell,Bourne shell(sh...
首先,bash shell是基于原始的Bourne shell(sh)进行改进和扩展的,它不仅保留了Bourne shell的基本语法,还引入了许多增强功能,如命令别名、历史记录、作业控制、shell函数等。在bash 4.2版本中,开发者可能已经...
#### 基础Shell特性 ##### Shell语法 - **Shell Operation**: Shell操作包括命令执行、变量赋值、函数定义等。 - **示例**: `command arg1 arg2` - **Quoting**: - **Escape Character**: `\` 用于转义特殊字符...
了解并熟练掌握这些Bash的基本概念和特性对于在Linux环境中工作至关重要,无论是进行日常的命令行操作还是编写复杂的自动化脚本,都能大大提高效率。因此,这份手册是运维人员和开发者的宝贵资源,值得仔细研读和...
在《高级Bash-Scripting Guide》中,作者Mendel Cooper详尽地探讨了Bash的各种特性,包括: 1. **基本语法**:变量、运算符、流程控制(if、for、while循环)、函数、条件测试等。 2. **输入/输出重定向**:如何...
1. bash-doc-4.1.2-15.el6_5.2.x86_64.rpm:这是一个文档包,包含了 Bash shell 的详细使用手册和参考资料,对于学习和理解 Bash 的语法和特性非常有帮助。 2. bash-debuginfo-4.1.2-15.el6_5.2.x86_64.rpm:这个...
在Bash中,存在一系列基本的shell特性。其中,Shell语法是理解如何通过Bash和系统进行交互的基础,包括shell操作的基本原理和规则。接下来,我们会详细介绍Bash中的各种引用类型,比如转义字符、单引号、双引号以及...
了解这些基础知识后,你还需要知道如何使用Bash的一些基本特性,如命令历史、通配符、重定向、管道、环境变量、函数以及条件表达式等。同时,对于开发人员来说,了解Bash的脚本编程语法,如循环、条件语句、数组、...
2014年的版本可能包含了当时的最新特性,对于理解和掌握Bash Shell编程至关重要。 **基本概念与用法** 1. **命令行界面**:Bash Shell提供了一个命令行界面,用户可以通过输入命令来执行操作。它支持命令历史,...
《Learning the Bash Shell》这本书是深入理解Bash Shell的宝贵资料,涵盖了从基本操作到高级特性的全面教程。通过阅读本书,用户不仅可以掌握Bash Shell的使用,还能进一步提升Linux系统的驾驭能力。 总之,学习...
本教程——"Bash-Beginners-Guide",是一份专为初学者设计的详细指南,涵盖了Bash的基础知识和高级特性,以帮助用户更好地理解和使用Bash Shell。 **章节1:介绍** 在这一部分,你将了解到Bash的历史和它在操作系统...