码迷,mamicode.com
首页 > 系统相关 > 详细

shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向

时间:2018-01-10 14:49:17      阅读:276      评论:0      收藏:0      [点我收藏+]

标签:linux   否则   文件   接收   命令   直接   boot   ext   显示   

shell介绍

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
在计算机硬件之间还有一层东西——系统内核。如果把计算机硬件比作一个人的躯体,那系统内核就是人的大脑。至于shell,把它比作人的五官似乎更贴切些。言归正传,用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传给系统内核,接着内核再去支配计算机硬件去执行各种操作。
Bash (GNU Bourne-Again Shell) 是许多Linux发行版的默认Shell。事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用。

1、记录历史命令

我们敲过的命令,linux是会有记录的,预设可以记录1000条历史命令。这些命令保存在用户的家目录中的.bash_history文件中。有一点需要你知道的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bash_history文件中。

# history              //查看命令历史记录

技术分享图片

# cat ~/.bash_history             //命令历保存在这个文件

技术分享图片

# echo $HISTSIZE           //查看当前系统可以保存多少条命令历史
# vim /etc/profile       //修改HISTSIZE参数
# source /etc/profile         //使修改过的参数生效,否则无效

技术分享图片
技术分享图片

HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"            //设置参数显示命令执行时间

技术分享图片
但是这样执行之后只是临时显示时间,重启之后就失效了,如果需要永久显示,则需要将该参数加入到配置文件中。

# vi /etc/profile    //加入HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S"参数
# source /etc/profile   //是加入参数后的文件生效

技术分享图片

chattr +a /root/.bash_history  //加上隐藏权限a,使这个文件只能追加,无法删除修改,以永久保存命令历史记录

与历史命令相关的一个特殊字符‘!’,常用的三个:

!!:连续两个!表示执行上一条命令。
!字符串: 例如!cd表示执行命令历史中最近一次以cd开头的命令
!n:n表示数字,表示执行命令历史中的第n条命令。

2、命令和文件自动补齐

最开始阿铭就介绍过这个功能了,记得吗?它就是按tab键,它可以帮你补全一个指令,也可以帮你补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。
如果需要参数也能补齐,则需要安装rpm包

# yum install -y bash-completion
# reboot    //重启系统生效

安装好之后,我们可以测试下,re开头的参数:
技术分享图片

3、通配符

在bash下,可以使用 * 来匹配零个或多个字符,而用 ? 匹配一个字符。
实例:
技术分享图片

4、输入/输出重定向

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

输入重定向的命令<,
输出重定向的命令是>,
错误重定向命令2>,
追加重定向命令>>。

实例:
1、输出重定向(覆盖原来的)和追加重定向:
技术分享图片
2、错误重定向:
技术分享图片
3、输出和错误同时重定向:
技术分享图片
3、输入重定向:
技术分享图片

shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向

标签:linux   否则   文件   接收   命令   直接   boot   ext   显示   

原文地址:http://blog.51cto.com/3069201/2059400

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!