Linux-shell基础

什么是shell

shell是一个命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环
每个用户都可以有自己特定的shell
CentOS7默认shell为bash(全称:Bourne Agin Shell)
还有zsh、ksh等

查看是否有安装包:yum list | grep zsh

命令历史

用户敲命令存放文件:用户家目录/.bash_history 例:/root/bash_history
history命令 最大存放1000条
变量HISTSIZE(查看变量:echo $HISTSIZE,系统内置的环境变量)
history -c 可以清空history命令查出来的历史命令,但不能删除.bash_history中的记录
只有退出终端的时候才会保存到.bash_history文件中

history显示命令历史最大修改:/etc/profile中修改
若想使修改生效,命令:source /etc/profile

记录命令执行时间(临时):HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
若想永久都显示,可以配置环境变量:vim /etc/profile 把HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "和HISTSIZE=1000放在一起
Linux-shell基础

永久保存(.bash_history文件只能被追加不能被删除) chattr +a ~/.bash_history
!! //执行最后一条命令
!n(n指的是数字) //执行history命令出来的第多少条命令
!word(例:!mkdir)

命令补全及别名

tab键,敲一下,敲两下 //补全
参数补全,安装bash-completion:yum install -y bash-completion 安装完成后需要重启终端生效

alias别名给命令重新起个名字(例:alias restartnet='systemctl restart network.service')
systemctl restart network.service是重启网络服务的命令

各用户都有自己配置别名的文件 ~/.bashrc
alias参数有两个存放位置ls /etc/profile.d/ 和 ~/.bashrc
自定义的alias放到~/.bashrc
取消自定义的别名:unalias 别名

通配符

ls .txt //表示通配 查出目录.txt的所有文档
ls ?.txt //表示显示前缀为一个字符的.txt文件
ls [0-9].txt //可以把前缀0-9范围的.txt文档都显示出来
ls [123].txt //可以把前缀为1、2、3的txt文档显示出来
ls {1,2}.txt //相当于ls [12].txt

未完,待续。。。

猜你喜欢

转载自blog.51cto.com/14079728/2334369