bash特性之一:命令别名
将一个命令用其他名字来代替,可以用别名来简化操作。
获取当前用户可用的别名的定义:
~]#alias NAME=’COMMAND’
bash的特性之二:命令历史
shell进程会保存其会话中用户曾经执行过的命令;命令通过其“历史文件”来持久保存此前执行过的命令;每个用户都有其自己专用的历史文件;
HISTSIZE:shell进程的缓冲区保留的历史命令的条数;
HISTFILESIZE:命令历史文件可保存的历史命令的条数;
默认均为1000;
命令语法格式:
history [-c] [-d OFFSET] [n]
history -anrw [FILENAME]
history -ps VALUE [VALUE…]
-c: 清空命令历史;
-d offset(偏移量):删除指定命令历史,offset为history显示出来的命令数字
-r: 从文件读取命令历史至历史列表中;
-w:把历史列表中的命令追加至历史文件中;
history #:显示最近的#条命令;
控制命令历史的记录方式:
环境变量:HISTCONTROL(在/etc/profile配置文件中控制)
ignoredups:忽略重复的命令,连续且相同方为“重复”
ignorespace:忽略所有以空白开头的命令
ignoreboth:=以上两个之和
修改环境变量值得方法:export变量名=“值”
变量赋值:把赋值符号后面的数据存储于变量名指向的内存空间。
bash特性之三:快捷键
ctrl+a:跳转至命令行行首
ctrl+e:跳转至命令行行尾
ctrl+u:删除行首至光标所在处之间的所有字符;
ctrl+k:删除光标所在处至行尾的所有字符;
ctrl+l:清屏,相当于clear
ctcl+c:取消命令的执行
bash的特性之四:命令补全和路径补全
1.命令查找和补全机制:
bash执行命令
内部命令:内部命令没有具体的二进制文件,而是有内核提供的。
外部命令:bash根据PATH 环境变量定义的路径,自左而右在每个路径搜寻已给定命令命命名的文件,第一次找到即为要执行的命令。
补全方法:给定开头的部分字符串如果能惟一标识某命令程序文件,则直接补全;
不能惟一标识某命令程序文件,再击tab键一次,会给出列表;
2.路径补全
在给定起始路径下,以对应路径下的打头字串逐一匹配起始路径下每个文件:
TAB按键;
如果能惟一标识,则直接补全;
否则,再一次tab,给出列表;
3.命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录;
{}:花括号展开。可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;
bash的特性之五:命令行展开:
1)、命令行展开;
以某些bash能够解释的符号来代替命令中的某些参数。
~:展开为用户的主目录;
例:切换至主目录
cd ~
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径;
例:在/tmp/d目录下创建f1,f2,f3三个文件
touch /tmp/d/f{1,2,3}
/tmp/{a,b}=/tmp/a,/tmp/b
bash特性之六:命令的执行结果状态
bash的基础特性之状态值返回:在bash中使用一个特殊的变量$?来保存上一个命令的执行状态结果:用法 ~]# echo $?
0表示成功,
1-255表示失败
同样程序执行也有两类结果:
程序的返回值:程序的功能定义
程序的执行状态结果:程序执行完成后的状态
bash的特性之七:变量
程序:指令+数据
数据:文件、变量;
变量:内存空间,有名称,名称即为变量名,对应的内存空间中的数据即为变量的值;
变量赋值:NAME=VALUE
=:赋值符号;
把VALUE存储到NAME指向的内存空间中;
编程语言:
强类型:严格区分变量中的数据类型;
弱类型:不区分变量中存储的数据类型,统一为字符型;
bash:统统默认为字符型数据;变量无需事先声明;
变量替换:把变量引用符号出现的位置替换为其指向的内存空间中的数据;
bash变量种类:
本地变量:作用域为当前shell进程;不包括其子进程;
环境变量:使用域为当前shell进程及其子进程;
局部变量:
作用域:生效范围,也即可引用到的范围;
本地变量:
变量赋值:NAME=VALUE
变量引用:$NAME, ${NAME}
查看变量:set
撤销变量:unset NAME
注意:此处非为变量引用,因此不能使用$;
所有的本地变量在shell进程终止时,会被自动撤销;
环境变量:
变量声明和赋值:
declare -x NAME[=VALUE]
export NAME[=VALUE]
引用方式:
${NAME}, $NAME
注意:bash内嵌了许多环境变量,名称为全大写字母,例如UID、HOME、PWD、SHELL, PATH, HISTSIZE等等;
环境变量查看:
export, declare -x ,env, printenv
撤销环境变量:
unset NAME
只读变量:常量
(1) declare -r NAME
(2) readonly NAME
不支持重新赋值,也不支持撤销操作;
原创文章,作者:N24_云淡风轻,如若转载,请注明出处:http://www.178linux.com/57986
评论列表(1条)
总结的比较详细,注意下排版会更好~