五周第三次课 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等

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

yum list |grep zsh 搜索yum 中是否有zsh

# yum list |grep ksh

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.


8.2 命令历史

shell的属性 特性

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
我们输入的命令可以用向上的方向键来查看历史命令 ,这些历史命令存储在用户的家目录下
1. # ls /root/.bash_history 历史命令保存在用户家目录的.bash_history文件中
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
2. # history 查看存储了多少命令

history -c 清空内存里面的命令历史 ,并不会删除配置文件.bash_history中的历史命令

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
这个文件里最大存储为1000条命令
1000条命令是由系统自带的环境变量决定的
3. # echo $HISTSIZE 环境变量HISTSIZE 决定了历史命令的保存数量
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
我们刚敲过的命令暂时是存在内存里面的,不会保存在历史命令文件中,只有退出终端后 才会保存在历史命令文件中


4.变量HISTSIZE 去哪里更改呢? 在 /etc/profile 中更改
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
HISTSIZE=1000
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
5. # source /etc/profile 更改数量之后需要运行这个命令才会使我们更改的配置文件生效
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
6. # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 定义格式 会记录日期和时间
Y--年份 m--月份 d--日期 H--小时 M--分钟 S--秒
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
如何更改命令格式的具体步骤哦~~~~
如果让记录时间和日期的历史命令生效需要把这个命令放在 ---- # vi /etc/profile 中然后------把 # HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S " 放在HISTSIZE 下----- # source /etc/profile---重新打开终端--# echo $ HISTTIMEFORMAT---# history
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

让命令历史永久保存 我们可以给它增加一个隐藏的权限
7. # chattr +a ~/.bash_history 永久保存
给.bash_history加一个a权限,不能删除,可以追加
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中
正常退出 输入 exit 或者 logout 可以正常退出 如果直接关闭服务器我们输出的历史命令是不会保存的
8.# !! :连续两个!表示执行上一条命令(输入的最后一个命令)

!n n代表数字 运行第n条命令

     # !echo: !echo表示执行命令历史中最近一次以echo开头的命令(从下往上找)

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.


8.3 命令补全和别名

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.


补全

1. tab键
不仅可以补全命令 也可以补全路径(命令开头 如果多的话要按两下,)
2.# yum install -y bash-completion 参数补全需要安装bash-completion
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
安装完包之后 还需要重启一下电脑 参数补全才可以生效

reboot 重启

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.


别名

1.alias 给命令重新起个名字

alias 别名='原本命令' 给命令更改别名

# unalias 别名  取消自定义的别名

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

alias 查询alias 用法

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
2.配置别名的文件在什么地方 第一个在用户的家目录下 # .bashrc 还有一些是在 /etc/profile.d/

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

猜你喜欢

转载自blog.51cto.com/13650048/2107040