Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习笔记(二十三)shell介绍history命令历史命令补全和别名通配符相关的知识,希望对你有一定的参考价值。
一、shell介绍
- shell是一个命令解释器,提供用户和机器之间的交互
- 支持特定语法,比如逻辑判断、循环
- 每个用户都可以有自己特定的shell
- CentOS7默认shell为bash(Bourne Agin Shell)
- 还有zsh、ksh等、
二、history - history命令
是最近输入过的命令历史,当前输入的命令会放在内存当中,只有每次正常退出终端,命令历史才会写入history文件中 - .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命令历史命令补全和别名通配符的主要内容,如果未能解决你的问题,请参考以下文章