如何在Shell中命令别名、命令历史-创新互联

这篇文章将为大家详细讲解有关如何在Shell中命令别名、命令历史,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联公司是一家专业提供番禺企业网站建设,专注与网站建设、网站制作HTML5、小程序制作等业务。10年已为番禺众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

命令别名


可以使用 alias 命令查看和修改命令别名。

下面是一个查看系统中命令别名的示例:

$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

可以看到, ls ls --color=auto的别名,当键入 ls并运行时,实际上运行的是ls --color=auto命令。

用户也可以自行创建或修改别名:

$ alias dt='date -d today +"%Y-%m-%d %H:%M:%S"'
$ dt
2018-06-30 12:15:37

上面的例子将dt作为date -d today +"%Y-%m-%d %H:%M:%S"的别名,当运行前者时,实际上运行的是后者。

用户还可以删除别名:

$ unalias dt

上面的命令删除了 dt 别名。

命令历史


在Shell提示符后按 (上箭头和下箭头)按键,可以翻出上一条和下一条命令,这是命令历史的功能。

使用 history 查看命令历史:

$ history

# 省略

634 ls
635 date
636 history

每一条命令都被赋予一个编号,使用 !编号 即可运行该编号的命令:

$ !635
date
Sat Jun 30 12:21:11 CST 2018

!! 可以运行上一条命令:

$ !!
date
Sat Jun 30 12:21:42 CST 2018

还可以对历史命令进行部分替换并执行,例如使用 history 查看时有一条这样的命令:

640 ls ~

使用 !number:s/pattern/replacement/将编号为 number的命令中的pattern替换为replacement,比如将上面命令中的 ~替换为.,即执行 ls . ,可使用下面的命令:

$ !640:s/~/./

命令替换


使用 ` 完成将命令嵌入到另一条命令:

$ echo "Time is `date`"
Time is Sat Jun 30 12:31:28 CST 2018

事实上,Shell会首先执行date命令,得到Sat Jun 30 12:31:28 CST 2018,之后再执行 echo "Time is Sat Jun 30 12:31:28 CST 2018",这样就实现了将date嵌入到echo中执行的命令。

关于如何在Shell中命令别名、命令历史就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站标题:如何在Shell中命令别名、命令历史-创新互联
标题URL:http://scyanting.com/article/ccidhh.html