您现在的位置是:网站首页> 编程资料编程资料

Shell中的命令别名、命令历史和命令替换的方法_linux shell_

2023-05-26 285人已围观

简介 Shell中的命令别名、命令历史和命令替换的方法_linux shell_

命令别名

可以使用 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 中执行的命令。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:

-六神源码网