Linux学习笔记:bash的基础特性
2017-07-31 11:35
211 查看
bash的基础特性
历史命令history
环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:~/.bash_history
ISTFILESIZE:命令历史文件里路的条数
history -d OFFSET:在指定位置删除历史命令
history -c:清空历史命令
history #:显示历史中最近的#条命令
history -a:手动追加当前绘画缓冲区的命令历史至历史文件中
调用历史中的命令
!#:重复执行第#条命令
!!:重复执行上一条命令
!string: 重复执行最近一次以string开头的历史命令
调用上一条命令的最后一个参数
!$:表示上一次命令调用的参数
ESC,.:同上
Alt+.:同上
控制命令历史的记录方式
环境变量:HISTCONTROL
ignoredups:忽略重复的命令(连续且相同方为“重复”)
ignorespace:忽略所有以空白开头的文件
ignorebo:ignoredups,ignorespace
修改环境变量值的方式:export 变量名=”值”
变量赋值:把辅助符号后面的数据存储与变量名指向的内存空间
命令补全
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即位要执行的命令
直接补全:Tab,用户给定的字符串只有一条唯一对应的命令
以用户给定的字符串为开头对应的命令不唯一,则再次Tab会给出列表
路径补全
把用户给出的字符串当作路径开头,并在其指定上级目录下搜索已制定的字符串开头的文件名
如果唯一,则直接补全
否则,再次Tab,给出列表
命令行展开
~:展开为用户的主目录
~ USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
命令的执行结果状态
成功
失败
bash使用特殊变量$?保存最近一条命令的执行状态结果
0:成功
1-255:失败
程序执行有两类结果
程序的返回值
程序的执行状态结果
命令别名
alias命令实现
alias
显示当前shell进程所有可用的命令别名
alias NAME=’VALUE’
定义别名NAME,其相当于执行命令VALUE
注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件中;
仅对当前用户有效:~/.bashrc
对所有用户有效:/etc/bashrc
重读配置文件:
source /path/to/config_file
. /path/to/config_file
Note:编辑配置文件给出的新配置不会立即生效
撤销别名:unalias
unalias [-a] name
4000
[name …]
Note:如果别名同原命令名称,则如果要执行原命令,可使用“/COMMAND”
glob(globbing)
bash用于实现文件名“通配”
通配符:*,?,[]
通配符*
任意长度的任意字符
a*b:aab,ab,a123b
通配符?
任意单个字符
a?b:
匹配:aab
不匹配:ab,a123b,abc
通配符[]
匹配指定范围内的任意单个字符
[0-9]
[a-z]:不区分字符大小写
[A-Z]:大写字母
通配符[^]
匹配指定范围内的任意单个字符
例如:[^0-9]
专用字符集合:
[:digit:]:任意数字,相当于0-9
[:lower:]:任意小写字母
[:upper:]:任意大写字母
[:alpha:]:任意大小写字母
[:alnum:]:任意数字和字母
[:space:]:所有空格
[:punct:] :所有标点符号
bash的快捷键
Ctrl + l:清屏操作
Ctrl + a:跳转至命令开始处
Ctrl + e:跳转至命令结尾处
Ctrl + c:取消命令执行
Ctrl + u:删除命令行首至光标所在处的所有内容
Ctrl + k:删除光标所在处至命令行尾部的所有内容
bash的I/O重定向及管道
程序:指令+数据
读入数据:Input
输出数据:Output
打开的文件都有一个fd:file descriptor(文件描述符)
标准输入:keyboard,0
标准输出:monitor,1
标准错误输出:monitor,2
I/O重定向:改变标准位置
输出重定向:COMMAND > NEW_pos,COMMAND >> NEW_pso
>:覆盖重定向,目标文件中的原有内容会被清除
>>:追加重定向,新内容会追加至目标文件尾部
# set -c:禁止将内容覆盖输出至已有文件中
强制覆盖:>
# set +c:
2>:覆盖重定向错误输出数据流
2>>:追加重定向错误输出数据流
标准输出和错误输出各自定向至不同位置:
COMMAND > /path/to/file.out 2>/path/to/error.out
合并标准输出和错误输出为同一个数据流进行重定向
&>:覆盖重定向
COMMAND > /path/to/file.out 2>&1
&>>:追加重定向
COMMAND >> /path/to/file.out 2>>&1
输入重定向:<
tr命令:转换或删除字符
tr [OPTION]… set1[set2]
HERE Documentation:<<
# cat << EOF
# cat > /path/to/somefile << EOF
管道
COMMAND1|COMMAND2|COMMAND3|…
Note:最后一个命令会在当前shell进程的子shell中进行
相关文章推荐
- bash 基础特性命令引用
- Linux基础入门及系统管理01-Linux运维核心技能-bash基础特性详解09
- 2017-10-27Linux基础知识(9)bash基础特性及基础命令
- Linux 基础知识:Bash基础特性
- 谢烟客---------Linux之Bash基础特性(2)
- bash的基础特性
- bash基础特性:快捷键&通配符
- Linux 基础学习bash特性 (二)
- Linux学习笔记:bash的基础特性之二(shell编程)
- bash的基础特性
- Lunix基础入门--bash的基础特性(五)
- Bash的基础特性
- bash的一些基础特性(复习)
- bash的基础特性
- Linux中bash中的几种基础特性汇总!
- 2017-11-27Linux基础知识(14)bash特性之脚本编程初步
- bash的基础特性
- bash基础特性
- Bash基础特性
- Linux基础--Bash的基本特性