您的位置:首页 > 运维架构 > Linux

2018.1.10 5周3次课

2018-01-10 17:27 162 查看
五周第三次课(1月10日)
8.1 shell介绍
8.2 命令历史
8.3 命令补全和别名
8.4 通配符
8.5 输入输出重定向
8.1 shell介绍
shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具。实际上,在shell和计算机硬件之间还有一层东西一一系统内核。如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑。至于shell,把它比作人的五官似乎更贴切些。言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。
shell是一个命令解释器,提供用户和机器之间的交互

支持特定语法,比如逻辑判断、循环

每个用户都可以有自己特定的shell

CentOS7默认shell为bash(Bourne Agin Shell)

还有zsh、ksh等

8.2 命令历史
我们执行过的命令Linux都会记录,预设可以记录1000条历史命令。这些命令保存在用户的家目录的 .bash history文件中。但需要注意的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至 .bash _history文件中。
history命令

.bash_history

最大1000条





清空当前内存中的历史命令纪录,用命令【history -c】
变量HISTSIZE



修改变量HISTSIZE在“/etc/profile”中修改





使修改后生效



HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "

记录历史命令运行的日期和时间



要使命令生效,编辑“/etc/profile”文件







只能追加,不能删除 chattr +a ~/.bash_history

!!:连续两个!表示执行上一条指令



!n:这里的n是数字,表示执行命令历史中的第n条指令。





!字符串(字符串大于等于1):例如!pw表示执行命令历史中最近一次以pw开头的命令。





8.3 命令补全和别名
tab键,敲一下,敲两下

按tab键可以帮我们补全一个指令、一个路径或者一个文件名。连续按两次tab键,系统则会把所有的命令或者文件名都列出来。
参数补全,安装bash-completion

yum install -y bash-completion
安装完成后需要重启reboot后命令才能生效
alias别名给命令重新起个名字

alias,它也是bash所特有的功能之一。 我们可以通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令。直接执行alias命令,会看到目前系统预设的别名。
alias在哪里定义的

用户家目录下: ~/.bashrc。自定义的alias放到 ~/.bashrc





“/etc/profile.d/“里



如果不想用了,还可以使用unalias命令解除别名功能。

unalias [别名]
8.4 通配符
在bash下,可以使用*来匹配零个或多个字符,不分字符也不分几个。



用?匹配一个字符和一个数字。



用[ ]来匹配,[ ]里表示的是范围,里面取值只取1个







用{ }来匹配,{ }里面的取值范围要加,



8.5 输入输出重定向
输人重定向用于改变命令的输人,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输人到文件中,而不是屏幕上。
输人重定向的命令: <



输出重定向的命令: >
追加重定向命令: >>
错误重定向命令:2>
追加错误重定向命令:2>>



错误和正常的输出信息重定向命令:&>(写在同一个文件里)



追加错误和正常的输出信息重定向命令:&>>(写在同一个文件里)



既有正确的输出,又有错误的输出。(写在不同的个文件里)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 学习