命令别名
可以使用 alias 命令查看和修改命令别名。
下面是一个查看系统中命令别名的示例:
$ alias alias alert='notify-send --urgency=low -i "$([ $" "$(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提示符后按 <Up>
和 <Down>
(上箭头和下箭头)按键,可以翻出上一条和下一条命令,这是命令历史的功能。
使用 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
中执行的命令。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
无争山庄资源网 Copyright www.whwtcm.com
暂无“Shell中的命令别名、命令历史和命令替换的方法”评论...
更新日志
2025年01月06日
2025年01月06日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]