Bash 是一个用GNU计划编写的Unix shell。由Bourne-Again SHell 缩写而来,那么什么是shell呢?在计算机中,简单的来说Shell俗称壳,是用来区别于核,是指“提供使用者使用界面”的软件,我们只要知道他是一种命令解析器就可以了。下来将讲几点关于Linux中bash的几个特性。
一、历史命令特性
1、命令:
# history
2、常用的环境变量:
# echo $HISTSIZE 显示进程中保存的历史命令条数
# echo $HISTFILESIZE 保存在配置文件中的历史命令条数
# echo $HISTFILE 保存历史命令的文件,通常为~/.bash_history
配置$HISTCONTROL:
# export HISTCONTROL="ignoredups/ignorespace/ignoreboth" 分别的含义是忽略重复的命令/忽略以空白字符开头的命令/以上两者同时生效
3、常见用法:
# history -d n删除最近n条历史记录
# history -n 显示最近n条历史记录
# history -c 清空历史记录
# !! 执行最近的一条历史命令
# !n 执行第n条历史命令
# !$ 调用上调历史命令的最后一个参数
二、命令与路径补全机制
TAB按键
三、命令行展开机制
# touch /tmp/{file1.txt,file2.txt}
四、命令状态结果查询
# $? 显示最近一条命令的状态结果,0表示失败,1表示成功。
四、命令别名
# alias net="cat /etc/sysconfig/network-scripts/ifcfg-eth0"
# source /etc/bash 修改后重读配置文件有效
# \rm /etc/fstab 不会执行alias里面的命令,直接执行原命令删除文件
/etc/bashrc 此配置文件对全局有效
~/.bashrc 此配置文件只对当前用户有效
五、文件名通配机制
*表示匹配任意长度任意字符
?表示匹配任意单个字符
[ ]表示匹配某种类型单个字母
[0-9]匹配任意单个数字如:a3b
[a-z]匹配任意单个字母如:abb
[nmd]匹配n,m.d的字母
六、快捷键
Ctrl + u 向左删除
Ctrl + k 向右删除
七、IO重定向
输出设备:文件、显示器(默认)
输入设备:文件、键盘(默认)
# set -C 禁止使用 > 覆盖重定向
# set +C 允许使用 > 覆盖重定向
2>只能覆盖重定向错误信息
2>>只能追加重定向错误信息
# cat /etc/ >> /ect/etctrue 2>> /etc/etcfault 正确追加到 /ect/etctrue,错追加到/etc/etcfault
# cat /etc &>> /etc/etctmp无论对错都追加到此Z