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

Linux系统 shell基础(一)(编辑中)

时间:2018-01-10 14:12:11      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:用户   断开连接   shell基础   com   attr   tor   保存   执行   逻辑判断   

shell是操作系统中重要的应用,尤其对linux这种命令行模式的操作系统,shell具有重要的意义。

一、什么是shell

shell是一个命令解释器,提供用户和机器之间的交互。每次我们登录系统后,出现的界面就是shell,相当于我们在界面输入命令,shell把我们输入的内容转换成系统能够理解的内容传递给系统去执行。shell支持特定的语法,有点像c语言,支持逻辑判断,if while语句。
技术分享图片
这就是基本的shell。
centos7默认的shell是bash,系统中还支持其他类型的shell,比如zsh、ksh。

二、历史变量(HISTSIZE)介绍及其参数

centos7系统中当前用户输入的命令都储存在用户的家目录下,比如root用户命令就存在/root/.bash_history文件中。
技术分享图片
这个文件能储存的命令的数量由HISTSIZE变量决定。这个变量初始值为1000
技术分享图片
每次退出终端时,你敲过的命令就会保存在/root/.bash_history文件中。
HISTSIZE变量值的设置在/etc/profile中,这个文件中能够更改很多系统的参数,包括记录命令的数量,记录命令的格式等等。

1、修改系统记录的命令数量
在/etc/profile文件中操作,用vi或者vim打开,定位到46行(顺便复习下vim命令,46j)
技术分享图片
更改框中数值为你想要的数值,比如说5000
技术分享图片
保存退出,用source命令重载下下 系统的profile使改动生效
技术分享图片
看下结果,搞定!
技术分享图片

2、修改记录内容,记录每条命令执行的时间
分两种情况,一种是仅对当前终端生效,断开后失效。
命令:HISTTIMEFORMAT="%Y%m%d %H:%M:%S"
技术分享图片

永久在/root/.bash_history增加这个内容需要更改/etc/profile文件,操作如下:
跟前面一个例子一样,在/etc/profile文件中操作,用vi或者vim打开,定位到46行(顺便复习下vim命令,46j)
技术分享图片
在HISTSIZE行下加入“HISTTIMEFORMAT="%Y%m%d %H:%M:%S"”内容
技术分享图片
保存退出,用source命令重载下下 系统的profile使改动生效
技术分享图片
断开连接重登下系统,看结果,搞定!
技术分享图片

3、永久保存命令的历史纪录
只要给当前用户的家目录中的/root/.bash_history文件加上+a权限即可,即使你设定了HISTSIZE的大小,他仍然会记录你输入的所有命令。
命令:chattr +a ~/.bash_history
技术分享图片

4、执行history记录中最后一条命令
命令:!!(两个感叹号)
技术分享图片

5、运行第XX条命令
命令:!X(数字)
技术分享图片

6、执行历史纪录中最近的一条以条关键字开头的那条历史命令
比如我要执行最近一条init开头的命令,输入!init 他就会执行history记录中最近的那条。可以看到是init 0.
技术分享图片
技术分享图片

Linux系统 shell基础(一)(编辑中)

标签:用户   断开连接   shell基础   com   attr   tor   保存   执行   逻辑判断   

原文地址:http://blog.51cto.com/11934539/2059372

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