命令別名
可以使用 alias 命令查看和修改命令別名。
下面是一個查看系統(tǒng)中命令別名的示例:
$ 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
的別名,當(dāng)鍵入 ls
并運(yùn)行時,實(shí)際上運(yùn)行的是 ls --color=auto
命令。
用戶也可以自行創(chuàng)建或修改別名:
$ 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"
的別名,當(dāng)運(yùn)行前者時,實(shí)際上運(yùn)行的是后者。
用戶還可以刪除別名:
上面的命令刪除了 dt 別名。
命令歷史
在Shell提示符后按 Up>
和 Down>
(上箭頭和下箭頭)按鍵,可以翻出上一條和下一條命令,這是命令歷史的功能。
使用 history 查看命令歷史:
$ history
# 省略
634 ls
635 date
636 history
每一條命令都被賦予一個編號,使用 !編號
即可運(yùn)行該編號的命令:
$ !635
date
Sat Jun 30 12:21:11 CST 2018
!! 可以運(yùn)行上一條命令:
$ !!
date
Sat Jun 30 12:21:42 CST 2018
還可以對歷史命令進(jìn)行部分替換并執(zhí)行,例如使用 history 查看時有一條這樣的命令:
使用 !number:s/pattern/replacement/
將編號為 number
的命令中的 pattern
替換為 replacement
,比如將上面命令中的 ~
替換為 .
,即執(zhí)行 ls .
,可使用下面的命令:
命令替換
使用 ` 完成將命令嵌入到另一條命令:
$ echo "Time is `date`"
Time is Sat Jun 30 12:31:28 CST 2018
事實(shí)上,Shell會首先執(zhí)行 date
命令,得到 Sat Jun 30 12:31:28 CST 2018
,之后再執(zhí)行 echo "Time is Sat Jun 30 12:31:28 CST 2018"
,這樣就實(shí)現(xiàn)了將 date
嵌入到 echo
中執(zhí)行的命令。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。