五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.相关的知识,希望对你有一定的参考价值。
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/
以上是关于五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.的主要内容,如果未能解决你的问题,请参考以下文章