1.Shell介绍
2.命令历史
3.命令补全和别名
4.通配符
5.输入输出重定向
Shell介绍
什么是shell
-
shell是一个命令解释器,提供用户和机器之间的交互
-
支持特定语法,比如逻辑判断、循环
-
每个用户都可以有自己特定的shell
-
Centos7默认shell为bash(Bourne Agin Shell)
-
还有zsh、ksh等
yum list |grep zsh
yum list |grep ksh
命令历史
向上的方向键查看以前的命令
退出终端才会把内存中的历史命令保存到.bash_history中
-
history命令
history -c 清空内存中的命令历史
-
.bash_history 保存目录 /用户家目录/.bash_history 如/root/.bash_history
-
默认最大保存1000条
-
变量HISTSIZE echo $HISTSIZE
-
/etc/porfile中修改
source /etc/profile 使修改生效 或者推出终端重新进入
-
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" 记录命令是何时运行的,只在当前终端生效
永久生效,需要修改/etc/profile
-
永久保存 chattr +a ~/.bash_history 增加a权限,只能增加,不能删除。没有正常退出,命令保存不全
-
!! 执行最后一条命令
-
!n n是数字,运行第761条命令!761
-
!word !echo会在命令历史中倒这往上找第一条命令
命令补全和别名
-
tab键,敲一下,敲两下 多个开头的话,要按两下
-
参数补全,安装bash-completion
yum install -y bash-completion
重启生效
-
alias别名命令重新起个名字
alias restartnet='systemctl restart network.server'
alias 显示所有别名
-
各用户都有自己配置别名的文件 ~/.bashrc
-
ls /etc/profile.d/ 其它的alias
vim colorls.csh
-
自定义的alias放到~/.bashrc
-
unalias restartnet 取消自定义别名
通配符
-
ls *.txt *任意多个字符 ls *txt*
-
ls ?.txt ? 任意一个字符
-
ls [0-9].txt []任选其一
-
ls {1,2}.txt 当中任意一个
输入输出重定向
-
cat 1.txt >2.txt > 重写:把前一个命令输出输入到后一个文件中去, 会删除原文件内容
-
cat 1.txt >> 2.txt >>追加 把前一个命令输出输入到后一个文件中去, 不会删除原文件内容
-
ls aaa.txt 2>err 2> 错误重定向,错误的输出输入到一个文件中去
-
ls aaa.txt 2>>err 2>> 错误追加重定向
&> 正确错误重定向
&>> 追加
组合使用
-
wc -l < 1.txt 输入重定向, 把右边的文件内容输入一条命令中
查看 1.txt 行数
-
command >1.txt 2>&1