8.1 shell介绍
shell脚本在日常的Linux系统管理中是必不可少的;
shell是系统跟计算机硬件交互时使用的中间介质。
shell是一个命令解释器,提供用户和机器之间的交互;
支持特定语法,比如逻辑判断、循环;
每个用户都可以由自己特定的shell;
centOS7默认shell为bash(Bourne Agin shell)
还有zhs、ksh等。
8.2 命令历史
history 查看历史命令/root/.bash_history 在这个文件下
echo $HISTSIZE 显示多少条执行的命令 系统内置的环境变量
history -c 清空history所展示的命令,但是不会删除配置文件bash_history里面的内容
我门执行的命令只有在退出的时候 还会保存到.bash_history里面
/etc/profile 中可以修改我们保存history保存的数量
如果修改的化 需要执行Source /ect/profile
如果向要保存执行命令的时间需要执行下个命令
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
如果想一直显示 需要编辑/etc/profile 文件,把上行命令输入进去
永久生效,chattr +a ~/.bash_history 添加权限只能追加,不能修改删除
!! 上一条命令
!n:这里的n是数字,表示执行命令历史中的第n条命令
!word 这里word指的是命令 可以查看执行上一条word 命令
8.3 命令补全和别名
按tab键可以帮我们补全一个指令、一个路径或者一个文件名。
连续按两次tab键,系统则会把所有的命令或者文件都列出来。
这对与CentOS7里面可以不全参数
systemctl restart network.service
命令systemctl 是可以不全的 但是后面红色标识的参数是不能不全这个时候需要
安装一个yum包,bash-completion,安装完后,需要重启一下才管用 reboot。
alias
alias目前系统预设的别名在:.bashrc 下
其他alias自定义别名,存放于 /etc/profile.d/下
unalias 删除别名
8.4 通配符
*来匹配零个或多个字符,用?匹配一个字符(*可以看作是sql like下的%,?相当与_)
ls [0-2].txt
8.5 输入输出重定向
概念:输入重定向用于改变命令的输入,输出重定向用于改变命令的输入。
输出重定向更为常用,它经常用于将命令的结果输入到文件中,而不是屏幕上。
输入重定向的命令是 <
输出重定向的命令是 >
还有错误重定向命令2>以及之u家重定向命令 >>
&> 无论是正确的还是错误的命令返回的结果都会输出到制定的文件 同样&>> 输出追加
我们也可以把正确的命令和错误的分开存储到不同的文件中 如下
ls 1.txt a.txt >>11.txt 2>>12.txt
< 输入,左边必须是命令 ,不可以文件到文件 <