『忘了再学』Shell基础 — 4、Bash基本功能(history命令)
2022-03-28 18:21
871 查看
[toc]
在Linux系统中默认的Shell就是
Bourne-AgainShell(简称
Bash),所以我们今天来掌握
Bash的一些基本用法。
1、history历史命令
(1)历史命令的查看
在终端执行
history命令,就会显示出在系统当中已经执行过的命令。
[root@localhost ~] # history [选项] [历史命令保存文件]
选项:
-c
:清空历史命令。-w
:把缓存中的历史命令写入历史命令保存文件。如果不手工指定历史命令保存文件,则放入默认的历史命令保存文件~/.bash_history
中。
(2)history
用法说明
1)直接执行
history命令,查看历史命令。
2)
-w选项的用法。
我们使用
history命令查看的历史命令,和
~/.bash_history文件中保存的历史命令是不同的。那是因为当前登陆的系统中,所操作的命令并没有直接写入
~/.bash_history文件,而是保存在缓存当中的。需要等当前用户注销之后,缓存中的命令才会写入
~/.bash_history文件。如果我们需要把内存中的命令直接写入
~/.bash_history文件,而不等用户注销时再写入,就需要使用
-w选项了。
命令如下:把缓存中的历史命令直接写入
~/.bash_history文件。
[root@localhost ~] # history -w
这时再去查询
~/.bash_history文件,历史命令文件中的内容,就和
history命令查询的一致了。
注意:历史命令最终是要写入到文件中的,所以说历史命令是永久生效的,重启也不会消失的。
3)
~/.bash_history文件是在用户的家目录下,说明
~/.bash_history文件只保存当前用户执行过的命令。也就是
root用户的命令历史,保存在
root目录下的
.bash_history文件中,
user1用户的命令历史,保存在
user1目录下的
.bash_history文件中。
2、设置命令历史记录的条数
我们Linux系统中,默认记录的历史命令条数是1000条。
这个属性的配置内容,是在
/etc/profile文件中。
执行:
[root@localhost ~] # vim /etc/profile
文件中的
HISTSIZE属性,如下图:
说明:
- 我们之前说过
/etc/profile文件的,在说umask值的时候。 /etc/profile文件里存放的是系统的环境变量,对所有用户都有效果,要对其更改的话,必须要在root用户权限下才能进行。- 我们可以使用
env命令来查看系统当前所有的环境变量,set命令可以查看所有本地定义的Shell变量。- 我们在
/etc/profile里面修改的话,是对所有用户起作用,所以一般所有用户都要使用的环境变量,就应该放在该文件里面,这样系统运行之后该文件里面的环境变量都会生效。
这个历史命令记录条数一般建议多设置些。因为这个历史记录是存在硬盘上的,不会被加载到内存中,多些历史命令的记录,有很多时候可以方便我们操作。
3、清空历史命令
如果需要清空历史命令,只需要执行:
[root@localhost ~] # history -c
执行上边命令,会把当前系统中内存缓冲区中的历史命令,和当前用户的
~/.bash_history文件中的历史命令,一起删除。
一般我们不建议使用该命令,因为使用历史命令是我们在使用Linux系统时常用的操作,方便操作的同时,还可以判断你之前对系统做过什么操作。只有在极特殊的情况下,才执行清空历史命令的操作,如给MySQL设置完密码之后,建议清空历史命令。因为MySQL设置密码的命令,是明文显示的。
4、历史命令的调用
如果想要使用原先的历史命令有以下几种方法:
- 使用
上、下箭头
调用 以前的历史命令。 - 使用
!n
重复执行第n条历史命令。 前边的数字就是n
。 - 使用
!!
重复执行上一条命令。 (还不如用上箭头直观一点。) - 使用
!字串
重复执行最后一条,以该字串开头的命令。 (数字越大,越靠后。) - 使用
!$
重复上一条命令的最后一个参数。 只能打印参数,一般不能够独立执行,Shell脚本中会用到。
5、命令与文件的补全
Tab键可以对命令和文件名进行补全。
这里就是告诉你,
Tab键补全是Shell的功能。
相关文章推荐
- Shell脚本基础之Bash的基本功能——历史命令(history)、命令和文件补全(Tab键)、命令别名(alias)、常用快捷键,输入输出重定向、多命令顺序执行、管道符、通配符与其他特殊符号
- shell基础-bash基本功能-多命令顺序执行与管道符
- shell基础-Bash基本功能---历史命令、补全、别名和快捷键
- Shell基础-Bash基本功能-多命令顺序执行与管道符
- Linux学习日记 —— 10.3.4 Shell基础-Bash基本功能-多命令顺序执行与管道符
- 『忘了再学』Shell基础 — 5、Bash基本功能(命令的别名和常用快捷键)
- Shell基础-Bash基本功能-历史命令与补全
- shell基础-bash基本功能-历史命令与补全
- Shell基础-Bash基本功能-多命令顺序执行与管道符
- shell基础-bash基本功能-输入输出重定向
- [Shell]Bash基本功能:历史命令 & 别名 & Bash快捷键
- 第9章 Shell基础(2)_Bash基本功能
- Shell基础之Bash的基本功能
- Shell基础-Bash基本功能-输入输出重定向
- shell基础-bash基本功能-通配符和其他特殊符号
- Linux系统Shell基础之Bash基本功能(二)
- Linux学习 -- Shell基础 -- Bash基本功能
- linux笔记:shell基础和bash的基本功能
- Linux学习日记 —— 10.3.5 Shell基础-Bash基本功能-通配符和其他特殊符号
- Shell基础-Bash基本功能-别名与快捷键