Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符相关的知识,希望对你有一定的参考价值。

一、shell介绍

  1. shell是一个命令解释器,提供用户和机器之间的交互
  2. 支持特定语法,比如逻辑判断、循环
  3. 每个用户都可以有自己特定的shell
  4. CentOS7默认shell为bash(Bourne Agin Shell)
  5. 还有zsh、ksh等、
    二、history
  6. history命令
    技术分享图片
    是最近输入过的命令历史,当前输入的命令会放在内存当中,只有每次正常退出终端,命令历史才会写入history文件中
  7. .bash_history
    命令历史存放的文件
    echo $HISTSIZE

    技术分享图片
    命令历史最大存放1000条
    这个设置可以在
    /etc/profile中修改

    vim etc/profile

    技术分享图片
    如果想让历史表中显示历史命令的时间可以用以下命令
    HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
    单独执行时只在当前命令窗口生效
    技术分享图片
    技术分享图片
    想要永久生效的话就将命令加入/etc/profile 环境变量

    vim /etc/profile
    source !$   //使环境变量生效

    技术分享图片
    技术分享图片
    如果希望history文件永久保存

    chattr +a ~/.bash_history

    这时候文件只能追加不能删除,无视1000条限制

    !!

    执行上一条命令

    !n

    执行历史命令中第n条命令

    !word

    执行命令历史中最后一条Word命令,这里Word可以更换为任意命令

三、命令补全和别名

tab键,敲一下,敲两下
敲一下会自动补全命令。如果有多个开头相同的命令,则需要敲两下从列表中选择
参数补全,安装bash-completion

 yum install -y bash-completion

安装后需要重启生效

alias别名给命令重新起个名字
alias restartnet=‘systemctl restart network.service‘
技术分享图片
各用户都有自己配置别名的文件 ~/.bashrc
这个文件有很少的几个默认alias
/etc/profile.d/ 目录下存放一些其他的别名
ls /etc/profile.d/
技术分享图片
自定义的alias放到~/.bashrc
取消别名用unalias
四、通配符

ls *.txt  //列出所有的txt文件
 ls ?.txt //列出文件名是一个字符的txt文件
 ls [0-9].txt  //列出文件名是1-9的txt文件
 ls [13].txt  //列出文件名是1或者3的txt文件
 ls {1,2}.txt  //列出文件名为1的txt文件和文件名为2.txt文件,如果有其中一个不存在,会提示

技术分享图片
技术分享图片
五、输入输出重定向

cat 1.txt >2.txt  //将前面命令的输出输入到后面的文件中(覆盖2.txt内容)
 cat 1.txt >> 2.txt  //将前面命令的输出追加输入到后面的文件中(在2.txt中追加)
 ls aaa.txt 2>err    //将前面命令的错误信息输入到后面的文件(覆盖)
 ls aaa.txt 2>>err   //将前面命令的错误信息追加输入到后面的文件(不覆盖)
 ls {1,6}.txt &>999.txt  //将正确和错误信息都输入到后面文件中
 ls {1,6}.txt >999.txt 2>66.txt //将正确信息输入999.txt,错误信息输入66.txt
 wc -l < 1.txt   //输出右边文件的文件行数(左边需要是命令,不可以是文件)

技术分享图片

以上是关于Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符的主要内容,如果未能解决你的问题,请参考以下文章

学习二十三

2018-1-10 Linux学习笔记

Linux学习(二十三)正则表达式grep/egrep

linux基础学习第二十三天之opensshsudo

(转)D3D11游戏编程学习笔记二十三:Cube Mapping进阶之动态环境图

Python学习笔记(二十三)文件读写