时间:2021-05-22
命令别名
可以使用 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 中执行的命令。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
命令替换(commandsubstitution)是指Shell执行命令并将命令替换部分替换为执行该命令后的结果。命令替换有两种方式:1.使用backtick符
linux下执行shell命令有两种方法在当前shell中执行shell命令在当前shell中产生一个subshell,在subshell中执行shell命令1
Powershell的快捷键和cmd,linux中的shell,都比较像。ALT+F7清除命令的历史记录PgUpPgDn显示当前会话的第一个命令和最后一个命令E
历史相关命令!!:执行上一条命令!num:执行历史命令中第num条命令!-num:执行历史命令中倒数第num条命令!?string?:执行最近一
前言Shell有很多内置在其源代码中的命令。这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快。不同的Shell内置命令有所不同。内置命令包