shell命令历史 & 命令补全+别名

来源:互联网 发布:淘宝买东西寄错地址 编辑:程序博客网 时间:2024/05/21 10:28

8.1 shell介绍
shell是一个命令解释器,提供用户和机器之间的交互,每个用户都有特定的shell。centos7默认shell为bash(Bourne Agin Shell)
8.2 命令历史
history ,记录终端中所敲过的命令历史记录。终端如果非正常退出就会保存记录不全,默认最大保存1000条记录。可以修改配置文件改变记录条数和增加时间显示。

history #查看之前的命令–存在家目录/.bash_history。退出终端才能保存到文件中
echo $SHITSIZE #查看最大多少条,最大可存1k条
history -c #清空命令历史,不能清空存命令的那个文件。只清空内存中的历史
/etc/profile #配置文件中可以修改history 1k的值
source /etc/profile #修改改完以后生效配置文件信息
HISTTIMEFORMAT=”%Y/%m/%d %H:%M:%S” #修改存入时间,永久生效在配置文件中加入此行就可以了
chattr +a ~/.bash_history #永久保存命令历史,防删除。忽略最大行的限制
!! #两个!执行最后一条命令
!761 #执行history中第761条命令
!echo #倒着向上找最后一条以echo开头的命令

8.3 命令补全和别名
tab键,敲一下补全唯一一个。敲两下。非一个选项的时候列表显示,
centos7可以补全参数。7以前不能、需要安装一个包,重启后生效:yum install -y bash-completion
alias #查看所有别名,配置文件在/etc/profile.d/colorls.sh等文件配置
alias restartnet=’systemctl restart network.service’ #创建别名后可以直接用tab补全
unalias restartnet #取消别名

8.4 通配符
• ls .txt #代表所有
• ls ?.txt #?代表一个任意字符,包括数字字母
• ls [0-9].txt #[0-9]代表0-9之间的任意数字,[123]代表123中的任意一个,也可以用[a-z]
• ls {1,2}.txt #{1,2} 代表1或2中的任意一个

8.5 输入输出重定向
• cat 1.txt >2.txt #>代表把1.txt的内容覆盖到2.txt
• cat 1.txt >> 2.txt #>>代表追加重定向
• ls aaa.txt 2>err #2>代表错误的输出,重定向到err
• ls aaa.txt 2>>err #2>>代表追加重定向

•>+2> == &> 结合了正确和错误,重定向
ls [12].txt aaa.txt &> a.txt
cat a.txt
ls:无法访问aaa.txt:没有那个文件或目录
1.txt
2.txt

ls [12].txt aaa.txt > 1.txt 2> a.txt #同时输出正确的和错误的
cat 1.txt
1.txt
2.txt
cat a.txt
ls:无法访问aaa.txt:没有那个文件或目录

• wc -l < 1.txt #查看1.txt文件内容的行数
• command >1.txt 2>&1

原创粉丝点击