扣丁学堂Linux培训简述Shell中的命令别名、命令历史和命令替换的方法

2019-04-22 15:12:25 1407浏览

本篇文章扣丁学堂Linux培训小编给喜欢Linux开发技术的小伙伴们分享一下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 中执行的命令。


想要了解更多关于Linux开发方面内容的小伙伴,请关注扣丁学堂Linux培训官网、微信等平台,扣丁学堂IT职业在线学习教育有专业的Linux讲师为您指导,此外扣丁学堂老师精心推出的Linux视频教程定能让你快速掌握Linux从入门到精通开发实战技能。扣丁学堂Linux技术交流群:422345477。


                          【扫码进入HTML5VIP免费公开课】  


     【关注微信公众号获取更多学习资料】        【扫码进入HTML5前端开发VIP免费公开课】  


    


查看更多关于“Linux培训资讯”的相关文章>>

标签: linux系统入门学习 linux培训 linux视频教程 linux基础教程 linux在线视频 linux在线学习 linux从入门到精通 linux开发环境包 linux系统 linux开发教程

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号