本文共 2061 字,大约阅读时间需要 6 分钟。
8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向
shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环(if for whell)每个用户都可以有自己特定的shellCentOS7默认shell为bash(Bourne Agin Shell)还有zsh、ksh等yum list |grep zsh 搜索yum 中是否有zsh
# yum list |grep ksh
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开头的命令(从下往上找)
补全
1. tab键
不仅可以补全命令 也可以补全路径(命令开头 如果多的话要按两下,)2.# yum install -y bash-completion 参数补全需要安装bash-completion 安装完包之后 还需要重启一下电脑 参数补全才可以生效reboot 重启
别名
1.alias 给命令重新起个名字
alias 别名='原本命令' 给命令更改别名
# unalias 别名 取消自定义的别名alias 查询alias 用法
2.配置别名的文件在什么地方 第一个在用户的家目录下 # .bashrc 还有一些是在 /etc/profile.d/
1.# ls *.txt 星号用来匹配零个或多个任意字符2.# ls ?. txt 问号表示一个字符3.# ls [0-3].txt -------- [ ]里面表示范围,只要是在这个范围内都列出来4.# ls {1,2,,3}.txt ------------{ }这个也表示范围,不过里面的数字或者是字母要用 ,隔开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>>错误追加重定向&> 正确和错误wc -l < 1.txt 把1.txt的内容输入到wc-l这条命令里面去
右边是文件 左边只能是命令
转载于:https://blog.51cto.com/13650048/2107040