命令別名
可以使用 alias 命令查看和修改命令別名。
下面是一個查看系統中命令別名的示例:
$ aliasalias 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"'$ dt2018-06-30 12:15:37
上面的例子將 dt
作為 date -d today +"%Y-%m-%d %H:%M:%S"
的別名,當運行前者時,實際上運行的是后者。
用戶還可以刪除別名:
$ unalias dt
上面的命令刪除了 dt 別名。
命令歷史
在Shell提示符后按 <Up>
和 <Down>
(上箭頭和下箭頭)按鍵,可以翻出上一條和下一條命令,這是命令歷史的功能。
使用 history 查看命令歷史:
$ history# 省略634 ls635 date636 history
每一條命令都被賦予一個編號,使用 !編號
即可運行該編號的命令:
$ !635dateSat Jun 30 12:21:11 CST 2018
!! 可以運行上一條命令:
$ !!dateSat 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
中執行的命令。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答