标签: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上使用。
我们敲过的命令,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条命令。
最开始阿铭就介绍过这个功能了,记得吗?它就是按tab键,它可以帮你补全一个指令,也可以帮你补全一个路径或者一个文件名。连续按两次tab键,系统则会把所有的指令或者文件名都列出来。
如果需要参数也能补齐,则需要安装rpm包
# yum install -y bash-completion
# reboot //重启系统生效
安装好之后,我们可以测试下,re开头的参数:
在bash下,可以使用 * 来匹配零个或多个字符,而用 ? 匹配一个字符。
实例:
输入重定向用于改变命令的输入,输出重定向用于改变命令的输出。输出重定向更为常用,它经常用于命令的结果输入到文件中,而不是屏幕上。
输入重定向的命令<,
输出重定向的命令是>,
错误重定向命令2>,
追加重定向命令>>。
实例:
1、输出重定向(覆盖原来的)和追加重定向:
2、错误重定向:
3、输出和错误同时重定向:
3、输入重定向:
shell介绍,命令历史记录,命令和文件名自动补齐;通配符和输入\输出重定向
标签:linux 否则 文件 接收 命令 直接 boot ext 显示
原文地址:http://blog.51cto.com/3069201/2059400