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

8.4 通配符

五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
1.# ls *.txt 星号用来匹配零个或多个任意字符
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
2.# ls ?. txt 问号表示一个字符
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
3.# ls [0-3].txt -------- [ ]里面表示范围,只要是在这个范围内都列出来
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
4.# ls {1,2,,3}.txt ------------{ }这个也表示范围,不过里面的数字或者是字母要用 ,隔开
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

8.5 输入输出重定向

> 输出 <输入

cat 1.txt >2.txt 把1.txt的内容重定向到2.txt里面 ( 2.txt里面的文件就会删除掉 重新写入1.txt的内容 ,1.txt内容不变)
cat 1.txt >>2.txt 把1.txt的内容追加到2.txt里面 ( 2.txt里面的文件不会删除并且追加写入1.txt的内容 ,1.txt内容不变)
2> 错误重定向
2>>错误追加重定向
&> 正确和错误
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.
五周第三次课 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.

wc -l < 1.txt 把1.txt的内容输入到wc-l这条命令里面去

右边是文件   左边只能是命令

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章