Bash用法小结
2012-09-26 22:06
232 查看
Bash是shell的一种,Bourne Again Shell的简称,具有强大的功能。
bash提供的主要功能有:
1、命令行编辑
2、命令补全和路径补全
3、命令历史查询
4、命令行展开
5、文件名通配
6、命令别名
下面简要说明各项功能:
1、命令行编辑
常用的快捷键有;
ctrl+a: 快速跳到行首
ctrl+e: 快速跳到行尾
ctrl+u: 快速删除光标到行首的字符
ctrl+k: 快速删除光标到行尾的字符
ctrl+l: 用于清屏,等用于clear,相当于windows下cmd的cls命令
ctrl+c: 取消命令,不在执行
2、命令补全功能
[Tab]键具有自动补全功能,方便命令的输入:
当命令的前几个字母唯一确定一个命令时,敲[Tab]键可显示该命令,即实现自动补全功能;
如果所敲的字符不能唯一确定一个单词时,敲两下可显示以该字符开头的所有的单词,当你一个命令后面部分没记全时,[Tab]很有帮助。(另外,当只记得某个命令的中间一部分时,如想要用hwclock,只记得有clock,可敲入 # -k clock,可显示所有包含clock的命令)
3、命令历史
# history 查看命令历史
-c 清空历史记录
-w 保存缓存中的命令历史至历史文件
-d:删除指定的第几条
-d OFFSET n:从偏移的那条命令开始删除多少个命令
# echo $HISTSIZE
# echo $HISTFILE
# echo $HISTFILESIZE
!n:表示执行命令历史中的第n跳命令
!!:两个!表示执行上一条命令
!-n:表示执行倒数第n条命令
!string:表示找命令中离string最近的命令
4、
5、文件名通配
glob:
特殊字符:叫元字符,不表示字符的表面意义,而是能匹配符合指证的字符串
*:任意长度的任意字符;
a*b(表示a开头,b结束的字符串,中间为任意字符),ab,aab,acbb,
?: 任意单个字符:a?b
[]: 匹配指定范围内的任意单个字符:a[axy]b, a[a-zA-Z]b,
[^]: 指定范围之外的任意单个字, [^a-z]=[^[:lower:]]
[[:alpha:]]=[a-zA-Z] : 表示大小写字母中(的任一个)
[[:digit:]]=[0-9]=\d 表示一位数字
[[:lower:]]=[a-z] 表示小写字母的任一个
[[:upper:]]=[A-Z] 表示 大写字母中的任一个
[[:alnum:]]=[a-zA-Z0-9]]=\w 表示字母和数字
[[:space:]]=\s 表示空白符
[[:punct:]] 表示特殊字符
6、命令别名:
仅对当前shell有效
alias ALIAS=`COMMAND`
别名的撤销:
unalias ALIAS
Bash变量类别:
本地变量
环境变量
特殊变量
位置变量
1、 本地变量:(局部变量)
作用范围仅限当前源程序文件, 仅对当前shell进程有效
赋值表达式:=
eg: AGE=23
bash中的引号:
'单引号: 强引用,引号中的特殊字符不在起作用,如\,$
" 双引号:弱引用,引号中的特殊字符还可以作用。
`反引号:命令替换, ` `等效于${}
本地变量只对当前shell有效
变量的声明和赋值:
声明:
declare AGE:
-i: 声明为整型
-a:声明为数组
-x: 可执行
declare -i AGE
AGE=23
declare -i AGE=23
NAME="Tom obama"
NAME="$ AGE"
引用变量值:
${VARNAME}
撤销变量:
unset VARNAME
只读变量:将一个变量设置为只读变量后,既不能替换,也不能撤销
readonly VARNAME
变量名:只能包含字母、数字、下划线,且不能以数字开头。
变量赋值:AGE="$ANOMAL"
VAR1=${VAR2-word}若VAR2的值存着,则赋予VAR1,否则将word值赋予VAR1
VAR1=${VAR1-word}
# AGE=${A-40}
2、环境变量
作用范围是当前shell及其子shell
export VARNAME
export VARNAME=value
declare -x VARNAME=value
查看所有环境变量的命令:
env
printenv
export
导出:
PS1='[\u@\h \w]\$'
基名:/usr/local/src,src
3、特殊命令:
$?:显示上一个命令的返回值
程序的返回值:
程序自身执行的返回值:
程序执行状态返回值:
执行成功返回值为1,失败为1-255
常用的有 0,1,2等
bash的运行方式:
交互式:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
非交互式:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*
bash提供的主要功能有:
1、命令行编辑
2、命令补全和路径补全
3、命令历史查询
4、命令行展开
5、文件名通配
6、命令别名
下面简要说明各项功能:
1、命令行编辑
常用的快捷键有;
ctrl+a: 快速跳到行首
ctrl+e: 快速跳到行尾
ctrl+u: 快速删除光标到行首的字符
ctrl+k: 快速删除光标到行尾的字符
ctrl+l: 用于清屏,等用于clear,相当于windows下cmd的cls命令
ctrl+c: 取消命令,不在执行
2、命令补全功能
[Tab]键具有自动补全功能,方便命令的输入:
当命令的前几个字母唯一确定一个命令时,敲[Tab]键可显示该命令,即实现自动补全功能;
如果所敲的字符不能唯一确定一个单词时,敲两下可显示以该字符开头的所有的单词,当你一个命令后面部分没记全时,[Tab]很有帮助。(另外,当只记得某个命令的中间一部分时,如想要用hwclock,只记得有clock,可敲入 # -k clock,可显示所有包含clock的命令)
3、命令历史
# history 查看命令历史
-c 清空历史记录
-w 保存缓存中的命令历史至历史文件
-d:删除指定的第几条
-d OFFSET n:从偏移的那条命令开始删除多少个命令
# echo $HISTSIZE
# echo $HISTFILE
# echo $HISTFILESIZE
!n:表示执行命令历史中的第n跳命令
!!:两个!表示执行上一条命令
!-n:表示执行倒数第n条命令
!string:表示找命令中离string最近的命令
4、
5、文件名通配
glob:
特殊字符:叫元字符,不表示字符的表面意义,而是能匹配符合指证的字符串
*:任意长度的任意字符;
a*b(表示a开头,b结束的字符串,中间为任意字符),ab,aab,acbb,
?: 任意单个字符:a?b
[]: 匹配指定范围内的任意单个字符:a[axy]b, a[a-zA-Z]b,
[^]: 指定范围之外的任意单个字, [^a-z]=[^[:lower:]]
[[:alpha:]]=[a-zA-Z] : 表示大小写字母中(的任一个)
[[:digit:]]=[0-9]=\d 表示一位数字
[[:lower:]]=[a-z] 表示小写字母的任一个
[[:upper:]]=[A-Z] 表示 大写字母中的任一个
[[:alnum:]]=[a-zA-Z0-9]]=\w 表示字母和数字
[[:space:]]=\s 表示空白符
[[:punct:]] 表示特殊字符
6、命令别名:
仅对当前shell有效
alias ALIAS=`COMMAND`
别名的撤销:
unalias ALIAS
Bash变量类别:
本地变量
环境变量
特殊变量
位置变量
1、 本地变量:(局部变量)
作用范围仅限当前源程序文件, 仅对当前shell进程有效
赋值表达式:=
eg: AGE=23
bash中的引号:
'单引号: 强引用,引号中的特殊字符不在起作用,如\,$
" 双引号:弱引用,引号中的特殊字符还可以作用。
`反引号:命令替换, ` `等效于${}
本地变量只对当前shell有效
变量的声明和赋值:
声明:
declare AGE:
-i: 声明为整型
-a:声明为数组
-x: 可执行
declare -i AGE
AGE=23
declare -i AGE=23
NAME="Tom obama"
NAME="$ AGE"
引用变量值:
${VARNAME}
撤销变量:
unset VARNAME
只读变量:将一个变量设置为只读变量后,既不能替换,也不能撤销
readonly VARNAME
变量名:只能包含字母、数字、下划线,且不能以数字开头。
变量赋值:AGE="$ANOMAL"
VAR1=${VAR2-word}若VAR2的值存着,则赋予VAR1,否则将word值赋予VAR1
VAR1=${VAR1-word}
# AGE=${A-40}
2、环境变量
作用范围是当前shell及其子shell
export VARNAME
export VARNAME=value
declare -x VARNAME=value
查看所有环境变量的命令:
env
printenv
export
导出:
PS1='[\u@\h \w]\$'
基名:/usr/local/src,src
3、特殊命令:
$?:显示上一个命令的返回值
程序的返回值:
程序自身执行的返回值:
程序执行状态返回值:
执行成功返回值为1,失败为1-255
常用的有 0,1,2等
bash的运行方式:
交互式:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
非交互式:~/.bashrc-->/etc/bashrc-->/etc/profile.d/*
相关文章推荐
- BASH 数组用法小结
- [Linux]:BASH 数组用法小结
- BASH 数组用法小结
- BASH 数组用法小结 及 循环用法
- BASH 数组用法小结
- BASH 数组用法小结
- bash命令行历史用法小结
- jQuery的Ajax操作小结——$.ajax和$.getJSON等用法小结
- C# String.split()用法小结
- memset用法小结
- iOS中UIImagePickerController图片选取器的用法小结
- QT QTableView用法小结
- Category的用法小结
- C++中的string类的用法小结
- Spring mvc中@RequestMapping 6个基本用法小结
- android webview用法小结1
- spool用法小结
- C#:readonly和const用法小结
- 数据库 左连接 右连接 全连接用法小结
- 转载-------fwrite和fread函数的用法小结