命令历史与别名

简介:

   当用户登录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,如需转载请自行联系原作者



相关文章
|
Linux Shell
一分钟学会变量,别名,历史命令,一行上执行两个命令,引号的使用
变量简单说就是让某一个特定字符串代表不固定的内容,变量可分为两类:环境变量(全局变量)和普通变量(局部变量
76 0
|
Oracle 关系型数据库 数据库
在SQLPlus中实现上下键翻查历史命令的功能
Oracle当然是世界上最强大的数据库,但它的客户端sqlplus真的不友好,现在还不能支持上下方向键翻查历史命令,这里介绍使用readline和rlwrap实现这个功能的方法。
107 0
|
SQL 关系型数据库 MySQL
从“表”中删除为“别名” ...在“别名列”中...为什么语法错误?
从“表”中删除为“别名” ...在“别名列”中...为什么语法错误?
Linux Ctrl r 快速查询历史命令并查找符合条件的多条命令
Linux Ctrl r 快速查询历史命令并查找符合条件的多条命令
|
PHP 数据库
Laravel模型更改时间戳列名称
Laravel模型更改时间戳列名称
125 0
|
Linux
【Linux】命令别名与历史命令(alise\history)
【Linux】命令别名与历史命令(alise\history)
280 0
【Linux】命令别名与历史命令(alise\history)
|
安全 Linux
5 种方法重复执行历史命令
5 种方法重复执行历史命令
240 0

热门文章

最新文章