摘要:8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
一 shell介绍
查看系统shell包
二 命令历史
所有使用过的命令会由一个文件保存,文件路径为/root/.bash_history 可以使用向上的方向键查看
1.历史命令存放位置
# /root/.bash_history //存放在用户家目录下的.bash_history文件内
这个文件内默认最大可以存1000条命令,可以使用命令# echo $HISTSIZE查看
2.清空内存中的历史命令
# history -c //只能清空内存中历史命令,但不能清空/root/.bash_history文件内的命令历史
同时需要注意的是,登录后所有使用过的命令是保存在内存中的,只有登出终端后才会将这些命令写入到.bash_history文件内
3.定义环境变量HISTSIZE
修改环境变量HISTSIZE需要在/etc/profile文件中修改
修改为5000后,不会立即生效
要想生效,需要先执行命令# source /etc/profile或者重新登入终端
4. 记录命令使用时间
设置环境变量 # HISTTIMEFORMAT="%Y/%m%d %H:%M:%S" //临时生效,
打开新的终端后,环境变量HISTTIMEFORMAT为空
若要永久生效,需要编辑/etc/profile文件配置环境变量,加入以下一行
保存文件后,再# source /etc/profile使配置永久生效
5.让命令历史永久保存
# chattr +a ~/.bash_history //给记录文件加上只能追加内容不能删除内容的a权限
6.执行上一条最近使用过的命令
# !!
7.重复执行指定条数的命令
# !n
8.执行倒数第一个使用过的命令
#![命令]
三 命令补全和别名
1.tab键
可以补全命令和路径,若开头一样的命令或路径只有一个,则按一下tab键就自动补全,若有多个,则需按两下tab键提示所有开头一样的命令
2.参数补全
CentOS7支持命令的参数补全,但需要安装一个包 bash-completion并重启
3.别名
适用于命令比较长
从上图中可以看到系统默认的别名
4.别名配置文件
# ~/.bashrc //自定义的别名放在这个文件内
其他别名放在/etc/profile.d/文件夹下面的文件内
5.取消别名
# unalias [别名]
四 通配符
1.通配符*
*可以适用各种场景
2.通配符?
适用于通配一个任意的字符,不论数字或字母
3.通配范围[ - ]
从上图可以看出,只要满足方括号[1-9]中1到9的任意一个数字,就算满足条件,且只取一位数
4.通配符{ , , }
括号内字符间的关系为或,只要满足其中一个条件就行
五 输入输出重定向
1.重定向>
将前面文件的输出内容输入到后面命令中
例如 # cat 1.txt >2.txt 会将2.txt清空后再将1.txt的内容写入到2.txt中
2.追加重定向>>
例如# cat 1.txt>>2.txt 会将1.txt的内容追加到2.txt中,2.txt原来的内容不变
3.错误信息输出 2>
例如 # ls aaa.txt 2> err 会将前面的命令ls aaa.txt产生的错误信息写入到err文件中
4.错误追加重定向2>>
5.正确+错误重定向
1)将正确和错误信息写到同一个文件
2)将正确和错误信息分开写到两个文件中
6.正确+错误追加重定向
7.输入重定向<
输入重定向只能输入到一个命令中,不能输入到文件中
网友评论