当用户登录linux操作系统时,就进入了当前用户的shell。shell是一个命令解释器,它提供了用户与机器之间的交互。它支持特定语法,比如逻辑判断、循环等。每个用户都可以有自己特定的shell。CentOS 7默认shell为bash。除了bash之外,还有zsh、ksh等shell类型。
在shell中,用户输入命令控制操作系统。在所有可执行命令中,history和alias比较特殊。history命令是用来查看过往输入的命令历史。而alias命令是用来定义命令的别名的。这两者都是为了用户使用方便而存在的命令。
1、history
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
[root@server01 ~]
# history ##查看内存中的命令历史
1
logout
2
mkdir
/root/
.
ssh
3
chmod
700
/root/
.
ssh
......
84 yum list |
grep
'dev'
|
more
85
history
[root@server01 ~]
# cat /root/.bash_history ##查看文件中的命令历史
logout
mkdir
/root/
.
ssh
chmod
700
/root/
.
ssh
......
yum list |
grep
'dev'
|
more
[root@server01 ~]
# echo $HISTSIZE ##查看命令历史最大条目数
1000
[root@server01 ~]
# cat /etc/profile | grep HISTSIZE= ##配置文件中定义的最大条目数
HISTSIZE=1000
[root@server01 ~]
# HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S" ##命令历史显示格式
[root@server01 ~]
# history
1 2017
/06/27
04:46:01logout
2 2017
/06/27
04:46:01mkdir
/root/
.
ssh
3 2017
/06/27
04:46:01chmod 700
/root/
.
ssh
......
91 2017
/06/27
04:51:54HISTTIMEFORMAT=
"%Y/%m/%d %H:%M:%S"
92 2017
/06/27
04:52:02history
[root@server01 ~]
# chattr +a ~/.bash_history ##永久保存
[root@server01 ~]
# !! ##执行上一条命令
chattr +a ~/.bash_history
[root@server01 ~]
# !90 ##执行第90条命令
cat
/etc/profile
|
grep
HISTSIZE=
HISTSIZE=1000
[root@server01 ~]
# !cat ##执行最近一条cat命令
cat
/etc/profile
|
grep
HISTSIZE=
HISTSIZE=1000
|
2、alias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
[root@server01 ~]
# alias ##查看命令别名
alias
cp
=
'cp -i'
alias
egrep
=
'egrep --color=auto'
alias
fgrep
=
'fgrep --color=auto'
alias
grep
=
'grep --color=auto'
alias
l.=
'ls -d .* --color=auto'
alias
ll=
'ls -l --color=auto'
alias
ls
=
'ls --color=auto'
alias
mv
=
'mv -i'
alias
rm
=
'rm -i'
alias
which
=
'alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@server01 ~]
# alias wv='w -V' ##定义别名
[root@server01 ~]
# wv
w from procps-ng 3.3.10
[root@server01 ~]
# cat ~/.bashrc | grep alias ##别名配置文件,自定义的alias需要放入
# User specific aliases and functions
alias
rm
=
'rm -i'
alias
cp
=
'cp -i'
alias
mv
=
'mv -i'
[root@server01 ~]
# ls /etc/profile.d/ ##用户环境变量
256term.csh colorgrep.csh colorls.csh lang.csh
less
.csh which2.csh
256term.sh colorgrep.sh colorls.sh lang.sh
less
.sh which2.sh
|
除此以外,利用tab键补全命令的方式在实际操作中也很常见。如果需要补全参数,需要安装bash-completion软件包。
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/1942862,如需转载请自行联系原作者