8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
8.1 shell介绍
shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环(if for whell)
每个用户都可以有自己特定的shell
CentOS7默认shell为bash(Bourne Agin Shell)
还有zsh、ksh等yum list |grep zsh 搜索yum 中是否有zsh
# yum list |grep ksh
8.2 命令历史
shell的属性 特性
我们输入的命令可以用向上的方向键来查看历史命令 ,这些历史命令存储在用户的家目录下
1. # ls /root/.bash_history 历史命令保存在用户家目录的.bash_history文件中
2. # history 查看存储了多少命令history -c 清空内存里面的命令历史 ,并不会删除配置文件.bash_history中的历史命令
这个文件里最大存储为1000条命令
1000条命令是由系统自带的环境变量决定的
3. # echo $HISTSIZE 环境变量HISTSIZE 决定了历史命令的保存数量
我们刚敲过的命令暂时是存在内存里面的,不会保存在历史命令文件中,只有退出终端后 才会保存在历史命令文件中
4.变量HISTSIZE 去哪里更改呢? 在 /etc/profile 中更改
HISTSIZE=1000
5. # source /etc/profile 更改数量之后需要运行这个命令才会使我们更改的配置文件生效
6. # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 定义格式 会记录日期和时间
Y--年份 m--月份 d--日期 H--小时 M--分钟 S--秒
如何更改命令格式的具体步骤哦~~~~
如果让记录时间和日期的历史命令生效需要把这个命令放在 ---- # vi /etc/profile 中然后------把 # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 放在HISTSIZE 下----- # source /etc/profile---重新打开终端--# echo $ HISTTIMEFORMAT---# history让命令历史永久保存 我们可以给它增加一个隐藏的权限
7. # chattr +a ~/.bash_history 永久保存
给.bash_history加一个a权限,不能删除,可以追加
只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中
正常退出 输入 exit 或者 logout 可以正常退出 如果直接关闭服务器我们输出的历史命令是不会保存的
8.# !! :连续两个!表示执行上一条命令(输入的最后一个命令)!n n代表数字 运行第n条命令
# !echo: !echo表示执行命令历史中最近一次以echo开头的命令(从下往上找)
8.3 命令补全和别名
补全
1. tab键
不仅可以补全命令 也可以补全路径(命令开头 如果多的话要按两下,)
2.# yum install -y bash-completion 参数补全需要安装bash-completion
安装完包之后 还需要重启一下电脑 参数补全才可以生效reboot 重启
别名
1.alias 给命令重新起个名字
alias 别名=‘原本命令‘ 给命令更改别名
# unalias 别名 取消自定义的别名
alias 查询alias 用法
2.配置别名的文件在什么地方 第一个在用户的家目录下 # .bashrc 还有一些是在 /etc/profile.d/
原文地址:http://blog.51cto.com/13650048/2107040