history 命令用于查询已执行的历史命令。
常用参数:
n :数字,表示列出最近n行命令
-c :将目前的shell中的所有的history内容删除
-a:将目前新增的history命令新增入histfile中,若没有加hisfiles,则默认写入~/.bash_history
-r:将histfiles的内容读到目前这个shell 的history记忆中。
-w:将目前的history记忆内容写入histfiles中。
查看所有history记忆中的命令:
1
2
3
4
5
6
7
8
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# history
1
df
-h
2 reboot
3
ssh
esggy-qa-n013
4 yum
install
nfs-utils
5 yum
install
parted
6 yum
install
nfs-utils
…
|
查看history的最后6条命令:
1
2
3
4
5
6
7
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# history 6
395
su
- trafodion
396 hive
397
history
398
history
n
399
history
3
400
history
6
|
将目前的已执行的命令添加到histfile中,默认为~/.bash_history并查看文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# history -w
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# cat ~/.bash_history | tail -n 10
clear
hive
su
- trafodion
hive
history
history
n
history
3
history
6
echo
$HISTORY
history
-w
|
将新增的history命令加到histfile中,并查看文件内容:
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# history -a
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# cat ~/.bash_history | tail -n 10
history
n
history
3
history
6
echo
$HISTORY
history
-w
echo
$HISTORY
cat
~/.bash_history
cat
~/.bash_history |
tail
10
cat
~/.bash_history |
tail
-n 10
history
-a
|
查看$HISTSIZE变量大小(~/.bash_history文件能记录的命令数量由$HISTSIZE决定):
1
2
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# echo $HISTSIZE
1000
|
使用!执行命令:
! 命令行号 (执行history中指定行号的命令)
! 字符串 (执行最近以指定字符串开头的命令)
!! (执行上一条命令)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# history 5
406
cat
~/.bash_history |
tail
-n 10
407
history
-a
408
cat
~/.bash_history |
tail
-n 10
409
echo
$HISTSIZE
410
history
5
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# !410
history
5
406
cat
~/.bash_history |
tail
-n 10
407
history
-a
408
cat
~/.bash_history |
tail
-n 10
409
echo
$HISTSIZE
410
history
5
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# !!
history
5
406
cat
~/.bash_history |
tail
-n 10
407
history
-a
408
cat
~/.bash_history |
tail
-n 10
409
echo
$HISTSIZE
410
history
5
[root@abcdefghijklmnopqrstuvwxyzabcdefghijkl123456789012~]
# !ec
echo
$HISTSIZE
1000
|
本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1963004,如需转载请自行联系原作者